第3章 基礎程序設計-按鍵_第1頁
第3章 基礎程序設計-按鍵_第2頁
第3章 基礎程序設計-按鍵_第3頁
第3章 基礎程序設計-按鍵_第4頁
第3章 基礎程序設計-按鍵_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

按鍵篇第3章基礎程序設計模塊組成1.LED篇

1.1流水燈

1.2綜合應用2.數碼管篇

2.1單個數碼管

2.2多個數碼管3.按鍵篇

3.1單個按鍵

3.2矩陣鍵盤

3.3綜合應用模塊組成4.繼電器5.撥碼開關6.蜂鳴器7.8*8點陣8.外部中斷9.定時器10.串行口3.按鍵篇單片機使用的鍵盤一般分為兩種:獨立式鍵盤與矩陣式鍵盤。獨立式鍵盤實際上就是一組相互獨立的按鍵,這些按鍵可直接與單片機的I/O口連接,即每個按鍵獨占一條口線,接口簡單,在按鍵數目不多的場合使用方便。矩陣式鍵盤也叫行列式鍵盤,因為按鍵的個數較多,所以按鍵組成行列式的矩陣鍵盤的掃描和處理有兩種方式:1)查詢方式查詢方式是當CPU空閑時就執行鍵盤掃描程序,這種方式浪費CPU時間,在CPU處理任務較重的場合容易產生延遲;2)中斷方式中斷方式是每當有按鍵閉合就向CPU發出中斷申請,中斷響應后執行鍵盤掃描程序,這種方式響應速度快,CPU利用率高。鍵盤處理的過程如下:1)鍵盤掃描,用查詢或中斷方式判斷是否有按鍵被按下。2)去抖動,用硬件或軟件方法去除按鍵抖動。3)鍵碼的識別,用來區分不同的按鍵。4)根據鍵碼編制程序來處理該按鍵操作。1)鍵盤掃描,判斷是否有鍵按下本例代碼:sbitkey1=P1^0;If(P1&0x0f!=0x0f){if(key1==0){………}}2)去抖動所謂去抖動是指消除按鍵閉合或斷開時引起的瞬間電壓抖動,這樣才能保證鍵掃描的正確性。常用的去抖動方法為軟件方法方法1:為判別到有鍵按下后,軟件延時一段時間(一般為10ms左右)后,再判斷鍵盤狀態,如果仍為有鍵按下狀態,則認為有一個確定的鍵被按下,否則把按鍵當作抖動處理。方法2:等待鍵彈起在向下執行本例代碼if(key1==0){delay(100);

if(key1==0)

{……….}

}本例代碼if(key1==0){

……….while(key1==0);

}3)鍵碼的識別if(key1==0){………..}elseif(key2==0){…………..}elseif(key3==0){…………..}4)根據鍵碼編制程序練習3.1被按下的按鍵例如:按下一鍵led從左向右依次點亮按下二鍵led從右向左依次點亮按下三鍵led從內向兩側依次點亮按下四鍵led從兩側向內依次點亮提示1:位定義#include<reg52.h>sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;提示2:延時去抖while(1){

if(key1==0){delay(100);

if(key1==0)

zuo();}}提示3:防止按鍵后多次重復while(1){

if(key1==0){delay(100);

if(key1==0)

zuo();

while(key1==0);}}練習3.21.K1~K4控制數碼管移位顯示,按K1計數并增加顯示位,按K2計數并減少顯示位,按K3清零.(1分)2.在數碼管上顯示000-255范圍內任意整數,在不松開鍵的情況下,數字會按照一定時間持續遞增或遞減.(1分)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論