單片機(jī)應(yīng)用技術(shù)基礎(chǔ)(C語(yǔ)言)-顯示和鍵盤接口技術(shù)_第1頁(yè)
單片機(jī)應(yīng)用技術(shù)基礎(chǔ)(C語(yǔ)言)-顯示和鍵盤接口技術(shù)_第2頁(yè)
單片機(jī)應(yīng)用技術(shù)基礎(chǔ)(C語(yǔ)言)-顯示和鍵盤接口技術(shù)_第3頁(yè)
單片機(jī)應(yīng)用技術(shù)基礎(chǔ)(C語(yǔ)言)-顯示和鍵盤接口技術(shù)_第4頁(yè)
單片機(jī)應(yīng)用技術(shù)基礎(chǔ)(C語(yǔ)言)-顯示和鍵盤接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

顯示和鍵盤接口技術(shù)任務(wù)7LED數(shù)碼管顯示的簡(jiǎn)易秒表倒計(jì)時(shí)設(shè)計(jì)5.1數(shù)組任務(wù)8編制數(shù)碼管動(dòng)態(tài)顯示程序5.2單片機(jī)與LED數(shù)碼管接口任務(wù)9字符型LCD液晶顯示歡迎界面5.3單片機(jī)與LCD液晶顯示器接口任務(wù)10用矩陣鍵盤控制8路跑馬燈5.4單片機(jī)與鍵盤接口階段小結(jié)

任務(wù)7LED數(shù)碼管顯示的簡(jiǎn)易秒表倒計(jì)時(shí)設(shè)計(jì)

1.任務(wù)目的通過(guò)對(duì)由LED數(shù)碼管顯示一位數(shù)0~9簡(jiǎn)易倒計(jì)時(shí)秒表的制作,熟悉單片機(jī)與LED數(shù)碼管的接口技術(shù),進(jìn)一步了解數(shù)組的定義、賦值、初始化等操作方法。

2.任務(wù)要求用單片機(jī)實(shí)現(xiàn)一位數(shù)簡(jiǎn)易秒表倒計(jì)時(shí)控制,計(jì)時(shí)范圍為0~9s,并將計(jì)時(shí)時(shí)間在一位數(shù)碼管上顯示出來(lái)。

3.電路設(shè)計(jì)

用單片機(jī)控制LED數(shù)碼管顯示的簡(jiǎn)易秒表硬件電路如圖5.1所示,單片機(jī)的P0口8個(gè)引腳接到數(shù)碼管的8個(gè)段控制端。圖5.1中采用的是共陽(yáng)極數(shù)碼管,所以COM端(公共端)接P2.7作為選通端。如果是共陰極數(shù)碼管,則須將COM端接地。

4.程序設(shè)計(jì)

5.程序運(yùn)行測(cè)試

編譯、鏈接過(guò)程參見任務(wù)2,將二進(jìn)制文檔ex5_1.hex下載到單片機(jī)的程序存儲(chǔ)器中,接通電路板電源,即可觀察到一位簡(jiǎn)易秒表按照9~0的順序顯示。

圖5.1數(shù)碼管倒計(jì)時(shí)電路

6.任務(wù)小結(jié)

本任務(wù)采用單片機(jī)P0口控制共陽(yáng)極數(shù)碼管顯示,實(shí)現(xiàn)顯示0~9的簡(jiǎn)易秒表倒計(jì)時(shí)。在程序ex5_1.c中,定義zk數(shù)組存放數(shù)字0~9(不帶點(diǎn))的顯示字型碼,將顯示字型碼通過(guò)P0口送到LED段控制端,顯示相應(yīng)的數(shù)字。將數(shù)組元素的下標(biāo)作為循環(huán)控制變量是最常用的數(shù)組應(yīng)用方法。

5.1數(shù)組

5.1.1一維數(shù)組

1.一維數(shù)組的定義

定義格式如下:

類型說(shuō)明符數(shù)組名[常量表達(dá)式];

