单片机/MCUwilliam hill官网
直播中

843961

12年用户 71经验值
擅长:可编程逻辑 测量仪表 模拟技术 控制/MCU RF/无线
私信 关注
[文章]

单片机数码管显示问题

求大神解答!!!
       小人最近刚起步学单片机,基本是个小白。用的是KT800型号的板子,单片机型号Atmel89S52。在数码管显示的时候,P2用来位选点亮哪个数码管。P0控制数码管显示字形。都是共阳极的。我准备先让数码管显示“1”,再显示“2”。但小人用下面的代码,得到的显示结果竟然是一个“1”和“2”的组合字形。
#include
void delay10ms(void)
{
  unsigned char i,j;
  for(i=20;i>0;i--);
  for(j=100;j>0;j--);
}
void main()
{
     P2=0x7f;
     P0=0xf9;
     delay10ms();
     P2=0x7f;
     P0=0xa4;
     delay10ms();       
}
     看了郭天祥的视频,他那个有锁存器,可以使用锁存器保持,然后用delay函数保持。再次使锁存器直通,赋第二个值显示第二个数字,再用锁存器保持,然后再用delay函数保持。
     本人疑问:怎么实现一个数码管先后显示不同的数字?多个数码管呢?(每个数码管在同一时间显示不同的数字)?KT800的板子有没有类似郭天祥TX-1C板子锁存器类似的功能?
  

回帖(24)

1小2辉

2013-7-22 10:00:16
段控关了再开应该能行
举报

843961

2013-7-22 23:52:15
谢谢啦!我把数码管显示的延时也调成500,显示效果很好!问题解决了,就是我要的效果!!感谢!!
举报

843961

2013-7-23 00:00:01
引用: 1小2辉 发表于 2013-7-22 10:00
段控关了再开应该能行

是的,是这个问题。我以前也试过这个方法,为什么不行!!今天晚上终于释然了
举报

1小2辉

2013-7-25 18:46:20
看来你是一个人学的,人多了一起学,经常交流学的才快。
举报

843961

2013-7-26 13:18:28
呵呵,没办法,身边没有对单片机感兴趣的!不过有网上的朋友就哦了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分