标题: 单片机数码管慢速动态扫描显示数字程序错在哪?求指点 [打印本页]

作者: yqq123456    时间: 2021-4-23 21:43
标题: 单片机数码管慢速动态扫描显示数字程序错在哪?求指点
//用数码管慢速动态扫描显示UNSI数字"1234"
  1. #include<reg52.h>        //  包含51单片机寄存器定义的头文件
  2. #include<intrins.h>
  3. sbit dula=P2^5;
  4. sbit wela=P2^6;
  5. unsigned char duma[]={0xf9,0xa4,0xb0,0x99};
  6. unsigned char wema[]={0x01,0x02,0x04,0x08};
  7. unsigned int i;
  8. void delay (unsigned int j)
  9. { while(j--);}
  10. void main(void)
  11. {
  12. while(1)
  13. {
  14. for(i=0;i<4;i++)
  15. {
  16. dula=1;
  17. P0=duma[i];
  18. dula=0;
  19. P0=0xff;
  20. wela=1;
  21. P0=wema[i];
  22. wela=0;
  23. delay(50000);

  24. }
  25. }
  26. }
复制代码

1619185377820..jpg (1.29 MB, 下载次数: 36)

1619185377820..jpg

作者: yqq123456    时间: 2021-4-23 21:44
不知为什么,第1位显示不了,过了第2位,其它都有错?
作者: wc86110    时间: 2021-4-24 00:31
关键是程序与仿真图不相符
作者: wulin    时间: 2021-4-24 06:07
yqq123456 发表于 2021-4-23 21:44
不知为什么,第1位显示不了,过了第2位,其它都有错?

这不是程序问题,是硬件连接错误导致。仔细核对连线标号!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1