單片微機(jī)原理與應(yīng)用part_08課件_第1頁
單片微機(jī)原理與應(yīng)用part_08課件_第2頁
單片微機(jī)原理與應(yīng)用part_08課件_第3頁
單片微機(jī)原理與應(yīng)用part_08課件_第4頁
單片微機(jī)原理與應(yīng)用part_08課件_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、“單片機(jī)原理與應(yīng)用”課程 第 8 章 51系列單片機(jī)的接口技術(shù)2022/7/211第8章 51系列單片機(jī)的接口技術(shù) 8.1 鍵盤接口技術(shù)8.2 顯示器接口技術(shù)8.3 鍵盤和顯示器組合接口技術(shù)8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù)8.5 A/D轉(zhuǎn)換器與單片機(jī)接口技術(shù)8.6 開關(guān)量輸入/輸出接口技術(shù)2022/7/212 【重點(diǎn)與難點(diǎn)】 重點(diǎn)是矩陣式鍵盤的原理和編程方法、LED數(shù)碼管的動(dòng)態(tài)顯示編程方法、DAC0832和ADC0809與單片機(jī)的接口方法和編程要點(diǎn)、開關(guān)量的接口技術(shù)。難點(diǎn)是矩陣式鍵盤的工作原理、LED數(shù)碼管的動(dòng)態(tài)顯示的工作原理、DAC0832和ADC0809的工作原理。 接口技術(shù)是單片機(jī)與

2、外設(shè)之間相互匹配、高效、可靠的交換信息的重要技術(shù)。首先介紹鍵盤接口技術(shù);其次介紹顯示器(LED/LCD)接口技術(shù);然后介紹D/A、A/D和單片機(jī)的接口技術(shù);最后介紹開關(guān)量輸入/輸出接口技術(shù)。 【基本知識(shí)點(diǎn)與要求】 (1) 掌握獨(dú)立式鍵盤、矩陣式鍵盤的原理和應(yīng)用方法。(2) 掌握LED數(shù)碼管的靜態(tài)、動(dòng)態(tài)顯示硬件結(jié)構(gòu)和軟件編程。(3) 了解字符型LCD的工作原理,能編寫顯示程序。(4) 理解D/A轉(zhuǎn)換器工作原理,掌握DAC0832使用方法。(5) 掌握ADC0809與單片機(jī)的接口技術(shù),能夠編寫數(shù)據(jù)采集程序。(6) 掌握開關(guān)量輸入/輸出接口技術(shù) 第8章 51系列單片機(jī)的接口技術(shù) 2022/7/213

3、8.1.1 鍵盤工作原理 1. 按鍵輸入原理:按鍵利用機(jī)械觸點(diǎn)的閉合(按下)、斷開(釋放)動(dòng)作實(shí)現(xiàn)的。將動(dòng)作狀態(tài)轉(zhuǎn)換為與之對(duì)應(yīng)的高和低電平,單片機(jī)就可以通過識(shí)別電平的高、低從而判斷鍵的斷開與閉合。 在單片機(jī)應(yīng)用系統(tǒng)中,一組鍵或者一個(gè)鍵盤通過接口電路與CPU相連接。CPU可以采用查詢方式或者中斷方式來獲取有無鍵按下的信息。若有鍵按下,需要進(jìn)一步確認(rèn)是哪一個(gè)鍵按下,并將該鍵號(hào)送到累加器,然后通過單片機(jī)的散轉(zhuǎn)指令轉(zhuǎn)去執(zhí)行該鍵的功能程序,程序執(zhí)行完畢后返回到鍵的查找狀態(tài)。 計(jì)算機(jī)所用的鍵盤有全編碼鍵盤和非編碼鍵盤兩種。 全編碼鍵盤由硬件邏輯電路識(shí)別、并自動(dòng)提供與被按鍵對(duì)應(yīng)的編碼。非編碼鍵盤僅提供按鍵的

4、開關(guān)狀態(tài),其它工作由相應(yīng)的軟件來完成。單片機(jī)應(yīng)用系統(tǒng)中多采用非編碼鍵盤。 8.1 鍵盤接口技術(shù) 2022/7/214 由于機(jī)械觸點(diǎn)的彈性作用,觸點(diǎn)的閉合與斷開瞬間均會(huì)出現(xiàn)電壓抖動(dòng)過程,抖動(dòng)時(shí)間一般為510ms,如圖所示。為了保證CPU對(duì)鍵的一次閉合僅作一次處理,必須去除抖動(dòng)。去除抖動(dòng)的方法有硬件和軟件兩種。 、 2. 鍵盤輸入接口與軟件需要解決的問題 硬件電路去除抖動(dòng)是通過在按鍵輸出電路上加硬件電路來消除抖動(dòng),一般采用R-S觸發(fā)器或雙穩(wěn)態(tài)電路。一個(gè)基本的硬件去除抖動(dòng)電路如下圖所示。 8.1 鍵盤接口技術(shù) 2022/7/2158.1 鍵盤接口技術(shù) 軟件去除抖動(dòng)的方法是:當(dāng)檢測(cè)到有鍵按下時(shí),軟件延

5、時(shí)10ms后,再確認(rèn)該鍵是否保持按下狀態(tài),若是,則確認(rèn)該鍵有效;否則重新開始掃描鍵盤。這樣,就可以消除抖動(dòng)對(duì)按鍵確認(rèn)的影響。 2022/7/216 (2)按鍵識(shí)別及編制鍵盤處理程序 在編寫鍵盤處理程序時(shí)需要考慮下面幾個(gè)問題: 監(jiān)測(cè)有無鍵按下; 有鍵按下時(shí),若無硬件去抖動(dòng)電路,則用軟件延時(shí)方法去除抖動(dòng); 有可靠的邏輯處理方法,解決多鍵沖突。如采用雙鍵鎖,只處理一個(gè)健,期間任何按下又松開的健不產(chǎn)生影響,不管一次按鍵持續(xù)多長時(shí)間,僅執(zhí)行一次按鍵功能程序。 給出確定的鍵號(hào)以滿足散轉(zhuǎn)指令的要求。 8.1.2 獨(dú)立式鍵盤接口技術(shù) 非編碼鍵盤的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤與矩陣式(行列式)鍵盤。 獨(dú)立式鍵

6、盤電路每個(gè)按鍵單獨(dú)占有一根I/O接口引線。每根I/O接口線上的按鍵都不會(huì)影響其他的I/O接口線,電路如圖8-3所示。 8.1 鍵盤接口技術(shù) 2022/7/217 按鍵輸入采用低電平有效,上拉電阻保證了按鍵斷開時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時(shí),外電路可以不接上拉電阻。這樣,CPU只要檢測(cè)I/O接口線的電平高、低就可以很容易地判斷出哪個(gè)按鍵被按下。 8.1 鍵盤接口技術(shù) 2022/7/218 獨(dú)立式鍵盤電路特點(diǎn):配置靈活,軟件識(shí)別簡(jiǎn)單,但按鍵數(shù)量較多時(shí),占用I/O接口線數(shù)目較多。故只在按鍵數(shù)量不多時(shí)采用這種電路。 查詢方式按鍵識(shí)別程序(硬件電路如圖8-3),這里省略了軟