類型說(shuō)明符是數(shù)組中各個(gè)元素的數(shù)據(jù)類型;數(shù)組名是用戶定義的數(shù)組標(biāo)識(shí)符;常量表達(dá)式表示數(shù)組元素的個(gè)數(shù)。

定義數(shù)組時(shí),應(yīng)注意以下幾點(diǎn):

(1)對(duì)于同一數(shù)組,所有元素的數(shù)據(jù)類型都必須是相同的。

(2)數(shù)組名的書寫規(guī)則應(yīng)符合標(biāo)識(shí)符的書寫規(guī)定。

(3)數(shù)組名不能與其他變量名相同。

(4)方括號(hào)中的常量表達(dá)式不可以是變量,但可以是符號(hào)常數(shù)和常量表達(dá)式。

2.數(shù)組元素

數(shù)組元素也是一種變量,其標(biāo)識(shí)方法為數(shù)組名后跟一個(gè)下標(biāo),它只能為整型數(shù)或整型表達(dá)式。定義形式:

數(shù)組名[下標(biāo)]

3.數(shù)組賦值

給數(shù)組賦值的方法有賦值語(yǔ)句和初始化賦值兩種。

(1)在程序執(zhí)行過(guò)程中,可用賦值語(yǔ)句對(duì)數(shù)組元素逐個(gè)賦值,如:

(2)數(shù)組初始化賦值是指在數(shù)組定義時(shí)給數(shù)組元素賦予初值,如:

intnum[10]={0,1,2,3,4,5,6,7,8,9};

5.1.2字符數(shù)組

前面介紹的數(shù)組是數(shù)值型的數(shù)組,數(shù)組中的每一個(gè)元素都是用來(lái)存放數(shù)值型的數(shù)據(jù)。數(shù)組不僅可以是數(shù)值型的,也可以是字符型的或其他類型的(如指針型、結(jié)構(gòu)體型)。

字符數(shù)組的定義格式與一維數(shù)組定義類似,用來(lái)存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組。字符數(shù)組中的一個(gè)元素就是一個(gè)字符。

可以在定義字符數(shù)組時(shí)對(duì)各元素賦初值,即初始化。例如:

如果在定義字符數(shù)組時(shí)不進(jìn)行初始化,則數(shù)組中各元素的值是不可預(yù)知的。如果大括號(hào)中提供的初值個(gè)數(shù)大于數(shù)組長(zhǎng)度,則按語(yǔ)法錯(cuò)誤處理。如果初值個(gè)數(shù)小于數(shù)組長(zhǎng)度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動(dòng)定義為空字符(即‘\0’)。

任務(wù)8編制數(shù)碼管動(dòng)態(tài)顯示程序

1.任務(wù)目的根據(jù)電路編寫在4個(gè)數(shù)碼管上穩(wěn)定顯示“1234”的程序,了解數(shù)碼管的動(dòng)態(tài)顯示的驅(qū)動(dòng)。

2.任務(wù)要求采用動(dòng)態(tài)顯示方式,用單片機(jī)實(shí)現(xiàn)4位數(shù)碼管穩(wěn)定顯示“1234”。

3.電路設(shè)計(jì)

用動(dòng)態(tài)顯示方式點(diǎn)亮4個(gè)共陽(yáng)極數(shù)碼管的電路圖如圖5.2所示。圖中將各個(gè)共陽(yáng)極數(shù)碼管相應(yīng)的段選控制端并聯(lián)在一起,僅用一個(gè)P0口控制。各位數(shù)碼管的公共端,也稱為“位選端”,由P2口高四位控制,用4個(gè)PNP型三極管驅(qū)動(dòng)。

4.程序設(shè)計(jì)

圖5.24個(gè)共陽(yáng)極數(shù)碼管電路

5.任務(wù)小結(jié)

與靜態(tài)顯示方式相比,當(dāng)顯示位數(shù)較多時(shí),動(dòng)態(tài)顯示方式可以節(jié)省I/O端口資源,硬件電路簡(jiǎn)單,但其顯示的亮度低于靜態(tài)顯示方式,由于CPU要不斷地依次運(yùn)行掃描顯示程序,將占用CPU更多的時(shí)間。若顯示位數(shù)較少,采用靜態(tài)顯示方式更加簡(jiǎn)便。

