#include #define uchar unsigned char #define uint unsigned int uchar num; uchar a[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; void delay(uint i) { uint x,j; for (x=i+33;x!=0;x--) { for (j=65535;j!=0;j--); } } void display(uchar i) { i=num; PORTC=a[i]; PORTA=0xfe; delay(1); } void keyscan() { while((PIND&0X01)==0) num=1; while((PIND&0X02)==0) num=2; while((PIND&0X04)==0) num=3; while((PIND&0X08)==0) num=4; while((PIND&0X10)==0) num=5; while((PIND&0X20)==0) num=6; while((PIND&0X40)==0) num=7; while((PIND&0X80)==0) num=8; } int main() { DDRC=0XFF; DDRA=0XFF; PORTC=0x00; PORTA=0X00; DDRD=0x00; delay(1); while(1) { keyscan(); display(num); } }