|
程序基本結(jié)構(gòu)有嚴(yán)重錯(cuò)誤,switch語(yǔ)句的格式不完整。
- #include <reg52.h>
- #include <intrins.h>
- sbit LED1 = P1^0;
- unsigned char key_number=1;
- void delay(unsigned int x)
- {
- unsigned char i, j;
- while(x>0){
- _nop_();
- i = 2;
- j = 199;
- do
- {
- while (--j);
- } while (--i);
- x--;
- }
- }
- unsigned char KeyScan()
- {
- P3=0xf0;
- if(P3!=0xf0)
- {
- delay(10);
- if(P3!=0xf0)
- {
- switch(P3)
- {
- case 0xe0:key_number=0;break;
- case 0xd0:key_number=1;break;
- case 0xb0:key_number=2;break;
- case 0x70:key_number=3;break;
- }
- P3=0x0f;
- switch(P3)
- {
- case 0x0e:key_number=key_number+0;break;
- case 0x0d:key_number=key_number+4;break;
- case 0x0b:key_number=key_number+8;break;
- case 0x07:key_number=key_number+12;break;
- }
- }
- }
- return key_number;
- }
- void main()
- {
- while(1)
- {
- key_number=KeyScan();
- if(key_number==0)
- {
- LED1 = 0;
- }
- else LED1 = 1;
- }
- }
復(fù)制代碼 |
|