1638 驱动10个数码管+3x8个按键,最优综合ic ![]() |
void Write_allLED(u8 LED_flag) //控制全部LED函数,LED_flag表示各个LED状态 { u8 i; for(i=0;i<8;i++) { if(LED_flag&(1<<i)) { //Write_DATA(2*i+1,3); Write_DATA(2*i+1,1); } else Write_DATA(2*i+1,0); } } 这里报下面的警告要怎么 解决呐 main.c(32): warning C188: 'parameter 1': value truncated |
void Write_allLED(unsigned char LED_flag) //控制全部LED函数,LED_flag表示各个LED状态 { unsigned char i; for(i=0;i<8;i++) { if(LED_flag&(1<<i)) //Write_DATA(2*i+1,3); Write_DATA(2*i+1,1); else Write_DATA(2*i+1,0); } } 看了N多全程,这个LED显示都这么写的,总不会灵活应用 |
zxy2266 发表于 2020-3-14 15:00 俺也是,反复的都是一样的全程,总是学到实际应用的技术,只想把每一个按键应用到各自的功能,LED发光管也能对应的显示不同的IO口状态。 |
资料很有用,已下载看过了,谢谢分享! |
Write_oneLED(unsigned char num,unsigned char flag); Write_allLED(unsigned char LED_flag) ; 这两个函数没有用吧? |
不错,刚好手上有个这片子的表头。 |
51单片机IO 读 一般设置1 为输入 |
lastreg 发表于 2020-6-28 14:15 单片机把DIO拉高,就是说对应管脚是单片机内部电阻在拉高,如果TM1638的DIO管脚输出电平为低,单片机对应bit为0,反之是1 |
12MHZ晶振,跑在1T的单片机会有错误,跑在12T单片机正常 |
这个读函数 DIO=1设置为输入,是啥意思呢? unsigned char TM1638_Read(void) //读数据函数 { unsigned char i; unsigned char temp=0; DIO=1; //设置为输入 for(i=0;i<8;i++) { temp>>=1; CLK=0; if(DIO) temp|=0x80; CLK=1; } return temp; } |
模块早买了,商家程序也给了,就是不会点 |
非常感谢,刚好再找呢,谢谢 |
这个不就是TM1638自带的例程?! |
非常感谢,下载来试试看 |
下载测试很好用,谢谢分享 |
新手过来学习一i下。感觉非常不错 |
好文章,正好需要 |
TM1638的代码,我下载看下, |
写的还不错 |
新手进来学习 |
新手进来学习下 |
很好,可以直接用。 |
下载来学习一下 |