仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar j;
- uchar t;
- uint n;
- const uchar tab[]={0xde,0xfd,0xfb,0xf7,0xef,0xbf};
- void delay(uint n)
- {uint i;
- for(i=0;i<n;i++);
- }
- void main(void)
- {uchar key;
- P0=0x7f;
- P1=0xff;
- while(1)
- {while(P1==0xff);
- delay(2500);
- while(P1==0xff);
- key=P1;
- switch(key)
- {case 0xfe: P0=tab[0];break;
- case 0xfd: P0=tab[1];break;
- case 0xfb:P0=tab[2];break;
- case 0xf7: P0=tab[3];break;
- case 0xef:P0=tab[4];break;
- case 0xdf:P0=tab[5];break;
- }}
- }
-
复制代码
Keil代码与Proteus仿真下载:
新建 51hei压缩 ZIP 文件.zip
(31.42 KB, 下载次数: 13)
|