历史上的今天
今天是:2025年08月05日(星期二)
2020年08月05日 | TM1650模块单片机源程序(子函数)
2020-08-05 来源: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(); }
史海拾趣
|
随着市场经济的高速发展,中国IT业步入了一个人才稀缺的时代。作为最被看好的热门专业,其迅猛发展有目共睹,从而导致IT人才的培养速度无法跟上IT行业的发展,每年的人才缺口就达数百万人。为了在激烈的就业竞争中占领一席之地,减小就业压力, ...… 查看全部问答> |
|
wince下串口问题,平时数据传输正常,但鼠标反复点击移动有时就会使串口数据错误,或者是界面切换时。我感觉是系统忙了有时会影响串口读取。波特率的57600,不算很高吧?缓冲区我也设置的很大了。数据没有丢失,只是出现错误。例如我发送端发的全是 ...… 查看全部问答> |
|
usb驱动,应用程序能够打开设备,但是发送数据的时候堵在了SubmitUrb 是什么原因使得发送数据阻塞啊? PURB pUrb = m_Endpoint2OUT.BuildBulkTransfer( &nbs ...… 查看全部问答> |
|
前些天有朋友和我讨论,\"感觉TI的M3在网上讨论的不多\",下面是我的一些看法: 原来luminary平台比较小,所以当年zlg想把它推广起来,难度肯定是相当大的,这里面不只是技术问题,还涉及到渠道、产能、服务、信任、品牌等诸多因素,而在这方面lum ...… 查看全部问答> |
|
请问STM32F10X_MD和STM32F10X_MD_VL区别 请问STM32F10X_MD_VL和STM32F10X_MD有什么区别啊,网上查了查,有如下说明 cl:互联型产品,stm32f105/107系列vl:超值型产品,stm32f100系列xl:超高密度产品,stm32f101/103系列ld:低密度产品,FLASH小于64Kmd:中等密度产品,FLASH=64 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 04:04 编辑 本人是新手,将要参加比赛,请问各位好友有哪些性能比较好的集成运放啊,我之前用过LM324 … 查看全部问答> |
|
1、源码 http://live555.com/liveMedia/public/ 2、实现交叉编译 vim config.armlinux 修改: CROSS_COMPILE?= arm-none-linux-gnueabi- ./g ...… 查看全部问答> |




