版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章單片機(jī)的開關(guān)檢測、鍵盤輸入
與顯示的接口設(shè)計
15.5開關(guān)檢測案例【例5-4】
如圖5-4,P1.0和P1.1引腳接有兩只開關(guān)S0和S1,兩引腳上的高低電平共4種組合,4種組合分別點亮P2.0~P2.3引腳控制的4只LED,即S0、S1均閉合,LED0亮,其余滅;S1閉合、S0打開,LED1亮,其余滅;S0閉合、S1打開,LED2亮,其余滅;S0、S1均打開,LED3亮,其余滅。編程實現(xiàn)此功能。參考程序:3圖5-4
開關(guān)檢測指示器2接口電路與仿真#include<reg51.h> //包含頭文件reg51.hvoidmain() //主函數(shù)main(){ charstate; do {
P1=0xff; //P1口為輸入
state=P1; //讀入P1口的狀態(tài),送入state
state=state&0x03; //屏蔽P1口的高6位
switch(state) //判P1口低2位開關(guān)狀態(tài)
{ case0:P2=0x01;break;//P1.1、P1.0=00,點亮P2.0腳LED
case1:P2=0x02;break;//P1.1、P1.0=01,點亮P2.1腳LED
case2:P2=0x04;break;//P1.1、P1.0=10,點亮P2.2腳LED
case3:P2=0x08;break;//P1.1、P1.0=11,點亮P2.3腳LED
} }while(1);}45.6.2獨立式鍵盤接口設(shè)計案例
5圖5-23
獨立式鍵盤的接口電路1.獨立式鍵盤的查詢工作方式【例5-10】對圖5-23所示獨立式鍵盤,用查詢方式實現(xiàn)鍵盤掃描,根據(jù)按下不同按鍵,對其進(jìn)行處理。掃描程序如下:#include<reg51.h>voidkey_scan(void){ unsignedcharkeyval
do { P1=0xff; //P1口為輸入
keyval=P1; //從P1口讀入鍵盤狀態(tài)
keyval=~keyval; //鍵盤狀態(tài)求反
6switch(keyval) { case1:……; //處理按下的k1鍵,“……”為處理程序 break; //跳出switch語句 case2:……; //處理按下的k2鍵
break; //跳出switch語句 case4:……; //處理按下的k3鍵
break; //跳出switch語句
case8:……; //處理按下的k4鍵
break; //跳出switch語句
case16:……; //處理按下的k5鍵
break; //跳出switch語句
case32:……; //處理按下的k6鍵
break; //跳出switch語句
case64:……; //處理按下的k7鍵
break; //跳出switch語句
case128:……; //處理按下的k8鍵
break; //跳出switch語句
default: break; //無按下鍵處理
}} while(1);}82.獨立式鍵盤的中斷掃描方式前面介紹查詢方式獨立式鍵盤接口設(shè)計與程序設(shè)計。為提高單片機(jī)掃描鍵盤的工作效率,可采用中斷掃描方式,只有在鍵盤有鍵按下時,才進(jìn)行掃描與處理??梢娭袛鄴呙璺绞降逆I盤實時性強(qiáng),工作效率高。【例5-12】設(shè)計一采用中斷掃描方式獨立式鍵盤,只有在鍵盤有按鍵按下時,才進(jìn)行處理,接口電路見圖5-25。當(dāng)鍵盤中有鍵按下時,8輸入與非門74LS30輸出經(jīng)過74LS04反相后向單片機(jī)外中斷請求輸入引腳INT0*發(fā)出低電平中斷請求信號,單片機(jī)響應(yīng)中斷,進(jìn)入外部中斷的中斷函數(shù),在中斷函數(shù)中,判斷按鍵是否真按下。如確實按下,則把標(biāo)志keyflag置1,并得到按下按鍵鍵值,然后從中斷返回,根據(jù)鍵值跳向該鍵的處理程序。910圖5-25
中斷掃描方式的獨立式鍵盤的接口電路參考程序如下:..\范例\KEY_INT0.C#include<reg51.h>#include<absacc.h>#defineucharunsignedcharbitkeyflag; //keyflag為按鍵按下的標(biāo)志位uchar
keyval; //keyval為鍵值voiddelay10ms(void); //軟件延時10ms函數(shù),見例5-11voidmain(void){ IE=0x81; //總中斷允許EA=1,允許中斷
IP=0x01; //設(shè)置外中斷0為高優(yōu)先級
keyflag=0; //設(shè)置按鍵按下標(biāo)志為0 do { 11if(keyflag) //如果按鍵按下標(biāo)志keyflag=1,則有鍵按下 {
keyval=~keyval; //鍵值取反
switch(keyval) //根據(jù)按下鍵的鍵值進(jìn)行分支跳轉(zhuǎn)
{ case1:…; //處理0號鍵
break; case2:…; //處理1號鍵
break; case4:…; //處理2號鍵
break; case8:…; //處理3號鍵
break; case16:…; //處理4號鍵
break; case32:…; //處理5號鍵12
break; case64:…; //處理6號鍵
break; case128:…; //處理7號鍵
break; default; break; //無效按鍵,例如多個鍵同時按下
}
keyflag=0; //清按鍵按下標(biāo)志
} }
while(1);}
13voidint0()interrupt0 //有鍵按下,則執(zhí)行的中斷函數(shù){
uchar
reread_key; //reread_key為重讀鍵值變量; IE=0x80; //屏蔽中斷 keyflag=0; //把按鍵按下標(biāo)志keyflag清0 P1=0xff; //向P1口寫1,設(shè)置P1口為輸入
keyval=P1; //從P1口讀入鍵盤的狀態(tài)
delay10ms(void); //延時10ms
reread_key=P1;//再次從P1口讀鍵盤狀態(tài),并存reread_key中
if(keyval==reread_key)//比較兩次讀取的鍵值,如相同,說明鍵按下
{
key_flag=1; //按鍵按下標(biāo)志key_flag為1} IE=0x81; //重新允許中斷}14程序中用到了外部中斷INT0*,當(dāng)沒有按鍵按下時,標(biāo)志keyflag=0,程序一直執(zhí)行“do{}while()”循環(huán)。當(dāng)有鍵按下時,則74LS04輸出端產(chǎn)生低電平,向單片機(jī)INT0*腳發(fā)中斷請求信號,單片機(jī)響應(yīng)中斷,執(zhí)行中斷函數(shù)。如果確實按鍵按下,在中斷函數(shù)中把keyflag置1,并得到鍵值。當(dāng)執(zhí)行完中斷函數(shù)后,再進(jìn)入“do{}while()”循環(huán),此時由于“if(keyflag)”中的keyflag=1,則可根據(jù)鍵值“keyval”,采用“switch(keyval)”分支語句,進(jìn)行按下按鍵的處理。155.6.3矩陣式鍵盤接口設(shè)計案例
16圖5-26
矩陣式(行列式)鍵盤【例5-14】
數(shù)碼管顯示4×
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 警務(wù)室調(diào)解制度
- 用電基礎(chǔ)知識培訓(xùn)
- 2025高一政治期末模擬卷01(考試版)【測試范圍:必修1全冊+必修2全冊】(新高考用)含答案
- 醫(yī)院愛崗敬業(yè)培訓(xùn)課件
- 國考公安考試試題及答案
- 2026年上半年浙江杭州市婦產(chǎn)科醫(yī)院(杭州市婦幼保健院)高層次、緊缺專業(yè)人才招聘15人(總)備考考試試題附答案解析
- 2026某事業(yè)單位招聘保潔崗位1人備考考試題庫附答案解析
- JIS D 9101-2012 自行車術(shù)語標(biāo)準(zhǔn) Cycles - Terminology
- 2026福建福州市平潭綜合實驗區(qū)黨工委黨校(區(qū)行政學(xué)院、區(qū)社會主義學(xué)院)招聘編外工作人員1人備考考試題庫附答案解析
- 2026福建龍巖鑫達(dá)彩印有限公司龍巖鑫利來酒店分公司(第一批)招聘3人參考考試試題附答案解析
- 2025屆高考小說專題復(fù)習(xí)-小說敘事特征+課件
- 部編版二年級下冊寫字表字帖(附描紅)
- 干部履歷表(中共中央組織部2015年制)
- GB/T 5657-2013離心泵技術(shù)條件(Ⅲ類)
- GB/T 3518-2008鱗片石墨
- GB/T 17622-2008帶電作業(yè)用絕緣手套
- GB/T 1041-2008塑料壓縮性能的測定
- 400份食物頻率調(diào)查問卷F表
- 滑坡地質(zhì)災(zāi)害治理施工
- 實驗動物從業(yè)人員上崗證考試題庫(含近年真題、典型題)
- 可口可樂-供應(yīng)鏈管理
評論
0/150
提交評論