|
MSP430單片機(jī)KEY函數(shù)
單片機(jī)源程序如下:
- /********************************************************************
- //DM430-L型最小系統(tǒng)板4位獨(dú)立按鍵測試程序,采用查詢模式
- //按不同的按鍵,顯示不同的LED燈,具體請看程序
- //調(diào)試環(huán)境:EW430 V5.30
- //時間:2014.03.01
- ********************************************************************/
- #include <msp430x14x.h>
- #include "Config.h"
- uchar key;
- //*************************************************************************
- // 初始化IO口子程序
- //*************************************************************************
- void Port_init()
- {
- P1SEL = 0x00; //P1普通IO功能
- P1DIR = 0xF0; //P10~P13輸入模式,外部電路已接上拉電阻
- P6SEL = 0x00; //P6口普通IO功能
- P6DIR = 0xFF; //P6口輸出模式
- }
- //**********************************************************************
- // 鍵盤掃描子程序,采用逐鍵掃描的方式
- //**********************************************************************
- uchar Key_Scan(void)
- {
- uchar key_check;
- uchar key_checkin;
- key_checkin=KeyPort; //讀取IO口狀態(tài),判斷是否有鍵按下
- key_checkin&= 0x0F; //讀取IO口狀態(tài),判斷是否有鍵按下
- if(key_checkin!=0x0F) //IO口值發(fā)生變化則表示有鍵按下
- {
- delay_ms(20); //鍵盤消抖,延時20MS
- key_checkin=KeyPort;
- if(key_checkin!=0x1F)
- {
- key_check=KeyPort;
- switch (key_check & 0x0F)
- {
- case 0x0E:key=1;break;
- case 0x0D:key=2;break;
- case 0x0B:key=3;break;
- case 0x07:key=4;break;
- }
-
- }
-
- }
- else
- {
- key=0xFF;
- }
- return key;
- }
- //*************************************************************************
- // 主程序
- //*************************************************************************
- void main(void)
- {
- WDT_Init(); //看門狗設(shè)置
- Clock_Init(); //系統(tǒng)時鐘設(shè)置
- Port_init(); //系統(tǒng)初始化,設(shè)置IO口屬性
- delay_ms(100); //延時100ms
- while(1)
- {
- Key_Scan(); //鍵盤掃描,看是否有按鍵按下
- if(key!=0xff) //如果有按鍵按下,則顯示該按鍵鍵值1~4
- {
- {
- switch(key)
- {
- case 1: LED8 = 0xFC;break; //給不同的鍵賦鍵值,鍵值1,亮2個LED燈
- case 2: LED8 = 0xF3;break; //給不同的鍵賦鍵值,鍵值2,亮2個LED燈
- case 3: LED8 = 0xCF;break; //給不同的鍵賦鍵值,鍵值3,亮2個LED燈
- case 4: LED8 = 0x3F;break; //給不同的鍵賦鍵值,鍵值4,亮2個LED燈
- }
- }
-
- }
- else
- {
- //LED=key; //沒有按鍵的時候顯示上次的鍵值
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
4KEY.rar
(21.72 KB, 下載次數(shù): 16)
2018-7-29 20:24 上傳
點(diǎn)擊文件名下載附件
MSP430單片機(jī)KEY函數(shù)
|
|