7、件延時(shí)部分,KPR0KPR7分別為k0k7按鍵的功能程序入口地址 MOV P1,#0FFH ;置P1口為輸入方式 MOV A,P1 ;讀入鍵狀態(tài) CPL A JZ KEYEND ;無鍵按下則轉(zhuǎn)返回 ACALL Delay10 ;有鍵按下調(diào)用延時(shí)程序去除抖動(dòng) MOV A,P1 ;讀入鍵狀態(tài) CPL A JZ KEYEND ;無鍵按下則為干擾處理,轉(zhuǎn)返回 JB ACC.0,K0 ;檢測(cè)0號(hào)鍵是否按下,若按下則轉(zhuǎn)到K0 JB ACC.1,K1 ;檢測(cè)1號(hào)鍵是否按下,若按下則轉(zhuǎn)到K18.1 鍵盤接口技術(shù) 2022/7/2198.1 鍵盤接口技術(shù) JB ACC.2,K2 ;檢測(cè)2號(hào)鍵是否按下,若按下則轉(zhuǎn)

8、到K2 JB ACC.3,K3 ;檢測(cè)3號(hào)鍵是否按下,若按下則轉(zhuǎn)到K3 JB ACC.4,K4 ;檢測(cè)4號(hào)鍵是否按下,若按下則轉(zhuǎn)到K4 JB ACC.5,K5 ;檢測(cè)5號(hào)鍵是否按下,若按下則轉(zhuǎn)到K5 JB ACC.6,K6 ;檢測(cè)6號(hào)鍵是否按下,若按下則轉(zhuǎn)到K6 SJMP K7 ;7號(hào)鍵按下轉(zhuǎn)到K7K0:AJMP KPR0K1:AJMP KPR1 K7:AJMP KPR7KPR0: ;0號(hào)鍵功能程序入口 LJMP KEYEND KPR1: ;1號(hào)鍵功能程序入口 LJMP KEYEND 2022/7/21108.1 鍵盤接口技術(shù) KPR7: ;7號(hào)鍵功能程序入口KEYEND:RETDelay10

9、: ;延時(shí)10ms子程序 RET 8.1.3 矩陣式鍵盤接口技術(shù) 矩陣式鍵盤由行線和列線組成,也稱為行列式鍵盤。按鍵位于行、列的交叉點(diǎn)上,行線、列線分別連接到按鍵開關(guān)兩端。矩陣式鍵盤電路如圖8-4所示。 當(dāng)按鍵數(shù)量較多時(shí),矩陣式鍵盤和獨(dú)立式按鍵電路相比較,要節(jié)省很多I/O接口線。2022/7/21118.1 鍵盤接口技術(shù) 2022/7/2112 1. 矩陣式鍵盤電路的工作原理 圖8-4中把行線作為輸入線連接到單片機(jī)擴(kuò)展的8255A輸入端口PC0PC3,列線作為輸出線連接到單片機(jī)擴(kuò)展的8255A輸出端口PA0PA7。行線通過上拉電阻接+5V,若沒有鍵按下時(shí),行線就處在高電平狀態(tài)。若有鍵按下,則對(duì)

10、應(yīng)行線和列線直接相連,行線的電平狀態(tài)就取決于與此行線相連的列線電平狀態(tài)。這樣,在單片機(jī)的控制下,就可以判斷究竟是哪一個(gè)鍵被按下。 先令所有列線PA0PA7全輸出低電平(“0”),讀入行線的狀態(tài),如果所有行線的狀態(tài)均為高電平(“1”),則鍵盤無鍵按下,否則,鍵盤中有鍵按下。 8.1 鍵盤接口技術(shù) 當(dāng)鍵盤中有鍵按下時(shí),再逐行掃描。 2022/7/2113 先令列線PA0輸出低電平(“0”)、其余列線PA1PA7輸出高電平,讀入行線的狀態(tài)。若所有行線的狀態(tài)均為高電平,則PA0這一列上沒有閉合鍵。如果行線的狀態(tài)不全為高電平,則要逐行判斷哪一行為低電平,為低電平的行線和PA0相交叉處的按鍵就是閉合鍵;

11、若PA0這一列上沒有鍵閉合,則令列線PA1輸出低電平、其余列線輸出高電平。用同樣的方法判斷PA1這一列上是否有鍵閉合,以此類推,直到令列線PA7輸出低電平、其余列線輸出高電平,判斷PA7這一列上是否有鍵閉合為止。 這種逐列逐行地檢查鍵盤按鍵狀態(tài)的過程稱為判斷鍵盤是否有鍵按下的行掃描法。 8.1 鍵盤接口技術(shù) 2022/7/2114具體過程如下: (1)判斷鍵盤上有無鍵按下。令列線PA0PA7輸出全為“0”,讀入行線PC0PC3的電平狀態(tài)。若行線全為“1”,則無鍵按下;若不全為“1”,則有鍵按下。 (2)去除鍵的抖動(dòng)影響。當(dāng)判斷有鍵按下時(shí),采用軟件延時(shí)10ms后,再次判斷是否有鍵按下。若仍然有鍵

12、按下,則認(rèn)為有一個(gè)確定的鍵按下,通過逐行掃描確定具體哪個(gè)鍵按下;否則按鍵抖動(dòng)處理,返回。 8.1 鍵盤接口技術(shù) (3)求取按鍵值。據(jù)上述的鍵盤掃描方法,用下述的方法就可獲得相應(yīng)鍵值。對(duì)圖8-4,先確定行首鍵號(hào)和列首鍵號(hào)。列首鍵號(hào)按照從列的低位到高位依次為07(最后的數(shù)字取決于列線的數(shù)目),行首鍵號(hào)按照從行的低位到高位依次為0、8、16、242022/7/2115(每次增加的數(shù)目為列線數(shù)目),則閉合鍵的鍵值等于為低電平的行首鍵號(hào)加上為低電平的列首鍵號(hào)(圖8-4顯而易見)。也等于為低電平的行號(hào)8為低電平的列號(hào)。 (4)判斷按鍵是否釋放,釋放后將鍵值送往累加器中,執(zhí)行相應(yīng)的鍵功能程序。 2. 矩陣式

13、鍵盤的工作方式 (1)編程掃描工作方式 對(duì)鍵盤的掃描,可以采用程序控制的隨機(jī)方式調(diào)用鍵盤掃描子程序;也可以采用定時(shí)控制方式,每隔一定的時(shí)間調(diào)用鍵盤掃描子程序響應(yīng)鍵輸入要求。每調(diào)用一次子程序,對(duì)鍵盤進(jìn)行一次掃描。鍵盤掃描子程序流程如圖8-5所示。 8.1 鍵盤接口技術(shù) 2022/7/2116 8.1 鍵盤接口技術(shù) 2022/7/2117 鍵盤掃描子程序如下,硬件電路如圖8-4所示。8255A的PA口、PB口、PC口和控制口地址分別是7FFCH、7FFDH、7FFEH、7FFFH,假設(shè)8255A已經(jīng)在主程序中進(jìn)行了初始化。(設(shè)PA口方式0輸出,PC口的低4位方式0輸入)。 8.1 鍵盤接口技術(shù) K

