單片機7-第七章外圍接口技術(shù)課件_第1頁
單片機7-第七章外圍接口技術(shù)課件_第2頁
單片機7-第七章外圍接口技術(shù)課件_第3頁
單片機7-第七章外圍接口技術(shù)課件_第4頁
單片機7-第七章外圍接口技術(shù)課件_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章

單片機的典型外圍接口技術(shù)第七章

單片機的典型外圍接口技術(shù)7.1鍵盤接口

單片機組成的控制系統(tǒng)通常需要配置鍵盤,用戶可以通過鍵盤向單片機輸入數(shù)據(jù)或命令,以便實現(xiàn)控制系統(tǒng)的人機對話。鍵盤可以直接利用口線連接按鍵開關(guān)、開關(guān)型傳感器或電子線路來實現(xiàn),內(nèi)部程序僅通過判斷口線的電平就能夠確定輸入的鍵值。采用這種識別方式的鍵盤稱為非編碼鍵盤。非編碼鍵盤設(shè)計簡單,使用方便,但口線利用率較低,受單片機口線數(shù)量的限制,其鍵盤規(guī)模無法做大。鍵盤的另一種形式是編碼鍵盤,這種方式將口線與按鍵開關(guān)連接成矩陣電路,通過軟件掃描、識別I/O口上的編碼,按編碼規(guī)則識別輸入鍵值。編碼鍵盤的最大優(yōu)點就是口線利用率高,鍵盤規(guī)??梢宰龅幂^大。7.1鍵盤接口單片機組一、簡易鍵盤接口獨立連接式與門上拉電阻一、簡易鍵盤接口獨立連接式與門上拉電阻按鍵抖動問題按鍵閉合時的電平變化波形按鍵開關(guān)在接通或斷開瞬間并非完全可靠接觸,而是存在一個抖動期,tH為開關(guān)斷開時口線上高電平存在的時間,tL為開關(guān)閉合時口線上低電平穩(wěn)定存在的時間。tW1、tW2為鍵按下和松開時的抖動期存在時間。抖動期一般不超過10ms。在口線電平抖動期間,單片機無法準確檢測出口線電平的正確值,必須采取一定的措施進行鑒別。按鍵抖動問題按鍵閉合時的電平變化波形按鍵開關(guān)在接通或斷開瞬間延時消抖法例如遇到由高向低的電平轉(zhuǎn)換后先不急于讀取口線鍵值,而是在中斷服務(wù)程序的開始執(zhí)行一段10~20ms的延時程序。若延時程序后再次判斷口線仍為低電平則進入口線的鍵值讀取程序,否則放棄鍵值讀取操作。

延時去抖動及讀取鍵值的中斷服務(wù)程序如下:

ORG

0003H

LJMP

KRD

KRD:MOV

P1,#0FFH;P1口置為輸入口

CALL

DEL20 ;調(diào)20ms延時子程序

MOVA,P1;讀P1口鍵值

JNB ACC.0,KPR0;判斷P1.0~P1.7是否有鍵按下

JNB ACC.1,KPR1

延時消抖法例如遇到由高向低的電平轉(zhuǎn)換后先不急于讀取口線鍵值,

JNB

ACC.2,KPR2

JNB

ACC.3,KPR3

JNB

ACC.4,KPR4

JNB

ACC.5,KPR5

JNB

ACC.6,KPR6

JNB

ACC.7,KPR7

RETI

KPR0:… ;P1.0按鍵處理程序

RETI

KPR1:… ;P1.1口線按鍵處理程序

KPR7:… ;P1.7口線按鍵處理程序

DEL20:… ;20ms延時子程序 JNB ACC.2,KPR2

JN二、矩陣式鍵盤接口

簡易鍵盤電路中每一個按鍵占用一根I/O口線,其口線利用率較低,如果將口線按照行、列排成矩陣形式則可在相同口線數(shù)量的條件下增大鍵盤的規(guī)模。例如,可以將P1口的8根I/O線排列成4?×?4矩陣形式,連接16只按鍵開關(guān)。

二、矩陣式鍵盤接口簡易鍵盤電路中每一個按鍵占用一根4?×?4矩陣式鍵盤電路P1口的8根I/O口線分成行、列線連接,P1.0~P1.3為行線,P1.4~P1.7為列線。16只按鍵分別跨接在對應(yīng)的行、列線節(jié)點上。

