




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
獨(dú)立式按鍵矩陣按鍵例10:按鍵1、程序key1:實驗?zāi)康模和ㄟ^按鍵key1、key2、key3、key4分別控制前四盞LED的亮滅。實驗思路:
P0口各位的電位高低可以控制LED的亮滅,P0口的低四位對應(yīng)控制前四盞小燈。根據(jù)實驗要求,可讓key1-key4控制P0的低四位,進(jìn)而可以控制前四盞LED的亮滅。又key1-key4控制直接keyin1-keyin4,也即控制P2口的高四位,故可以讓key1-key4控制P2口的高四位(按鍵按下去,相應(yīng)P2口為0),然后將P2口高四位對應(yīng)賦值給P0口低四位。設(shè)計步驟:1)使能三八譯碼器,讓LED具備可以亮的條件;2)獨(dú)立式按鍵初始化,讓keyout1=0,接地,使得key1-key4組成一組獨(dú)立按鍵;3)將P2口高四位對應(yīng)賦值給P0口低四位,P0=P2>>44)為確保P0口高四位為1,P0=(P2>>4)|0XF0,這樣后四盞小燈就不會亮了。#include<reg52.h>sbitA0=P1^0;sbitA1=P1^1;sbitA2=P1^2;sbitE3=P1^3;sbitENLED=P1^4;sbitkeyout1=P2^3;main(){keyout1=0;ENLED=0;E3=1;A2=1;A1=1;A0=0; while(1){P0=(P2>>4)|0xF0;}}補(bǔ)充知識點(diǎn):編寫頭文件1)頭文件建立方法:*.h,例如此處key.h2)將頭文件寫入程序中:#include“key.h”3)頭文件與所寫程序應(yīng)該在相同文件夾下,如其他程序需要可直接復(fù)制粘貼頭文件即可。4)頭文件的具體編寫方法如下:編寫頭文件:#ifndef_KEY_H_#define_KEY_H_typedefunsignedintuint16;typedefunsignedcharuint8;sbitkeyin1=P2^4;//特殊功能位聲明sbitkeyin2=P2^5;sbitkeyin3=P2^6;sbitkeyin4=P2^7;sbitkeyout1=P2^3;sbitkeyout2=P2^2;sbitkeyout3=P2^1;sbitkeyout4=P2^0;sbitA2=P1^2;//特殊功能位聲明,以便使能三八譯碼器sbitA1=P1^1;sbitA0=P1^0;sbitENLED=P1^4;sbitE3=P1^3;#endif#include<reg52.h>#include"key.h"main(){ keyout1=0; ENLED=0; E3=1; A2=1; A1=1; A0=0; while(1) P0=(P2>>4)|0XF0; }使用自編頭文件后程序簡化如下:例10:按鍵2、程序key2:設(shè)計內(nèi)容:通過按鍵key1、key2控制第一個數(shù)碼管顯示的數(shù)字加1或減1。設(shè)計思路:定義數(shù)組,數(shù)組內(nèi)容從0-9、空。key1每次按下,數(shù)碼管顯示數(shù)字加1,key2每次按下,數(shù)碼管顯示數(shù)字減1。設(shè)計步驟:1)定義數(shù)組,該數(shù)組中元素從0-9、空顯示;2)使能三八譯碼器,讓LED具備可以亮的條件;3)初始化按鍵,使得key1、key2組成一組獨(dú)立式按鍵;4)編寫程序,使得key1每次按下,數(shù)碼管顯示數(shù)字加1,key2每次按下,數(shù)碼管顯示數(shù)字減1。#include<reg52.h>#include"key.h"codeuint8number[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xFF};uint8n=0;main(){ keyout1=0;//初始化按鍵
A2=0;//讓第一個數(shù)碼管亮
A1=0; A0=0;
E3=1;//使能三八譯碼器
ENLED=0; P0=number[0];//給P0賦初值
while(1){ if(!keyin1)//將keyin1取反,結(jié)果只有兩種,1或0,!keyin1的結(jié)果是按鍵1按下去結(jié)果為1,也即要執(zhí)行以下操作,彈上來結(jié)果為0,不進(jìn)行以下操作。
{
if(n>=9)//按鍵1按下去的時候數(shù)字從0增至9,當(dāng)?shù)?時,又從新從0開始顯示
n=0; else n++; P0=number[n];
while(!keyin1);
//等待按鍵彈起來,防止按鍵由于手動操作,按下去時間過長,導(dǎo)致計數(shù)變化過多,加入這條語句,只要按鍵還沒彈上來,則會一直執(zhí)行while空語句
}
if(!keyin2) { if(n<=0) n=9; else n--; P0=number[n]; while(!keyin2); } }}例10:
3、程序key3:
按鍵抖動(課本P109)硬件去抖軟件去抖:檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。
設(shè)計思路:在上一個程序的基礎(chǔ)上加一個延時程序,延時程序后再次判斷按鍵是否按下,如果按下執(zhí)行以后程序。
在程序2的基礎(chǔ)上稍作修改,實現(xiàn)軟件按鍵防抖1)編寫延時程序:voiddelay(){ uint16i=1000; while(i--);}2)將延時程序?qū)懭雖ain中
if(!keyin1){ delay();//如果按鍵按下,延時,再確認(rèn)按鍵是否按下
if(!keyin1) { if(n>=9) n=0; else n++; P0=number[n]; while(!keyin1); }}例10:按鍵4、程序key4:設(shè)計內(nèi)容:通過按鍵key1-key15控制LED按二進(jìn)制方式顯示數(shù)字0-16。設(shè)計思路:使用矩陣按鍵,讓k1-k4、k5-k8、k9-k12、k13-k16依次構(gòu)成四組獨(dú)立式按鍵,每次只能構(gòu)成使用一組。然后讓k1-k16按下時,LED以二進(jìn)制方式顯示。設(shè)計步驟:1)使能三八譯碼器,讓LE
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國嬰幼兒護(hù)理書籍行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資研究報告
- 2025-2030中國兼香型白酒行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030防滑磚行業(yè)市場發(fā)展分析及前景趨勢與投資戰(zhàn)略研究報告
- 2025-2030速度傳感器產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與投資研究報告
- 2025-2030超極本行業(yè)市場深度分析及前景趨勢與投資研究報告
- 2025-2030蒸餾酒行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025-2030自動制樣系統(tǒng)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030皮膚科用藥產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與投資前景預(yù)測研究報告
- 2025-2030生物質(zhì)燃?xì)庠O(shè)備行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025-2030特殊鞋產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 遼寧沈陽國有資產(chǎn)托管中心有限公司招聘筆試題庫2025
- 統(tǒng)編版2024-2025學(xué)年語文六年級下冊期中核心素養(yǎng)評估卷有答案
- 2025-2030中國浮吊行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報告
- 918勿忘國恥銘記歷史課件-高一上學(xué)期主題班會
- 船舶英語考試練習(xí)題及答案1-2023-練習(xí)版
- 2025年中國景泰藍(lán)擺件盒市場調(diào)查研究報告
- 公共關(guān)系學(xué)電子教案
- 王者榮耀考試試題及答案
- 杭州市市級機(jī)關(guān)事業(yè)單位招聘真題2024
- 高速公路消防知識
- 地下混凝土水池蓄水試驗方案20240401
評論
0/150
提交評論