14、EY1: ACALL KS1 ;調(diào)用判斷有無鍵按下子程序 JNZ LK1 ;有鍵按下時(shí),(A)0轉(zhuǎn)消抖延時(shí) AJMP KEND ;無鍵按下返回 LK1: ACALL TIM10ms ;調(diào)用10ms延時(shí)子程序 ACALL KS1 JNZ LK2 ;(A)0,有鍵按下、逐列掃描 AJMP KEND ;不是真有鍵按下,返回 LK2: MOV R2,#0FEH ;初始列掃描字(0列)送入R2 MOV R4,#00H ;初始列號(hào)0送入R4 LK4: MOV DPTR,#7FFCH;DPTR指向8255A的PA口2022/7/21188.1 鍵盤接口技術(shù) MOV A,R2;列掃描字送至8255A的PA口

15、MOVX DPTR,A INC DPTR INC DPTR;DPTR指向8255A的PC口 MOVX A,DPTR;從8255A的PC口讀入行線狀態(tài) JB ACC.0,LONE;若第0行無鍵按下,轉(zhuǎn)查第1行 MOV A,#00H ;第0行有鍵按下,行首鍵號(hào)#00H送入A AJMP LKP;轉(zhuǎn)求鍵值LONE: JB ACC.1,LTWO;查第1行無鍵按下,轉(zhuǎn)查第2行 MOV A,#08H ;第1行有鍵按下,行首鍵號(hào)#08H送入A AJMP LKPLTWO: JB ACC.2,LTHR ;查第2行無鍵按下,轉(zhuǎn)查第3行 MOV A,#10H ;第2行有鍵按下,行首鍵號(hào)#10H送入A AJMP LKP

16、LTHR: JB ACC.3,NEXT ;查第3行無鍵按下,轉(zhuǎn)查下一列 2022/7/21198.1 鍵盤接口技術(shù) MOV A,#18H;第3行有鍵按下,行首鍵號(hào)#18H送入ALKP: ADD A,R4;求鍵值,鍵值=行首鍵號(hào)+列號(hào) PUSH ACC;鍵值入棧保護(hù)LK3: ACALL KS1;等待鍵釋放 JNZ LK3 ;鍵未釋放,等待 POP ACC RETNEXT:INC R4;準(zhǔn)備掃描下一列,列號(hào)加1 MOV A,R2;取列掃描字送累加器A JNB ACC.7,KEND;判斷8列掃描完否?掃描完返回 RL A;掃描字左移一位,變?yōu)橄乱涣袙呙枳?MOV R2,A AJMP LK4KEND:

17、RET 2022/7/21208.1 鍵盤接口技術(shù) KS1: MOV DPTR,#7FFCH;DPTR指向8255A的PA口 MOV A,#00H MOVX DPTR,A;全掃描字送往8255A的PA口 INC DPTR INC DPTR MOVX A,DPTR;讀入PC口行狀態(tài) CPL A ;變正邏輯,以高電平表示有鍵按下 ANL A,#0FH RETTIM10ms:MOV R7,#14H;延時(shí)10ms(12MHz)TM: MOV R6,#0F8HTM6: DJNZ R6,TM6 NOP DJNZ R7,TM RET 2022/7/2121 中斷掃描方式通過在初始化中令所有列線的輸出全為0,

18、將所有行線經(jīng)過“與門”后連接到單片機(jī)的外部中斷輸入端來實(shí)現(xiàn)。 當(dāng)沒有鍵按下時(shí)無中斷請(qǐng)求,有鍵按下時(shí),便向CPU發(fā)出中斷請(qǐng)求。CPU響應(yīng)后就執(zhí)行中斷服務(wù)程序,在中斷服務(wù)程序中對(duì)鍵盤進(jìn)行掃描。 這樣在沒有鍵按下時(shí),CPU就不執(zhí)行掃描程序,提高了CPU的工作效率。 中斷掃描方式需要編寫中斷服務(wù)程序,在中斷服務(wù)程序中對(duì)鍵盤進(jìn)行掃描、處理過程與查詢掃描方式中的鍵盤掃描子程序相同。 (2)中斷掃描方式 8.1 鍵盤接口技術(shù) 2022/7/21228.2 顯示器接口技術(shù) 為便于人們觀察和監(jiān)視單片機(jī)應(yīng)用系統(tǒng)的運(yùn)行情況,需要一種顯示器作為單片機(jī)應(yīng)用系統(tǒng)的輸出設(shè)備,顯示單片機(jī)應(yīng)用系統(tǒng)的鍵輸入值、中間信息及運(yùn)算結(jié)果

19、和運(yùn)行狀態(tài)等。 在單片機(jī)應(yīng)用系統(tǒng)中,最常用的顯示器有由發(fā)光二極管組成的數(shù)碼管顯示器,簡(jiǎn)稱LED (Light Emitting Diode)顯示器和液晶顯示器,簡(jiǎn)稱LCD (Liquid Crystal Display)。 8.2.1 數(shù)碼管顯示器結(jié)構(gòu)與原理 1. LED結(jié)構(gòu)與顯示原理 LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中最常用的是8段LED數(shù)碼管顯示器,也稱為一個(gè)顯示塊。 LED數(shù)碼管的正向壓降一般為1.52V,額定電流為10mA,最大電流為40mA。 2022/7/21238.2 顯示器接口技術(shù) (a) 管腳配置 (b) 共陽極 (c) 共陰極

20、 2022/7/2124 LED字段標(biāo)記為ag及dp,8段正好一個(gè)字節(jié)。若將ag及dp的驅(qū)動(dòng)電平在一個(gè)字節(jié)中按照從低位到高位的順序排列如表8-1所示,則可得到如表8-2所示的字段碼。其中共陰極接法和共陽極接法的字形碼互為反碼。 8.2 顯示器接口技術(shù) 2. 數(shù)碼管段碼的編碼 由LED顯示原理可知,要顯示不同的數(shù)字和字母,只要把不同的電平送往不同的發(fā)光二極管將其點(diǎn)亮即可。這些用來控制LED顯示的不同電平組合所構(gòu)成的代碼稱為相應(yīng)字符的字段碼(也稱為字形碼或段選碼)。 字段碼D7D6D5D4D3D2D1D0LED字段dPgfedcba2022/7/21258.2 顯示器接口技術(shù) 2022/7/212

21、63. LED數(shù)碼管顯示控制方式 用一個(gè)LED數(shù)碼管顯示塊,可以顯示一位數(shù)字或字母。在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常會(huì)用LED顯示塊構(gòu)成多位LED顯示器。N位LED數(shù)碼管顯示器有N根位選線、8N根段選線。段選線提供段選碼,由它控制要顯示什么樣的字符,而位選線則控制要在哪一位上顯示該字符。 通常有兩種顯示控制方式,即靜態(tài)和動(dòng)態(tài)顯示方式。 8.2 顯示器接口技術(shù) 8.2.2 靜態(tài)顯示接口技術(shù) 1. 靜態(tài)顯示技術(shù) 靜態(tài)顯示是指顯示器顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定的導(dǎo)通或截止,且顯示器的各位能夠同時(shí)顯示字符。 2022/7/2127 LED顯示器與I/O端口的連接方法為:共陰極或共陽極連接在一起接地或

