




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、線線 反反 轉轉 法法44矩陣鍵盤的鍵值計算及編程矩陣鍵盤的鍵值計算及編程51單片機C語言編程及Proteus仿真景德鎮學院機電系景德鎮學院機電系.j本講主要內容本講主要內容鍵值計算基本原理1讀取I/O口值的練習2鍵盤的鍵值計算3鍵盤掃描編程_線反轉法4一個數碼管顯示矩陣鍵盤值的實驗5景德鎮學院機電系景德鎮學院機電系.j1 鍵值計算基本原理鍵值計算基本原理_“好人被帶壞好人被帶壞”v 默認狀態:單片機通電復位后默認狀態:單片機通電復位后P1 P2 P3口每個腳口每個腳都輸出高電平,都輸出高電平,P0口要接上拉電阻才能輸出高電平。口要接上拉電阻才能輸出高電平。 a 各腳狀態標記都是紅色方塊。各腳
2、狀態標記都是紅色方塊。 b 用電壓測量都是用電壓測量都是5V。景德鎮學院機電系景德鎮學院機電系.j1 鍵值計算基本原理鍵值計算基本原理_“好人被帶壞好人被帶壞”v 要使一個引腳變為低電平有如下方法:要使一個引腳變為低電平有如下方法: a 接地。接地。 b 用邏輯狀態信號人為改變。用邏輯狀態信號人為改變。 c 編寫程序使其輸出低電平。編寫程序使其輸出低電平。 景德鎮學院機電系景德鎮學院機電系.j1 鍵值計算基本原理鍵值計算基本原理_“好人被帶壞好人被帶壞”v 一個低電平引腳與高電平引腳相接,結果如何?一個低電平引腳與高電平引腳相接,結果如何? 實驗結果:實驗結果:“好人被帶壞好人被帶壞”,即高電
3、平引腳電壓被變,即高電平引腳電壓被變低。低。景德鎮學院機電系景德鎮學院機電系.j2 讀取讀取I/O口值的練習口值的練習v 一般都是自高到低讀出一個端口各腳電平一般都是自高到低讀出一個端口各腳電平 ,得到,得到8位二進制位二進制數,再將數,再將8位二進制轉換成位二進制轉換成2位十六進數。位十六進數。 P1口值口值=P1.7 P1.6 P1.5 P1.4P1.3 P1.2 P1.1 P1.0 =1101 1111=0 x df P3口值口值= P3.7 P3.6 P3.5 P3.4P3.3 P3.2 P3.1 P3.0 =1111 1010=0 xfa P1口高四位是指:口高四位是指:P1.7 P
4、1.6 P1.5 P1.4 P1口低四位是指:口低四位是指:P1.3 P1.2 P1.1 P1.0 景德鎮學院機電系景德鎮學院機電系.j2 讀取讀取I/O口值的練習口值的練習v 用程序控制單片機用程序控制單片機P2口工作,讓高四位全高電平,低四位口工作,讓高四位全高電平,低四位全低電平。全低電平。 即:即:P2=0 xf0; 具體實現見操作,結果如圖。具體實現見操作,結果如圖。 景德鎮學院機電系景德鎮學院機電系.j2 讀取讀取I/O口值的練習口值的練習v 當當 P2=0 xf0; 外接一個兩腳開關到外接一個兩腳開關到P2口只能讓口只能讓P2產生如產生如下四個新的值:下四個新的值: 0 xe0,
5、 0 xd0,0 xb0,0 x70 0 xe0 0 x70 景德鎮學院機電系景德鎮學院機電系.j2 讀取讀取I/O口值的練習口值的練習v 當當 程序使程序使P2=0 x0f; 外接一個兩腳開關到外接一個兩腳開關到P2口只能讓口只能讓P2產生如下四個新的值:產生如下四個新的值: 0 x0e, 0 x0d,0 x0b,0 x07 0 x0d 0 x0b 景德鎮學院機電系景德鎮學院機電系.j2 讀取讀取I/O口值的練習口值的練習總結總結開關接通后,如果兩引腳上電平不同時,會將高電平引腳電壓變低。開關接通后,如果兩引腳上電平不同時,會將高電平引腳電壓變低。 景德鎮學院機電系景德鎮學院機電系.j3 鍵
6、盤的鍵值鍵盤的鍵值P2口接有口接有44 鍵盤,低四位做行線,高四位做列線。鍵盤,低四位做行線,高四位做列線。 景德鎮學院機電系景德鎮學院機電系.j3 鍵盤的鍵值鍵盤的鍵值找行線值時,程序使找行線值時,程序使P2=0 x0f; P2.0行線上開關按下會使行線上開關按下會使P2口值變為口值變為 0 x0e, 其余同理。其余同理。 景德鎮學院機電系景德鎮學院機電系.j3 鍵盤的鍵值鍵盤的鍵值找列線值時,程序使找列線值時,程序使P2=0 xf0; P2.7列線上開關按下會使列線上開關按下會使P2口值變為口值變為 0 x70, 其余同理。其余同理。 景德鎮學院機電系景德鎮學院機電系.j3 鍵盤的鍵值鍵盤
7、的鍵值鍵盤的鍵值鍵盤的鍵值 位置位置 鍵值鍵值(1行,行,1列)列) e0+0e=ee (1行,行,2列)列) d0+0e=de (1行,行,3列)列) b0+0e=be (1行,行,4列)列) 70+0e=7e (2行,行,1列)列) e0+0d=ed (2行,行,2列)列) d0+0d=dd (2行,行,3列)列) b0+0d=bd (2行,行,4列)列) 70+0d=7d (3行,行,1列)列) e0+0b=eb (3行,行,2列)列) d0+0b=db (3行,行,3列)列) b0+0b=bb (3行,行,4列)列) 70+0b=7b (4行,行,1列)列) e0+07=e7 (4行,
8、行,2列)列) d0+07=d7 (4行,行,3列)列) b0+07=b7 (4行,行,4列)列) 70+07=77 注:行列線的排列不同,鍵值分布也不同注:行列線的排列不同,鍵值分布也不同景德鎮學院機電系景德鎮學院機電系.j3 鍵盤的鍵值鍵盤的鍵值鍵盤的鍵值鍵盤的鍵值 位置位置 鍵值鍵值(1行,行,1列)列) e7(1行,行,2列)列) eb(1行,行,3列)列) ed(1行,行,4列)列) ee(2行,行,1列)列) d7(2行,行,2列)列) db(2行,行,3列)列) dd(2行,行,4列)列) de(3行,行,1列)列) b7 (3行,行,2列)列) bb(3行,行,3列)列) bd
9、 (3行,行,4列)列) be(4行,行,1列)列) 77(4行,行,2列)列) 7b(4行,行,3列)列) 7d(4行,行,4列)列) 7e 找出行線值找出行線值置行線所處端口位置高電平找出列線值找出列線值置列線所處端口位置高電平行線值行線值+列線值列線值=鍵值鍵值計算鍵值一般方法景德鎮學院機電系景德鎮學院機電系.j3 鍵盤的鍵值鍵盤的鍵值 總結總結44矩陣鍵盤的鍵值矩陣鍵盤的鍵值 共有共有16個,計算鍵值時總是:個,計算鍵值時總是: 先找出行線值,再找出列線值,最后繪出矩陣鍵盤的鍵先找出行線值,再找出列線值,最后繪出矩陣鍵盤的鍵值。值。 景德鎮學院機電系景德鎮學院機電系.j4 鍵盤掃描編程
10、鍵盤掃描編程_線反轉法線反轉法/*鍵盤掃子描函數鍵盤掃子描函數*/ char keyscan(void) /鍵盤掃描函數,鍵盤使用鍵盤掃描函數,鍵盤使用P2口口 char value_h,value_l; /value_h行值變量行值變量,value_l列值變量列值變量 P2=0 xf0; /將行線所處位置置高電平將行線所處位置置高電平 if(P2&0 xf0)!=0 xf0) /判斷是否有鍵按下判斷是否有鍵按下 delay(10); /延時防抖延時防抖 if(P2&0 xf0)!=0 xf0) /仍有鍵按下仍有鍵按下 value_h=P2&0 xf0; /讀出讀出P2
11、口值給變量口值給變量value_h P2=0 x0f; /將列線所處位置置高電平將列線所處位置置高電平 value_l=P2&0 x0f; /讀出讀出P2口值給變量口值給變量value_l return(value_l+value_h); /找到的鍵值返回給調用函數找到的鍵值返回給調用函數 景德鎮學院機電系景德鎮學院機電系.j4 鍵盤掃描編程鍵盤掃描編程_線反轉法流程分析線反轉法流程分析/*鍵盤掃子描函數鍵盤掃子描函數*/ char keyscan(void) /鍵盤掃描函數,鍵盤使用鍵盤掃描函數,鍵盤使用P2口口 char value_h,value_l; /value_h行值變量行
12、值變量,value_l列值變量列值變量 P2=0 xf0; /將行線所處位置置高電平將行線所處位置置高電平 if(P2&0 xf0)!=0 xf0) /判斷是否有鍵按下判斷是否有鍵按下 delay(10); /延時防抖延時防抖 if(P2&0 xf0)!=0 xf0) /仍有鍵按下仍有鍵按下 value_h=P2&0 xf0; /讀出讀出P2口值給變量口值給變量value_h P2=0 x0f; /將列線所處位置置高電平將列線所處位置置高電平 value_l=P2&0 x0f; /讀出讀出P2口值給變量口值給變量value_l return(value_l+value_h); /找到的鍵值返回給調用函數找到的鍵值返回給調用函數 景德鎮學院機電系景德鎮學院機電系.j5 一個數碼管顯示矩陣鍵盤值的實驗一個數碼管顯示矩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廊坊市重點中學2024-2025學年下學期初三化學試題第二次月考考試試卷含解析
- 煙臺科技學院《西方風景園林理論與實踐》2023-2024學年第二學期期末試卷
- 沈陽航空航天大學北方科技學院《理論物理概論Ⅲ》2023-2024學年第一學期期末試卷
- 四川工商職業技術學院《工程制圖A》2023-2024學年第二學期期末試卷
- 山東城市服務職業學院《高等語言程序設計C》2023-2024學年第二學期期末試卷
- 益陽市資陽區2025年數學三下期末監測模擬試題含解析
- 山東交通職業學院《漫畫角色設計》2023-2024學年第一學期期末試卷
- 民辦四川天一學院《世界流行文化研究》2023-2024學年第二學期期末試卷
- 江蘇省南京師范江寧分校2025屆初三得分訓練(二)英語試題試卷含答案
- 南京農業大學《外國文學作品導讀》2023-2024學年第二學期期末試卷
- 星球版七年級地理上冊《海陸變遷》《火山噴發》實驗說課 課件
- 2023年通管局安全員考試-培訓及考試題庫(導出版)
- GB/T 4857.22-1998包裝運輸包裝件單元貨物穩定性試驗方法
- GB/T 25074-2010太陽能級多晶硅
- GB/T 23842-2009無機化工產品中硅含量測定通用方法還原硅鉬酸鹽分光光度法
- GA/T 1217-2015光纖振動入侵探測器技術要求
- 特種陶瓷介紹課件
- 有機物污染(環境化學)課件
- 安全生產培訓合格證書樣本
- 繪制軸承座三視圖課件
- 五年級上冊數學試題- 五年級趣味數學社團1(第五周活動安排:圖形面積(二))人教新課標 (無答案)
評論
0/150
提交評論