




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目五簡易電子琴的設計行列掃描法按鍵檢測任務一線反轉法按鍵檢測任務二單片機發“哆瑞咪”任務三簡易電子琴的設計任務四任務二線反轉法按鍵檢測任務描述本任務要求是認識4*4矩陣鍵盤,通過線反轉掃描編程,檢測到按鍵并通過顯示器顯示出來。知識鏈接線反轉法識別按鍵線反轉法識別按鍵
首先我們給P1口賦值0x0f,即00001111,假設0鍵按下了,則這時P1口的實際值為00001110;
接著我們給P1口再賦值0xf0,即11110000,如果0鍵按下了,則這時P1口的實際值為11100000;
最后我們把兩次P1口的實際值相加得11101110,即0xee。
由此,我們便得到了按下0鍵時所對應的數值0xee,以此類推可得出其他15個按鍵對應的數值,有了這種對應關系,矩陣鍵盤編程問題也就解決了,也就是程序的算法已經有了。反轉法矩陣鍵盤的各個按鍵的計算值ucharcodetable[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};需要時可直接使用“行列掃描法”與“線反轉法”
識別按鍵上有何異同?行列掃描法的步驟:1.判斷有無按鍵按下2.列掃描確定所在列3.行掃描確定所在行4.行列確定則按鍵位置確定線反轉法的步驟:1.將列線作為輸出線,行線作為輸入線。置輸出線全部為0,此時行線中呈低電平0的為按鍵所在行,如果全部都不是0,則沒有按鍵按下。2.將第一步反過來,即將行線作為輸出線,列線作為輸入線。置輸出線全部為0,此時列線呈低電平的為按鍵所在的列。這樣,就可以確定了按鍵的位置(X,Y)。3.行列確定則按鍵位置確定任務實施1.硬件電路2.程序設計1.硬件電路2.程序設計#include<reg52.h>//包含單片機寄存器的頭文件#defineucharunsignedchar //宏定義,定義uchar為無符號字符型#defineuintunsignedint //宏定義,定義uint為無符號整型ucharkey,n; //定義變量ucharcodetable[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};
ucharcodeyin[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /**************延時程序*************/voiddelay(uinti){while(i--);}/**************線反轉法按鍵掃描程序*************/voidkeyscan(){ucharlow,height,i; //定義局部變量,用low得出低4位的值,用height得出高4位的值
P3=0x0f; //給P3賦值00001111low=P3&0x0f;if(low!=0x0f){delay(100);if(low!=0x0f) low=P3&0x0f; //若有鍵按下,得出低四位的值
}P3=0xf0; //給P3賦值11110000,實際上對0x0f的取反
height=P3&0xf0;if(height!=0xf0){delay(100);if(height!=0xf0) height=P3&0xf0; //若有鍵按下,得出高4位的值
}key=low+height; //高4位的值與低4位的值相加
for(i=0;i<16;i++) {if(key==table[i]) //通過查表得出n的值
n=i; }}/**************主程序*************/voidmain(){while(1){ keyscan(); //按鍵掃描
P0=yin[n]; //在數碼管上顯示相應的鍵值
}}}}elseP3=0xff; //沒有任何鍵按下,P3口全部置為高電平
return(16);}main(){P0=0x40; //數碼管顯示"-"P3=0xff; while(1){keyscan(); //調用鍵盤掃描子程序
}}知識總結線反轉法比較簡潔,它通過先將4行全部置0(0xf0),然后讀列的狀態,接著將列全部置0(0x0f),讀行的狀態,通過(行|列)就能確定整個行列的狀態了。綜合評價課后作業如圖所示,4×4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北美術學院《基礎醫學總論一:解剖學、組織胚胎學、生理學》2023-2024學年第二學期期末試卷
- 衡陽師范學院《法律思想史》2023-2024學年第二學期期末試卷
- 新疆理工學院《美國文學史》2023-2024學年第二學期期末試卷
- 喀什理工職業技術學院《害蟲生物防治》2023-2024學年第二學期期末試卷
- 山東工商學院《醫學微生物學B》2023-2024學年第二學期期末試卷
- 天津美術學院《科研論文寫作1》2023-2024學年第二學期期末試卷
- 常州機電職業技術學院《生物制藥技術》2023-2024學年第二學期期末試卷
- 初中道德與法治課生活化教學的探索與實踐研究
- 清華大學《商務英語視聽說III》2023-2024學年第二學期期末試卷
- 新疆理工學院《普通發展學》2023-2024學年第二學期期末試卷
- 肝門部膽管癌診斷和治療指南(2025版)解讀課件
- 水上簡易浮筒浮橋施工方案
- 2025年河南交投交通建設集團限公司招聘(152人)高頻重點提升(共500題)附帶答案詳解
- 2025年江蘇銀寶控股集團限公司(鹽城)公開招聘18名工作人員高頻重點提升(共500題)附帶答案詳解
- 電商平臺品牌授權使用協議
- DB51T 3163-2023 四川省集中式飲用水水源保護區勘界定標技術指南
- 項目轉讓談判備忘錄
- 電機故障機理分析
- (完整版)《增廣賢文》全文
- 2024年湖北省武漢市中考歷史試卷(含答案與解析)
- 礦山測量工考試試卷及答案
評論
0/150
提交評論