單片機原理與應用技術_第1頁
單片機原理與應用技術_第2頁
單片機原理與應用技術_第3頁
單片機原理與應用技術_第4頁
單片機原理與應用技術_第5頁
已閱讀5頁,還剩124頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第10章 應用系統(tǒng)設計及接口技術 課時:12學時教學目的 了解單片機應用系統(tǒng)設計方法及開發(fā)工具。掌握獨立式鍵盤和矩陣式鍵盤的原理與應用。掌握LED顯示器的原理與靜態(tài)顯示和動態(tài)顯示的特點。掌握LCD顯示器的原理與筆段型LCD的應用。掌握D/A轉(zhuǎn)換常用芯片特性及應用。掌握A/D轉(zhuǎn)換常用芯片特性及應用。通過設計二個實例,了解工程設計中的一些方法和技巧。學習重點和難點 四個模塊技術(鍵盤、顯示、D/A轉(zhuǎn)換、A/D轉(zhuǎn)換)的掌握和綜合應用。應用系統(tǒng)的程序設計和調(diào)試。第10章 應用系統(tǒng)設計及接口技術 10.1 單片機應用系統(tǒng)概述 10.2 鍵盤接口 10.3 顯示器接口 10.4 數(shù)/模轉(zhuǎn)換接口 10.5

2、模/數(shù)轉(zhuǎn)換接口 10.6 單片機應用系統(tǒng)實例 本章小結(jié)習題 10.1 單片機應用系統(tǒng)概述10.1.1 單片機應用系統(tǒng)的結(jié)構 10.1.2 單片機應用系統(tǒng)的設計方法 10.1.3 單片機應用系統(tǒng)的開發(fā)工具 10.1.1 單片機應用系統(tǒng)的結(jié)構單片機應用系統(tǒng)是為完成某項任務而研制開發(fā)的用戶系統(tǒng),是以單片機為核心,配以外圍電路和軟件,能實現(xiàn)設定任務、功能的實際應用系統(tǒng)。根據(jù)不同的用途和要求,單片機應用系統(tǒng)的系統(tǒng)配置及軟件也就有所不同,但它們的開發(fā)過程和方法大致相同。 一般的通用計算機系統(tǒng)大概包括以下一些主要設備:主機(有主板、CPU、內(nèi)存條)、人機交流設備(鍵盤、鼠標、顯示器)、存儲器(光驅(qū)、軟驅(qū)、U

3、盤等)、網(wǎng)卡、打印機等。 10.1.1 單片機應用系統(tǒng)的結(jié)構單片機應用系統(tǒng)所需要的一般配置: 單片機。人機交流設備。輸入設備有鍵盤和按鍵,輸出設備有數(shù)碼管、液晶顯示模塊和指示燈等。信號采集的輸入通道。如出租車的測距、測速裝置,溫控系統(tǒng),溫度計的溫度傳感器、洗衣機的水位測量設備。向操作對象發(fā)出各種控制信號的輸出通道。如空調(diào)啟動壓縮機的開關電路,控制彩電的頻道切換、顏色、音量等的接口電路。如果需與其他計算機系統(tǒng)或智能設備實現(xiàn)信息交換,還需配置通信接口電路。有時還需擴展外部RAM、EEPROM用于存放數(shù)據(jù)。如彩電遙控系統(tǒng)中存放系統(tǒng)數(shù)據(jù)的存儲器。10.1.1 單片機應用系統(tǒng)的結(jié)構單片機典型應用系統(tǒng)的結(jié)

4、構 10.1.2 單片機應用系統(tǒng)的設計方法單片機應用系統(tǒng)的技術要求各不相同,針對具體的任務,設計方法和步驟也不完全相同。這里我們只能討論單片機應用系統(tǒng)的一般設計方法。為完成某一任務的單片機應用系統(tǒng)需要包含硬件和軟件系統(tǒng)。硬件和軟件必須緊密結(jié)合,協(xié)調(diào)一致才能正常工作。在系統(tǒng)研制過程中,硬件設計和軟件設計不能截然分開。硬件設計時應考慮軟件設計方法,而軟件也一定是基于硬件根底上進行設計的。這就是所謂的“軟硬結(jié)合。單片機應用系統(tǒng)的研制過程包括確定任務、總體設計、硬件設計、軟件設計、系統(tǒng)調(diào)試、產(chǎn)品化等幾個階段。它們不是絕對分開的,有時是交叉進行的。 10.1.3 單片機應用系統(tǒng)的開發(fā)工具單片機應用系統(tǒng)開

5、發(fā)必須經(jīng)過調(diào)試階段,只有經(jīng)過調(diào)試才能發(fā)現(xiàn)問題,改正錯誤,最終完成開發(fā)任務。實際上,對于較復雜的程序,大多數(shù)情況下都不可能一次性就調(diào)試成功,即使是資深程序員也是如此。單片機只是一塊芯片而已,本身并無開發(fā)能力,要借助開發(fā)工具才能實現(xiàn)系統(tǒng)設計。開發(fā)工具主要包括電腦、編程器(又稱寫入器)、仿真機。如果使用EPROM作為存儲器還要配備紫外線擦除器。其中必不可少的工具是電腦和編程器(當然對于在線可編程的單片機,如89S51,也可以不用編程器,而通過下載電纜下載)。 10.1.3 單片機應用系統(tǒng)的開發(fā)工具1. 仿真機及其使用(1) 開發(fā)環(huán)境單片機程序的編寫、編譯、調(diào)試等都是在一定的集成開發(fā)環(huán)境下進行的。集成

6、開發(fā)環(huán)境仿真軟件(ICE)將文件的編輯,匯編語言的匯編、連接,高級語言的編譯、連接高度集成于一體,能對匯編程序和高級程序進行仿真調(diào)試。單片機程序如果是匯編編寫的,文件名后必須加后綴名“.ASM。如果是C51編寫的,必須加后綴名“.C。10.1.3 單片機應用系統(tǒng)的開發(fā)工具(2) 仿真機的使用為了實現(xiàn)目標系統(tǒng)的一次性完全開發(fā),必須用到仿真機(也稱在線仿真機)。在線仿真機的主要作用是能完全“逼真地扮演用戶單片機的角色,且能在集成開發(fā)環(huán)境中對運行程序進行各種調(diào)試操作,即時發(fā)現(xiàn)問題,即時修改程序,從而提高工作效率,縮短開發(fā)周期。仿真機的種類很多,如南京偉福系列仿真機、南京萬利MPE5103仿真機等,價