5.2單片機(jī)與LED數(shù)碼管接口

5.2.1LED數(shù)碼管的結(jié)構(gòu)及原理

1.?LED數(shù)碼管的結(jié)構(gòu)

在單片機(jī)系統(tǒng)中,經(jīng)常采用LED數(shù)碼管來(lái)顯示單片機(jī)系統(tǒng)的工作狀態(tài)、運(yùn)算結(jié)果等各種信息,LED數(shù)碼管是單片機(jī)人機(jī)對(duì)話的一種重要輸出設(shè)備。

單個(gè)LED數(shù)碼管的外形如圖5.3所示,外部引腳如圖5.4所示。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,通過(guò)不同的發(fā)光字段組合可用來(lái)顯示數(shù)字0~9、字符A~F、H、L、P、R、U、Y、符號(hào)“—”及小數(shù)點(diǎn)“.”等。

圖5.3數(shù)碼管外形圖圖5.4數(shù)碼管引腳圖

按照內(nèi)部8個(gè)發(fā)光二極管連接方式的不同,LED數(shù)碼管可分為共陽(yáng)極型LED數(shù)碼管和共陰極型LED數(shù)碼管兩種,其內(nèi)部結(jié)構(gòu)如圖5.5所示。圖5.5LED數(shù)碼管內(nèi)部結(jié)構(gòu)圖

2.?LED數(shù)碼管的工作原理

這里以共陽(yáng)極型為例說(shuō)明LED數(shù)碼管的工作原理。

從任務(wù)7中我們知道,若將數(shù)值0送至單片機(jī)的P0口,數(shù)碼管上不會(huì)顯示數(shù)字“0”。顯然,要使數(shù)碼管顯示出數(shù)字或字符,直接將相應(yīng)的數(shù)字或字符送至數(shù)碼管的段控制端是不行的,必須使段控制端輸出相應(yīng)的字型編碼。

如圖5.5(a)所示,共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極連接在一起,作為公共控制端(com),陰極作為“段”控制端。

(1)當(dāng)公共端接低電平時(shí),每個(gè)發(fā)光二極管都是截止的狀態(tài),無(wú)法發(fā)光。

(2)當(dāng)公共端接高電平時(shí),當(dāng)某段控制端為低電平時(shí),該段對(duì)應(yīng)的發(fā)光二極管導(dǎo)通并點(diǎn)亮。通過(guò)點(diǎn)亮不同的段,顯示出不同的字符。如顯示數(shù)字1時(shí),b、c兩端接低電平,其他各端接高電平。表5.1分別列出共陽(yáng)極、共陰極數(shù)碼管的顯示字型編碼。

5.2.2LED數(shù)碼管靜態(tài)顯示

1.靜態(tài)顯示的概念

靜態(tài)顯示是指當(dāng)數(shù)碼管顯示某一字符時(shí),相應(yīng)的某段發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管的公共端恒定接地(共陰極)或?+5V電源(共陽(yáng)極)。每個(gè)數(shù)碼管的8個(gè)段位控制引腳分別與一個(gè)8位I/O端口相連。只要I/O端口有顯示字型碼輸出,數(shù)碼管就顯示給定字符,并保持不變,直到I/O端口輸出新的段碼。任務(wù)7采用的就是一位數(shù)碼管的靜態(tài)顯示方式。

2.靜態(tài)顯示的接口

采用靜態(tài)顯示方式,較小的電流就可獲得較高的亮度,且占用CPU時(shí)間少,編程簡(jiǎn)單,顯示便于監(jiān)測(cè)和控制,但占用單片機(jī)的I/O端口線多,n位數(shù)碼管的靜態(tài)顯示需占用8?×?n個(gè)I/O端口,所以限制了單片機(jī)連接數(shù)碼管的個(gè)數(shù)。同時(shí),硬件電路復(fù)雜,成本高,只適合顯示位數(shù)較少的場(chǎng)合。

