历史上的今天
返回首页

历史上的今天

今天是:2024年11月06日(星期三)

正在发生

2019年11月06日 | TM1650模块单片机源程序(子函数)

2019-11-06 来源:51hei

单片机源程序如下:

#include

#include"tm1650.h"

void Delay_us(uint i) //us延时

{

        for(;i>0;i--)

        {

        _nop_();

//        _nop_();

//        _nop_();

        }

}

void I2CStart(void)        //开始信号

{

        CLK_H;

        DIO_H;

        Delay_us(5);

        DIO_L;

        

}


void I2Cask(void) //ACK信号

{

        uchar timeout = 1;

        CLK_H;

        Delay_us(5);

        CLK_L;

        while((DIO)&&(timeout<=100))

        {

          timeout++;        

        }

        Delay_us(5);

        CLK_L;

}


void I2CStop(void) //停止信号

{

        CLK_H;

        DIO_L;

        Delay_us(5);

        DIO_H;

}


void I2CWrByte(uchar oneByte) //写一个字节高位在前,低位在后

{

        uchar i;

        CLK_L;

        Delay_us(1);

        for(i=0;i<8;i++)

        {        

                oneByte = oneByte<<1;

                DIO = CY;

                CLK_L;

                Delay_us(5);

                CLK_H;

                Delay_us(5);

                CLK_L;

        }

}


uchar Scan_Key(void)          // 按键扫描

{

        uchar i;

        uchar rekey;

        I2CStart();

        I2CWrByte(0x49);//读按键命令

        I2Cask();

        //DIO_H;

        for(i=0;i<8;i++)

        {

           CLK_H;

           rekey = rekey<<1;

           if(DIO)

           {

                   rekey++;

           } 

           Delay_us(5);

           CLK_L;        

        }

        I2Cask();

        I2CStop();

        return(rekey);

}



void TM1650_Set(uchar add,uchar dat) //数码管显示

{

        //写显存必须从高地址开始写

        I2CStart();

        I2CWrByte(add); //第一个显存地址

        I2Cask();

        I2CWrByte(dat);

        I2Cask();

        I2CStop();

}



推荐阅读

史海拾趣

ERNI Electronics公司的发展小趣事

ERNI Electronics的源头可以追溯到1947年,当时其瑞士母公司成立。而在1956年,ERNI Electronics以生产继电器为起点,正式进入电子行业。在创立初期,公司专注于继电器的开发和制造,积累了丰富的电子行业经验。随着市场需求的不断变化,ERNI在1967年开发了第一个背板连接器,这一创新产品迅速成为公司的核心产品,并推动了公司的快速发展。

Digital Voice Systems Inc公司的发展小趣事

Digital Voice Systems, Inc.(DVSI)于1988年成立,当时正值数字通信技术的兴起阶段。公司创始人凭借对语音编解码技术的深刻理解和前瞻性的市场洞察力,决定投身于这一领域。他们开发出了具有专利保护的基于鲁棒性多带激励模型(MBE Model)的低码率语音压缩算法,如IMBE和AMBE编解码系统。这些算法在当时的市场上独树一帜,为DVSI赢得了第一桶金。

在创立初期,DVSI面临着资金、技术、市场等多方面的挑战。然而,他们凭借着坚定的信念和不懈的努力,逐步克服了这些困难。他们不断投入研发,优化算法,提高产品的性能和稳定性;同时,他们积极开拓市场,与各大通信设备制造商建立合作关系,将产品推向市场。

随着时间的推移,DVSI的产品逐渐在市场上获得了认可。他们的编解码系统被广泛应用于移动通信、卫星通信、军事通信等领域,为客户提供了高效、稳定的语音通信解决方案。DVSI也因此逐渐崭露头角,成为了电子行业中一颗耀眼的明星。

故事二至五框架概述

  1. 技术创新与突破:DVSI在语音编解码技术方面的持续创新,如推出新一代的高效压缩算法,进一步提升了产品的竞争力。
  2. 市场拓展与国际化:随着公司实力的增强,DVSI开始拓展国际市场,与全球多家知名企业建立合作关系,实现了国际化发展。
  3. 合作与竞争:在电子行业中,DVSI与其他企业的合作与竞争并存。他们通过合作共赢的方式,共同推动行业的发展;同时,也面临着来自竞争对手的挑战和竞争压力。
  4. 企业文化与团队建设:DVSI注重企业文化建设,倡导创新、协作、共赢的价值观。他们注重团队建设,吸引了一批优秀人才加入公司,为公司的发展提供了有力的人才保障。

以上故事和框架概述仅供参考,您可以根据这些线索进一步挖掘和编写关于DVSI公司的故事。

GWP Group公司的发展小趣事

针对晶体二极管单相全波电阻负载整流电路,网友可能提出多个问题,以下是一些可能的问题及其详细回答:

1. 什么是晶体二极管单相全波电阻负载整流电路?

回答:晶体二极管单相全波电阻负载整流电路是一种将交流电(AC)转换为直流电(DC)的电路,它利用了晶体二极管的单向导电特性。这种电路通过四个二极管(通常构成桥式整流器)实现全波整流,即同时利用交流电的正负半周进行整流,从而提高整流效率。负载电阻则用于消耗整流后的直流电。

2. 该电路的工作原理是什么?

回答:晶体二极管单相全波电阻负载整流电路的工作原理基于二极管的单向导电性。在交流电的正半周,二极管D1和D3导通,D2和D4截止,电流通过D1、负载电阻和D3形成回路,负载上得到上正下负的电压。在交流电的负半周,情况相反,D2和D4导通,D1和D3截止,电流方向不变,同样通过负载电阻,从而在负载上持续得到方向不变的直流电压。

3. 为什么需要四个二极管而不是两个?