7、格通常在千元以上。每個仿真機都配有使用說明書詳細介紹其使用方法,故在這里將不對仿真機進行詳細介紹。 10.1.3 單片機應用系統(tǒng)的開發(fā)工具(2) 仿真機的使用使用時,在線仿真機通過RS-232插件與電腦的COM1或COM2端口相連。在斷電情況下,撥下用戶系統(tǒng)的單片機和EPROM,代之以仿真頭,如以下圖所示。運行仿真調(diào)試程序,通過跟蹤執(zhí)行,能即時發(fā)現(xiàn)軟硬件方面的問題并進行修正。當設計到達滿足系統(tǒng)要求后,將調(diào)試好的程序編譯時形成的二進制文件用編程器燒寫到芯片中,一個應用系統(tǒng)就調(diào)試成功了。單片機的在線仿真10.1.3 單片機應用系統(tǒng)的開發(fā)工具2. 編程器當我們編寫好的程序在集成開發(fā)環(huán)境編譯通過后,會

8、形成一個二進制文件(文件名與源程序文件名相同,后綴名為“.BIN)或十六進制文件(后綴名為“.HEX),即形成所謂的目標程序。這個目標程序必須利用編程器才能將目標文件燒寫到單片機的程序存儲器中,從而讓單片機系統(tǒng)的硬件和軟件真正結(jié)合起來,組成一個完整的單片機系統(tǒng)。編程器的主要功能是將目標程序燒寫到芯片中,其與電腦的連接如以下圖所示。編程器的使用比較簡單,讀者只要有時機使用,在非常短的時間內(nèi)就能學會。 編程器與計算機的連接10.1.3 單片機應用系統(tǒng)的開發(fā)工具2. 編程器編程器的種類也很多,不同檔次的編程器價格相差很大,從150元到7000多元不等;檔次的差異在于燒寫可編程芯片的類型的多少。目前巿

9、面上常見的有臺灣河洛生產(chǎn)的ALLXX系列、南京西爾特公司的SP系列、北京潤飛的RF系列,廣州升洪的TOP系列等。如果僅僅是用于學習或是僅針對常用單片機的開發(fā),一般買較低檔的編程器就可以,價格大概在200元左右。仿真器和編程器是單片機開發(fā)的重要工具,熟練使用這些工具是每個單片機開發(fā)人員必備的根本技能,而這些工具的使用只有通過實踐才能掌握。 10.2 鍵盤接口 10.2.1 鍵盤的結(jié)構與原理 10.2.2 獨立式鍵盤應用實例 10.2.3 矩陣式鍵盤應用實例 10.2.1 鍵盤的結(jié)構與原理鍵盤是單片機應用系統(tǒng)中人機交流不可缺少的輸入設備。鍵盤由一組規(guī)那么排列的按鍵組成,一個按鍵實際上是一個開關元件

10、。鍵盤通常使用機械觸點式按鍵開關,其主要功能是把機械上的通斷轉(zhuǎn)換為電氣上的邏輯關系(1和0)。常見的種類有:獨立式按鍵和矩陣式鍵盤。 10.2.1 鍵盤的結(jié)構與原理1. 獨立式按鍵 結(jié)構如以下圖所示,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵工作不會影響其他I/O口線的狀態(tài)。多用于所需按鍵不多的場合??刹捎肑NB(或JB)來查詢哪一個按鍵按下,并轉(zhuǎn)向相應的功能處理程序。 JNB P1.0, A0 ;如P1.0鍵按下,就跳到A0 JNB P1.1, A1 ;如P1.1鍵按下,就跳到A1 JNB P1.2, A2 ;如P1.2鍵按下,就跳到A2 JNB P1.3, A3 ;如P1.3鍵按下,

11、就跳到A3 JNB P1.4, A4 ;如P1.4鍵按下,就跳到A4 JNB P1.5, A5 ;如P1.5鍵按下,就跳到A5 JNB P1.6, A6 ;如P1.6鍵按下,就跳到A6 JNB P1.7, A7 ;如P1.7鍵按下,就跳到A710.2.1 鍵盤的結(jié)構與原理2. 矩陣式鍵盤 單片機系統(tǒng)中,假設使用按鍵較多時,通常采用矩陣式鍵盤,其結(jié)構如以下圖所示。由圖可知,一個44的行、列結(jié)構,可以構成一個含有16個按鍵的鍵盤,節(jié)省了很多I/O口。 控制方式:先判斷是否有鍵按下。 如有,再判斷哪一鍵按下,并得到 鍵碼值,然后根據(jù)鍵碼值轉(zhuǎn)向不同 的功能程序。矩陣式結(jié)構鍵盤比獨立式按鍵要復 雜,識別

12、也要復雜一些。最常用的 識別方法是鍵盤掃描法,將在 小節(jié)進行具體說明。 10.2.1 鍵盤的結(jié)構與原理3. 鍵盤設計應注意的問題機械式按鍵在按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如右圖所示,抖動時間的長短與開關的機械特性有關,一般為510ms。 按鍵觸點的機械抖動10.2.1 鍵盤的結(jié)構與原理3. 鍵盤設計應注意的問題在觸點抖動期間檢測按鍵的通與斷狀態(tài),可能導致判斷出錯,即按鍵一次按下或釋放被錯誤地認為是屢次操作。系統(tǒng)設計中如果開關脈沖是作為外部中斷觸發(fā)信號或要對開關脈沖進行計數(shù)時,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點機械抖

13、動所致的檢測誤判,必須采取去抖動措施,可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時,可采用硬件去抖;而當鍵數(shù)較多時,采用軟件去抖。 10.2.1 鍵盤的結(jié)構與原理3. 鍵盤設計應注意的問題在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構成去抖動電路,如以下圖所示是一種由R-S觸發(fā)器構成的去抖動電路,當觸發(fā)器翻轉(zhuǎn)時,觸點抖動不會對其產(chǎn)生任何影響。鍵盤輸出經(jīng)雙穩(wěn)態(tài)電路之后變?yōu)闃藴实木匦畏讲ā?雙穩(wěn)態(tài)去抖動電路10.2.1 鍵盤的結(jié)構與原理3. 鍵盤設計應注意的問題軟件上采取的措施是在檢測到有按鍵按下時,執(zhí)行一個10ms左右(具體時間應視所使用的按鍵進行調(diào)整)的延時程序,再確認該

14、鍵電平是否仍保持閉合狀態(tài)電平,假設仍保持閉合狀態(tài)電平,那么確認該鍵處于閉合狀態(tài);同理,在檢測到該鍵釋放后,也應采用相同的步驟進行確認,從而消除抖動的影響。10.2.2 獨立式鍵盤應用實例【例1】 監(jiān)視某開關S,用發(fā)光二極管LED顯示開關狀態(tài),如果開關閉合,LED亮;如果開關斷開,LED滅。解:設計電路圖如以下圖所示。開關接P1.1,當開關斷開時,P1.1為+5V,對應數(shù)字量為“1;開關閉合時,P1.1為0V,對應數(shù)字量為“0,這樣就可以用JB指令對開關狀態(tài)進行檢測。P1.0輸出“1,LED亮。當P1.0輸出“0,LED兩端電壓相等,熄滅。 參考程序如下: ORG 0000H CLR P1.0

15、; 使發(fā)光二極管滅NEXT: SETB P1.1 ; 先對P1.1寫1 JB P1.1, L1 ; 開關斷開,跳至L1 SETB P1.0 ; 開關合上,發(fā)光二極管亮 SJMP NEXT L1 : CLR P1.0 ; 開關斷開,發(fā)光二極管滅 SJMP NEXT END10.2.2 獨立式鍵盤應用實例開關監(jiān)視控制電路圖 10.2.2 獨立式鍵盤應用實例【例2】 信號燈控制電路如以下圖所示,其功能是當按下不同的鍵時發(fā)光二極管有不同的亮滅規(guī)律。按1號鍵LED從左到右依次亮,按2號鍵從右到左依次亮,按3號鍵閃爍,按4號鍵呈流水追逐效果。 解:電路圖中P1口分別接了4個開關,每個開關都有相對應的功能,

16、當某一開關閉合時,相應的口線變?yōu)榈碗娖?,而其他口線依然為高電平,因此,可以用4條JNB指令對開關狀態(tài)進行檢測。如果某一按鍵按下,那么跳轉(zhuǎn)執(zhí)行其所對應的控制功能。八個發(fā)光二極管經(jīng)74LS04接P2口,主要因單片機的驅(qū)動能力較差,故用74LS04來加大驅(qū)動能力。P2口輸出控制信號控制發(fā)光規(guī)律。 程序設計流程圖如以下圖所示。 信號燈控制電路 10.2.2 獨立式鍵盤應用實例信號燈控制程序設計流程圖 ORG 0000H MOV SP, #60H MOV P2, #00H MOV P1, #0FH START: JNB P1.0, A0 ; 如P1.0鍵按下,就跳至A0 JNB P1.1, A1 ; 如

17、P1.1鍵按下,就跳至A1 JNB P1.2, A2 ; 如P1.2鍵按下,就跳至A2 JNB P1.3, A3 ; 如P1.3鍵按下,就跳至A3 SJMP START * 左移 * A0: MOV DPTR, #TAB ; 左移常數(shù)表首地址送DPTR ACALL DISP SJMP START * 右移 * A1: MOV DPTR, #TAB1 ; 右移常數(shù)表首地址送DPTR ACALL DISP SJMP START * 閃爍 * A2: MOV DPTR, #TAB2 ; 閃爍常數(shù)表首地址送DPTR ACALL DISP SJMP START 信號燈控制參考程序* 流水追逐 * A3:

18、 MOV DPTR, #TAB3 ; 流水追逐常數(shù)表首地址送DPTR ACALL DISP SJMP START * LED顯示控制子程序 * 功能:根據(jù)常數(shù)表控制P2口的LED發(fā)光 入口:常數(shù)表的地址送到DPTR 出口:無* DISP: CLR A MOVC A, A+DPTR CJNE A,#0AH,LOOP1 RET LOOP1: MOV P2,A MOV R3,#20 ACALL DELAY INC DPTR JMP DISP 信號燈控制參考程序 DELAY: MOV R4,#20 D1: MOV R5,#248 DJNZ R5, $ DJNZ R4, D1 DJNZ R3, DELA

19、Y RET TAB : DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0AH ; 左移 TAB1: DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH,0AH ; 右移 TAB2: DB 0FFH,00H,0FFH,00H,0FFH,00H,0FFH,00H,0AH ; 閃爍 TAB3: DB 01H,02H,06H,08H,10H,20H,60H,80H,0AH ; 流水追逐 END信號燈控制參考程序說明:本例中,根據(jù)所按下的鍵輸入不同的常數(shù)表地址到DPTR,然后再調(diào)用顯示子程序(DPTR為DISP程序的入口條件),從而根據(jù)不同的參數(shù)

20、控制發(fā)光二極管的變化規(guī)律。顯然通過改變常數(shù)表可任意設定發(fā)光規(guī)律,讀者可以試一下。調(diào)用子程序,可使程序設計實現(xiàn)模塊化,但必須明確子程序的功能、入口和出口參數(shù)。通過以上兩個實例可以看出獨立式鍵盤應用的特點:識別鍵盤比較容易,編程也比較簡單,很適合于功能鍵較少的單片機應用系統(tǒng)。但每一個按鍵上用一根口線,當按鍵較多時(超過8個)應采用矩陣式鍵盤。 10.2.3 矩陣式鍵盤應用實例【例3】 44鍵盤硬件電路如以下圖所示。設計采用鍵盤掃描法得到鍵碼值的程序。解:鍵盤輸入程序設計有以下幾個方面。(1) 判別鍵盤上有無鍵閉合 其方法為:P1.0P1.3輸出0,然后讀P1口,假設高4位P1.4P1.7全為1,那

21、么鍵盤上沒有閉合鍵,假設P1.4P1.7不全為1,那么有鍵處于閉合狀態(tài)。(2) 去除鍵的機械抖動 其方法為:當判別到鍵盤上有鍵閉合后,延時一段時間再判別鍵盤的狀態(tài),假設仍有鍵閉合,那么認為鍵盤上有一個鍵處于穩(wěn)定的閉合狀態(tài),否那么認為鍵抖動。 10.2.3 矩陣式鍵盤應用實例44鍵盤硬件電路圖 10.2.3 矩陣式鍵盤應用實例(3) 判別閉合鍵的鍵號 其方法為:對鍵盤的行線進行掃描,P1.3P1.0依次循環(huán)輸出1110、1101、1011和0111,相應地讀P1口,假設高4位P1.7P1.4全為“1,那么說明該行上沒有鍵閉合;否那么,這一行上有鍵閉合,而且就是行線為0,列線為0的交叉鍵。高4位和

