?? getkey.c
字號:
#include<avr/io.h>
#include "head.h"
void display (uint8_t c,uint8_t d);
extern uint8_t key;
void adjtime (void);
void adjalm (void);
////////////////////////////////////////////
/*
作用: 獲取鍵盤輸入,分為兩種模式,一種是等待用戶輸入,用戶不輸入就一直等待
一種是不等待模式,沒有輸入則轉(zhuǎn)入下一個語句。
———————————————————————————————————————————————————————————
參數(shù):
t:等待時顯示的內(nèi)容,當(dāng)不帶帶時,此參數(shù)隨意
w:是否等待
————————————————————————————————————————————————————————————
返回:沒有
————————————————————————————————————————————————————————————
全局變量:key
*/
///////////////////////////////////////////
void getkey (uint8_t n,uint8_t w)
{
uint8_t qut=0;
key=0;
if (w==WAIT) //等待模式,沒有鍵按下就不斷循環(huán)
while(qut==0)
{
switch ((KEYCODE))
{
case 0xD0: key=OK; while((KEYCODE)==0xD0); qut=1;break; //改變數(shù)據(jù)
case 0x70: key=CHANGE; while((KEYCODE)==0x70); qut=1;break; //確認(rèn)改動
default:{}break;
}
switch (n) //根據(jù)需要選擇要顯示的區(qū)域,用在等待模式中
{
case HOUR_TIME: display(SHOW_HOUR,TIME);break;
case HOUR_ALARM: display(SHOW_HOUR,ALARM);break;
case MINUTE_TIME: display(SHOW_MINUTE,TIME);break;
case MINUTE_ALARM: display(SHOW_MINUTE,ALARM);break;
case SECOND_ALARM: display(SHOW_SECOND,ALARM);break;
default:{} break;
}
}
else //不等待模式,沒有鍵按下就跳過
switch ((KEYCODE))
{
case 0xE0: adjtime(); break; //起動調(diào)時
case 0xB0: adjalm(); break; //起動調(diào)鬧鐘
default : {} break;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -