初學51單片機,我用單片機(STC89C52RC)的P3.4和P3.5兩個I/O口分別接兩個獨立按鍵,想把這兩個獨立按鍵的四種狀態(tài)(00,01,10,11)用P1口接的4個led小燈顯示出來。
但是用我自己寫的程序下載進學習板,每次只有當把兩個按鍵都按下,才有一個小燈亮。其余三種按鍵狀態(tài)怎么也顯示不出來。
單片機源程序如下:
- #include<reg52.h>
- void main(void)
- {
- unsigned char temp;
-
- while(1)
- {
- P3 = 0XFF; //P3.4,P3.5作為獨立鍵盤輸入口
- temp = P3;
- temp = temp & 0X30; //保留 P3.4和P3.5,屏蔽其他位
- switch(temp)
- {
- case 0X00: P1=0XFE; break;
- case 0X01: P1=0XFD; break;
- case 0X02: P1=0XFB; break;
- case 0X03: P1=0XF7; break;
- }
- }}
復制代碼 |