22、低四位合并即得到鍵碼值。 例如,P1.3P1.0輸出“1110時,讀入P1.7P1.4為“1101時,即不全為“1,說明有鍵按下,那一個鍵呢?顯然是P1.0與P1.5交叉的鍵。將高四位和低四位合并后的值為“11011110;也就是該鍵的鍵碼值。依此類推可得各鍵的健碼值。各鍵和對應的鍵碼值如以下圖所示。(4) 使CPU對鍵的一次閉合僅作一次處理 采用的方法是等待閉合鍵釋放以后再作處理。 各鍵和對應的鍵碼值 44鍵盤參考程序如下。該程序可作為子程序來調(diào)用,入口參數(shù)無,出口參數(shù)為鍵碼值,存于A。 本例的另一種實現(xiàn)方法:以上程序所得到的鍵碼值,離散性較大,不利于用指令對按鍵進行處理??刹捎冒存I編碼為依

23、次排列鍵號的程序設計方法。詳見教材,這里不再贅述。 44鍵盤參考程序 KEY: MOV P1,#0F0H ; P1.0P1.3輸出0,P1.4P1.7輸出1 MOV A,P1 ; 讀鍵盤, 檢測有無鍵按下 ANL A,#0F0H ; 屏蔽P1.0P1.3,檢測P1.4P1.7是否全為1 CJNE A,#0F0H,HAVE ; P1.4P1.7不全為1,有鍵按下 SJMP KEY ; P1.4P1.7全為1,無鍵按下,重新檢測鍵盤 HAVE: MOV A,#0FEH ; 有鍵按下,逐行掃描鍵盤,置掃描初值 NEXT: MOV B,A ; 掃描碼暫存于B MOV P1,A ; 輸出掃描碼 READ

24、: MOV A,P1 ; 讀鍵盤 ANL A,#0F0H ; 屏蔽P1.0P1.3,檢測P1.4P1.7是否全為1 CJNE A,#0F0H,YES ; P1.4P1.7不全為1,該行有鍵按下 MOV A,B ; 被掃描行無鍵按下,準備查下一行 RL A ; 置下一行掃描碼 CJNE A,#0EFH,NEXT ; 未掃描到最后一行,那么循環(huán) YES : ACALL DELAY ; 延時,去抖動 ARED: MOV A,P1 ; 再讀鍵盤 ANL A,#0F0H ; 屏蔽P1.0P1.3,保存P1.4P1.7(列碼) MOV R2,A ; 暫存列碼 MOV A,B ANL A,#0FH ; 取行

25、掃描碼 ORL A,R2 ; 行碼、列碼合并為鍵碼 PUSH A ; 鍵碼入堆棧 KS: ACALL DELAY ; 延時 MOV P1,#0F0H ; P1.0P1.4為0,檢測鍵是否放開 MOV A,P1 ; 讀P1 CPL A ; 鍵如果已松開,取反后P1高四位全為0 ANL A,#0F0H ; 保存高四位 JNZ KS ; 判斷,鍵松開那么返回,否那么繼續(xù)等待 POP A ; 彈出鍵碼 RET ; 返回 DELAY: MOV R7,#60 ; 延時子程序 D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 RET END44鍵盤參考程序 10.2.3 矩陣式鍵盤應

26、用實例編程說明:在單片機應用系統(tǒng)中,鍵盤掃描只是系統(tǒng)的局部程序。進行軟件系統(tǒng)編程時,一般作為子程序調(diào)用或中斷效勞程序使用。該子程序入口參數(shù)為無,出口參數(shù)為鍵碼值,存于A。因此,其調(diào)用十分簡單,但一定要注意返回的鍵碼值所對應的鍵在鍵盤的哪個位置,即要掌握鍵碼分配表。矩陣式鍵盤盡管比獨立式鍵盤復雜。但有了上述子程序后,只要學會調(diào)用,你甚至不需要知道鍵盤掃描程序是如何編寫的,COPY即可,編程也就變得十分簡單了。從這可以看出平時注意查閱資料,收集實用子程序,掌握子程序的調(diào)用,對提高編程效率是多么重要。 10.3 顯示器接口 10.3.1 LED顯示器的結(jié)構與原理 10.3.2 LED顯示器靜態(tài)顯示及

27、應用實例 10.3.3 LED顯示器動態(tài)顯示及應用實例 10.3.4 LCD顯示器的結(jié)構與原理及應用 10.3.1 LED顯示器的結(jié)構與原理1. 結(jié)構種類七段LED顯示器(數(shù)碼管)系發(fā)光器件的一種。常用的LED發(fā)光器件有兩類:數(shù)碼管和點陣。數(shù)碼管內(nèi)部由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。常見數(shù)碼管有10根管腳。管腳排列如以下圖所示。其中COM為公共端,根據(jù)內(nèi)部發(fā)光二極管的接線形式可分為共陰極和共陽極兩種。使用時,共陰極數(shù)碼管公共端接地,共陽極數(shù)碼管公共端接電源。每段發(fā)光二極管需510mA的驅(qū)動電流才能正常發(fā)光,一般需加限流電阻控制電流的大小。 10.3.1

28、LED顯示器的結(jié)構與原理 管腳排列 共陰極數(shù)碼管 共陽極數(shù)碼管10.3.1 LED顯示器的結(jié)構與原理2. 顯示原理LED數(shù)碼管的ag七個發(fā)光二極管。加正電壓的發(fā)光,加零電壓的不能發(fā)光,不同亮暗的組合就能形成不同的字型,這種組合稱為字型碼。共陽極和共陰極的字型碼是不同的,如下表所示。 可采用硬件譯碼輸出字型碼控制顯示內(nèi)容,如采用74LS48、CD4511(共陰極)或74LS46(74LS47)、CD4513(共陽極)。也可用單片機I/O口直接輸出字型碼控制數(shù)碼管的顯示內(nèi)容。用單片機驅(qū)動LED數(shù)碼管顯示有很多方法,按顯示方式分有靜態(tài)顯示和動態(tài)顯示。 LED字型顯示代碼表 2. 顯示原理顯示 段 符

29、 號十六進制代碼dp gfedcba共陰極共陽極0123456789AbCdEFHP0000000000000000000011111011110111111000111011111011111010001010111111111011011011011110001101111111110100101111100111100100111011011111101011013FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0HF9HA4HB0H99H92H82HF8H80H90H88H83HC6HA1H86H8EH89H8CH10.3.2