行線特定的4位數(shù)據(jù)輸出和列線對應(yīng)的4位數(shù)據(jù)輸入可以組成一個8位的特征字,該特征字即為鍵值。4?×?4矩陣式鍵盤電路P1口的8根I/O口線分成行、列線連1、鍵盤電路的工作原理矩陣式鍵盤將P1口的8根I/O口線分成行、列線連接,圖中P1.0~P1.3為行線,P1.4~P1.7為列線。16只按鍵分別跨接在對應(yīng)的行、列線節(jié)點上。

如果單片機在行線對應(yīng)的I/O口線上有數(shù)據(jù)輸出,當有鍵按下時,行、列線短路,單片機在列線對應(yīng)的I/O口線上的輸入數(shù)據(jù)將由行線上的電平?jīng)Q定。

行線特定的4位數(shù)據(jù)輸出和列線對應(yīng)的4位數(shù)據(jù)輸入可以組成一個8位的特征字,該特征字即為鍵值,代表了按下的鍵所在的位置。1、鍵盤電路的工作原理矩陣式鍵盤將P1口的82、掃描法產(chǎn)生鍵值以行線作為掃描輸出,以列線作為接收輸入。依次將行線置為低電平,并在列線上逐次接收數(shù)據(jù)。如果發(fā)現(xiàn)接收到的某一列線有低電平,則表示該列線與行線連接的按鍵已經(jīng)閉合。在接收到低電平的那次掃描中,行線數(shù)據(jù)與列線數(shù)據(jù)的組合便是所期望的鍵值,由該鍵值可確定閉合鍵在矩陣連接中的連接位置。2、掃描法產(chǎn)生鍵值以行線作為掃描輸出,以列線作為接收輸3、鍵盤掃描方式

1)硬件中斷識別法將矩陣式鍵盤電路的所有列線連接至“與”門電路的輸入端,“與”門電路的輸出端與單片機外部中斷連接。把全部行線置為低電平,全部列線置為高電平,當有鍵按下時列線上出現(xiàn)低電平,產(chǎn)生中斷,在中斷服務(wù)程序中掃描鍵盤。2)軟件查詢識別法將全部行線置為低電平,全部列線置為高電平,定時從列線對應(yīng)的I/O口線輸入數(shù)據(jù),如果判定接收的數(shù)據(jù)中有低電平存在,則說明有按鍵按下,開始執(zhí)行鍵盤掃描程序。采用硬件中斷識別方式可以隨時響應(yīng)鍵盤動作,具有較強的實時性,而采用軟件查詢方式則可以簡化電路。3、鍵盤掃描方式1)硬件中斷識別法4.矩陣鍵盤掃描程序舉例P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.4行線,掃描輸出列線,掃描輸入接與門輸入端,與門輸出接INT04.矩陣鍵盤掃描程序舉例P1.0P1.7行線,掃描輸出列線,鍵盤掃描程序如下:INT0ISR:

中斷服務(wù)程序

MOV

P1,

#0FFHCLR

P1.4

;掃描輸出MOV

A,

P1

;掃描輸入ANL

A,

#0FHXRL

A,

#0FHJZ

NOKEY0LCALL

DELAY10MSMOV

A,

P1ANL

A,

#0FHXRL

A,

#0FHJZ

NOKEY0;判斷P1.4行是否有鍵按下

;以下判斷鍵碼

MOV

A,

P1 ANL

A,

#0FH CJNE

A,

#0EH,

NEXT1 MOV

KEY,

#3 LJMP

OKNEXT1:CJNE

A,

#0DH,

NEXT2 MOV

KEY,

#7 LJMP

OKNEXT2:CJNEA,

#0BH,

NEXT3 MOV

KEY,

#11 LJMP

OKNEXT3:CJNE

A,

#07H,

NOKEY0 MOV

KEY,

#15 LJMP

OK鍵盤掃描程序如下:INT0ISR:中斷服務(wù)程7.2顯示接口

為了實現(xiàn)人機交互,單片機應(yīng)用系統(tǒng)通常配有顯示器接口,主要顯示元件采用LED(發(fā)光二極管顯示器)或LCD(液晶顯示器),顯示形式有筆畫式和點陣式。筆畫式顯示元件大多為LED數(shù)碼管,用于顯示數(shù)字或簡單字母信息,適合于規(guī)模較小的單片機系統(tǒng)。如七段碼LED顯示器對于大信息量或圖形顯示一般使用點陣式LCD顯示器,這種顯示器結(jié)構(gòu)比較復(fù)雜,還需要考慮灰度調(diào)節(jié)、高壓背光的配合,電路連接及程序操作都比較繁瑣。點陣式LCD顯示器多采用內(nèi)置控制器的模組形式,在這種形式下單片機與點陣式LCD的接口實際上變成了單片機與單片機之間的數(shù)據(jù)通信。7.2顯示接口

