利用Keil uVision4编程程序,在Proteus 8 Professional中创建仿真电路
仿真电路
C语言代码
#include<reg51.h>
unsigned char key_num;
unsigned char seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void key(void){
P2 = 0xef;
if(P2 == 0xee)key_num = 1;
if(P2 == 0xed)key_num = 2;
if(P2 == 0xeb)key_num = 3;
if(P2 == 0xe7)key_num = 4;
P2 = 0xdf;
if(P2 == 0xde)key_num = 5;
if(P2 == 0xdd)key_num = 6;
if(P2 == 0xdb)key_num = 7;
if(P2 == 0xd7)key_num = 8;
P2 = 0xbf;
if(P2 == 0xbe)key_num = 9;
if(P2 == 0xbd)key_num = 10;
if(P2 == 0xbb)key_num = 11;
if(P2 == 0xb7)key_num = 12;
P2 = 0x7f;
if(P2 == 0x7e)key_num = 13;
if(P2 == 0x7d)key_num = 14;
if(P2 == 0x7b)key_num = 15;
if(P2 == 0x77)key_num = 16;
}
void display(void){
P0 = seven_seg[key_num / 10];
P1 = seven_seg[key_num % 10];
}
void main(void){
while(1){
key();
display();
}
}
链接:https://pan.baidu.com/s/1gG8aBWf9yVoZ9ns_DYoC8A?pwd=9999
提取码:9999