标题: 用单片机+4*4键盘控制使数码管显示Proteus仿真程序 [打印本页]

作者: 2488274887    时间: 2021-11-25 17:21
标题: 用单片机+4*4键盘控制使数码管显示Proteus仿真程序
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. sbit L0=P0^4;
  5. sbit L1=P0^5;
  6. sbit L2=P0^6;
  7. sbit L3=P0^7;          // ??? //
  8. uchar jyw[16]={0xc0,0xf9,0xa4,0xb0,            //??????0-F??????//
  9.                0x99,0x92,0x82,0xf8,
  10.                0x80,0x90,0x88,0x83,
  11.                0xc6,0xa1,0x86,0x8e};

  12. void delay(unsigned int time)                   //?????//
  13. {
  14.    unsigned int i;
  15.    for(i=0;i<time;i++)
  16.    {}
  17. }
  18. main()                      //???//
  19. {
  20.         while(1)
  21.         {
  22.                 P1=0xef;            //?????11101111//
  23.                 if (L0==0) P2=jyw[0];        //???????????,??,????????0(??),4(??),8(??),C(??)//
  24.                 if (L1==0) P2=jyw[1];        //???????????,??,????????1(??),5(??),9(??),d(??)//
  25.                 if (L2==0) P2=jyw[2];        //???????????,??,????????2(??),6(??),A(??),E(??)//
  26.                 if (L3==0) P2=jyw[3];        //???????????,??,????????3(??),7(??),b(??),F(??)//
  27.                 delay(500);
  28.                
  29.                 P1=0xdf;           //?????11011111//
  30.                 if (L0==0) P2=jyw[4];        //???????????,??,????????0(??),4(??),8(??),C(??)//
  31.                 if (L1==0) P2=jyw[5];        //???????????,??,????????1(??),5(??),9(??),d(??)//
  32.                 if (L2==0) P2=jyw[6];        //???????????,??,????????2(??),6(??),A(??),E(??)//
  33.                 if (L3==0) P2=jyw[7];        //???????????,??,????????3(??),7(??),b(??),F(??)//
  34.                 delay(500);
  35.                
  36.                 P1=0xbf;             //?????10111111//
  37.                 if (L0==0) P2=jyw[8];        //???????????,??,????????0(??),4(??),8(??),C(??)//
  38.                 if (L1==0) P2=jyw[9];        //???????????,??,????????1(??),5(??),9(??),d(??)//
  39.                 if (L2==0) P2=jyw[10];        //???????????,??,????????2(??),6(??),A(??),E(??)//
  40.                 if (L3==0) P2=jyw[11];        //???????????,??,????????3(??),7(??),b(??),F(??)//
  41.                 delay(500);
  42.                
  43.                 P1=0x7f;             //?????//
  44.                 if (L0==0) P2=jyw[12];        //???????????,??,????????0(??),4(??),8(??),C(??)//
  45.                 if (L1==0) P2=jyw[13];        //???????????,??,????????1(??),5(??),9(??),d(??)//
  46.                 if (L2==0) P2=jyw[14];        //???????????,??,????????2(??),6(??),A(??),E(??)//
  47.                 if (L3==0) P2=jyw[15];        //???????????,??,????????3(??),7(??),b(??),F(??)//
  48.                 delay(500);
  49.         }
  50. }
复制代码

Proteus7.5版本的仿真图dsn文件下载: 33.zip (22.79 KB, 下载次数: 15)





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