- #include <REG52.H>
- unsigned char key=0;
- unsigned char led[8]={
- 0x9F,0x07,0x01,0x80,0x80,0x01,0x07,0x9F};
-
- sbit ADDR0=P1^0;
- sbit ADDR1=P1^1;
- sbit ADDR2=P1^2;
- sbit ADDR3=P1^3;
- sbit ADDR4=P1^4;
- sbit ADDR5=P1^5;
- sbit ADDR6=P1^6;
- sbit ADDR7=P1^7;
-
- void main()
- {
- TMOD=0x01;
- TH0=0xfc;
- TL0=0x66;
- EA=1;
- ET0=1;
- TR0=1;
- while(1)
- {
- }
- }
- void interruptTimer0() interrupt 1
- {
- TH0=0xfc;
- TL0=0x66;
- P2=0x00;
- switch(key)
- {
- case 0: ADDR0=0;ADDR1=0;ADDR2=0;key++;P2=~led[0];break;
- case 1: ADDR0=1;ADDR1=0;ADDR2=0;key++;P2=~led[1];break;
- case 2: ADDR0=0;ADDR1=1;ADDR2=0;key++;P2=~led[2];break;
- case 3: ADDR0=1;ADDR1=1;ADDR2=0;key++;P2=~led[3];break;
- case 4: ADDR0=0;ADDR1=0;ADDR2=1;key++;P2=~led[4];break;
- case 5: ADDR0=1;ADDR1=0;ADDR2=1;key++;P2=~led[5];break;
- case 6: ADDR0=0;ADDR1=1;ADDR2=1;key++;P2=~led[6];break;
- case 7: ADDR0=1;ADDR1=1;ADDR2=1;key=0;P2=~led[7];break;
- default: break;
- }
- }
复制代码
|