版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目2簡易計算器設(shè)計副標題2.1學(xué)習(xí)目標[知識目標]
掌握GPIO口的配置方法;
掌握鍵盤的硬件設(shè)計原理;
掌握行列式鍵盤的驅(qū)動原理;
掌握數(shù)碼管的硬件設(shè)計方法及其驅(qū)動原理。
[能力目標]
能夠熟練使用查詢方式識別按鍵;
能夠熟練使用復(fù)用引腳驅(qū)動數(shù)碼管的顯示;
能夠CCITSTC單片機綜合實驗儀Keil編輯環(huán)境下編寫和在線調(diào)試簡易計算器程序。
2.2項目分析選用簡易計算器設(shè)計項目,主要目的是通過該項目簡要介紹鍵盤、數(shù)碼管的驅(qū)動原理和編程方法,具體包括:GPIO口的配置、行列式鍵盤的識別、多位數(shù)碼管的顯示驅(qū)動、GPIO
口的復(fù)用方法和簡易計算器的綜合調(diào)試。簡易計算器項目主要是設(shè)計兩個子任務(wù):行列式鍵盤掃描和多位數(shù)碼管顯示。通過這兩
個子任務(wù)的整合設(shè)計實現(xiàn)簡易計算器的加、減、乘、除功能。通過該項目的訓(xùn)練,使讀者可以靈活運用鍵盤和數(shù)碼管這兩個常用輸入和輸出模塊,同時進一步熟悉STC單片機的基本資源,為后續(xù)項目的學(xué)習(xí)奠定基礎(chǔ)。
2.4支撐知識2.4.1行列式鍵盤1鍵盤模型及接口
鍵盤是由若干個按鍵組成的開關(guān)矩陣,它是嵌入式系統(tǒng)中最簡單的數(shù)字量輸入設(shè)備,操作員通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人-機通信。
(1)鍵盤模型
鍵盤的基本電路是一個接觸開關(guān),通、斷兩種狀態(tài)分別表示0和1,微處理器可以容易地檢測到開關(guān)的閉合。當(dāng)開關(guān)打開時,提供邏輯“1”;當(dāng)開關(guān)
閉合時,提供邏輯“0”。鍵盤接口1)獨立方式。獨立方式是指將每個獨立按鍵按一對一的方式直接接到I/O輸入線上,讀鍵值時直接讀I/O口,每一個鍵的狀態(tài)通過讀入鍵值來反映,所以也稱這種方式為一維直讀方式(按習(xí)慣稱為獨立式)。這種方式查鍵實現(xiàn)簡單,但占用I/O資源較多,一般在鍵的數(shù)量較少時采用。
鍵盤接口2)矩陣方式。矩陣方式是用n條I/O線組成行輸入口,m條I/O線組成列輸出口,在
行列線的每一個交點上設(shè)置一個按鍵。讀鍵值方法一般采用掃描方式,即輸出口按位輪換輸出低電平,再從輸入口讀入鍵信息,最后獲得鍵碼。這種方式占用I/O線較少,在實際應(yīng)用系統(tǒng)中采用較多。
鍵盤的基本問題
為了能實現(xiàn)對鍵盤的編程,應(yīng)該了解下面幾個問題:第一,如何識別鍵盤上的按鍵?第二,如何區(qū)分按鍵是被真正地按下,還是抖動?第三,如何處理重鍵問題?了解這些問題有助于鍵盤編程。
(1)鍵盤識別
如何知道鍵盤上哪個鍵被按下就是鍵的識別問題。若鍵盤上閉合鍵的識別由專用硬件實現(xiàn),稱為編碼鍵盤;而靠軟件實現(xiàn)的稱為未編碼鍵盤。在這里,主要討論未編碼鍵盤的接口技術(shù)和鍵輸入程序的設(shè)計。識別是否有鍵被按下,主要用查詢法。而要識別鍵盤上哪個鍵被按下,主要有行掃描法。
(2)抖動問題
當(dāng)手按下一個鍵時,會出現(xiàn)所按的鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況,當(dāng)釋放一個按鍵時也會出現(xiàn)類似的情況,這就是抖動問題。抖動持續(xù)的時間因操作者而異,一般為5~10ms之間,穩(wěn)定閉合時間一般為十分之幾秒至幾秒,由操作者的按鍵動作所確定。在軟件上,解決抖動的方法通常是延遲等待抖動的消失或多次識別判定。4×4行列式鍵盤驅(qū)動設(shè)計分析
行列式鍵盤掃描驅(qū)動的步驟:
1)判斷有無鍵閉合。
使行線P3.0~P3.3都輸出0,檢測列線P3.4、P3.5、P4.2、P4.4是否全為1。如果有鍵被按下,就會有某一根列線變?yōu)椋?,從而使P?4、P3.5、P4.2、P4.4不為全1;如果P3.4、P3.5、P4.2、P4.4為全1,說明無鍵閉合。
2)消除鍵抖動。
在檢測到有鍵閉合后,需延時10~20ms,避開抖動階段,然后再檢測P3.4、P3.5、P4.2、P4.4是否為全1。如果為全1,作無鍵閉合處理,否則,則進一步檢測閉合鍵鍵號。
3)確定閉合鍵鍵號。
如果有鍵按下,再逐行逐列地掃描,以檢測出所按鍵的鍵號。先使行線P3.0~P3.3=0111,分別檢測P3.4、P3.5、P4.2、P4.4。如果P3.4為0,則為1號鍵按下了;如果P3.5為0,則為2號鍵按下了。如果P3.4、P3.5、P4.2、P4.4都為1,說明P3.4、P3.5、P4.2、P4.4這一行上沒有鍵被按下,再使P3.0~P3.3=1011,并逐列檢查。這樣依次地逐行逐列地掃描,直至找到閉合鍵為止。
鍵盤通用函數(shù)編程2.4.2數(shù)碼管驅(qū)動4位數(shù)碼管驅(qū)動設(shè)計分析
關(guān)于數(shù)碼管的硬件接線,使用宏定義描述硬件接線,且每個接線單獨宏定義,更具普適性,這樣,若數(shù)碼管SEG接在MCU的不同引腳,只需修改SEG的硬件接線宏定義即可。關(guān)于位選問題,設(shè)置靜態(tài)變量bsel(初值為0x01)作為數(shù)碼管片選端的位選信號,每隔10ms左右,循環(huán)左移1次,由于人眼的“視覺暫留”,可穩(wěn)定地在2個4位數(shù)碼管上穩(wěn)定顯示8個字節(jié)的數(shù)據(jù)。
2.5項目實施
通過行列式鍵盤掃描,在兩個4位數(shù)碼管上動態(tài)顯示相應(yīng)的鍵值和計算結(jié)果值。定義三個字符a、b、c作為操作數(shù)、被操作數(shù)以及結(jié)果,利用顯示緩存來存放鍵盤輸入的數(shù)值,主循環(huán)中不斷調(diào)用顯示函數(shù)及鍵盤掃描函數(shù),確保穩(wěn)定顯示以及按鍵能得到及時響應(yīng)。如果有鍵被按下,就將顯示緩存現(xiàn)有的內(nèi)容右移一位,將按鍵的鍵值填入顯示緩存的最高位,同時在LED顯示器上顯示出來,當(dāng)按下“+、-、"、/”任意符號鍵時,先將顯示緩存中已輸入的數(shù)值保存到字符a中作為被操作數(shù),然后把后續(xù)的按鍵值再逐次放到顯示緩存中,當(dāng)按下“=”鍵時,再將顯示緩存中已輸入的數(shù)值保存到字符b中作為操作數(shù),同時運算得出結(jié)果,并保存在字符c中,將c的數(shù)值顯示在數(shù)碼管上;當(dāng)下“C”鍵時,表示清零。
2.6項目小結(jié)程序中,可利用顯示緩存來存放輸入的鍵值,主循環(huán)中應(yīng)不斷調(diào)用顯示函數(shù)keycount()函數(shù)和segdisp(dbuf)函數(shù),實現(xiàn)計算器功能,按鍵掃描函數(shù)和數(shù)碼管顯示函數(shù)均通過構(gòu)建通用函數(shù)實現(xiàn)構(gòu)建化編程。本實驗通過IAP15F2K61S2與74HC138連接,對7
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東深圳北理莫斯科大學(xué)材料科學(xué)系微流控校企聯(lián)合實驗室招聘備考筆試試題及答案解析
- 2026年甘肅省酒泉市教育系統(tǒng)高層次人才引進補充備考筆試試題及答案解析
- 2025河南鄭州大學(xué)第二附屬醫(yī)院招聘員額制工作人員(碩士)23人備考考試題庫及答案解析
- 深度解析(2026)《GBT 25838-2010核電廠安全級電阻溫度探測器的質(zhì)量鑒定》(2026年)深度解析
- 深度解析(2026)《GBT 25827-2010高溫合金板(帶)材通 用技術(shù)條件》(2026年)深度解析
- 2025年黑龍江(齊齊哈爾)富裕(縣)經(jīng)濟開發(fā)區(qū)管理委員會公開招聘公益性崗位人員4人參考考試試題及答案解析
- 2025云南昆明市官渡區(qū)北京八十學(xué)校招聘5人參考筆試題庫附答案解析
- 2026北京機械科學(xué)研究總院博士研究生招生47人備考考試題庫及答案解析
- 深度解析(2026)《GBT 25645-2010信息技術(shù) 中文Linux服務(wù)器操作系統(tǒng)技術(shù)要求》(2026年)深度解析
- 關(guān)于民商法連帶責(zé)任中存在的問題及措施研究-基于金融消費者保護案件的實證分析
- 江蘇省南京市秦淮區(qū)2024-2025學(xué)年九年級上學(xué)期期末物理試題
- 外賣平臺2025年商家協(xié)議
- 2025年高職(鐵道車輛技術(shù))鐵道車輛制動試題及答案
- (新教材)2026年人教版八年級下冊數(shù)學(xué) 24.4 數(shù)據(jù)的分組 課件
- 2025陜西榆林市榆陽區(qū)部分區(qū)屬國有企業(yè)招聘20人考試筆試模擬試題及答案解析
- 老年慢性病管理及康復(fù)護理
- 2025廣西自然資源職業(yè)技術(shù)學(xué)院下半年招聘工作人員150人(公共基礎(chǔ)知識)測試題帶答案解析
- 2026年海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招(計算機)考試參考題庫及答案1套
- 代辦執(zhí)照合同范本
- 2025天津大學(xué)管理崗位集中招聘15人備考考點試題及答案解析
- 口腔腫瘤腓骨皮瓣移植
評論
0/150
提交評論