為了實現(xiàn)人機交互,單片機應(yīng)用LCD顯示屏接口

LCD圖形點陣顯示器通常以LCM(液晶顯示模組)形式出現(xiàn),模組中封裝了顯示器、驅(qū)動電路、控制電路及背光調(diào)節(jié)電路等。本節(jié)以MG12864LCM為例介紹圖形點陣LCD顯示接口的應(yīng)用。1.MG12864LCM模塊基本參數(shù)

(1)?LCD類型:STN形式。

(2)模塊尺寸:93?×?70?×?12mm。

(3)顯示區(qū)域尺寸:70.7?×?38.8mm。

(4)點陣間距:0.52?×?0.52mm。

(5)點陣分布:128?×?64點。

(6)每一點陣尺寸:0.48?×?0.48mm。LCD顯示屏接口LCD圖形點陣顯示器通常以LCM(液晶顯MG12864LCM模塊內(nèi)部主要組成部分MG12864LCM模塊內(nèi)部主要組成部分2.MG12864LCM模組結(jié)構(gòu)說明

MG12864LCM由以下幾部分組成:

(1)核心部件:128×64LCD點陣顯示器。

(2)段驅(qū)動電路:兩路64列掃描顯示驅(qū)動電路。

(3)行驅(qū)動電路:64行掃描顯示驅(qū)動電路。

(4)背光驅(qū)動電路:LED發(fā)光管照明電路。MG12864LCM內(nèi)部還配置了如下部分:

(1)顯示控制器。

(2)顯示存儲器DDRAM。

(3)電源電路。2.MG12864LCM模組結(jié)構(gòu)說明MG12864LCM3.MG12864引腳功能及說明1)數(shù)據(jù)信號

DB0~DB7:指令、數(shù)據(jù)傳送總線。2)控制信號

RS:指令、數(shù)據(jù)選擇控制線,高電平選擇數(shù)據(jù)傳送,

低電平選擇指令傳送。

R/W\:讀寫方式控制線,高電平為讀方式,低電平為寫方式

E:信號選通控制線,高電平有效。

RSTB:復(fù)位信號線,低電平有效。3.MG12864引腳功能及說明1)數(shù)據(jù)信號

DB0~DB3.MG12864引腳功能及說明3)地址信號

CS1:段驅(qū)動電路選擇線,高電平有效,選通KS0108B(1)

CS2:段驅(qū)動電路選擇線,高電平有效,選通KS0108B(2)4)供電電源

VDD:模塊的電源正端。

VSS:供電電源地。5)灰度調(diào)節(jié)

VIN:LCD驅(qū)動電壓輸入端。

VOUT:LCD背板負電壓輸出端。6)背光電源

SLA:背光源正極(LED+5V)。

SLK:背光源負極(LED-0V)。3.MG12864引腳功能及說明3)地址信號

CS1:段驅(qū)4.MG12864的操作指令通過DB0~DB7可以實現(xiàn)指令或數(shù)據(jù)的傳送操作,指令或數(shù)據(jù)的選擇由RS控制信號確定,傳送方向由R/W控制信號確定。1)顯示開關(guān)指令

RS=0,,格式如下:功能:控制顯示狀態(tài)。S=0,關(guān)顯示;S=1,開顯示。4.MG12864的操作指令通過DB0~DB7可以實現(xiàn)指

2)列(Y)地址設(shè)置

RS=0,=0,格式如下:列地址的設(shè)置范圍為0~63。

功能:將列地址寫入列寄存器(YC)。2)列(Y)地址設(shè)置

RS=0,=0,格式如下

3)頁(X)地址設(shè)置

RS=0,R/W=0,格式如下:頁地址的選擇范圍為0~7。

功能:將頁地址置入頁寄存器(PR)。3)頁(X)地址設(shè)置

RS=0,R/W=0,格式如4)首行設(shè)置

RS=0,R/W=0,,格式如下:行地址的設(shè)置范圍為0~63。

功能:設(shè)置顯示存儲器(DDRAM)的首行地址。4)首行設(shè)置

RS=0,R/W=0,,格式如下:

5)讀取狀態(tài)

RS=0,R/W=1,格式如下:BUSY:忙標志,低電平表示操作就緒,高電平表示正在操作中。ON/OFF:顯示狀態(tài),低電平表示開顯示,高電平表示關(guān)顯示。RESET:復(fù)位標志,低電平表示正常運行,高電平表示復(fù)位。5)讀取狀態(tài)

RS=0,R/W=1,格式如下:B6)寫數(shù)據(jù)

RS=1,R/W=0

