可以不用while等待。
定義函數(shù)
#define CPU_F ( (double) 8000000)
#define delay_us( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000000.0) )
#define delay_ms( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000.0) )
#define CO 1
#define SET 2
#define UP 3
#define DOWN 4
#define key_01 (P2IN&BIT5)
#define key_02 (P2IN&BIT4)
#define key_03 (P2IN&BIT3)
#define key_04 (P2IN&BIT2)
//初始化按鍵IO
void initKeyIO(void)
{
P2DIR &= ~(BIT2 + BIT3 + BIT4 + BIT5); ///引腳方向
P2REN |= (BIT2 + BIT3 + BIT4 + BIT5); //引腳上拉使能
P2OUT |= (BIT2 + BIT3 + BIT4 + BIT5); //上拉
}
uchar last = 1;
//四個(gè)按鍵的檢測(cè)函數(shù)
//有按鍵則返回1 2 3 4
//無按鍵則返回 0
unsigned char scanKey(void)
{
if ((key_01 == 0 || key_02 == 0 || key_03 == 0 || key_04 == 0) && (last == 1))
{
delay_ms(10); //去抖動(dòng)
last = 0;
if (key_01 == 0)
{
return 1;
}
else if (key_02 == 0)
{
return 2;
}
else if (key_03 == 0)
{
return 3;
}
else if (key_04 == 0)
{
return 4;
}
}
if ((key_01) && (key_02))
{
if ((key_03) && (key_04))
last = 1;
}
return 0;
}
使用:
int main(void)
{
initSystemWdtAndIOAndClock(); //8MHZ
while (1)
{
delay_ms(10);
keyValue = scanKey(); //檢測(cè)按鍵
if (keyValue != 0)
{
if (keyValue == CO)
{
}else if (keyValue == SET)
{
}else if (keyValue == UP )
{
}else if (keyValue == DOWN )
{
}
}
}
}
上一篇:單片機(jī) MSP430 串口 計(jì)算 波特率
下一篇:MSP430時(shí)鐘倍頻設(shè)置 親測(cè) MSP430F5529有效
推薦閱讀
史海拾趣
Chip Quik公司在電子行業(yè)初創(chuàng)時(shí),以其獨(dú)特的芯片焊接技術(shù)脫穎而出。該公司研發(fā)了一種新型的低溫焊接材料,能夠在不損壞周圍元件的情況下快速、準(zhǔn)確地修復(fù)或更換芯片。這一創(chuàng)新技術(shù)迅速吸引了電子維修市場(chǎng)的關(guān)注,公司借此機(jī)會(huì)成功進(jìn)入市場(chǎng)。
FerriShield公司起源于一家小型電子材料研究實(shí)驗(yàn)室。創(chuàng)始人Dr. Smith是一位材料科學(xué)家,他發(fā)現(xiàn)了一種新型的鐵磁屏蔽材料,能夠有效減少電子設(shè)備中的電磁干擾。這一發(fā)現(xiàn)引起了業(yè)界的廣泛關(guān)注。Dr. Smith決定將其商業(yè)化,并創(chuàng)立了FerriShield公司。憑借這種創(chuàng)新材料,F(xiàn)erriShield在成立初期就獲得了多項(xiàng)專利,并成功吸引了第一輪風(fēng)險(xiǎn)投資。
為了進(jìn)一步擴(kuò)大市場(chǎng)份額和增強(qiáng)技術(shù)實(shí)力,DATASENSOR公司積極進(jìn)行收購(gòu)和擴(kuò)張。2004年,公司成功收購(gòu)INFRA和SPECIALVIDEO公司,這兩家公司在工業(yè)自動(dòng)化領(lǐng)域擁有豐富的經(jīng)驗(yàn)和先進(jìn)的技術(shù),為DATASENSOR公司帶來了更多的市場(chǎng)機(jī)會(huì)和技術(shù)優(yōu)勢(shì)。此外,公司還在法國(guó)、德國(guó)、英國(guó)和西班牙等國(guó)家和地區(qū)設(shè)立了子公司,實(shí)現(xiàn)了全球化的戰(zhàn)略布局。
Gem Asia Enterprise最初是一家專注于電子元件生產(chǎn)的小型制造商。面對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng),公司決定加大研發(fā)投入,專注于開發(fā)新型半導(dǎo)體材料。經(jīng)過數(shù)年努力,Gem Asia成功研發(fā)出一種高效能、低功耗的半導(dǎo)體材料,并成功應(yīng)用于智能手機(jī)和可穿戴設(shè)備中。這一創(chuàng)新不僅顯著提升了產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力,還吸引了多家國(guó)際知名電子品牌的合作,使Gem Asia迅速在電子行業(yè)中嶄露頭角。
在追求經(jīng)濟(jì)效益的同時(shí),Emmoco也注重環(huán)保和可持續(xù)發(fā)展。公司積極采用環(huán)保材料和綠色生產(chǎn)工藝,降低生產(chǎn)過程中的能耗和排放。同時(shí),Emmoco還積極參與環(huán)保公益活動(dòng),推動(dòng)電子行業(yè)的綠色發(fā)展。這些舉措不僅體現(xiàn)了Emmoco的社會(huì)責(zé)任感,也為公司的長(zhǎng)期發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
請(qǐng)教關(guān)于非門并聯(lián)然后串聯(lián)問題 請(qǐng)教大家,如圖. 1 非門并聯(lián),然后兩對(duì)并聯(lián)的串聯(lián)起來,請(qǐng)問可以實(shí)現(xiàn)什么作用呢? 我只知道單獨(dú)并聯(lián)兩個(gè)非門可以提供固定電流(常溫單個(gè)4069貌似8.8mA,并聯(lián)17.6mA). 2 后面二極管反向并聯(lián),是用來消除干擾的嗎? 3 1 ...… 查看全部問答∨ |
矩陣鍵盤線反轉(zhuǎn)法 無法實(shí)現(xiàn)松手檢測(cè) #include #define UCHAR unsigned char #define UINT unsigned int void main() { UCHAR keyScan(); while(1) { keyScan(); } } ...… 查看全部問答∨ |
我在使用一些U盤量產(chǎn)工具時(shí),不知道怎么搞的,朗科U盤變成OTi的U盤了.現(xiàn)在無論在哪臺(tái)電腦上,插上U盤后就變成了OTi設(shè)備了. 請(qǐng)教? … 查看全部問答∨ |
|
【MSP430共享】MSP430F1系列單片機(jī)常用模塊應(yīng)用原理 這個(gè)是我以前從微控網(wǎng)找到的,非常不錯(cuò),我就是看它學(xué)MSP430的 從基本模塊講起,是不可多得的好資料喲 [ 本帖最后由 ddllxxrr 于 2011-9-8 18:38 編輯 ]… 查看全部問答∨ |
一種新型433M無線傳感自組網(wǎng)--spidermesh Spidermesh 是一個(gè)無線自組網(wǎng)系統(tǒng),一個(gè)低功耗、小功率(無線發(fā)射功率10毫瓦)、短距離(節(jié)點(diǎn)間30-70m)、短數(shù)據(jù)(小于50字節(jié))無線傳感網(wǎng)絡(luò)系統(tǒng)。它的無線工作頻段首選433MHz,所有無線設(shè)備都工作在同頻半雙工、雙向數(shù)據(jù)傳輸?shù)?...… 查看全部問答∨ |
PWM輸出的口怎么確定 為什么 設(shè)置P1SEL就可以了 把P1SEL 寄存器對(duì)應(yīng)的口設(shè)為1,代表使用外部模塊,但是外部模塊有這么多。。 單片機(jī)是怎么識(shí)別的把他用作 ...… 查看全部問答∨ |
1、散熱 2、缺乏標(biāo)準(zhǔn),產(chǎn)品良莠不齊 3、存在價(jià)格與設(shè)計(jì)品質(zhì)問題,最終消費(fèi)者選擇LED照明,缺乏信心 4、半導(dǎo)體照明在電氣設(shè)計(jì)方面與傳統(tǒng)照明有很大差別,傳統(tǒng)燈具企業(yè)需要經(jīng)驗(yàn)/技能積累過程 5、大家都看好該市場(chǎng),但是還沒有規(guī)模上量 特點(diǎn): ...… 查看全部問答∨ |
歡迎網(wǎng)友music_586成為【TI模擬技術(shù)體驗(yàn)】版主! 期待music_586的加入,【TI模擬技術(shù)體驗(yàn)】討論氣氛會(huì)越來越好! 其中這個(gè)帖子:可調(diào)穩(wěn)壓器LM317你應(yīng)該知道的10個(gè)知識(shí)點(diǎn),就是咱們的新版主music_586的原創(chuàng)。 … 查看全部問答∨ |
格西烽火串口助手1.5——基于串口和網(wǎng)口的通信測(cè)試軟件 這是一款多功能的基于串口和網(wǎng)口的通信測(cè)試軟件,不知道大家用的多不多啊,可以看看。 https://download.eeworld.com.cn/detail/geshetech/551251 … 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動(dòng)駕駛安全性
- 曉鶯說:線控制動(dòng)變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對(duì)極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- 寶馬自動(dòng)充電機(jī)器人概念驗(yàn)證成功,引領(lǐng)無人充電新時(shí)代
- 智駕模式下LQR最優(yōu)算法在EPS中的應(yīng)用研究
- 6月超17款人形機(jī)器人新品推出
- 看是德科技利用校準(zhǔn)降低儀器測(cè)量不確定度、提高測(cè)試精度 直播享好禮!
- 直播已結(jié)束|安世新一代高效的氮化鎵(GaN)電源設(shè)計(jì)方案
- 更好的供電方式:使用更小、更輕的電源模塊加速車輛電氣化
- 是德科技(Keysight)有獎(jiǎng)?wù)魑模鹿P贏示波器啦!
- 有獎(jiǎng)問答 英飛凌一站式BMS解決方案
- 恩智浦LPC1500開發(fā)體驗(yàn)有獎(jiǎng)?wù)骷?/a>
- NXP微控制器電路板,針對(duì)USB Type C接口設(shè)計(jì),評(píng)測(cè)創(chuàng)意有獎(jiǎng)?wù)骷瑫裥牡酶卸嘀睾枚Y!
- 安森美有獎(jiǎng)直播|適用于光儲(chǔ)充的SiC及IGBT隔離柵極驅(qū)動(dòng)器方案
- ADI電磁流量計(jì)解決方案
- 下載有禮|ADI 最新《模擬對(duì)話》合訂本
- 通過DMA向串口發(fā)送數(shù)據(jù)
- STM32:DMA實(shí)例之串口(USART)通信
- arm-linux-gcc 裸機(jī)程序開發(fā)(一)
- 串口通訊(DMA模式)
- 三 ARM9(S3C2440)的串口UART——程序?qū)嵗v解
- 買歐版iPhone 12的朋友知悉:設(shè)備側(cè)面會(huì)有監(jiān)管標(biāo)識(shí)
- iOS和iPadOS 14.1發(fā)布:iPhone 8更新機(jī)型支持10位HDR視頻
- 網(wǎng)友分享iPhone 12真機(jī)圖片:藍(lán)色引爭(zhēng)議
- 索尼將在PS5上市前逐步推出新的PlayStation商店
- 藍(lán)牙追蹤設(shè)備AirTags將發(fā)布:有大小兩個(gè)尺寸
- 大家?guī)臀铱纯催@個(gè)功放電路的原理是?
- pads9.5無法覆銅,求解答
- 5438的flash操作方法
- TS3DV642A0RUAR芯片規(guī)格書說不支持4K 60HZ 但是睿屏的可以上60HZ是什么原因
- 【行空板 Python編程學(xué)習(xí)主控板】 二、上電及Mind+ 圖形化點(diǎn)燈及音樂時(shí)鐘運(yùn)行評(píng)測(cè)
- 手機(jī)充電有新法 看看十大突破性電池技術(shù)
- 小白問無線狂歡如何曬單(2、3樓已解決)
- 中央電視臺(tái)等新獲手機(jī)電視牌照 標(biāo)準(zhǔn)亟待出臺(tái)
- 螺絲刀浮動(dòng)魔術(shù),有誰能破解?
- AD7730在發(fā)動(dòng)機(jī)燃油消耗測(cè)量?jī)x中的應(yīng)用