找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1708|回复: 4
打印 上一主题 下一主题
收起左侧

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

[复制链接]
回帖奖励 50 黑币 回复本帖可获得 50 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
使用Keil+Proteus进行仿真的一个题,要用到译码器138和锁存器573,结果是要让8个数码管显示1-8。我参照书上的示例写出了程序并进行了电路连接,但是,仿真出来的结果数码管没有显示。
希望各位大神指点一下。

附上我的单片机源程序和仿真的结果:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. uchar code seg[]=
  4. {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  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. P0=seg[dis[i]];
  18. P2=i;
  19. delayms(1);
  20. }
  21. }
  22. void main(void)
  23. {
  24. while(1)
  25. {
  26. dis[0]=1;
  27. dis[1]=2;
  28. dis[2]=3;
  29. dis[3]=4;
  30. dis[4]=5;
  31. dis[5]=6;
  32. dis[6]=7;
  33. dis[7]=8;
  34. display();
  35. }
  36. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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. }
复制代码
回复

使用道具 举报

板凳
ID:722868 发表于 2020-4-7 13:00 | 只看该作者
wulin 发表于 2020-4-5 16:44
楼主的位码错误

修改过代码之后,仍然没有现象,请问是电路连接有错误吗,用的是共阴极型数码管
回复

使用道具 举报

地板
ID:213173 发表于 2020-4-7 13:59 | 只看该作者
水各 发表于 2020-4-7 13:00
修改过代码之后,仍然没有现象,请问是电路连接有错误吗,用的是共阴极型数码管

你的仿真图错误,排阻应该接573输入端,也就是P0。
回复

使用道具 举报

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

好的,做出来了,谢谢!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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