标题: Proteus仿真单片机数码管不显示但引脚会闪?附程序 [打印本页]

作者: lxj1245481730    时间: 2023-9-10 20:19
标题: Proteus仿真单片机数码管不显示但引脚会闪?附程序
Proteus8位数码管想同时显示数字,引脚会闪但不显示,延迟增大会显示但就变成滚动显示无法同时显示,求大佬分析一下,谢谢

  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define u8 unsigned char
  4. #define u16 unsigned int

  5. u8 code DSY_CODE[]=
  6. {
  7.          0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
  8. };

  9. void DelayMS(u16 x)
  10. {
  11. u8 i;
  12.         while(x--)
  13.         {
  14.                  for(i=200;i>0;i--);
  15.         }
  16. }

  17. void main()
  18. {
  19.          u8 i,k=0x80;
  20.         while(1)
  21.         {
  22.                  for(i=0;i<8;i++)
  23.                 {
  24.                          P2=0xff;
  25.                         k=_crol_(k,1);
  26.                         P2=k;
  27.                         P0=DSY_CODE[i];
  28.                         DelayMS(3);//延迟小就不显示
  29.                 }
  30.         }
  31. }

复制代码




滚动显示.png (75.59 KB, 下载次数: 62)

滚动显示.png

原理图.png (75.39 KB, 下载次数: 69)

原理图

原理图

作者: wulin    时间: 2023-9-11 07:04
void main()
{
        u8 i,k=0x80;
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        P0=0xff;
                        k=_crol_(k,1);
                        P2=k;
                        P0=DSY_CODE[i ];
                        DelayMS(3);//延迟小就不显示
                }
        }
}
作者: lxj1245481730    时间: 2023-9-11 11:02
wulin 发表于 2023-9-11 07:04
void main()
{
        u8 i,k=0x80;

感谢大佬解决了,是我粗心了,编程头编懵了




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