188610329 发表于 2021-11-13 02:03 已经解决了,感谢大佬 |
自由的飞鸡 发表于 2021-11-13 01:04 进位错了, 你这是38译码器吧? A是低位,C是高位, 你把 LSA 和 LSC 对换一下 |
jialishoushi 发表于 2021-11-12 23:48 void DigDisplay() { u8 i; for(i=0;i<8;i++) { switch(i) { case(0): LSA=0;LSB=0;LSC=0;break; case(1): LSA=0;LSB=0;LSC=1;break; case(2): LSA=0;LSB=1;LSC=0;break; case(3): LSA=0;LSB=1;LSC=1;break; case(4): LSA=1;LSB=0;LSC=0;break; case(5): LSA=1;LSB=0;LSC=1;break; case(6): LSA=1;LSB=1;LSC=0;break; case(7): LSA=1;LSB=1;LSC=1;break; } P0=DisplayData[7-i]; delay(100); P0=0x00; } } void main() { Ds1302Init(); while(1) { datapros(); DigDisplay(); } } 大佬能帮我看看数码管显示函数有问题吗?还有位选口该如何调换呢?谢谢 ![]() |
188610329 发表于 2021-11-12 23:42 void DigDisplay() { u8 i; for(i=0;i<8;i++) { switch(i) { case(0): LSA=0;LSB=0;LSC=0;break; case(1): LSA=0;LSB=0;LSC=1;break; case(2): LSA=0;LSB=1;LSC=0;break; case(3): LSA=0;LSB=1;LSC=1;break; case(4): LSA=1;LSB=0;LSC=0;break; case(5): LSA=1;LSB=0;LSC=1;break; case(6): LSA=1;LSB=1;LSC=0;break; case(7): LSA=1;LSB=1;LSC=1;break; } P0=DisplayData[7-i]; delay(100); P0=0x00; } } void main() { Ds1302Init(); while(1) { datapros(); DigDisplay(); } } 这是我的数码管显示函数,我感觉数码管显示应该没问题吧? |
| 如果走时正确 单纯只是显示错位 把位选口调换一下 |
| 到底是时钟进位有问题, 还是你数码管显示有问题,这,你搞明白没有? |