5.2.3LED數(shù)碼管動(dòng)態(tài)顯示

1.動(dòng)態(tài)顯示的概念

動(dòng)態(tài)顯示是一種按位輪流點(diǎn)亮各位數(shù)碼管的顯示方式,即在某一時(shí)段,只讓其中一位數(shù)碼管的“位選端”有效,并送出相應(yīng)的字型顯示編碼。此時(shí),其他位的數(shù)碼管因“位選端”無(wú)效而都處于熄滅狀態(tài)。下一時(shí)段按順序選通另外一位數(shù)碼管,并送出相應(yīng)的字型顯示編碼,按此規(guī)律循環(huán)下去,即可使各位數(shù)碼管分別間斷的顯示出相應(yīng)的字符。雖然在同一時(shí)刻只有一位數(shù)碼管在點(diǎn)亮,但利用人眼的視覺(jué)暫留效應(yīng)和發(fā)光二極管熄滅時(shí)的余輝效應(yīng),看到的卻是多位數(shù)碼“同時(shí)”顯示。這一過(guò)程稱為動(dòng)態(tài)掃描顯示。

2.動(dòng)態(tài)顯示的接口

動(dòng)態(tài)顯示方式下,數(shù)碼管的所有段選口共用一個(gè)8位I/O口,而每個(gè)數(shù)碼管顯示位要占用一根I/O線,因此,n位動(dòng)態(tài)顯示的數(shù)碼管只占用一個(gè)8位I/O端口和n根I/O線。顯示n位數(shù)碼時(shí),連接段選的8位I/O端口依次送出n位數(shù)碼的段碼數(shù)據(jù)。同時(shí),依次控制相應(yīng)位公共端,當(dāng)公共端電平為“0”(共陰極)或“1”(共陽(yáng)極)時(shí),該位數(shù)碼管點(diǎn)亮。

任務(wù)9字符型LCD液晶顯示歡迎界面

1.任務(wù)目的通過(guò)對(duì)字符型LCD液晶歡迎界面的顯示,讓讀者了解LCD顯示器與單片機(jī)的接口方法,理解LCD顯示程序的設(shè)計(jì)思路。2.任務(wù)要求實(shí)現(xiàn)在1602液晶的第一行顯示“WELCOME!”,第二行顯示“WWW.WTC.EDU.CN”。

3.電路設(shè)計(jì)

LCD液晶顯示電路如圖5.6所示,現(xiàn)對(duì)接口做簡(jiǎn)要說(shuō)明:

4.程序設(shè)計(jì)

5.任務(wù)小結(jié)

本任務(wù)通過(guò)對(duì)字符型LCD的顯示控制,讓讀者熟悉字符型LCD液晶顯示原理,訓(xùn)練單片機(jī)并行I/O端口和字符串的應(yīng)用能力。

圖5.6LCD液晶顯示電路

5.3單片機(jī)與LCD液晶顯示器接口

5.3.1LCD芯片介紹

液晶是一種高分子材料,因?yàn)槠涮厥獾奈锢?、化學(xué)、光學(xué)特性,20世紀(jì)中葉開始廣泛應(yīng)用在輕薄型顯示器上。

液晶顯示器(LiquidCrystalDisplay,LCD)的主要原理是以電流刺激液晶分子產(chǎn)生點(diǎn)、線、面并配合背部燈管構(gòu)成畫面。通常,我們把各種液晶顯示器都直接叫做液晶。

所謂1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個(gè)字符。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。

字符型點(diǎn)陣液晶顯示模塊LCD1602如圖5.7所示。通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其引腳排列如圖5.8所示,引腳定義如表5.2所示。

圖5.71602液晶的正面(綠色背光,黑色字體)

圖5.81602液晶顯示模塊引腳

5.3.2LCD1602中的存儲(chǔ)器

LCD1602內(nèi)置了DDRAM、CGROM和CGRAM。

1.?DDRAM

DDRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼,共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如表5.3所示。