回答:使用四个二极管构成桥式整流器可以充分利用交流电的正负两个半周,实现全波整流。如果只使用两个二极管,则只能实现半波整流,即只利用交流电的一个半周进行整流,整流效率较低。桥式整流电路通过巧妙地连接四个二极管,使得在每个半周内都有电流通过负载,从而提高了整流效率。

4. 如何提高该电路的整流效率?

回答:提高晶体二极管单相全波电阻负载整流电路的整流效率可以从以下几个方面入手:

  • 选择合适的变压器:根据整流电路的输入电压和输出电压要求,选择合适的变压器,以保证整流电路的稳定性和效率。
  • 优化整流器设计:通过选择合适的二极管和优化整流器的布局,可以提高整流器的整流效率和稳定性。
  • 增加滤波电路:在整流器的输出端增加滤波电路(如电容和电感),可以滤除整流后的脉动直流电中的交流成分,得到更加平滑的直流电,从而提高整流效率。

5. 该电路有哪些应用?

回答:晶体二极管单相全波电阻负载整流电路具有广泛的应用,包括但不限于以下几个方面:

  • 电源适配器:将交流电转换为直流电,为各种电子设备提供稳定的电源。
  • 充电器:用于为电池充电,将交流电转换为适合电池充电的直流电。
  • 电源模块:作为电源模块的一部分,为各种电子设备提供稳定的直流电源。
  • 工业控制:在工业控制领域,为各种控制设备提供稳定的直流电源。

6. 该电路是否存在局限性?

回答:尽管晶体二极管单相全波电阻负载整流电路具有许多优点,但也存在一些局限性。例如,整流后的直流电仍存在一定的脉动成分,需要通过滤波电路进一步处理;此外,整流过程中会产生一定的能量损失,包括二极管的正向导通压降和滤波电路中的能量损耗等。因此,在实际应用中需要根据具体需求选择合适的整流电路和滤波方案。

Accuride公司的发展小趣事

作为一家专注于商用车零部件的公司,Accuride始终致力于技术创新和产品升级。其产品线涵盖了商用车车轮、卡车车身和底盘部件等多种零部件,且拥有多个知名品牌,如Accuride®、Gunite®、ImperialTM和BrillionTM等。通过不断研发和创新,Accuride成功提升了产品的质量和性能,赢得了客户的广泛认可。

正泰公司的发展小趣事

为了吸引和留住优秀人才,正泰公司实施了股权激励计划。公司创始人南存辉为了推动公司从“家族企业”向“集团企业”过渡,坚决开展“股权配送”,让更多优秀人才得到股权激励。这一举措不仅激发了员工的积极性,也促进了公司的快速发展。同时,公司还注重人才培养,鼓励员工参加各类培训和学习,提升个人能力和素质。

Emmoco公司的发展小趣事

随着产品质量的不断提升和技术的不断创新,Emmoco开始积极拓展市场。公司制定了详细的市场拓展计划,通过参加国际展会、举办技术研讨会等方式,不断提高品牌知名度和影响力。同时,Emmoco还积极与国内外知名企业建立合作关系,共同开拓市场,实现互利共赢。这些举措使得Emmoco的市场份额不断扩大,品牌影响力逐渐增强。

问答坊 | AI 解惑

如何在两个进程中使用同一个串口

我想在两个程序中使用同一个串口,由于不能使用CreateFile打开两次串口,所以需要使用同一个HANDLE,而直接使用这个HANDLE又不行,在PC上可以使用DuplicateHandle来进行一个拷贝,但是在CE上这个函数说只能拷贝Event、Mutex、Semaphore这三种类型的 ...…

查看全部问答>

S3C2440板子SDRAM不转,为什么?

     最近做了一块S3C2440的板子,程序从FLASH搬4K到2440内部的SRAM中初始化CPU,SDRAM后,(前4K代码运行正常,有指示灯显示),搬代码到SDRAM中,在SDRAM运行,就运行不了,程序跑飞,不知道为什么?     &n ...…

查看全部问答>

串口发送数据格式

现在要用软件方式模拟方式向单片机的串口 发送数据.   就是我在程序中向一根线写数据(位) 请问串口的数据线的格式定义是怎么. 采用的是波特率是9600. 8位数据位. 1位停止位. 比如说:我一要向该线写数据0xA5B6(10100101)(10110110) ...…

查看全部问答>

求一个基于16F877的数字电压表的汇编语言编写的程序~

测量电压0~5V 测量电压在液晶显示屏上显示 用键盘可以改变测量量程提高测量精度~ 唔,如果有高人能够指点~感激不尽的撒~…

查看全部问答>

CCSv3.3加载程序时,弹出警告

CCSv3.3加载程序时,弹出如下警告…

查看全部问答>

PL2303最新驱动1.8.19 (2013-8-14)

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41 Windows Driver Installer Setup Program (For PL2303 HXA, XA, HXD, EA, RA, SA, TA, TB versions) Installer version & Build date: 1.8.19 (2013-8-14) Windows XP (3 ...…

查看全部问答>

【IAR Error】IAR MSP430编译报错:error

无编号警告类型: 1、Sat Jun 23, 2012 17:41:05: The stack pointer for stack \'Stack\' (currently Memory:0xF5336) is 原因:http://blog.sina.com.cn/s/blog_4c0cb1c0010153l9.html     IAR相关设置:Tools->Option->Stack->Wa ...…

查看全部问答>

PIC24HJ128GP204发生非预期的软件复位

我在使用PIC24HJ128GP204,发现程序在休眠状态下会被复位,仿真发现复位后RCON的值是0x48,即发生了软件复位,但我的程序中并没有调用过RESET指令。有大侠遇到过这样的问题的吗?求解…

查看全部问答>