郭天祥单片机proteus仿真版使用数码管遇到的问题

2019-07-15 09:21发布

根据郭天祥视频里我点亮两个7段数码管时一直不能显示全或者其他的也亮了
3.PNG 4.PNG
这个仿真版,我让前两个灯亮,后面三个会一闪一闪的, 45.PNG
这个仿真版的就是这样,不知道什么原因?
我的代码:
  1. #include <reg52.h>
  2. sbit wela = P2^7;
  3. sbit dula = P2^6;

  4. void main()
  5. {
  6.     wela = 1;
  7.     P0 = 0xfc;
  8.     wela = 0;
  9.     dula = 1;
  10.     P0 = 0x06;
  11.     dula = 0;
  12. }
复制代码





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
J木昜
1楼-- · 2019-07-15 17:29
#include <reg52.h>
sbit wela = P2^7;
sbit dula = P2^6;

void main()
{
    while(1)
    {
       wela = 1;
       P0 = 0xfc;
       wela = 0;
       dula = 1;
       P0 = 0x06;
       dula = 0;
   }
}
人中狼
2楼-- · 2019-07-15 21:45
不太明白你的问题,看你的程序是做成了静态驱动,两个数码管会显示相同的内容,程序里是显示‘1’,如果想要所有的数码管显示不同的内容,或显示不同的效果,最好做成动态驱动数码管的程序。
zhb2004xp
3楼-- · 2019-07-16 03:23
虽然用了锁存器,但还是必须在void main(){}里加大循环或最后加while(1);死循环停止语句。如果没有循环,程序会始终从开始运行到最后重复,加上仿真的效果造成你看到的情况吧
recalldd
4楼-- · 2019-07-16 06:53
 精彩回答 2  元偷偷看……

一周热门 更多>