找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机8位共阴极数码管的动态显示程序错误

查看数: 2031 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-4-5 15:45

正文摘要:

使用Keil+Proteus进行仿真的一个题,要用到译码器138和锁存器573,结果是要让8个数码管显示1-8。我参照书上的示例写出了程序并进行了电路连接,但是,仿真出来的结果数码管没有显示。 希望各位大神指点一下。 附 ...

回复

ID:722868 发表于 2020-4-8 08:44
wulin 发表于 2020-4-7 13:59
你的仿真图错误,排阻应该接573输入端,也就是P0。

好的,做出来了,谢谢!!
ID:213173 发表于 2020-4-7 13:59
水各 发表于 2020-4-7 13:00
修改过代码之后,仍然没有现象,请问是电路连接有错误吗,用的是共阴极型数码管

你的仿真图错误,排阻应该接573输入端,也就是P0。
ID:722868 发表于 2020-4-7 13:00
wulin 发表于 2020-4-5 16:44
楼主的位码错误

修改过代码之后,仍然没有现象,请问是电路连接有错误吗,用的是共阴极型数码管
ID:213173 发表于 2020-4-5 16:44
楼主的位码错误
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. uchar code seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  4. uchar code wei[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};
  5. //uchar dis[8];
  6. void delayms(uchar ms)
  7. {
  8.         uchar i;
  9.         while(ms--)
  10.         for(i=0;i<123;i++);
  11. }
  12. void display(void)
  13. {
  14.         uchar i;
  15.         for(i=0;i<8;i++)
  16.         {
  17.                 P2=wei[i];
  18.                 P0=seg[i+1];
  19.                 delayms(1);
  20.         }
  21. }
  22. void main(void)
  23. {
  24.         while(1)
  25.         {
  26.                 display();
  27.         }
  28. }
复制代码

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

Powered by 单片机教程网

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