功能:將8位數(shù)據(jù)寫入顯示存儲器(DDRAM)中,指令結(jié)束后列寄存器(YC)加1。7)讀數(shù)據(jù)

RS=1,R/W=1功能:讀取8位數(shù)據(jù)。

MG12864LCM模組的操作步驟包括:顯示設(shè)置、讀寫數(shù)據(jù)及查詢狀態(tài)。6)寫數(shù)據(jù)RS=1,R/W=05.顯示存儲器DDRAM的結(jié)構(gòu)

(1)整體地址結(jié)構(gòu)如下所示:5.顯示存儲器DDRAM的結(jié)構(gòu)

(1)整體地址結(jié)構(gòu)(2)以第一頁和X地址B8H為例,分頁內(nèi)位與行之間的對應(yīng)關(guān)系如下:(2)以第一頁和X地址B8H為例,分頁內(nèi)位與行之間的對MG12864與單片機的接口電路MG12864與單片機的接口電路7.顯示程序顯示程序主要完成對MG12864的控制、設(shè)定及顯示內(nèi)容的傳送等工作。程序步驟包括:開關(guān)顯示控制,選取段驅(qū)動器,設(shè)定起始行,設(shè)定起始列及傳送顯示內(nèi)容等。

在每次顯示開始時,如果按順序設(shè)置起始的行或列可以實現(xiàn)屏幕上、下滾動或左、右平移的效果。顯示內(nèi)容按頁傳送,每頁對應(yīng)8行,連續(xù)傳送64次8位顯示數(shù)據(jù)完成1頁顯示內(nèi)容。如果考慮兩個驅(qū)動器的顯示輸出,顯示整屏則需16頁內(nèi)容。7.顯示程序顯示程序主要完成對MG12864的控制整屏顯示程序流程整屏顯示程序流程一、A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換成數(shù)字量的器件。模擬量可以是電壓、電流等電信號,也可以是聲、光、壓力和溫度等隨時間連續(xù)變化的非電物理量。非電物理量可通過合適的傳感器等轉(zhuǎn)換成電信號,模擬量只有轉(zhuǎn)換成數(shù)字量才能被計算機采集、分析和計算處理。7.3ADC接口一、A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換成數(shù)字量的器件。模二、A/D轉(zhuǎn)換方法電壓頻率式:精度高價格低,但轉(zhuǎn)換速度不高積分式:抗干擾能力好,轉(zhuǎn)換速度低逐次逼近式:轉(zhuǎn)換速度較快并行轉(zhuǎn)換:串行轉(zhuǎn)換:A/D轉(zhuǎn)換器模擬輸入(Vin)參考電壓+(Vref)-電源+

-數(shù)字輸出(Dn…D0)A/D轉(zhuǎn)換器原理框圖二、A/D轉(zhuǎn)換方法電壓頻率式:精度高價格低,但轉(zhuǎn)換速度不高三、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13位以上)確定精度(誤差范圍)A/D轉(zhuǎn)換時間和路數(shù)輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便三、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13四、8位A/D轉(zhuǎn)換器ADC0809ADC0809是逐次比較式的8路8位A/D轉(zhuǎn)換器,轉(zhuǎn)換速度為100μs,電源電壓+5V內(nèi)部結(jié)構(gòu)圖四、8位A/D轉(zhuǎn)換器ADC0809ADC0809是逐次比較ADC0809引腳分配28腳DIP封裝IN0~IN7:8路模擬輸入由通道選擇端C,B,A選擇其中一路的輸入進行A/D轉(zhuǎn)換ADC0809引腳分配28腳DIP封裝引腳功能C、B、A:模擬通道地址選擇線,輸入ALE:地址鎖存允許信號,輸入。由低到高的正跳變有效,此時鎖存地址選擇線的狀態(tài),從而選通相應(yīng)的模擬通道,以便進行A/D轉(zhuǎn)換。2-8、2-7~2-1:數(shù)字輸出線,輸出。2-8為最低位(D0,LSB),2-1為最高位(D7,MSB)。START:啟動信號,輸入,高電平有效。為了啟動轉(zhuǎn)換,應(yīng)加正脈沖信號。脈沖的上升沿將內(nèi)部寄存器清0,下降沿開始轉(zhuǎn)換。EOC:轉(zhuǎn)換結(jié)束信號,輸出,高電平有效。在START的上升沿之后0~8個時鐘期間,EOC變?yōu)榈碗娖?。當轉(zhuǎn)換結(jié)束時,EOC變?yōu)楦唠娖?。OE:輸出允許信號,輸入,高電平有效。CLK:時鐘信號,輸入。引腳功能C、B、A:模擬通道地址選擇線,輸入ADC0809的主要性能指標分辨率為8位非調(diào)整誤差為±1