30、 LED顯示器靜態(tài)顯示及應用實例1. 靜態(tài)顯示的特點靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出去后,數(shù)碼管始終顯示該數(shù)據(jù)(不變),CPU不再控制LED。到下一次顯示時,再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的接口電路采用一個并行口接一個數(shù)碼管,數(shù)碼管的公共端按共陰極或共陽極分別接地或接VCC。這種接法,每個數(shù)碼管都要單獨占用一個并行I/O口,以便單片機傳送字形碼到數(shù)碼管控制數(shù)碼管的顯示。顯然其缺點就是當顯示位數(shù)多時,占用I/O口過多。為了解決靜態(tài)顯示I/O口占用過多的問題,可采用串行接口擴展LED數(shù)碼管的技術。靜態(tài)顯示方式的優(yōu)點是顯示的數(shù)據(jù)穩(wěn)定,無閃爍,占用CPU時間少。其

31、缺點是由于數(shù)碼管始終發(fā)光,功耗比較大。 10.3.2 LED顯示器靜態(tài)顯示及應用實例2. 應用實例【例5】 用一位數(shù)碼管顯示開關來回撥動的次數(shù)。 解:電路如以下圖所示,89S51的P1口經(jīng)74LS373接一個共陰極數(shù)碼管,數(shù)碼管的公共端接地。P1口輸出字型碼送至數(shù)碼管,就能控制數(shù)碼管的顯示內(nèi)容。74LS373為8D鎖存器,在電路中起驅(qū)動作用。兩個與非門組成的RS觸發(fā)器主要起消抖作用,用來消除開關按下及彈起過程中的抖動所引起的判斷錯誤。開關信號經(jīng)消抖動電路后接單片機的INT1引腳。每來回撥動一次將產(chǎn)生一個下降沿信號,通過INT1向CPU申請中斷。 軟件設計時,可用R0作為記錄中斷次數(shù)的指針(每中

32、斷一次R0加1),然后根據(jù)R0用查表程序查出對應的字形碼,再由P1口送出,控制數(shù)碼管顯示中斷次數(shù)值。 一位數(shù)碼管顯示電路圖 ORG 000H AJMP MAIN ORG 0013H AJMP INT1 ; 外部中斷1入口地址 * 主程序 * MAIN: SETB EA ; 開通中斷開關 SETB EX1 ; 開外部中斷 SETB IT1 ; 下降沿觸發(fā) MOV R0,#0 ; 計數(shù)指針清0 MOV P1,#3FH ; 開始顯示0 MOV DPTR,#TAB ; 字形碼地址送DPTR SJMP $ ; 等待中斷(開關來回撥動一次產(chǎn)生一次中斷) * 外部中斷處理程序 * INT1: INC R0

33、; 開關每來回撥動一次計數(shù)指針加1 MOV A,R0 MOVC A,A+DPTR ; 查字形碼 MOV P1,A ; 字形碼送P1顯示 CJNE R0,#0FH,RE ; 是否等于15次 MOV R0,#00H ; 計數(shù)指計清0 RE: RETI TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ; 字形碼 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END 一位數(shù)碼管顯示參考程序10.3.3 LED顯示器動態(tài)顯示及應用實例1. 動態(tài)顯示的特點動態(tài)掃描方法是用其接口電路把所有數(shù)碼管的8個筆劃段ag和dp同名端連在一起,而每一個數(shù)碼管的公共

34、極COM各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有數(shù)碼管接收到相同的字形碼。但究竟是哪個數(shù)碼管亮,那么取決于COM端,COM端與單片機的I/O口相連接,由單片機輸出位碼到I/O控制何時哪一位數(shù)碼管亮。動態(tài)掃描用分時的方法輪流控制各個數(shù)碼管的COM端,使各個數(shù)碼管輪流點亮。在輪流點亮數(shù)碼管的掃描過程中,每位數(shù)碼管的點亮時間極為短暫。但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。10.3.3 LED顯示器動態(tài)顯示及應用實例1. 動態(tài)顯示的特點優(yōu)點:當顯示位數(shù)較多時,采用動態(tài)顯示方式比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示簡單。缺點:其穩(wěn)定度不如靜態(tài)顯

35、示方式。而且在顯示位數(shù)較多時CPU要輪番掃描,占用CPU較多的時間。 10.3.3 LED顯示器動態(tài)顯示及應用實例2. 應用實例【例8】 采用兩位數(shù)碼管動態(tài)掃描顯示按鍵來回撥動次數(shù)。解:硬件電路設計如以下圖所示。7407的兩個輸出引腳分別接至兩位數(shù)碼管(共陰)的公共端,控制每位數(shù)碼管的分時顯示,實現(xiàn)動態(tài)掃描顯示。 軟件設計以單片機內(nèi)部RAM的30H、31H作為顯示數(shù)據(jù)緩存,兩位段碼的獲取及每位數(shù)碼管的顯示控制由顯示子程序完成。參考程序如下。 兩位數(shù)碼管動態(tài) 掃描顯示電路 AD0EQU 30H ; 個位顯存 AD1EQU 31H ; 十位顯存 ORG 0000H AJMP MAIN ORG 00

36、13H ; 外部中斷入口地址 AJMP INT1 *主程序* MAIN:MOV SP,#60HMOV AD0,#0 ; 顯存清0MOV AD1,#0 SETB EA ; 開通中斷開關SETB EX1 ; 開外部中斷SETB IT1 ; 下降沿觸發(fā) LOOP:MOV R2,#0FDH ; 顯示位碼(十位)初值送R2ACALL DISP ; 調(diào)兩位顯示子程序SJMP LOOP兩位數(shù)碼管動態(tài)掃描顯示參考程序 *外部中斷處理程序* 完成計算開關來回撥動的次數(shù),并進行BCD碼調(diào)整* INT1:INC AD0 ; 每中斷一次(開關來回撥動一次) 計數(shù)加1MOV A,AD0 CJNE A,#10,LOOP1

37、 ; 個位小于10 ?MOV AD0,#0 ; 等于10,個位調(diào)整為0十位加1INC AD1MOV A,AD1CJNE A,#10,LOOP1 ; 計數(shù)是否等于100?MOV AD1,#0 ; 等于100,個位十位調(diào)整為0LOOP1:RETI ; 返回 兩位數(shù)碼管動態(tài)掃描顯示參考程序 *兩位動態(tài)顯示子程序*功能:兩位數(shù)碼動態(tài)顯示(P1口送字形碼,P2口送位碼)入口:顯存地址AD1,AD0,位顯碼初值R2(0FDH)* DISP: MOV DPTR,#TAB ; 字形碼首地址MOV R0,#AD1 ; 十位顯存地址送R0NEXT: MOV A,R0 MOVC A,A+DPTR ; 查字形碼MOV