也就是說(shuō)想要在LCD1602屏幕的第一行第一列顯示一個(gè)“A”字,就要向DDRAM的00H地址寫入“A”字的代碼。但具體的寫入是要按LCD模塊的指令格式來(lái)進(jìn)行的。一行有40個(gè)地址,在1602中我們就用前16個(gè)就行了。第二行也一樣,用前16個(gè)地址。對(duì)應(yīng)關(guān)系如表5.4所示。

2.?CGROM

1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表5.5所示。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)和日文假名等。每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。

3.CGRAM

字符代碼0x00~0x0F為用戶自定義的字符圖形RAM,就是CGRAM了。

0x20~0x7F為標(biāo)準(zhǔn)的ASCII碼,0xA0~0xFF為日文字符和希臘文字符,其余字符碼(0x10~0x1F及0x80~0x9F)沒(méi)有定義。

5.3.3LCD1602指令說(shuō)明

LCD1602模塊內(nèi)部有11條控制指令,見表5.6。

1.清屏指令

功能:(1)清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的ASCII碼20H。

(2)光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方。

(3)將地址計(jì)數(shù)器(AC)的值設(shè)為0。

2.光標(biāo)歸位指令

功能:(1)把光標(biāo)撤回到顯示器的左上方。

(2)把地址計(jì)數(shù)器(AC)的值設(shè)置為0。

(3)保持DDRAM的內(nèi)容不變。

3.進(jìn)入模式設(shè)置指令

4.顯示開關(guān)控制指令

5.設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令

6.功能設(shè)定指令

7.設(shè)定CGRAM地址指令

8.設(shè)定DDRAM地址指令

功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的DDRAM的地址。

注意:這里我們送地址的時(shí)候應(yīng)該是0x80+Address,這也是前面說(shuō)到寫地址命令的時(shí)候要加上0x80的原因。

9.讀取忙信號(hào)或AC地址指令

功能:(1)讀取忙碌信號(hào)FB的內(nèi)容,F(xiàn)B?=?1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;當(dāng)FB?=?0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令。

(2)讀取地址計(jì)數(shù)器(AC)的內(nèi)容。

10.數(shù)據(jù)寫入DDRAM或CGRAM指令一覽

功能:(1)將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符。

(2)將使用者自己設(shè)計(jì)的圖形存入CGRAM。

11.從CGRAM或DDRAM讀出數(shù)據(jù)的指令一覽

功能:讀取DDRAM或CGRAM中的內(nèi)容。

5.3.4字符型LCD1602的基本操作及時(shí)序

LCD1602的基本操作有四種:寫命令、寫數(shù)據(jù)、讀狀態(tài)和讀數(shù)據(jù)。基本操作時(shí)序見表5.7。

例如,要驅(qū)動(dòng)液晶顯示器實(shí)現(xiàn)清屏、光標(biāo)閃爍等功能,就要對(duì)顯示器執(zhí)行寫命令操作。任務(wù)9中,寫命令指令如下,首先將RS引腳置0,選擇為寫命令模式,然后將命令代碼送入并行口,延時(shí),等待數(shù)據(jù)穩(wěn)定,將使能端E先置1再置0,得到一個(gè)下降沿信號(hào),完成寫命令操作。

任務(wù)10用矩陣鍵盤控制8路跑馬燈

1.任務(wù)目的通過(guò)本任務(wù),掌握矩陣鍵盤按鍵的識(shí)別方法。

2.任務(wù)要求3.電路設(shè)計(jì)采用矩陣鍵盤控制8路跑馬燈的電路如圖5.9所示,16個(gè)矩陣按鍵由P2口的8根I/O線聯(lián)合控制,8路跑馬燈由P1口控制。

圖5.9矩陣鍵盤控制8路跑馬燈電路

4.程序設(shè)計(jì)

5.任務(wù)小結(jié)

