矩阵键盘+单个数码管
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0X88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};
- void delaylms(uint i)
- {
- uchar j;
- while(i--)
- {
- for(j=0;j<115;j++)
- {
- ;
- }
- }
- }
- void display(unsigned char i)
- {
- P0=table[i];
- }
- void main(void)
- {
- unsigned char temp;
- display(16);
- while(1)
- {
- P1=0xf0;
- temp=P1;
- if(temp!=0xf0)
- {
- delaylms(15);
- if(temp!=0xf0)
- {
- P1=0xfe;
- temp=P1;
- switch(temp)
- {
- case(0xee):display(0);break;
- case(0xde):display(1);break;
- case(0xbe):display(2);break;
- case(0x7e):display(3);break;
- }
- P1=0xfd;
- temp=P1;
- switch(temp)
- {
- case(0xed):display(4);break;
- case(0xdd):display(5);break;
- case(0xbd):display(6);break;
- case(0x7d):display(7);break;
- }
- P1=0xfb;
- temp=P1;
- switch(temp)
- {
- case(0xeb):display(8);break;
- case(0xdb):display(9);break;
- case(0xbb):display(10);break;
- case(0x7b):display(11);break;
- }
- P1=0xf7;
- temp=P1;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
键盘.rar
(49.83 KB, 下载次数: 38)
|