38、 P1,A ; 字形碼送P1MOV P2,R2 ; 位顯碼送P2ACALL DELAY ; 延時DEC R0 ; 指向下一地址MOV A,R2 RR A ; 指向下一位顯MOV R2,A CJNE R2,#07FH,NEXT ; 2位數(shù)碼顯示完?RET ; 顯示完返回DELAY: ; 延時子程序(略)TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ,7FH,6FH ; 字形碼兩位數(shù)碼管動態(tài)掃描顯示參考程序 10.3.4 LCD顯示器的結(jié)構與原理及應用1. LCD顯示器簡介(1) LCD顯示器的結(jié)構和原理液晶顯示器的結(jié)構圖如以下圖所示。不同類型的液晶顯示器件其組成

39、可能會有所不同,但是所有液晶顯示器件都可以認為是由兩片光刻有透明導電電極的基板,夾持一個液晶層,封接成一個扁平盒,有時在外外表還可能貼裝上偏光片等構成。玻璃基板是一種外表極其平整的浮法生產(chǎn)薄玻璃片。外表蒸鍍有一層 In2O3或SnO2透明導電層,即ITO膜層。經(jīng)光刻加工制成透明導電圖形。這些圖形由像素圖形和外引線圖形組成。因此,外引線不能進行傳統(tǒng)的錫焊,只能通過導電橡膠條或?qū)щ娔z帶等進行連接。如果劃傷、割斷或腐蝕,那么會造成器件報廢。 10.3.4 LCD顯示器的結(jié)構與原理及應用1. LCD顯示器簡介(1) LCD顯示器的結(jié)構和原理 液晶顯示器的結(jié)構圖 10.3.4 LCD顯示器的結(jié)構與原理及

40、應用1. LCD顯示器簡介(1) LCD顯示器的結(jié)構和原理液晶材料是液晶顯示器件的主體。不同器件所用液晶材料不同,液晶材料大都是由幾種乃至十幾種單體液晶材料混合而成。每種液晶材料都有自己固定的清亮點TL和結(jié)晶點TS。因此也要求每種液晶顯示器件必須使用和保存在TSTL之間的一定溫度范圍內(nèi),如果使用或保存溫度過低,結(jié)晶會破壞液晶顯示器件的定向?qū)?;而溫度過高,液晶會失去液晶態(tài),也就失去了液晶顯示器件的功能。液晶顯示的原理是液晶在電場的作用下,液晶分子的排列方式發(fā)生了改變,從而使其光學性質(zhì)發(fā)生了變化。 10.3.4 LCD顯示器的結(jié)構與原理及應用1. LCD顯示器簡介(2) LCD顯示器分類 從顯示的

41、形式上通??煞止P段型、字符型和點陣圖形型。筆段型。筆段型 LCD是以長條狀顯示像素組成一位顯示。 在形狀上總是圍繞數(shù)字“8的結(jié)構變化,廣泛用于電子表、數(shù)字儀表中。字符型。字符型液晶顯示模塊是專門用來顯示字母、數(shù)字、符號等的點陣型液晶顯示模塊。在電極圖形設計上它是由假設干個 5 8或 511點陣組成,每一個點陣顯示一個字符。這類模塊廣泛應用于尋呼機、 、電子記事本等類電子設備中。點陣圖形型。點陣圖形型是在一平板上排列多行和多列,形成矩陣形式的晶格點,點的大小可根據(jù)顯示的清晰度來設計。這類液晶顯示器可廣泛用于圖形顯示如游戲機、筆記本電腦和彩色電視等設備中。10.3.4 LCD顯示器的結(jié)構與原理及應

42、用1. LCD顯示器簡介(2) LCD顯示器分類 液晶顯示器件在使用時必須選配相應的控制器和驅(qū)動器才能工作。將液晶顯示器件、控制器、PCB線路板、背光源、結(jié)構件裝配在一起的組件稱之為液晶顯示模塊。只需通過控制器接口外接數(shù)字信號或模擬信號即可驅(qū)動LCD顯示。因液晶顯示模塊使用方便、簡潔,在字符型LCD和點陣圖形型LCD中得到廣泛應用。 10.3.4 LCD顯示器的結(jié)構與原理及應用2. 8051與筆段型LCD的接口及應用(1) 液晶顯示控制器ICM7211簡介 ICM7211是MAXIM公司推出的四位七段碼LCD液晶顯示驅(qū)動器。該器件內(nèi)部含有輸入數(shù)據(jù)鎖存器、BCD碼到七段碼的譯碼器、基準時鐘信號發(fā)

43、生器和位選電路。采用40腳雙列直插式封裝。 ICM7211中的RC振蕩器的工作方式:將36腳懸空可產(chǎn)生19kHz方波信號;如果希望用較低的頻率來驅(qū)動大顯示器,可在36腳與1腳或35腳之間接一個電容,外接電容越大,頻率越小;也可以在36腳接一個外部時鐘源來鼓勵振蕩器。如果將36腳接地,那么BP腳將作輸入用,此時可用另一片ICM7211的背極輸出來驅(qū)動,這種情況一般適用于兩片ICM7211級聯(lián)的情況。 10.3.4 LCD顯示器的結(jié)構與原理及應用ICM7211各引腳的功能具體說明如下:V+(1腳):接+5V電源。GND(35腳):接地端。OSC(36腳):內(nèi)部振蕩控制。懸空時振蕩器工作,接地時振蕩

44、器不工作。BP(5腳):LCD公共驅(qū)動極(背光極)。當OSC引腳懸空時輸出125Hz脈沖,當OSC引腳接地時是系統(tǒng)的工作脈沖輸入極。B3B0(3027腳):BCD碼輸入。DS1、DS2和CS1、CS2(不帶“后綴的器件為D1D4,為位選信號,3134腳):這四個端口中的前、后兩腳分別為位選和片選信號端。A1G1(3740、24腳):第一位(個位) LCD七段碼輸出。A2G2(612腳):第二位(十位) LCD七段碼輸出。A3G3(1319腳):第三位(百位) LCD七段碼輸出。A4G4(2026腳):第四位(千位) LCD七段碼輸出。 10.3.4 LCD顯示器的結(jié)構與原理及應用2. 8051

45、與筆段型LCD的接口及應用(1) 液晶顯示控制器ICM7211簡介 ICM7211(A)M接口使用的位選信號是兩條地址線和兩條片選信號線,其真值表如下表所示。 DS2DS1CS2CS1功 能0000數(shù)據(jù)存儲在D40100數(shù)據(jù)存儲在D31000數(shù)據(jù)存儲在D21100數(shù)據(jù)存儲在D2XX其他未選中ICM7211(A)M真值表10.3.4 LCD顯示器的結(jié)構與原理及應用2. 8051與筆段型LCD的接口及應用(2) 應用實例【例10】 用LCD顯示器顯示開關來回撥動的次數(shù)(4位)。解:硬件電路設計如以下圖所示,采用ICM7211(A)M驅(qū)動4位半液晶顯示器YXY4501。 ICM7211(A)M的OS

