|
这是我做的键控数码管显示0-F设计,因为刚学习单片机没有多久,只能写点简单的程序,附件里面包含虚拟键盘控制数码管显示0-F显示的proteus原理图,和程序源代码,都是自己写的,请大家多多指教
单片机代码:
- #include<ce.h>
- #define key_juzhen P3
- #define look_shuma P0
- #define uint unsigned int
- #define uchar unsigned char
- uchar KEY;
- uchar a;
- uchar code tab[]={ 0x40, 0x79, 0x24, 0x30, 0x19,0x12, 0x02, 0x78, 0x00,
- 0x10,0x08,0x00, 0x46,0x40,0x06, 0x0e };
- void Display();
- void Delay(uchar a);
- void Display()
- {
-
- key_juzhen=0xf0;
- if((key_juzhen&0xf0)!=0xf0)
- {
- Delay(1);
- if((key_juzhen&0xf0)!=0xf0)
- {
- key_juzhen=0xfe;
- if(P34==0)
- KEY=0;
- if(P35==0)
- KEY=1;
- if(P36==0)
- KEY=2;
- if(P37==0)
- KEY=3;
- key_juzhen=0xfd;
- if(P34==0)
- KEY=4;
- if(P35==0)
- KEY=5;
- if(P36==0)
- KEY=6;
- if(P37==0)
- KEY=7;
- key_juzhen=0xfb;
- if(P34==0)
- KEY=8;
- if(P35==0)
- KEY=9;
- if(P36==0)
- KEY=10;
- if(P37==0)
- KEY=11;
- key_juzhen=0xf7;
- if(P34==0)
- KEY=12;
- if(P35==0)
- KEY=13;
- if(P36==0)
- KEY=14;
- if(P37==0)
- KEY=15;
- }
-
- Delay(1);
-
- }
-
- }
- void Delay(uchar a)
- {
- uchar i,j;
- for(i=0;i>a;i++)
- {
- for(j=0;j>200;j++);
- }
- }
- void main()
- {
-
- KEY=0;
- while(1)
- {
- Display();
- look_shuma=tab[KEY];
- Delay(1);
- }
- }
复制代码
全部资料下载地址:
key_control.rar
(48.71 KB, 下载次数: 18)
|
|