登录|立即注册|使用QQ帐号登录
论坛 > 51单片机
发帖|
看1796|回1|收藏
楼主 ID:977804 只看他
2021-12-22 20:49
还不会用锁存器,直接用一排口控制位选,一排口控制段选。用的共阳数码管,实际使用前要先判断好,类型和程序、接线方式都有区别,注意。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei截图_20211222203543.png

单片机源程序如下:

代码:

  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define smgd P2    //定义段选为P2总线          段段
  4. #define smgw P0    //定义位选为P0总线        位位
  5. uchar code tabled[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
  6. uchar code tablew[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,
  7.                       0x80}; //共阳极数码管,高电平点亮
  8.                                                   //如果是共阴极的,要低电平,求反
  9.                                                 // 7seg-mpx1-ca。ca是共阳,cc是共阴
  10. void delay(uchar i)                                                                //C0
  11. {
  12.   uchar j,k;
  13.   for(j=i;j>0;j--)
  14.     for(k=125;k>0;k--);
  15. }

  16. /*演示主程序*/
  17. void main(void)
  18. {
  19.     unsigned int  a;
  20. while(1)
  21. {
  22.         for(a=0;a<8;a++)
  23.           {
  24.         smgw=tablew[a];
  25.         smgd=tabled[a];
  26.         delay(5);
  27.         }
  28.   

  29. }
  30. }

Keil代码与Proteus仿真下载:
仿真.7z (36.06 KB)
(下载次数: 19, 2021-12-22 23:13 上传)

下载积分: 黑币 -5






沙发 ID:977804 只看他
2021-12-22 20:52
实物请在位选加三极管,

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版