22、接+5V;每一位的段選線(adp)分別與一個(gè)8位并行輸出端口(必須具有鎖存功能)的每一位相連。 8.2 顯示器接口技術(shù) N位數(shù)碼管顯示器靜態(tài)顯示時(shí)有8N根段選線,需要占用N個(gè)8位并行輸出端口。當(dāng)顯示位數(shù)較少時(shí),采用靜態(tài)顯示方式是合適的。當(dāng)顯示位數(shù)較多時(shí),應(yīng)該采用動(dòng)態(tài)顯示方式。 靜態(tài)顯示的特點(diǎn):顯示亮度大、穩(wěn)定,軟件結(jié)構(gòu)簡(jiǎn)單。 在實(shí)際應(yīng)用中,當(dāng)單片機(jī)沒有使用串行通信功能時(shí),靜態(tài)顯示方式中CPU輸出字形碼可以利用串行接口工作在移位寄存器方式下串行輸出。采用串行輸出可以節(jié)省單片機(jī)的資源。2022/7/21288.2 顯示器接口技術(shù) 3位LED數(shù)碼管顯示器靜態(tài)連接電路圖 2022/7/21298.2

23、顯示器接口技術(shù) MOV R2,#03H ;顯示字符數(shù) MOV R0,#30H ;顯示緩沖區(qū)地址送入R0 MOV R1, #60H ; 端口地址指針 DL0:MOV A,R0 ;取要顯示的數(shù)作查表偏移量 MOV DPTR,#TAB ;DPTR指向字形碼表首地址 MOVC A,A+DPTR ;查表得字形碼 MOV R1, A ; 字形碼送端口顯示 INC R1 INC R0 ;更新顯示單元 DJNZ R2,DL0 ;判斷是否所有 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H ;04字形碼 DB 92H,82H,0F8H,80H,90H ;59 的字形碼靜態(tài)顯示程序段:202

24、2/7/21308.2 顯示器接口技術(shù) 2. 靜態(tài)顯示接口 (1)基于MC14543的靜態(tài)LED驅(qū)動(dòng)接口電路 MC14543引腳功能 MC14543為具有4位二進(jìn)制鎖存、BCD-7段譯碼和驅(qū)動(dòng)功能,MC14543的引腳功能如下: M:輸入引腳,用來控制輸出 狀態(tài)的正反向。 BI:輸入引腳,用來消隱顯示。 LD:輸入腳,用來鎖存BCD碼。 D0D3:顯示數(shù)據(jù)輸入引腳 (BCD碼)。 YaYg:BCD-7段碼的譯碼/ 驅(qū)動(dòng)輸出引腳。 VDD接電源, VSS接地。2022/7/2131 液晶顯示時(shí),應(yīng)在液晶的公共電極和電路的M引腳施加方波脈沖,電路的輸出引腳直接連接到液晶的各筆劃段。 8.2 顯示器

25、接口技術(shù) 2022/7/2132 基于MC14543的靜態(tài)LED驅(qū)動(dòng)接口電路 * 使用共陰極發(fā)光二極管時(shí),M=L;使用共陽極發(fā)光二極管時(shí),M=H;使用液晶顯示器時(shí),從M端加脈沖。*輸出狀態(tài)由LD從H變到L時(shí)的內(nèi)部鎖存器的狀態(tài)決定。 8.2 顯示器接口技術(shù) 該電路是由AT89S51單片機(jī)、或非門、MC14543、共陰極數(shù)碼管顯示器組成。其中,或非門用來產(chǎn)生鎖存信號(hào),MC14543完成鎖存、譯碼、驅(qū)動(dòng),數(shù)碼管用來顯示。 2022/7/21338.2 顯示器接口技術(shù) MC14543構(gòu)成的靜態(tài)LED驅(qū)動(dòng)接口電路圖 2022/7/21348.2 顯示器接口技術(shù) (2)基于串行接口的靜態(tài)LED驅(qū)動(dòng)接口電路

26、 2022/7/21358.2 顯示器接口技術(shù) DIR:PUSHACC ;保護(hù)現(xiàn)場(chǎng) PUSHDPH PUSHDPL MOV SCON,#0 CLR P1.1 ;74LS164清零 MOV R2,#03H ;顯示3個(gè)數(shù) MOV R0,#30H ;顯示緩沖區(qū)地址送入R0 SETB P1.1 ;為顯示器正常顯示準(zhǔn)備 SETB P1.0 ;選通TXD同步移位時(shí)鐘 DL0:MOV A,R0 ;取要顯示的數(shù)作查表偏移量 MOV DPTR,#TAB ;DPTR指向字形碼表首地址 MOVC A,A+DPTR ;查表得字形碼2022/7/21368.2 顯示器接口技術(shù) MOV SBUF,A ;由串行接口發(fā)送字形

27、碼DL1: JNB TI,DL1 ;等待一楨數(shù)據(jù)發(fā)送完 CLR TI ;清標(biāo)志,準(zhǔn)備繼續(xù)發(fā)送 INC R0 ;更新顯示單元 DJNZ R2,DL0 ;判斷是否所有數(shù)碼管均已顯示 POP DPL ;恢復(fù)現(xiàn)場(chǎng) POP DPH POP ACC RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H ;04字形碼 DB 92H,82H,0F8H,80H,90H ;59 的字形碼2022/7/2137 動(dòng)態(tài)顯示是采用掃描的方法把多位LED數(shù)碼管顯示器一位一位地輪流點(diǎn)亮?;蛘哒f,每隔一段時(shí)間LED數(shù)碼管顯示器的每一位被點(diǎn)亮一次。這樣,雖然在同一時(shí)間只有一位顯示器被點(diǎn)亮,但由于人眼的視覺暫留效應(yīng)

28、(通常人眼的視覺暫留時(shí)間為0.1秒)和發(fā)光二極管熄滅后的余輝作用,獲得的效果是多位字符“同時(shí)”顯示。LED數(shù)碼管顯示器的顯示亮度既與導(dǎo)通電流相關(guān),也與點(diǎn)亮的持續(xù)時(shí)間和間隔時(shí)間的比例相關(guān)。 8.2.3 動(dòng)態(tài)顯示接口技術(shù) 1. 動(dòng)態(tài)顯示方式8.2 顯示器接口技術(shù) 動(dòng)態(tài)顯示的工作原理。多位LED顯示器的段選線并聯(lián)在一起,然后與一個(gè)8位并行輸出端口(必須有鎖存功能)的每一位相連接,即所有LED顯示器的段選碼均由該端口控制。而各位LED數(shù)碼管顯示器的共陰極點(diǎn)或共陽極點(diǎn)分別與另外一個(gè)并行2022/7/2138輸出端口(必須具有鎖存功能)的每一位相連接,實(shí)現(xiàn)各位分時(shí)選通,也稱位控。在某一段時(shí)間內(nèi),8位并行輸

