找回密码
 立即注册

QQ登录

只需一步,快速开始

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

为什么我的单片机数码管扫描不成功,实在找不出问题了,拜托大佬指点迷津

[复制链接]
跳转到指定楼层
楼主
  1. #include<reg52.h>
  2. sbit ENEND = P1^4;
  3. sbit ADDR0 = P1^0;
  4. sbit ADDR1 = P1^1;
  5. sbit ADDR2 = P1^2;
  6. sbit ADDR3 = P1^3;
  7. unsigned char code numtab[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};
  8. unsigned char LedBuff[6]= {0};
  9. unsigned int cnt = 0;
  10. unsigned char i = 0;
  11. void main()
  12. {
  13.         unsigned long sec = 0;
  14.         ENEND = 0;
  15.         ADDR3 = 1;
  16.         P0 = 0xff;
  17.         TMOD = 0X01;
  18.         TH0 = 0xfc;
  19.         TL0 = 0x66;
  20.         TR0 = 1;
  21.         EA = 1;
  22.         ET0 = 1;
  23.         while(1)
  24.         {
  25.                 if (cnt == 1000)
  26.                 {  
  27.                 cnt = 0;
  28.             sec++;
  29.             if(sec>99)
  30.                         sec=0;
  31.             LedBuff[0] = sec%10;
  32.             LedBuff[1] = sec/10;
  33.                 }
  34.         }
  35. }
  36. /* 定时器0中断服务函数 控制位并显示对应的数值*/
  37. void Iterruptimer0() interrupt 1
  38. {
  39.         TH0 = 0XFC;
  40.         TL0 = 0X66;
  41.         cnt++;
  42.         P0 = 0XFF;
  43.         switch(i)
  44.         {
  45.                 case 0 : ADDR2 = 1;ADDR1 = 0;ADDR0 = 1;i++;        P0 = numtab[LedBuff[0]];break;
  46.                 case 1 : ADDR2 = 1;ADDR1 = 0;ADDR0 = 0;i=0; P0 = numtab[LedBuff[1]];break;      
  47.                 default : break;                              
  48.         }      
  49. }


复制代码


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

使用道具 举报

沙发
ID:330198 发表于 2019-5-18 15:15 | 只看该作者
图不对,P0口加上拉电阻,不应该用锁存芯片
回复

使用道具 举报

板凳
ID:213173 发表于 2019-5-18 21:55 | 只看该作者
根据经验,用PNP管做位码反相器仿真会失败,改成CD4069反相器就可以了。实物不会有这个问题。
回复

使用道具 举报

地板
ID:148486 发表于 2019-5-20 07:27 | 只看该作者
太感谢了
回复

使用道具 举报

5#
ID:148486 发表于 2019-5-20 07:28 | 只看该作者
wulin 发表于 2019-5-18 21:55
根据经验,用PNP管做位码反相器仿真会失败,改成CD4069反相器就可以了。实物不会有这个问题。

哦哦,好的,谢谢啦
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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