網上見到別人寫的2IO 6Key程序,但一直運行不成功,認真琢磨了一陣,終于成功。現分享出來,以供同好參考。
注意:Proteus仿真不行,但在開發板上正常運行。
//CPU:STC89C52單片機
#include <REG52.h>
#include <intrins.h>
sfr AUXR = 0x8E;
typedef unsigned char uchar;
typedef unsigned int uint;
#define key_state_0 0 //判斷是否按下
#define key_state_1 1 //判斷是否為抖動和取鍵值
uchar key=0;
bit KEY_1_ON=0; //按鍵分為2組,1,2,3為第一組,4,5,6為第二組
//KEY_1_ON 為第一組按下標志
sbit IO_1=P1^0;
sbit IO_2=P1^1;
void Timer0_Init();
void keyboard();
void main()
{
Timer0_Init();
while(1)
{
switch(key)
{
case 1:P2=0XFE;
break;
case 2:P2=0XFD;
break;
case 3:P2=0XFB;
break;
case 4:P2=0XF7;
break;
case 5:P2=0XEF;
break;
case 6:P2=0XDF;
break;
}
}
}
f73ada89ef5dc0774e8d02a38672ee4.jpg (929.7 KB, 下載次數: 129)
下載附件
2022-3-4 10:51 上傳
無標題.png (611.87 KB, 下載次數: 118)
下載附件
2022-3-4 10:53 上傳
呵呵,重要的東東不能忘,這是按鍵部分的接線圖
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
無標題.png (43.8 KB, 下載次數: 113)
下載附件
2022-3-4 14:18 上傳
51hei.png (5.85 KB, 下載次數: 125)
下載附件
2022-3-5 03:27 上傳
Keil代碼與Proteus仿真下載:
2io6key.rar
(29.17 KB, 下載次數: 61)
2022-3-4 14:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|