29、出端口輸出段選碼,位控端口輸出位選通信號(hào),以保證某一位LED顯示器顯示相應(yīng)的字符。如此輪流,使每一位LED顯示器顯示該位要顯示的字符,并延時(shí)12ms,就可獲得視覺穩(wěn)定的顯示效果。8.2 顯示器接口技術(shù) 2022/7/21392. 動(dòng)態(tài)顯示程序流程 動(dòng)態(tài)顯示的特點(diǎn)是:當(dāng)顯示位數(shù)較多時(shí)節(jié)省I/O端口,因此,硬件電路比較簡(jiǎn)單;但是和靜態(tài)顯示比較而言,顯示穩(wěn)定度不如靜態(tài)顯示,CPU需要輪流點(diǎn)亮每一個(gè)LED顯示器,占用CPU較多的時(shí)間,且軟件結(jié)構(gòu)比較復(fù)雜。 用8255A擴(kuò)展并行I/O接口連接數(shù)碼管,3位數(shù)碼管的段選線并聯(lián)后,與8255A的PB口相連輸出段選碼;3位數(shù)碼管的公共端分別與8255A的PA口連

30、接,輸出位控碼,選擇要顯示的數(shù)碼管。PA口和PB口均工作于方式0輸出。R3中存放位控碼,R0指向顯示緩沖區(qū)首地址。動(dòng)態(tài)顯示的子程序流程如圖8-12所示。 8.2 顯示器接口技術(shù) N位數(shù)碼管顯示器動(dòng)態(tài)顯示時(shí)有8根段選線,需要占用1個(gè)8位并行輸出端口,還需要1個(gè)N位控制口。 2022/7/21408.2 顯示器接口技術(shù) 2022/7/21418.2.4 液晶顯示接口技術(shù) 8.2 顯示器接口技術(shù) 1. LCD顯示器結(jié)構(gòu)和工作原理 LCD(Liquid Crystal Display)液晶顯示器是一種被動(dòng)式顯示器。液晶本身不發(fā)光,只是調(diào)節(jié)環(huán)境光的亮度。 2022/7/2142 當(dāng)在液晶盒的上、下電極加

31、上一定的電壓后,電極部分的液晶分子轉(zhuǎn)成垂直排列,從而失去旋光性。因此,從上偏振片入射的偏振光不被旋轉(zhuǎn),當(dāng)此偏振光到達(dá)下偏振片時(shí),因?yàn)楸黄衿?,無法到達(dá)反射板形成反射,所以呈現(xiàn)出黑色。根據(jù)需要,將電極做成各種文字、數(shù)字或者點(diǎn)陣,就可以獲得所需的各種顯示。LCD響應(yīng)時(shí)間和余輝為微秒級(jí)。 2. LCD1602液晶顯示器及與單片機(jī)接口 根據(jù)顯示的容量可以分為1行16個(gè)字、2行16個(gè)字、2行20個(gè)字符,這里以常用的2行16個(gè)字的1602液晶模塊來介紹它的應(yīng)用。 (1)LCD1602的引腳定義 LCD1602采用標(biāo)準(zhǔn)的14腳(無背光)或者是16腳(帶背光)接口,引腳功能如表8-4所示。 VL為液晶顯示

32、器對(duì)比度調(diào)整端。接正電源時(shí)對(duì)比度最弱,8.2 顯示器接口技術(shù) 2022/7/2143 (2)LCD1602的命令說明 LCD1602液晶顯示模塊內(nèi)部的控制器有11條控制指令,液晶模塊的讀寫操作,屏幕和光標(biāo)的操做是通過指令編程來實(shí)現(xiàn)的。指令說明如表8-5所示。 8.2 顯示器接口技術(shù) 接地時(shí)對(duì)比度最強(qiáng)。若對(duì)比度過強(qiáng)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一只10KW的可調(diào)電位器來調(diào)整對(duì)比度。 RS為寄存器選擇端。RS為高電平時(shí)選擇數(shù)據(jù)寄存器,為低電平時(shí)選擇指令寄存器。 為讀寫信號(hào)。高電平時(shí)進(jìn)行讀操作,低電平時(shí)執(zhí)行寫操作。 E為使能端。當(dāng)E端由高電平跳變成低電平時(shí),液晶顯示模塊執(zhí)行命令。 D0D7為雙向數(shù)據(jù)

33、線。 2022/7/2144 LCD1602的引腳功能表 8.2 顯示器接口技術(shù) 2022/7/21458.2 顯示器接口技術(shù) LCD1602液晶顯示模塊內(nèi)部控制器的11條控制指令 2022/7/2146*:無關(guān)項(xiàng);BF=1/0:內(nèi)部操作正在進(jìn)行/允許指令操作 8.2 顯示器接口技術(shù) 指令1:清顯示,光標(biāo)復(fù)位到地址00H位置。 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。 指令3:讀/寫方式下的光標(biāo)和顯示模式設(shè)置命令。 I/D:表示地址計(jì)數(shù)器的變化情況,即光標(biāo)的移動(dòng)方向。 I/D=1:計(jì)數(shù)器地址自動(dòng)加1,光標(biāo)右移一字符位置。 I/D=0:計(jì)數(shù)器地址自動(dòng)減1,光標(biāo)左移一字符位置。 S:顯示屏上畫面向

34、左或者向右全部移動(dòng)一個(gè)字符位。 S=0:無效;S=1:有效。 S=1,I/D=1:顯示畫面左移;S=1,I/D=0:顯示畫面右移。 指令4:顯示開關(guān)控制,控制顯示,光標(biāo)和光標(biāo)閃爍的開關(guān)。 D:當(dāng)D=0時(shí)顯示關(guān)閉,DDRAM中數(shù)據(jù)保持不變。 C:當(dāng)C=1時(shí)顯示光標(biāo)。B:當(dāng)B=1時(shí)光標(biāo)閃爍。 指令5:光標(biāo)或顯示移位。DDRAM中內(nèi)容不改變。 S/C=1時(shí),移動(dòng)顯示;S/C=0時(shí),移動(dòng)光標(biāo)。 2022/7/2147 R/L=1時(shí),為右移;R/L=0時(shí),為左移。 指令6:功能設(shè)置命令。 DL=1時(shí):內(nèi)部數(shù)據(jù)總線為4位寬度DB7DB4;DL=0時(shí),內(nèi) 部總線為8位寬度。 N=0時(shí),單行顯示;N=1時(shí),雙

35、行顯示。 F=0時(shí),為顯示字形5*7點(diǎn)陣;F=1時(shí),為顯示字形5*10點(diǎn)陣。 指令7:字符發(fā)生器RAM地址設(shè)置。 指令8:DDRAM地址設(shè)置。GROM(字符發(fā)生存儲(chǔ)器)、 CGRAM(用戶自定義字符圖形RAM,包含在CGROM中)、DDRAM(顯示數(shù)據(jù)RAM) 指令9:讀狀態(tài)標(biāo)志和光標(biāo)地址。BF:忙標(biāo)志位,BF=1,忙,此時(shí)模塊不能接收命令或數(shù)據(jù);BF=0,不忙。 指令10:寫數(shù)據(jù)。 指令11:讀數(shù)據(jù)。 8.2 顯示器接口技術(shù) 2022/7/2148(3)LCD1602的RAM地址與標(biāo)準(zhǔn)字庫表 顯示字符時(shí),要先輸入顯示字符地址,也就是告訴模塊在那里顯示字符,LCD1602的內(nèi)部顯示地址如下表8