46、C懸空,產(chǎn)生方波。P0.0P0.3接ICM7211(A)M的BCD碼輸入端送顯示數(shù)據(jù)。P2.0、P2.1接位選引腳DS1、DS2作為4位LCD的位選擇。P2.7接片選端CS1,P2.7為0選中ICM7211(A)M。WR接片選端CS2,當執(zhí)行指令“MOVX DPTR,A時,WR送出一負脈沖使CS2有效,從而選中ICM7211(A)M。 軟件設計時,先把相應的位選擇碼作為高八位地址送到DPH,再把顯存存放的BCD碼數(shù)據(jù)作為低八位地址送入到DPL。然后執(zhí)行“MOVX DPTR,A控制LCD的顯示。 這種程序設計方法巧妙地將BCD碼值作為低位地址,而將ICM7211作為“只寫外部RAM使用,這一設計

47、大大地簡化了顯示子程序設計。LCD顯示器接口電路 D0 EQU 30H ; 個位計數(shù)及顯存地址 D1 EQU 31H ; 十位計數(shù)及顯存地址 D2 EQU 32H ; 百位計數(shù)及顯存地址 D3 EQU 33H ; 千位計數(shù)及顯存地址 AD0 EQU 40H ; 存放個位顯示選通碼地址 AD1 EQU 41H ; 存放十位顯示選通碼地址 AD2 EQU 42H ; 存放百位顯示選通碼地址 AD3 EQU 43H ; 存放千位顯示選通碼地址 ORG 0000H AJMP MAIN ORG 0013H LJMP INT1 ORG 0030H MAIN:MOV SP,#60H MOV AD0,#03H

48、 ; 個位顯示選通碼 MOV AD1,#02H ; 十位顯示選通碼 MOV AD2,#01H ; 百位顯示選通碼 MOV AD3,#00H ; 千位顯示選通碼 SETB EA ; 開通中斷 SETB IT1 ; 下跳沿觸發(fā) SETB EX1 ; 開通外部中斷1參考程序* 顯示程序 * DISPLAY: MOV R2,#4 ; 顯示4位 MOV R0,#D0 ; 顯存首地址送R0 MOV R1,#AD0 ; 選通碼首地址送R0 LOOP: MOV A,R1 MOV DPH,A ; 顯示位碼送高八位 MOV A,R0 MOV DPL,A ; 要顯示的數(shù)據(jù)送低八位 MOVX DPTR,A ; 靠地址

49、碼控制顯示 INC R0 INC R1 DJNZ R2,LOOP SJMP DISPLAY * 外部中斷處理程序,完成計數(shù)指針加1并進行各位計數(shù)指針的調(diào)整(最大只能到9) * (略,可參考例9) END參考程序10.4 數(shù)/模轉(zhuǎn)換接口 10.4.1 數(shù)/模轉(zhuǎn)換器概述 10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例10.4.1 數(shù)/模轉(zhuǎn)換器概述測控系統(tǒng)是單片機應用的重要領域。在測控系統(tǒng)中,除數(shù)字量之外還會遇到另一種物理量,即模擬量。例如:溫度、速度、電壓、電流、壓力等,它們都是連續(xù)變化的物理量。單片機系統(tǒng)中但凡遇到有模擬量的地方,就要進行模擬量向數(shù)字量、數(shù)字量向模擬量的轉(zhuǎn)換,也就要涉及到單片機的數(shù)/模(D

50、/A)和模/數(shù)(A/D)轉(zhuǎn)換的接口技術。數(shù)/模轉(zhuǎn)換主要用于將單片機的數(shù)字量輸出轉(zhuǎn)化為實際的模擬量控制外接設備。 10.4.1 數(shù)/模轉(zhuǎn)換器概述D/A轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量。數(shù)/模轉(zhuǎn)換器集成電路芯片種類很多。按輸入的二進制數(shù)的位數(shù)分類,有八位、十位、十二位和十六位等。按輸出是電流還是電壓分類,分為電壓輸出器件和電流輸出器件。 10.4.1 數(shù)/模轉(zhuǎn)換器概述1. D/A轉(zhuǎn)換器的技術指標 有關D/A轉(zhuǎn)換器的技術性能指標很多,例如絕對精度、相對精度、線性度、輸出電壓范圍、溫度系數(shù)、輸入數(shù)字代碼種類(二進制或BCD碼)等。D/A轉(zhuǎn)換器與接口有關的技術性能指標:分辯率。數(shù)/模轉(zhuǎn)換的分

51、辯率是指最小輸出電壓(對應的輸入二進制數(shù)為1)與最大輸出電壓(對應的輸入二進制數(shù)的所有位全為1)之比。例如8位數(shù)的分辨率為1/2560.004,10位數(shù)分辨率為1/1024,約等于0.001。由此可見數(shù)字量位數(shù)越多,分辨率也就越高。分辨率通常用數(shù)字輸入信號的位數(shù)表示,有8位、10位、12位等。10.4.1 數(shù)/模轉(zhuǎn)換器概述1. D/A轉(zhuǎn)換器的技術指標建立時間。也稱穩(wěn)定時間,它是指從數(shù)字量輸入到建立穩(wěn)定的輸出電流的時間,是描述D/A轉(zhuǎn)換速率的一個重要參數(shù)。轉(zhuǎn)換精度。由于轉(zhuǎn)換器內(nèi)部的誤差等原因,當送一個確定的數(shù)字量給DAC后,它的實際輸出值與該數(shù)值應產(chǎn)生的理想輸出值之間會有一定的誤差,它就是D/A

52、轉(zhuǎn)換器的精度。 10.4.1 數(shù)/模轉(zhuǎn)換器概述2. D/A轉(zhuǎn)換芯片DAC0832 DAC0832是一個8位D/A轉(zhuǎn)換器。單電源供電,從+5V+15V均可正常工作?;鶞孰妷旱姆秶鸀?10V+10V;電流建立時間為1s;采用CMOS工藝,低功耗20mW。 DAC0832轉(zhuǎn)換器芯片為20引腳,雙列直插式封裝。 其引腳排列如右圖所示。DAC0832引腳圖10.4.1 數(shù)/模轉(zhuǎn)換器概述DAC0832引腳的功能定義如下:DI7DI0 :8位的數(shù)據(jù)輸入端,DI7為最高位。IOUT1 :模擬電流輸出端1,當DAC存放器中數(shù)據(jù)全為1時,輸出電流最大,當 DAC存放器中數(shù)據(jù)全為0時,輸出電流為0。IOUT2 :模