LSB具有鎖存功能的8路模擬開關(guān),對8路模擬電壓分別進行轉(zhuǎn)換。輸出與TTL兼容。可用單一電源供電,模擬電壓輸入范圍為0~5V,無須調(diào)零和滿刻度調(diào)整。三態(tài)鎖存輸出。低功耗為15mW。ADC0809的主要性能指標分辨率為8位ADC0809與8051的接口原理圖ADC0809與8051的接口原理圖ADC0809與8051接口工作方式EOC:開始轉(zhuǎn)換時為低電平,當轉(zhuǎn)換結(jié)束時為高電平.采集A/D轉(zhuǎn)換結(jié)果的三種方式延時等待方式:執(zhí)行100μs以上延時等待程序

查詢方式:查詢EOC引腳中斷方式:

EOC經(jīng)反相器接8051的外部中斷引腳ALE=START=OE=端口地址確定應(yīng)使P2.7=A15=0,

A0、A1、A2給出被選擇的模擬通道地址設(shè)未占用地址線為1,則IN0~IN7通道地址為7FF8H~7FFFHADC0809與8051接口工作方式EOC:開始轉(zhuǎn)換時為低電編程要點選通模擬量輸入通道發(fā)出啟動信號用延時、查詢或中斷方法等待轉(zhuǎn)換結(jié)束(延時)讀取轉(zhuǎn)換結(jié)果編程要點選通模擬量輸入通道MAIN:

MOV

R1,

#data ;數(shù)據(jù)緩沖區(qū)首址

MOV

DPTR,

#7FF8H ;

P2.7=0,且指向通道O

MOV

R7,

#08H ;

置通道數(shù)LOOP:

MOVX

@DPTR,

A ;

啟動A/D轉(zhuǎn)換

MOV

R6,

#OAH;DLAY:NOP

NOP

NOP

DJNZ

R6,

DLAY ;100μs延時

MOVX

A,

@DPTR ;

讀取轉(zhuǎn)換結(jié)果

MOV

@R1,A

INC

DPTR ;指向下一個通道

INC

R1 ;

修改數(shù)據(jù)區(qū)指針

DJNZ

R7,

LOOP ;

8個通道全采樣完了嗎?延時法讀取結(jié)果MAIN:MOVR1,#data ;數(shù)據(jù)緩沖中斷方式程序主程序:

SETB

IT1

SETB

EX1

SETB

EA

MOV

DPTR,

#7FF8H

MOV

A,#0

MOVX@DPTR,A…中斷服務(wù)程序:EINT1:

MOV

DPTR,

#7FF8H MOVX

A,

@DPTR MOV

30H,

A MOV

A,

#00 MOVX

@DPTR,

A RETI中斷方式程序主程序:中斷服務(wù)程序:五、A/D采集的抗干擾措施算術(shù)平均滑動平均值法(循環(huán)隊列)去極值法低通濾波五、A/D采集的抗干擾措施算術(shù)平均7.4D/A轉(zhuǎn)換器接口

用D/A轉(zhuǎn)換器把微型機輸出的數(shù)字量轉(zhuǎn)換成電壓或電流,可輸出各種波形的信號。D/A轉(zhuǎn)換器+電流輸出-參考電壓+(Vref)-電源+

-數(shù)字輸入IoIoD/A轉(zhuǎn)換器原理框圖7.4D/A轉(zhuǎn)換器接口用D/A轉(zhuǎn)換器把微型機輸出的一、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13位以上)確定精度(誤差范圍)D/A轉(zhuǎn)換時間和路數(shù)輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便一、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13二、DAC0832芯片介紹分辨率8位電流輸出,穩(wěn)定時間1μs雙緩沖、單緩沖、直通3種數(shù)字輸入工作方式單電源供電+5V~+15V參考電壓-10~+10V二、DAC0832芯片介紹分辨率8位DAC0832引腳圖DAC0832引腳圖引腳功能ILE:輸入寄存器允許,高電平有效。與CS結(jié)合,控制WR1是否起作用。CS:片選信號,低電平有效。WR1:寫信號1,低電平有效。將數(shù)據(jù)鎖存入輸入鎖存器中。WR1有效時,ILE和CS也必須同時有效。XFER:傳送控制信號,低電平有效。WR2:寫信號2,低電平有效。將輸入鎖存器中的數(shù)據(jù)傳送到DAC寄存器并鎖存。引腳功能ILE:輸入寄存器允許,高電平有效。與CS結(jié)合,控制引腳功能DI0~DI7:數(shù)字信號輸入

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論