36、-6所示。 8.2 顯示器接口技術(shù) 上表第二行第一個(gè)字符的地址是40H,因?qū)懭腼@示地址要求最高位D7=1(根據(jù)表8-5所示的指令8),所以這時(shí)實(shí)際寫入的數(shù)據(jù)位是01000000B(40H)+10000000(80H)=11000000(C0H)。 (4)LCD1602的初始化方法 2022/7/2149 對(duì)液晶顯示模塊進(jìn)行初始化時(shí),應(yīng)先設(shè)置顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無需人工干預(yù)。每次輸入指令之前,都要判斷液晶顯示模塊是否處于忙狀態(tài)。LCD1602液晶顯示模塊內(nèi)部的字符發(fā)生器中已經(jīng)存儲(chǔ)了160個(gè)點(diǎn)陣字符圖形,每個(gè)字符都有一個(gè)固定的代碼。 LCD1602液晶顯示模塊初始化過程

37、如下:寫指令38H:顯示模式設(shè)置為2行,5*7字符; 延時(shí)15ms;寫指令06H,置輸入模式為地址增量,顯示屏不移動(dòng); 延時(shí)15 ms;寫指令0FH:顯示開,顯示光標(biāo),光標(biāo)閃爍; 延時(shí)15 ms;寫指令01H:顯示清屏;8.2 顯示器接口技術(shù) 2022/7/21508.2 顯示器接口技術(shù) (5)LCD1602和單片機(jī)的接口電路 2022/7/21518.2 顯示器接口技術(shù) 程序如下: E BIT P2.2 RW BIT P2.1 RS BIT P2.0 LCDPORT EQU P0 CMD_BYTE EQU 30H DAT_BYTE EQU 31H ORG 0000H AJMP MAIN OR

38、G 0050HMAIN: MOV SP,#60H LCALL INITLCD LCALL DISPMSG1 LCALL DISPMSG2 SJMP $;LCD1602用到子程序;寫命令(入口參數(shù) CMD_BYTE)WRITE_CMD:CLR RS CLR RW MOV A,CMD_BYTE MOV LCDPORT,A SETB E NOP NOP CLR E LCALL DELAY RET2022/7/2152;寫顯示數(shù)據(jù)(入口參數(shù)DAT_BYTE)WRITE_DAT:SETB RS CLR RW MOV A,DAT_BYTE MOV LCDPORT,A SETB E NOP NOP CLR

39、E LCALL DELAY RET;LCD顯示初始化INITLCD:MOV CMD_BYTE,#38H LCALL WRITE_CMD LCALL DELAY;延時(shí) MOV CMD_BYTE,#06H ;置輸入模式:地址增量,顯示屏不移動(dòng) LCALL WRITE_CMD LCALL DELAY;延時(shí) MOV CMD_BYTE,#0FH ;顯示開,顯示光標(biāo),光標(biāo)閃爍 LCALL WRITE_CMD LCALL DELAY ;延時(shí) MOV CMD_BYTE,#01H LCALL WRITE_CMD LCALL DELAY ;延時(shí) RET8.2 顯示器接口技術(shù) 2022/7/21538.2 顯示器接

40、口技術(shù) DISPMSG1: MOV CMD_BYTE,#80H LCALL WRITE_CMD MOV R7,#07H MOV R6,#00H MOV DPTR,#TAB1DISPMSG1_1:MOV A,R6 MOVC A,A+DPTR MOV DAT_BYTE,A LCALL WRITE_DAT INC R6DJNZ R7,DISPMSG1_1 RETDISPMSG2: MOV CMD_BYTE,#0C0H LCALL WRITE_CMD MOV R7,#0CH MOV R6,#00H MOV DPTR,#TAB2DISPMSG2_1:MOV A,R6 MOVC A,A+DPTR MOV

41、DAT_BYTE,A LCALL WRITE_DAT INC R6 DJNZ R7,DISPMSG2_1 RET ;延時(shí)子程序DELAY : MOV R5,#0A0HDELAY1: NOP DJNZ R5,DELAY1 RET ORG 0200H 2022/7/2154;要顯示的內(nèi)容TAB1:DB“AT89S51”TAB2:DB “” END 8.3.1 鍵盤及動(dòng)態(tài)顯示接口電路 8.3 鍵盤和顯示器組合接口技術(shù) 8155芯片內(nèi)的RAM地址為:7E00H-7EFFH,I/O端口地址為:7F00H7F05H。8155的PA口為輸出口、地址為7F01H,和鍵盤的列線相連,同時(shí)又是6位顯示器的位控口。

42、PB口地址為7F02H、輸出顯示器的段選碼并經(jīng)過74LS07同相驅(qū)動(dòng)。PC口和鍵盤的行線相連,讀入鍵盤的行線狀態(tài)。 1. 鍵盤掃描程序設(shè)計(jì) 鍵盤掃描程序和矩陣式鍵盤掃描程序完全相同,不同的是采用顯示子程序代替原來的延時(shí)子程序,無鍵按下時(shí)也須調(diào)用顯示子程序,接口地址不同而已。 2022/7/21558.3 鍵盤和顯示器組合接口技術(shù) 2. 動(dòng)態(tài)顯示程序設(shè)計(jì) 在AT89S51的內(nèi)部設(shè)置了6個(gè)顯示緩沖單元69H6EH,分別存放顯示器的6位數(shù)據(jù)。8155的PA口掃描輸出總是只有一位為高電平,即顯示器的6位中僅有一位公共陰極為低電平,其它為高電平;8155的PB口輸出相應(yīng)位(陰極為低)的顯示數(shù)據(jù)的段選碼使

43、某一位顯示出一個(gè)字符,其它位為暗。依次改變PA口的輸出為高電平的位,PB口輸出相應(yīng)的段選碼,顯示器的6位就顯示出由緩沖器中顯示數(shù)據(jù)所定的字符。程序流程圖和8.2.3節(jié)中動(dòng)態(tài)顯示程序流程圖完全相同,這里僅給出顯示參考程序如下(設(shè)單片機(jī)主頻為12MHz)。 2022/7/2156DISPLAY:MOV R0,#69H;R0指向緩沖區(qū)首址 MOV R3,#01H;位控碼送R3保存 MOV A,R3 LD0: MOV DPTR,#7F01H;掃描模式送8155的PA口 MOVX DPTR,A INC DPTR MOV A,R0;取顯示數(shù)據(jù) ADD A,#0DH;加偏移量 MOVC A,A+PC;查表取

44、段選碼 DIR1: MOVX DPTR,A;段選碼送8155的PB口 ACALL DL1;延時(shí)1ms INC R0 MOV A,R3 JB ACC.5,LD18.3 鍵盤和顯示器組合接口技術(shù) 2022/7/21578.3 鍵盤和顯示器組合接口技術(shù) RL A MOV R3,A AJMP LD0LD1: RETDSEG: DB 3FH,06H,5BH,4FH,66H ;段碼數(shù)據(jù)表DSEG1:DB 6DH , 7DH,07H,7FH,6FH,77H,DSEG2:DB 7CH, 39H,5EH,79H,71H,73H,DSEG3:DB 3EH, 31H,6EH,1CH,23H,40H,DSEG4:DB