53、擬電流輸出端2,IOUT2與IOUT1的和為一個常數(shù), 即IOUT1+IOUT2=常數(shù)。RFB:反響電阻引出端,DAC0832是電流輸出,為了取得電壓輸出,需在電壓輸出端接運算放大器。DAC0832內(nèi)部已經(jīng)有反響電阻,所以 RFB端可以直接接到外部運算放大器的輸出端,這樣相當于將一個反響電阻接在運算放大器的輸出端和輸入端之間。 VREF :參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡相連。VCC:芯片供電電壓,范圍為(+515)V。AGND:模擬量地,即模擬電路接

54、地端。DGND:數(shù)字量地。 10.4.1 數(shù)/模轉(zhuǎn)換器概述DAC0832內(nèi)部結(jié)構框圖如以下圖所示。從圖中可見,在DAC0832中有兩個數(shù)據(jù)緩沖器:輸入存放器和DAC存放器。其控制端分別受ILE、CS、WR1和WR2、XFER的控制。 DAC0832內(nèi)部結(jié)構框圖10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例 DAC0832有三種不同的工作方式:直通方式、單緩沖方式、雙緩沖方式。1. 直通方式的接口與應用當ILE接高電平,CS、WR1、WR2和XFER都接數(shù)字地時,DAC處于直通方式,8位數(shù)字量一旦到達DI7DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。DAC0832直通方式輸出連接圖如以下圖所

55、示。運放U3輸出電壓為 UOUT=-(D/256)*VREF,圖中如果向DAC0832傳送的8位數(shù)據(jù)量為40H(01000000B),那么輸出電壓UOUT=-(64/256)*5V=-1.25V(反相),其輸出過程可用“MOV P0,#40H一條指令完成。 10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例【例11】 直通方式產(chǎn)生鋸齒波電壓信號(波形如以下圖所示)。解:電路如以下圖所示。 集成運放在電路中的作用是把DAC0832輸出電流轉(zhuǎn)換為電壓。即實現(xiàn)電流電壓轉(zhuǎn)換。 鋸齒波電壓信號隨時間變化而上升,到達最大值后,又從0開始上升,再到最大值如此循環(huán)下去。因此,只要讓DAC0832輸入的數(shù)字量也如此變化就可使

56、輸出端輸出鋸齒波。10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例單片機和DAC0832直通方式輸出連接圖 10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例對鋸齒波的產(chǎn)生作如下說明: 程序每循環(huán)一次,(R0)加1,因此實際上鋸齒波的上升沿是由256個小階梯構成的。但由于階梯很小,所以看上去就如上圖所表示的線性增長鋸齒波。 延遲時間不同,波形周期不同,鋸齒波的斜率就不同。 參考程序如下: ORG 0000H MOV R0,#0 ;置轉(zhuǎn)換初值 DAC: MOV P0,R0 ;送數(shù)據(jù)到P0口,DAC0832同時進行轉(zhuǎn)換 INC R0 ;轉(zhuǎn)換數(shù)字量加1,當加到最大值0FFH時,再加1,R0變?yōu)? ACALL DELAY ;延

57、時量決定鋸齒波周期 AJMP DACDELAY: (略) END10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例2. 單緩沖方式的接口與應用單緩沖方式就是使DAC0832的兩個輸入存放器中有一個處于直通方式,而另一個處于受控的鎖存方式,或者說兩個輸入存放器同時受控的方式。在實際應用中,如果只有一路模擬量輸出,或雖有幾路模擬量但并不要求同步輸出的情況,就可采用單緩沖方式。接口電路如以下圖所示。10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例單緩沖方式接口電路 10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例2. 單緩沖方式的接口與應用【例12】 單緩沖方式產(chǎn)生鋸齒波。解:電路連接如上圖所示。 WR2=0和XFER=0,因此DAC存

58、放器處于直通方式。而輸入存放器處于受控鎖存方式,WR1接8051的WR,ILE接高電平,CS接P2.7故輸入存放器地址為07FFFH。 軟件設計思路與例11相同,只是改為用“MOVX DPTR,A來發(fā)送數(shù)據(jù)和啟動轉(zhuǎn)換。 10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例 單緩沖方式產(chǎn)生鋸齒波的源程序如下: MOV DPTR,#7FFFH ; 指向0832地址 MOV R0,#00H ; 置轉(zhuǎn)換數(shù)字初值 DA1: MOV A,R0 MOVX DPTR,A ; 啟動轉(zhuǎn)換 INC R0 ; 轉(zhuǎn)換數(shù)字量加1 ACALL DELAY ; 延時 AJMP DA1DELAY: MOV R7,#7DH ; 延時子程序 DL

59、1: NOP NOP DJNZ R7,DL1 RET10.4.2 數(shù)/模轉(zhuǎn)換芯片應用實例2. 單緩沖方式的接口與應用【例13】 利用0832輸出一個從-5V開始逐漸上升到0V再升至5V,再從5V逐漸降至0V,再降至-5V的鋸齒波電壓。解:硬件電路如以下圖所示。 同圖中集成運放U4接成一加法電路。 輸出電壓UO=-(5+2Ui)。當0832輸出-5V時(最大值),UO=-(5-10)=+5V;輸出-2.5V時,UO=0V;輸出0V時,UO=-5V。 軟件設計時,與例10.14有點不同的是,當數(shù)字量到達最大(0FFH)時要進行減1運算。而不是變?yōu)?。當數(shù)字量減至0時,又開始加1運算。 10.4.2

60、 數(shù)/模轉(zhuǎn)換芯片應用實例鋸齒波形成電路 ORG 0000H HA6S: MOV SP,#53H ;設置堆棧HA6S1: MOV R6,#00H ;數(shù)字量初值HA6S2: MOV DPTR,#7FFFH ;地址 MOV A,R6 ;數(shù)字量送A MOVX DPTR,A ;進行D/A轉(zhuǎn)換 MOV R2,#0BH LCALL DELAY ;延時 INC R6 ;數(shù)字量加1 CJNE R6,#0FFH,HA6S2 ;數(shù)字量增加到0FFH?不是,那么繼續(xù), 是那么開始減1HA6S3: MOV DPTR,#7FFFH ;0832地址 DEC R6 ;數(shù)字量減1 MOV A,R6 MOVX DPTR,A ;數(shù)

溫馨提示

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

評論

0/150

提交評論