谢谢你wulin,你给的答案很有启发,我参考你的代码搞懂了原理。也谢谢大家的回答,非常感谢。 我的问题最主要在对Command1、Command2、Command3的理解不清,导致写void TM1640_Write_Byte(unsigned char data1)这个的时候逻辑混乱,也搞不清对错,参考了正确的答案之后豁然开朗。真的超开心! |
jade-lluo 发表于 2023-11-15 16:18
|
TM1640_Display(0x01); // 显示数字1 TM1640_Display(0x02); // 显示数字2 TM1640_Display(0x03); // 显示数字3 |
wulin 发表于 2023-11-15 11:10 TM1640是单独的模块。封装出来有4的脚,一个D(数据)和S(时钟),正极负极。STC8G1KO8的芯片,20个引脚。STC8G1K的P11连了TM1640的D口(数据),P10连了TM1640的S(时钟)口。STC8G1K的下载端口是没有问题的,可以烧录。我是接了51普中科技的下载端口。 |
jade-lluo 发表于 2023-11-15 09:23 详细介绍你的硬件连接关系。小板子接的是串口,TM1640在数码管模块上还是在开发板上? |
![]() void TM1640_Display(unsigned char Digi,unsigned char Seg) { TM1640_Start(); // 发送起始信号 TM1640_WriteByte(0x44); // 发送设置数据,设置TM1640为固定地址模式 TM1640_Stop(); // 发送结束信号 TM1640_Start(); // 发送起始信号 TM1640_WriteByte(0xC0 + Digi); // 发送设置地址,显示指定的位置 TM1640_WriteByte(Seg); // 发送显示数据,显示指定的数字取模 TM1640_Stop(); // 发送结束信号 TM1640_Start(); // 发送起始信号 TM1640_WriteByte(0x8C); // 发送命令,设置TM1640的显示亮度 TM1640_Stop(); // 发送结束信号 } |
zhuls 发表于 2023-11-8 20:11 我认真看了又看,还是不行。能说细一点吗?大佬 |
jade-lluo 发表于 2023-11-8 18:07 参考板凳的贴子。 认真读一下,并按原贴的代码,改一下IO运行一下 |
zhuls 发表于 2023-11-8 10:17 改了你说的这段代码,可是没有用。还是3个LED都亮 |
jade-lluo 发表于 2023-11-8 09:49 参考板凳的贴子。很详细很好的! |
jade-lluo 发表于 2023-11-8 09:49 又看了一下你的代码和图片。发现你离成功仅一行代码:你少发了个显示地址! 你发数据,能显示出来,说明电路什么的都正常了, 你改写一下TM1640_Display(unsigned char data2这个函数,把地址带入: void TM1640_Display(unsigned char addr,unsigned char data2) { TM1640_Start(); // 发送起始信号 TM1640_WriteByte(0x44); // 发送命令,设置TM1640为固定地址模式 TM1640_Stop(); // 发送结束信号 TM1640_Start(); // 发送起始信号 TM1640_WriteByte(0x8C); // 发送命令,设置TM1640的显示亮度 TM1640_WriteByte(0xc0+addr); // 发送显示地址,指定位 TM1640_WriteByte(data2); // 发送数据,显示指定的数字 TM1640_Stop(); // 发送结束信号 } 调用时: TM1640_Display(0,0x1);//第一个数码管显示“a”段 TM1640_Display(2,0xEF);//第三个数码管显示“8”字形 == |
jade-lluo 发表于 2023-11-8 09:49 TM系列的LED驱动IC有个特性:不管共阴共阳数码管,LED的正极一定要接SEG端,而负极一定要接GRID端否则会出错不亮。 所以你这个硬件电路连接关系对得上了吗? |
你这个问题,首先需要搞清楚如何像你的代码写的一样显示一个单纯的一个数字,然后再将123,拆解为1,2,3然后像下面一样显示出来。 TM1640_Display(0x01); // 显示数字1 TM1640_Display(0x02); // 显示数字2 TM1640_Display(0x03); // 显示数字3 TM1640这个芯片好像用的还是蛮多的,应该很容易找到驱动数码管的程序的 |
zhuls 发表于 2023-11-7 21:05 想做的,但是写常规的共阴段码显示不出数字的。 |
你没有做段码表啊? |