45、 03H, 18H,00,00,00DL1: MOV R7,#02H ;延時(shí)1msDL: MOV R6,#0F8HDL6: DJNZ R6,DL6 DJNZ R7,DL RET 2022/7/21588.3.2 鍵盤及靜態(tài)顯示接口 8.3 鍵盤和顯示器組合接口技術(shù) 2022/7/21598.3 鍵盤和顯示器組合接口技術(shù) 顯示子程序: DIR: SETB P3.3 ;開放顯示輸出 SETB P1.1 MOV R7,#08H MOV R0,#7FH;7FH78H為顯示緩沖區(qū)DL0: MOV A,R0 ;取出要顯示的數(shù)據(jù)ADD A,#0DH ;加偏移量MOVC A,A+PC ;查表取段選碼數(shù)據(jù)MOV

46、 SBUF,A ;送出顯示DL1: JNB T1,DL1;清中斷標(biāo)志CLR TIDEC R0 ;修改指針,指向下一段選碼DJNZ R7,DL0CLR P3.3RETSEGTAB: DB 0C0HDB 0F9H,0A4HDB 0B0H ,99H,92HDB 82H,0F8H, 80HDB 90H, 88H,83HDB 0C6H,0A1HDB 86H,8EH2022/7/21608.3 鍵盤和顯示器組合接口技術(shù) 鍵盤掃描子程序: KEY:MOV A,#00H MOV SBUF,A ;使74LS164輸出全為“0”KL0:JNB TI,KL0 ;判斷串行口數(shù)據(jù)是否發(fā)送完 CLR TIKL1:JNB

47、P3.4,PK1 ;有鍵閉合,轉(zhuǎn)處理,否則返回 AJMP KENDPK1:ACALL DL10 ;延時(shí),去除抖動(dòng) JNB P3.4,PK2 ;確定有鍵按下,查找具體的按鍵 AJMP KENDPK2:MOV R7,#08H ;判斷是哪一個(gè)鍵按下 MOV R6,#0FEH MOV R3,#00H MOV A,R6KL5:MOV SBUF,A2022/7/21618.3 鍵盤和顯示器組合接口技術(shù) KL5:MOV SBUF,AKL2:JNB TI,KL2 ;等待串行接口發(fā)送完畢 CLR TI JB P3.4,NEXT ;此列無鍵按下,轉(zhuǎn)查下一列 MOV A,#00H ;此列有鍵按下,送全掃描字 MOV

48、 SBUF,A KL3: JNB TI,KL3 CLR TIKL4: JNB P3.4,KL4 ;等待鍵釋放 MOV A,R3 ;鍵釋放,取得鍵值KEND:RETNEXT:MOV A,R6 ;判斷下一列是否有鍵按下 RL A MOV R6,A INC R32022/7/2162 DJNZ R7,KL5 ;8列鍵都檢查完否 AJMP KEND ;8列掃描完,返回DL10: MOV R7,#0AH ;延時(shí)10ms (fosc=6MHz)DL: MOV R6,#0F8HDL6: DJNZ R6,DL6 NOP DJNZ R7,DL RET8.3 鍵盤和顯示器組合接口技術(shù) 2022/7/21638.4

49、.1 D/A轉(zhuǎn)換器概述 D/A轉(zhuǎn)換器的原理可以概括為“按權(quán)展開,然后相加”,即D/A轉(zhuǎn)換器能把輸入數(shù)字量中的每一位按權(quán)值分別轉(zhuǎn)換成模擬量,并通過運(yùn)算放大器求和相加。因此D/A轉(zhuǎn)換器內(nèi)部必須有一個(gè)解碼網(wǎng)絡(luò),以便實(shí)現(xiàn)按權(quán)值分別進(jìn)行D/A轉(zhuǎn)換。 8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 1. D/A轉(zhuǎn)換器工作原理 通常解碼網(wǎng)絡(luò)有兩種:T型電阻網(wǎng)絡(luò)和二進(jìn)制加權(quán)電阻網(wǎng)絡(luò)。 虛線框內(nèi)為T型電阻網(wǎng)絡(luò)(橋上電阻均為R,橋臂電阻為2R);OA為運(yùn)算放大器(可以外接),A點(diǎn)為虛地(接近0V);VREF為參考電壓,由穩(wěn)壓電源提供;S3S0為電子開關(guān),受4位DAC寄存器中b3b2b1b0的控制,可以和“0”端相連也可以和

50、“1”端相連。設(shè)b3b2b1b0全為“1”,S3、S2、S1、S0均和“1”端相連。 2022/7/21648.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 2022/7/2165 實(shí)際上,S3S0的狀態(tài)是受b3 b0控制的,并不一定是全“1”,若它們中有些位“0”,S3S0中相應(yīng)開關(guān)會(huì)與“0”端相連而無電流流入A點(diǎn)。將b3 b0作為系數(shù)引入,這樣就得到了下式。 8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 如果選Rf=R,并且考慮A點(diǎn)為虛地,就可以得到 2022/7/2166對(duì)于n位T型電阻網(wǎng)絡(luò),式(8-6)則為: 2. D/A轉(zhuǎn)換器的性能指標(biāo) 8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) (1) 分辨率(Resolu

51、tion):是指D/A轉(zhuǎn)換器能分辨的最小輸出模擬增量,取決于輸入數(shù)字量的二進(jìn)制位數(shù)。 (2)轉(zhuǎn)換時(shí)間(Establishing Time):從D/A轉(zhuǎn)換器輸入的數(shù)字量發(fā)生變化開始,到其輸出模擬量達(dá)到相應(yīng)的穩(wěn)定值所需要的時(shí)間稱為轉(zhuǎn)換時(shí)間 (3)轉(zhuǎn)換精度(Conversion Accuracy):指滿量程時(shí)DAC的實(shí)際模擬輸出值和理論值的接近程度。 (4)偏移量誤差(Offset Error):偏移量誤差是指輸入數(shù)字量為零時(shí),輸出模擬量對(duì)零的偏移值。 (5)線性度(Linearity)誤差:線性度是指DAC的實(shí)際轉(zhuǎn)換特性曲線和理想直線之間的最大偏移差。 (6)輸出電平范圍2022/7/21678.

52、4.2 DAC0832芯片及與單片機(jī)的接口 DAC0832是8位電流型D/A轉(zhuǎn)換器芯片,數(shù)字量輸入端具有雙重緩沖功能,可以雙緩沖、單緩沖或者直通方式輸入。8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 2022/7/21681. D/A轉(zhuǎn)換芯片DAC0832內(nèi)部結(jié)構(gòu) DAC0832內(nèi)部主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器和控制邏輯電路組成。8位輸入寄存器接收從外部發(fā)送來的8位數(shù)字量,鎖存于內(nèi)部的鎖存器中,8位DAC 寄存器從8位輸入寄存器中接收數(shù)據(jù),并且能把接收的數(shù)據(jù)鎖存于內(nèi)部的鎖存器中,8位D/A轉(zhuǎn)換器對(duì)8位DAC寄存器發(fā)送來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果通過和輸出。8位輸入寄存器和8

