完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
其实可以P0接的位码不用分开,你分开了,代码量大了,还容易忽视;现在发现你的问题了,你的是前一次扫描第一个数码管,选中了数码管之后,下一次扫描第二个数码管,你没把上一次的数码管位码关掉,这样第二次扫描就是选中了两个数码管;你可以用P0 = 0xfe;这是选中第一位数码管,i = 1的时候,位码P0 =0xfd;这样就是即选中了第二个数码管,又关闭了第一个数码管,你扫描数码管的时间加起来不要超过20ms就可以正常显示,希望我的回答对你有所帮助。
最佳答案
|
|
|
|
求解。。。。。
|
|
|
|
|
|
|
|
是出现乱码了,还是什么,你把现象放上来啊
|
|
|
|
人中狼 发表于 2017-8-22 11:56 我以为是这样的,在我位选后,74HC573=1;读取位,=0锁住数据了,然后扫段码,是不在我在段码后清零就可以了呢?共用P0口是可以的吧 |
|
|
|
|
|
|
|
程功之道 发表于 2017-8-22 15:04 你的意思是我的位码和段码冲突了是吗?有个问题,我写了位码后,用74HC573使能端低电位锁住了,然后刷新段码了,不是要被覆盖掉的吗 |
|
|
|
switch(i) { case 0:wei0 = 1;wei = 1;wei = 0;i++;P0 = buff[0];duan = 1;duan = 0;P0 = 0x00;break; case 1:wei1 = 1;wei = 1;wei = 0;P0 = buff[1];duan = 1;duan = 0;i++;P0 = 0x00;break; case 2:wei2 = 1;wei = 1;wei = 0;P0 = buff[2];duan = 1;duan = 0;i++;P0 = 0x00;break; case 3:wei3 = 1;wei = 1;wei = 0;P0 = buff[3];duan = 1;duan = 0;i++;P0 = 0x00;break; case 4:wei4 = 1;wei = 1;wei = 0;P0 = buff[4];duan = 1;duan = 0;i++;P0 = 0x00;break; case 5:wei5 = 1;wei = 1;wei = 0;P0 = buff[5];duan = 1;duan = 0;i=0;P0 = 0x00;break; default:break; 这样改也不行 |
|
|
|
程功之道 发表于 2017-8-22 15:04 switch(i) { case 0:P0 = 0x01;wei = 1;wei = 0;i++;P0 = buff[0];duan = 1;duan = 0;break; case 1:P0 = 0x02;wei = 1;wei = 0;;i++;P0 = buff[1];duan = 1;duan = 0;break; case 2:P0 = 0x04;wei = 1;wei = 0;i++;P0 = buff[2];duan = 1;duan = 0;break; case 3:P0 = 0x08;wei = 1;wei = 0;i++;P0 = buff[3];duan = 1;duan = 0;break; case 4:P0 = 0x10;wei = 1;wei = 0;i++;P0 = buff[4];duan = 1;duan = 0;break; case 5:P0 = 0x20;wei = 1;wei = 0;i=0;P0 = buff[5];duan = 1;duan = 0;break; default:break; 也不行。。。。。 |
|
|
|
程功之道 发表于 2017-8-22 15:04 switch(i) { case 0:P0 = 0xfe;wei = 1;wei = 0;i++;P0 = buff[0];duan = 1;duan = 0;break; case 1:P0 = 0xfd;wei = 1;wei = 0;;i++;P0 = buff[1];duan = 1;duan = 0;break; case 2:P0 = 0xfb;wei = 1;wei = 0;i++;P0 = buff[2];duan = 1;duan = 0;break; case 3:P0 = 0xf3;wei = 1;wei = 0;i++;P0 = buff[3];duan = 1;duan = 0;break; case 4:P0 = 0xef;wei = 1;wei = 0;i++;P0 = buff[4];duan = 1;duan = 0;break; case 5:P0 = 0xdf;wei = 1;wei = 0;i=0;P0 = buff[5];duan = 1;duan = 0;break; default:break; 总算对了 |
|
|
|
程功之道 发表于 2017-8-21 22:47 还 是有问题了,第四个数码管显示8。。。。。 case 0:P0 = 0xfe;wei = 1;wei = 0;i++;P0 = buff[5];duan = 1;duan = 0;break; case 1:P0 = 0xfd;wei = 1;wei = 0;;i++;P0 = buff[4];duan = 1;duan = 0;break; case 2:P0 = 0xfb;wei = 1;wei = 0;i++;P0 = buff[3];duan = 1;duan = 0;break; case 3:P0 = 0xf3;wei = 1;wei = 0;i++;P0 = buff[2];duan = 1;duan = 0;break; case 4:P0 = 0xef;wei = 1;wei = 0;i++;P0 = buff[1];duan = 1;duan = 0;break; case 5:P0 = 0xdf;wei = 1;wei = 0;i=0;P0 = buff[0];duan = 1;duan = 0;break; default:break; |
|
|
|
|
|
|
|
不想起名字啊 发表于 2017-8-22 23:28 case 3:P0 = 0xf7;0xf3是同时选择2位数码管 |
|
|
|
嗯嗯,算错了,晚上回去改过看看还有没有这个问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
609 浏览 0 评论
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
855 浏览 0 评论
2574 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2274 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1708 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
5809 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 13:00 , Processed in 0.670566 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号