找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

用Proteus动态显示管输出数字为什么有些显示不出来?附单片机程序

查看数: 4656 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-16 17:04

正文摘要:

我写的单片机代码是这样的 #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit LE1=P2^7; sbit LE2=P2^6; void delay_ms(uint j) {uchar m,n; for(m=j;m>0;m--) for(n=30;n ...

回复

ID:906945 发表于 2021-4-17 11:37
mengzhixinheng 发表于 2021-4-16 22:05
其实是逻辑不严谨造成的,消影的本质是重新初始化端口。位选数据没有改变的时候,就打开段选自然会出错。两 ...

好哒好哒,我再体会体会,谢谢前辈
ID:906945 发表于 2021-4-17 11:36
wulin 发表于 2021-4-16 21:29
仿真与实物还是有区别的。在实物中不会残缺,只是有鬼影。实践中加消隐为佳。

好哒好哒,谢谢前辈
ID:89515 发表于 2021-4-16 22:05
其实是逻辑不严谨造成的,消影的本质是重新初始化端口。位选数据没有改变的时候,就打开段选自然会出错。两个数据有瞬间的覆盖现象就会出现所谓的鬼影。不知道你能否明白!!!
ID:213173 发表于 2021-4-16 21:29
笨学单片机 发表于 2021-4-16 20:02
不过大佬我发现就是不用前面的消隐,就把LE1=1放在P1=xuanma后面就可以呀,
void main()
{uchar code x ...

仿真与实物还是有区别的。在实物中不会残缺,只是有鬼影。实践中加消隐为佳。
ID:906945 发表于 2021-4-16 20:02
笨学单片机 发表于 2021-4-16 19:52
啊啊啊,可以了可以了,谢谢大佬谢谢大佬

不过大佬我发现就是不用前面的消隐,就把LE1=1放在P1=xuanma[ i]后面就可以呀,
  1. void main()
  2. {uchar code xuanma[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  3. uchar code duanma[6]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};
  4. uchar i;
  5. while(1)
  6. {for(i=0;i<6;i++)
  7. {P1=xuanma[i];LE1=1;
  8. LE1=0;
  9. P1=duanma[i];LE2=1;
  10. LE2=0;
  11. delay_ms(1);
  12. }}}
复制代码

这是为什么呢?是不是如果我先写P1=xuanma[ i],就先把P1的输出给了锁存器,这样再用锁存器就没问题了吗?
ID:906945 发表于 2021-4-16 19:52
wulin 发表于 2021-4-16 19:41
只要添加消隐语句就行了

啊啊啊,可以了可以了,谢谢大佬谢谢大佬
ID:213173 发表于 2021-4-16 19:41
只要添加消隐语句就行了
  1. void main()
  2. {
  3.         uchar code xuanma[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  4.         uchar code duanma[6]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};//显示012345
  5.         uchar i;
  6.         while(1)
  7.         {
  8.                 P1=0x00;LE2=1;LE2=0;//段消隐
  9.                 P1=xuanma[i];LE1=1;LE1=0; //送位码
  10.                 P1=duanma[i];LE2=1;LE2=0;//送段码
  11.                 delay_ms(1);
  12.                 i=++i%6;
  13.         }
  14. }
复制代码

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表