53、位DAC寄存器分別有自己的控制端Iout1和Iout2 ,通過和及相應(yīng)的控制邏輯,DAC0832可以很容易地實(shí)現(xiàn)雙緩沖、單緩沖或者直通方式輸入。 8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 2. DAC0832的引腳功能 2022/7/21698.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) (1) 與計(jì)算機(jī)相連的引腳 : 片選信號(hào)引腳(低電平有效)。 ILE:輸入鎖存允許信號(hào)(高電平有效)。 :第一級(jí)鎖存寫選通(低電平有效)。當(dāng) 為低電平時(shí),用來將輸入數(shù)據(jù)傳送到輸入鎖存器;當(dāng) 為高電平時(shí),輸入鎖存器中的數(shù)字被鎖存;當(dāng)ILE為高電平時(shí),必須是 和 同時(shí)為低電平時(shí),才能將鎖存器中的數(shù)據(jù)進(jìn)行更新。以上三個(gè)控制信號(hào)構(gòu)

54、成了第一級(jí)輸入鎖存。 2022/7/2170(2)與外設(shè)相連接的引腳 8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) :DAC電流輸出1。當(dāng)DAC寄存器為全1時(shí),表示 為最大值,當(dāng)DAC寄存器為全0時(shí), 表示為0。 :DAC電流輸出2。 為常數(shù)減去 ,或者 + =常數(shù)。在單極性輸出時(shí),通常接地。 RFB:內(nèi)部集成反饋電阻,為外部運(yùn)算放大器提供一個(gè)反饋電壓。:RFB可由內(nèi)部提供,也可以由外部提供。 :第二級(jí)鎖存寫選通(低電平有效)。該信號(hào)與 配合,可使鎖存器中的數(shù)據(jù)傳送到DAC寄存器中進(jìn)行轉(zhuǎn)換。 :傳送控制信號(hào)(低電平有效)。將 與 配合使用,構(gòu)成第二級(jí)鎖存。 DI0DI7:8位數(shù)字量輸入端。(DI0為最

55、低位) 2022/7/2171 VREF:參考電壓輸入,要求外部接一個(gè)精密的電源。當(dāng)VREF為10V(或者5V)時(shí),可以獲得滿量程四象限的可乘操作。 VCC:數(shù)字電路供電電壓,一般為+5+15V。 AGND:模擬地。 DGND:數(shù)字地。8.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) (3)其它引腳 【注意】AGND需要和模擬電路的公共地連接在一起,DGND需要和數(shù)字電路的公共地連接在一起,最后把他們匯接為一點(diǎn)接到總電源的地線上。這樣,可以避免兩種信號(hào)的相互干擾。 3. DAC0832的工作方式 2022/7/21728.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 、(1)直通方式 ILE接+5V、 、 、 和 接

56、地,則DAC0832就在直通方式下工作,常用于不帶微機(jī)的控制系統(tǒng)。 (2)單緩沖方式 兩個(gè)鎖存器中的一個(gè)處于直通狀態(tài),另外一個(gè)處于受控制狀態(tài),或者兩個(gè)同時(shí)被控制,DAC0832就工作于單緩沖方式 。(3)雙緩沖方式 當(dāng)8位輸入鎖存器和8位DAC寄存器分開控制導(dǎo)通時(shí),DAC0832工作于雙緩沖方式,此時(shí)單片機(jī)對(duì)DAC0832的操作分為兩步:第一步,使8位輸入鎖存器導(dǎo)通,將8位數(shù)字量寫入8位輸入鎖存器中;第二步,使8位DAC寄存器導(dǎo)通,8位數(shù)字量從8位輸入鎖存器送入8位DAC寄存器。在第二步操作中只使DAC寄存器導(dǎo)通,在數(shù)據(jù)輸入端寫入的數(shù)據(jù)無意義。這種方式特別適用于要求同時(shí)輸出多個(gè)模擬量的應(yīng)用場(chǎng)合

57、。2022/7/21738.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 單緩沖方式下的DAC0832連接電路 2022/7/21748.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) DAC0832雙緩沖工作方式下的電路圖 2022/7/21758.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 雙緩沖方式子程序如下:MOV DPTR,#0DFFFH ;DPTR指向DFFFHMOV A,#XdataMOVX DPTR,A ;Xdata寫入1#DAC0832MOV DPTR,#0F7FFH ;DPTR指向F7FFHMOV A,#YdataMOVX DPTR,A ;Ydata寫入2#DAC0832MOV DPTR,#7FFFH ;DP

58、TR指向7FFFHMOVX DPTR,A ;啟動(dòng)1#和2#DAC0832工作RET 2022/7/21768.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 4. DAC0832應(yīng)用舉例: 【例題8-1】 DAC0832采用單緩沖方式,電路如圖8-20所示。要求輸出0+5V的三角波,周期為100ms如下圖所示。設(shè)=-5V,DAC0832芯片接口地址為00FEH。編寫D/A轉(zhuǎn)換程序。 2022/7/21778.4 D/A轉(zhuǎn)換器與單片機(jī)接口技術(shù) 解: ORG 2000HSTAR: MOV DPTR,#00FEH;DAC0832地址 MOV A,#00H ;開始輸出0VUP: MOVX DPTR,A ;啟動(dòng)D/A

59、轉(zhuǎn)換 ACALL Delay1 ;延時(shí)50/256 ms INC A ;產(chǎn)生上升段電壓 JNZ UP;上升到A中為FFH(A0跳)DOWN:DEC A ;產(chǎn)生下降段電壓 MOVX DPTR,A ACALL Delay1 ;延時(shí)50/256 ms JNZ DOWN ;下降到A中為00H SJMP UP ;重復(fù) RET2022/7/21788.5 A/D轉(zhuǎn)換器與單片機(jī)接口技術(shù) A/D轉(zhuǎn)換器是模擬量與計(jì)算機(jī)系統(tǒng)或者其它數(shù)字系統(tǒng)之間聯(lián)系的橋梁,它的任務(wù)是將連續(xù)變化的模擬量轉(zhuǎn)換成數(shù)字量,以便計(jì)算機(jī)系統(tǒng)或者其它數(shù)字系統(tǒng)進(jìn)行處理、存儲(chǔ)、控制和顯示。 A/D轉(zhuǎn)換器按轉(zhuǎn)換原理分為4種:逐次逼近式A/D轉(zhuǎn)換器、雙

60、積分式A/D轉(zhuǎn)換器、計(jì)數(shù)式A/D轉(zhuǎn)換器和并列式A/D轉(zhuǎn)換器。其中應(yīng)用最為廣泛的是逐次逼近式A/D轉(zhuǎn)換器。 8.5.1 A/D轉(zhuǎn)換器的工作原理 逐次逼近式A/D轉(zhuǎn)換器由一個(gè)N位寄存器、D/A轉(zhuǎn)換器、比較器及控制電路4部分組成 。 N位的轉(zhuǎn)換過程:當(dāng)欲轉(zhuǎn)換的模擬量Vin輸入后,啟動(dòng)A/D轉(zhuǎn)換器開始進(jìn)行模/數(shù)轉(zhuǎn)換。先把N位寄存器的最高位DN-1置“1”,其余位全送“0”,即N位寄存器數(shù)字量為10000000B(N=8位),該數(shù)字量經(jīng)D/A轉(zhuǎn)換器變換成模擬信號(hào)Vn,然后Vin與Vn進(jìn)行比較。 2022/7/21798.5 A/D轉(zhuǎn)換器與單片機(jī)接口技術(shù) 如果VinVn,保留DN1位的“1”。反之,若Vi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論