




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、項(xiàng)目三 簡易電子密碼鎖制作任務(wù)一密碼鎖按鍵值顯示任務(wù)一 密碼鎖按鍵值顯示 1 2 3 4 5 任務(wù)書:任務(wù)書: 1 使用YL-236單片機(jī)實(shí)訓(xùn)考核裝置實(shí)現(xiàn)密碼鎖按鍵值顯示功能,具體要求如下: 1使用指令模塊中行列式44鍵盤作為密碼鎖的輸入。 2使用顯示模塊的4位數(shù)碼管單元顯示密碼鎖按鍵鍵值。 3上電后,數(shù)碼管無顯示,按下行列式44鍵盤的任意鍵,左邊兩個(gè)數(shù)碼管顯示按鍵的鍵值(鍵值參考左表)。鍵號0123鍵值0 x770 x7b0 x7d0 x7e鍵號4567鍵值0 xb70 xbb0 xbd0 xbe鍵號891011鍵值0 xd70 xdb0 xdd0 xde鍵號12131415鍵值0 xe70
2、 xeb0 xed0 xee 2任務(wù)分析:任務(wù)分析:行列式鍵盤接口行列式鍵盤的掃描方式行列式鍵盤的基本驅(qū)動函數(shù)/*按鍵掃描子函數(shù)*/*說明 該程序要求每2ms左右執(zhí)行一遍 */*可在定時(shí)中斷中調(diào)用,也可在主程序中循環(huán)調(diào)用*/#define uchar unsigned char #define KEYIO P1/定義按鍵的IO口void key()static uchar kv=0 xff ,ts=0;KEYIO=0 xf0;/鍵盤IO口高4位置1,低4位置0if(KEYIO!=0 xf0) /輸入不是全1,說明有鍵按下if(ts11)ts+;/ts累加,防止ts加過256if(ts=10)
3、/ ts等于10即20ms時(shí)取一次鍵值(延時(shí)去抖)按鍵輸入中存在的問題及解決方法(1)鍵抖動這個(gè)問題前文已有說明,這里不再重復(fù)。(2)重鍵有時(shí)由于操作不小心,可能會同時(shí)按下幾個(gè)鍵,這種問題稱為重鍵。處理重鍵的方法有很多,這里只介紹最簡單的一種處理方法。如果“n個(gè)鍵同時(shí)按下”,即只處理一個(gè)鍵,任何其他按下又松開的鍵不產(chǎn)生任何代碼。通常第一個(gè)被按下或最后一個(gè)松開的鍵產(chǎn)生鍵碼。這種方法最簡單,也最常用。(3)按鍵持續(xù)時(shí)間的長短不一按鍵穩(wěn)定閉合時(shí)間的長短是由操作人員的按鍵動作決定的,一般為零點(diǎn)幾秒至數(shù)秒。為了保證無論按鍵持續(xù)時(shí)間長短,單片機(jī)對按鍵的一次閉合僅作一次鍵輸入處理,必須等待按鍵釋放之后,再進(jìn)
4、行按鍵功能的處理操作。 3硬件電路的設(shè)計(jì)與搭建硬件電路的設(shè)計(jì)與搭建1、硬件電路設(shè)計(jì)密碼鎖按鍵值顯示模塊接線圖密碼鎖按鍵值顯示模塊接線圖(YL-236單片機(jī)實(shí)訓(xùn)裝置單片機(jī)實(shí)訓(xùn)裝置) 軟件編程軟件編程 4 1、主程序流程圖密碼鎖按鍵值顯示主函數(shù)流程圖按鍵處理函數(shù)流程圖2、參考程序/*宏定義*/#include #define uchar unsigned char #define uint unsigned int#define KEYIO P1/*LED數(shù)碼管端口定義*/unsigned char xdata DM _at_ 0 x7fff;/定義總線P2_7unsigned char xdat
5、a PX _at_ 0 xbfff;/定義總線P2_6/*變量定義*/uchar code tab=/共陽極數(shù)碼管字形碼0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xff;uchar dis_buf8=/定義顯示緩沖區(qū)16,16,16,16,16,16,16,16/tab16為0 xff,數(shù)碼管不顯示;/*函數(shù)聲明*/void key(void);/按鍵掃描函數(shù)void act_key(uchar kv);/按鍵功能執(zhí)行函數(shù)void displ
6、ay(void);/顯示函數(shù)程序程序知識點(diǎn):知識點(diǎn):(1)#define宏定義1.不帶參數(shù)的宏定義: 宏定義又稱為宏代換、宏替換,簡稱“宏”。格式:#define 標(biāo)識符 字符串 其中的標(biāo)識符就是所謂的符號常量,也稱為“宏名”。預(yù)處理(預(yù)編譯)工作也叫做宏展開:將宏名替換為字符串。掌握宏概念的關(guān)鍵是“換”。一切以換為前提、做任何事情之前先要換,準(zhǔn)確理解之前就要“換”。即在對相關(guān)命令或語句的含義和功能作具體分析之前就要換:例如:#define PI 3.1415926 /把程序中出現(xiàn)的PI全部換成3.1415926#define uchar unsigned char #define KEYIO
7、 P1/定義按鍵的IO口(1)#define宏定義(1)宏名一般用大寫(2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如:數(shù)組大小常用宏定義(3)預(yù)處理是在編譯之前的處理,而編譯工作的任務(wù)之一就是語法檢查,預(yù)處理不做語法檢查。(4)宏定義末尾不加分號;(5)宏定義寫在函數(shù)的花括號外邊,作用域?yàn)槠浜蟮某绦颍ǔT谖募淖铋_頭。(6)可以用#undef命令終止宏定義的作用域(7)宏定義可以嵌套(8)字符串 中永遠(yuǎn)不包含宏(9)宏定義不分配內(nèi)存,變量定義分配內(nèi)存。(2)獲取16進(jìn)制數(shù)的十位與個(gè)位使用%運(yùn)算獲得 dis_buf1=kv/16%16;/獲得十六進(jìn)制十位dis_buf0=kv%16;/獲得十六進(jìn)制個(gè)位使用位運(yùn)算運(yùn)算獲得 dis_buf1=kv4;/獲得十六進(jìn)制十位dis_buf0=kv&0 x0f;/獲得十六進(jìn)制個(gè)位效率較高通用性較強(qiáng) 項(xiàng)目實(shí)施項(xiàng)目實(shí)施 5 1硬件電路連接:按照硬件電路接線圖搭建電路,選擇所需的模塊并進(jìn)行布局,然后將電源模塊、主機(jī)模塊、顯示模塊、指令模塊和繼電器模塊用導(dǎo)線進(jìn)行連接。2打開Keil
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 助動車維修技術(shù)交流考核試卷
- 機(jī)器視覺與圖像處理技術(shù)考核試卷
- 智能儀器儀表項(xiàng)目規(guī)劃考核試卷
- 醫(yī)用針灸貼的種類和使用建議考核試卷
- 供應(yīng)鏈數(shù)字化轉(zhuǎn)型案例與啟示考核試卷
- 木紋設(shè)計(jì)與加工考核試卷
- 苗圃白蟻防治合同范本
- 留置權(quán)合同范本
- 業(yè)擴(kuò)報(bào)裝培訓(xùn)課件
- 8.3 摩擦力(共28張) 2024-2025學(xué)年人教版物理八年級下冊
- 中國思想史馬工程課件第一篇 先秦
- HY/T 081-2005紅樹林生態(tài)監(jiān)測技術(shù)規(guī)程
- Unit 3 Reading and Thinking 課件 【知識導(dǎo)航+拓展遷移】 高中英語人教版(2019)選擇性必修第二冊
- 幼兒園中班“建構(gòu)室”活動安排表(上學(xué)期和下學(xué)期)
- 農(nóng)村常用法律法規(guī)知識講座(適用村干部)專題培訓(xùn)課課件
- 部編版四年級語文下冊第13課《貓》課件
- 應(yīng)急投入及資源保障制度
- 壓裂評價(jià)中常見曲線分析
- (新版)網(wǎng)絡(luò)攻防知識考試題庫(含答案)
- 2023年湖北省技能高考文化綜合試題及答案
- 自然辯證法概論課件:第一章馬克思主義自然觀
評論
0/150
提交評論