本任務(wù)綜合應(yīng)用了單片機(jī)的跑馬燈、鍵盤接口技術(shù),進(jìn)一步訓(xùn)練了單片機(jī)并行I/O口的應(yīng)用能力、鍵盤查詢程序設(shè)計(jì)的能力,同時(shí)讓讀者初步了解了單片機(jī)鍵盤接口技術(shù)和程序設(shè)計(jì)的方法。

5.4單片機(jī)與鍵盤接口

各種單片機(jī)常用開關(guān)如圖5.10所示。如輕觸開關(guān)、撥動(dòng)開關(guān)、按鍵開關(guān)、微動(dòng)開關(guān)、直鍵開關(guān)及滑動(dòng)式開關(guān)等,廣泛應(yīng)用于各種電子玩具、視聽、數(shù)碼相機(jī)、手機(jī)、筆記本電腦、MP3、MP4、DV及家用電器等。在單片機(jī)中,按鍵式開關(guān)的使用最為廣泛。

圖5.10各種單片機(jī)常用開關(guān)

5.4.1按鍵的去抖

1.按鍵抖動(dòng)的原理

機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),如圖5.11所示,然后其觸點(diǎn)再穩(wěn)定下來(lái),抖動(dòng)時(shí)間一般為5~10ms。在觸點(diǎn)抖動(dòng)期間監(jiān)測(cè)按鍵的通與斷的狀態(tài),可能會(huì)導(dǎo)致判斷出錯(cuò)。

圖5.11按鍵觸點(diǎn)的機(jī)械抖動(dòng)

2.按鍵去抖的方法

(1)硬件去抖。

在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。如圖5.12所示的RS觸發(fā)器為常用的硬件去抖。圖5.12硬件去抖電路

(2)軟件去抖。

如果按鍵較多,常用軟件方法去抖,即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5~10?ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5~10?ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。

5.4.2獨(dú)立式按鍵

1.獨(dú)立式按鍵介紹

如圖5.13所示電路為單片機(jī)與獨(dú)立式按鍵的接口電路,直接用單片機(jī)的I/O端口線P3.2~P3.5控制按鍵。每個(gè)按鍵單獨(dú)占用一根I/O端口線,相互獨(dú)立,每個(gè)按鍵工作不會(huì)影響其他I/O端口線的狀態(tài)。

圖5.13獨(dú)立按鍵電路

2.程序設(shè)計(jì)

【例5.1】通過(guò)編寫程序模擬出汽車左右轉(zhuǎn)向的控制,了解獨(dú)立式按鍵的工作原理及控制原理。

獨(dú)立式按鍵程序設(shè)計(jì)可采用中斷方式,也可采用查詢方式。中斷方式在模塊4中已提及,此處僅以查詢方式為例進(jìn)行介紹。

查詢方式的思路是逐位查詢每根I/O端口線的輸入狀態(tài),如果某一根I/O端口線輸入為低電平,則可確認(rèn)該I/O端口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該按鍵的功能處理程序。

如圖5.14所示的模擬汽車轉(zhuǎn)向燈就是由兩個(gè)獨(dú)立式按鍵(S17和S18)控制兩個(gè)發(fā)光二極管(VD1和VD8),程序如下。圖5.14獨(dú)立按鍵控制跑馬燈電路

5.4.3矩陣式鍵盤

1.矩陣式鍵盤的結(jié)構(gòu)

矩陣式鍵盤最大的特點(diǎn)是減少了對(duì)單片機(jī)I/O端口的占用,適用于按鍵數(shù)較多的系統(tǒng)。矩陣式鍵盤種的按鍵實(shí)際上與獨(dú)立式鍵盤種的按鍵原理相同,都是一個(gè)機(jī)械開關(guān),只不過(guò)在矩陣式鍵盤種按鍵位于行線和列線的交匯處。如圖5.15所示為矩陣式鍵盤的結(jié)構(gòu),由4根行線和4根列線組成,按鍵位于行、列線的交叉點(diǎn)上,行線和列線分別連接到按鍵的兩端,且行線通過(guò)上拉電阻接到+5V電源上,構(gòu)成了一個(gè)4?

溫馨提示

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

評(píng)論

0/150

提交評(píng)論