版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八章 單片機(jī)系統(tǒng)的擴(kuò)展第一節(jié) 單片機(jī)總線結(jié)構(gòu)8.1.1 總線概述 廣義上講總線是一組信號(hào)線的集合,是一種傳送規(guī)定信息的公共通路,它定義了各引線的信號(hào)、電氣和機(jī)械特性。利用總線可以實(shí)現(xiàn)芯片內(nèi)部、印制電路板各部件之間、機(jī)箱內(nèi)個(gè)模塊之間、主機(jī)與外設(shè)之間或系統(tǒng)與系統(tǒng)之間的連接與通信。 51系列單片機(jī)系統(tǒng)擴(kuò)展屬于外部總線,故我們這里只介紹外部總線。按傳輸方式可劃分為并行總線和串行總線,按照傳輸?shù)男畔⒌男再|(zhì)又分為數(shù)據(jù)總線、地址總線、控制總線和電源總線。一、并行總線 單片機(jī)進(jìn)行并行擴(kuò)展時(shí)將I/O口看作為一般的微型機(jī)總線接口形式。1、地址總線 MCS-51單片機(jī)可以提供16位地址線,高8位地址由P2口提供(
2、P2口具有鎖存功能,可以和外部芯片的高8位地址直接相連),低8位地址線由P0口提供,P0口為地址/數(shù)據(jù)分時(shí)復(fù)用的I/O口,需外加地址鎖存器,以鎖存低8位地址信息。在CPU的地址鎖存允許信號(hào)ALE的下降沿將地址的低8位信息鎖存到鎖存器中。2、數(shù)據(jù)總線 由P0口提供,當(dāng)P0口作為地址/數(shù)據(jù)口時(shí),是雙向的具有輸入三態(tài)控制的通道口,可以與外部芯片的數(shù)據(jù)口直接相連。8.1.2 選址方法 為了唯一的選中外部某一存儲(chǔ)單元(I/O口芯片可作為數(shù)據(jù)存儲(chǔ)器的一部分),必須進(jìn)行兩種選擇方式:片選和字選。 片選是選擇出該存儲(chǔ)芯片或I/O接口芯片,即確定信息存在于哪個(gè)具體的芯片之中; 字選是選擇出該芯片的某一存儲(chǔ)單元(
3、或I/O接口芯片的寄存器),即確定信息存在的芯片內(nèi)部的具體位置。 而為了確定具體芯片的存儲(chǔ)單元一般常采用的選址方法有線選法和譯碼法兩種。一、線選法 若系統(tǒng)中之?dāng)U展少量的外部ROM、RAM和I/O接口芯片,一般用線選法。線選法就是把單獨(dú)的地址線(一般取P2口線)接到某外接芯片的片選端,利用該地址線引腳電平信號(hào)來(lái)選擇是否選中該芯片。在一般情況下,大部分芯片的片選端都是低電平有效。二、譯碼法 對(duì)于需要ROM、RAM和I/O容量大的系統(tǒng),當(dāng)所需芯片過(guò)多,所用的芯片片選端已經(jīng)超過(guò)了可用的地址線時(shí),采用譯碼法。譯碼法就是用譯碼器對(duì)高位地址進(jìn)行譯碼,譯出的信號(hào)作為片選信號(hào),用低位地址線選擇芯片的片內(nèi)地址。常
4、用的74系列譯碼芯片有74LS138(3-8譯碼器)、74LS139(2-4譯碼器)、74HC4514(4-16譯碼器)等。 MCS-51系列單片機(jī)的程序存儲(chǔ)器最大尋址范圍可達(dá)到64KB,但是其內(nèi)部只有4KB的程序存儲(chǔ)器,而對(duì)于8031型號(hào),其內(nèi)部還沒(méi)有程序存儲(chǔ)器。所以當(dāng)面臨復(fù)雜應(yīng)用系統(tǒng)程序時(shí),其內(nèi)部的程序存儲(chǔ)器容量滿足不了實(shí)際的程序內(nèi)容,就要進(jìn)行程序存儲(chǔ)器的擴(kuò)展,使用外部程序存儲(chǔ)器進(jìn)行程序的存放。51系列擴(kuò)展片外程序存儲(chǔ)器的一般接口電路如圖8-1。第二節(jié) 存儲(chǔ)器的擴(kuò)展8.2.1 程序存儲(chǔ)器擴(kuò)展程序程序存儲(chǔ)器的低8位地址線(A0-A7)與P0口(P0.0-P0.7)相連,高8位地址線(A8-A
5、15)與P2口相連。由于P0口分時(shí)輸出低8位地址和數(shù)據(jù),故必須外加地址鎖存器,由CPU發(fā)出的地址鎖存允許信號(hào)ALE,在ALE的下降沿將地址信息鎖存到鎖存器中。若鎖存器采用74LS373,則直接使用ALE信號(hào)與LE引腳相連,若采用74LS273,則對(duì)ALE取反之后使用,與CLK引腳相連。(2)地址范圍 地址范圍的判斷只與地址線和片選端的連接有關(guān),通常情況下P2口中沒(méi)有連接到外部存儲(chǔ)器的線稱之為無(wú)關(guān)位,可取“1”或“0”,而P0口和P2口中與外部存儲(chǔ)器的地址線相連接的線的地址范圍為全“0”至“1”。由于一般情況下片外芯片的片選端為低電平有效,所以P2口中與片選端相連接的線取“0”代表選擇某個(gè)片外芯
6、片,取“1”代表不選擇某個(gè)片外芯片。上圖中各2716地址范圍如下表,此處無(wú)關(guān)位取全“0”。P口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.0地址范圍2716(I)/A10A9A8A7A08000H87FFH100000000000000010000111111111112716(II)/A10A9A8A7A04000H47FFH01000000000000000100011111111111輸入輸出E1A2A1A0H11111111H11111111L11111111HLL00001111111HLL00110111111HLL01011011111HLL01
7、111101111HLL10011110111HLL10111111011HLL11011111101HLL11111111110表 74LS138真值表P口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.0地址范圍2716(I)74LS138無(wú)關(guān)位2716地址線2000H27FFHA2A1A0/A10A9A8A7A0001000000000000000100111111111112716(II)A2A1A0/A10A9A8A7A00000H07FFH00000000000000000000011111111111 (2)地址范圍由于采用的是3-8譯碼器來(lái)控制27
8、16的片選端,所以地址范圍與線選法相比發(fā)生了變化。各2716地址范圍如表。MCS-51系列單片機(jī)的數(shù)據(jù)存儲(chǔ)器最大尋址范圍也可達(dá)到64KB,其內(nèi)部只有256B的數(shù)據(jù)存儲(chǔ)空間。在這256B的存儲(chǔ)空間中,高128B是特殊功能寄存器區(qū),一般不進(jìn)行數(shù)據(jù)的存??;低128B空間中的單元還涉及到工作寄存器區(qū)、堆棧的使用等,這樣就使得當(dāng)我們需要存儲(chǔ)大量數(shù)據(jù)時(shí)片內(nèi)數(shù)據(jù)寄存器空間滿足不了實(shí)際要求,必須進(jìn)行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展,增加數(shù)據(jù)存儲(chǔ)容量。51系列擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的一般接口電路如圖8-4。8.2.2 數(shù)據(jù)存儲(chǔ)器擴(kuò)展在數(shù)據(jù)存儲(chǔ)器的擴(kuò)展中,地址線和數(shù)據(jù)線的連接方式和程序存儲(chǔ)器的擴(kuò)展是相同的,不同的在于讀寫(xiě)線上,由于對(duì)
9、于51單片機(jī)的程序存儲(chǔ)器在工作時(shí)是“只讀不寫(xiě)”的,所以程序存儲(chǔ)器的只有讀線,而數(shù)據(jù)存儲(chǔ)器是可讀寫(xiě)的,故有兩條,分別與單片機(jī)的讀寫(xiě)線相連。數(shù)據(jù)存儲(chǔ)器擴(kuò)展常使用的有靜態(tài)RAM和動(dòng)態(tài)RAM兩種。在51單片機(jī)應(yīng)用系統(tǒng)中,最常用的是靜態(tài)數(shù)據(jù)存儲(chǔ)器RAM 芯片,有6116(2Kx8B)和6264 (8Kx8B)兩種。P口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.0地址范圍6264(I)/A12A11A10A9A8A7A08000H9FFFH100000000000000010011111111111116264(II)/A12A11A10A9A8A7A04000H5FF
10、FH01000000000000000101111111111111(2)地址范圍線選法各6264地址范圍表P口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.0地址范圍2114(I)74LS138無(wú)關(guān)位2114地址線4000H43FFHA2A1A0/A9A8A7A0010000000000000001000011111111112114(II)A2A1A0/A9A8A7A04000H43FFH01000000000000000100001111111111(2)地址范圍 由于此擴(kuò)展為位擴(kuò)展,從電路圖中可以看出,兩片2114芯片組成的新的存儲(chǔ)體的數(shù)據(jù)線變?yōu)?位,也
11、就是當(dāng)說(shuō)一個(gè)數(shù)據(jù)的存儲(chǔ)時(shí),兩片2114是同時(shí)工作的,該數(shù)據(jù)的低4位存放于2114(I)芯片中,高4位存放于2114(II)芯片中,而存儲(chǔ)體的容量沒(méi)有發(fā)生變化還是1K,地址范圍見(jiàn)下表,可以看出兩片芯片的地址范圍是相同的,即這兩片芯片位一組。2114地址范圍表FLASH存儲(chǔ)器即閃速存儲(chǔ)器,相對(duì)于普通的存儲(chǔ)器其容量和存取速度具有很大的優(yōu)勢(shì),可分為并行FLASH、串行FLASH、與非型FLASH3種類型。并行FLASH具有獨(dú)立的地址線和數(shù)據(jù)線,只要按照地址總線、數(shù)據(jù)總線、控制總線這三類總線與單片機(jī)進(jìn)行電路接口即可,常見(jiàn)的芯片型號(hào)如Intel公司的A28F系列,AMD公司的AM28F和AM29F系列,A
12、tmel公司的AT29系列等。串行FLASH是通過(guò)串行的方式和處理器相連接的,即數(shù)據(jù)和地址是通過(guò)一條線進(jìn)行傳輸和判斷,這就需要運(yùn)用不同的指令來(lái)區(qū)分傳輸?shù)男畔⑹菙?shù)據(jù)信息還是地址信息。常見(jiàn)的芯片型號(hào)如Atmel公司的AT25系列。與非型FLASH也是一種并行結(jié)構(gòu)的FLASH,但是其數(shù)據(jù)、地址和控制線是分時(shí)復(fù)用I/O總線的,相對(duì)于并行FLASH引腳數(shù)大大減少,但是這種芯片在使用時(shí)要對(duì)接口的時(shí)序要求較高。常見(jiàn)的芯片型號(hào)如三星的K9F5608系列。8.2.3 FLASH存儲(chǔ)器擴(kuò)展 在單片機(jī)應(yīng)用系統(tǒng)中,為了更好的進(jìn)行變量的控制,往往都需要輸入一些數(shù)據(jù)或狀態(tài)命令,而為了使人們跟更能直觀的觀察系統(tǒng)運(yùn)行的狀態(tài)和
13、數(shù)據(jù)的變化,往往又需要將這些信息顯示出來(lái),這就是最常見(jiàn)的人機(jī)交互,通常使用鍵盤(pán)和顯示器來(lái)實(shí)現(xiàn)人機(jī)交互功能。第三節(jié) 人機(jī)交互擴(kuò)展 鍵盤(pán)是一種最常見(jiàn)的輸入設(shè)備,由多個(gè)按鈕的組成,現(xiàn)場(chǎng)人員可通過(guò)對(duì)鍵盤(pán)的操作輸入數(shù)據(jù)或命令實(shí)現(xiàn)人機(jī)對(duì)話。通常使用的按鈕有彈簧按鈕、自鎖按鈕、撥碼開(kāi)關(guān)等,這些按鈕大部分都是常開(kāi)按鈕。由多個(gè)按鈕組成鍵盤(pán),有編碼鍵盤(pán)和非編碼鍵盤(pán)。 編碼鍵盤(pán)指的是由專用的硬件譯碼芯片來(lái)識(shí)別按鈕的狀態(tài),產(chǎn)生鍵的編號(hào)或鍵值,如商場(chǎng)售貨機(jī)鍵盤(pán)、個(gè)人電腦鍵盤(pán)。 非編碼鍵盤(pán)指的是利用軟件識(shí)別按鈕的狀態(tài),單片機(jī)系統(tǒng)使用的基本都是非編碼鍵盤(pán)。8.3.1 鍵盤(pán)技術(shù) 在鍵盤(pán)設(shè)計(jì)中常有獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán)兩種,而
14、鍵盤(pán)的抖動(dòng)問(wèn)題是鍵盤(pán)設(shè)計(jì)的關(guān)鍵技術(shù)之一。所謂鍵盤(pán)抖動(dòng)是指由于按鈕觸點(diǎn)的彈性作用,一個(gè)按鈕在閉合和斷開(kāi)時(shí)不會(huì)立即達(dá)到穩(wěn)定狀態(tài),也就是說(shuō)按鈕的操作在閉合和斷開(kāi)的瞬間會(huì)伴隨著一連串的抖動(dòng)現(xiàn)象,如圖8-8,而抖動(dòng)的時(shí)間是由按鈕的機(jī)械特性決定的,一般為510ms。 由于按鈕的抖動(dòng)存在,使得一次按鍵會(huì)被誤讀成多次,為了確保CPU能夠準(zhǔn)確的對(duì)按鈕的一次閉合僅做一次處理,必須消除抖動(dòng)現(xiàn)象對(duì)按鈕的影響。常用的消抖方法有硬件和軟件兩種,硬件消抖就是利用電容或觸發(fā)芯片等組成的電路消除抖動(dòng)對(duì)按鈕的影響。如圖8-9。 軟件消抖就是在檢測(cè)出按鈕閉合信號(hào)后,執(zhí)行一段DJNZ指令的軟件延時(shí)510ms程序,等待前沿抖動(dòng)消失后再
15、檢測(cè)按鈕狀態(tài),如果仍然是閉合信號(hào),則確定為確實(shí)有按鈕閉合,執(zhí)行按鈕閉合處理程序;同理,按鈕斷開(kāi)信號(hào)的處理也一樣。一、獨(dú)立式鍵盤(pán) 獨(dú)立式鍵盤(pán)的各按鈕是相互獨(dú)立的,每個(gè)按鈕占用1條51單片機(jī)的I/O口線,各按鈕的工作狀態(tài)不影響其他按鈕,所以稱為獨(dú)立式,電路如圖8-10。圖中7413為4輸入1輸出與非門,7404為非門。圖8-11 獨(dú)立式鍵盤(pán)流程圖例8-5用查詢方式獨(dú)立式鍵盤(pán)控制LED等的閃亮,晶振6MHZ。解:電路如圖8-10(a),并且在P2口的P2.0P2.3接共陰極LED燈4盞。程序流程圖和程序如。MIAN:MOV P1,#0FFH ;設(shè)置P1口為輸入口 MOV P2,#0 ;初始狀態(tài)所有燈
16、都滅MAIN1:MOV A,P1 CPL A JZ MAIN1 ;判斷是否有按鈕按下 LCALL DEL10MS ;軟件消除閉合抖動(dòng) JB P1.0,LED1 ;判斷1按鈕是否按下 SETB P2.0 LED1:JB P1.1,LED2 SETB P2.1 LED2:JB P1.2,LED3 SETB P2.2 LED3:JB P1.3,MAIN1 SETB P2.3 AJMP MAIN1DEL10MS:MOV R0,#10 D1:MOV R1,#250 D2:DJNZ R1,D2 DJNZ R2,D1 RET END二、矩陣式鍵盤(pán) 獨(dú)立式鍵盤(pán)的電路和程序設(shè)計(jì)都比較簡(jiǎn)單,當(dāng)使用按鈕較少時(shí)經(jīng)常使
17、用獨(dú)立式鍵盤(pán),但是如果按鈕設(shè)置較多,獨(dú)立式鍵盤(pán)就會(huì)占用大量的I/O口,大大浪費(fèi)了51單片機(jī)的I/O資源,為了使單片機(jī)的I/O口能夠得到有效的利用,當(dāng)需要按鈕較多時(shí)常使用矩陣式鍵盤(pán),也稱為行列式鍵盤(pán)。4x4矩陣鍵盤(pán)電路如圖8-12。矩陣鍵盤(pán)掃描原理 對(duì)于矩陣式鍵盤(pán)的各按鈕的判斷采取的是行(或列)掃描查詢方法。首先判斷是否有按鈕按下,如果有則進(jìn)行行列掃描。 首先將鍵盤(pán)的行線全清成“0”,列線全置成“1”,然后逐行將行線送“0”低電平,其他行送“1”高電平,判斷是否有該行的按鈕按下,如果有則判斷哪條列線為“0”,則確定下來(lái)具體的按鈕位置;如果該行沒(méi)有按鈕按下,則下一行線送“0”低電平,其他行送“1”
18、高電平,再判斷列線電平,以此往復(fù)進(jìn)行行掃描列判斷,即可確定具體行列上的按鈕按下。 為了使工作人員能夠及時(shí)對(duì)系統(tǒng)工作進(jìn)行調(diào)整和監(jiān)測(cè),能夠直觀的將檢測(cè)或監(jiān)控?cái)?shù)據(jù)以及系統(tǒng)運(yùn)行狀態(tài)等信息反映出來(lái),很多現(xiàn)場(chǎng)系統(tǒng)都會(huì)使用顯示裝置。在51單片機(jī)的應(yīng)用系統(tǒng)中常見(jiàn)的顯示器有LED和LCD兩種。 LED是以發(fā)光二極管作為主要的顯示元件,從字型顯示方式上主要分為字段型和點(diǎn)陣型兩種。 LCD是以液晶顯示屏作為主要的顯示元件,主要也分為字段型和點(diǎn)陣型,當(dāng)然現(xiàn)在也有用CRT顯示的單片機(jī)系統(tǒng)。 這里主要以字段型LED顯示器進(jìn)行說(shuō)明。8.3.2 顯示技術(shù)一、LED顯示原理字段型 LED顯示器有共陽(yáng)極(Common Anode
19、)和共陰極(Common cathode)之分。字段型LED顯示器有七段、八段、十四段、十五段等之分,只能現(xiàn)實(shí)數(shù)字或者字母,而所謂共陽(yáng)極就是指多個(gè)發(fā)光二極管的陽(yáng)極共同使用一個(gè)電源,稱之為公共端或者位選端,而通過(guò)控制每個(gè)發(fā)光二極管的陰極的電位實(shí)現(xiàn)某個(gè)二極管的亮滅狀態(tài),反之既是共陰極。 對(duì)于八段LED顯示器,若想控制顯示信息,只需控制對(duì)應(yīng)的發(fā)光二極管導(dǎo)通或截止(亮滅)即可,而八個(gè)發(fā)光二極管正好符合51單片機(jī)的存儲(chǔ)器單元的字節(jié)長(zhǎng)度,可將dpa稱之為L(zhǎng)ED顯示器的段選段,而段選端所對(duì)應(yīng)的二進(jìn)制或十六進(jìn)制碼值則稱之為段選碼或段碼。而公共段 例如現(xiàn)采用共陰極八段LED顯示器,顯示“7”,則只需使發(fā)光二極管
20、a、b、c導(dǎo)通(亮),其它發(fā)光二極管截止(滅)即可,于是a、b、c段選端應(yīng)為“1”高電平,其它段選端應(yīng)為“0”低電平,段碼值則為00000111。即 而從原理圖中可以看出,共陰極和共陽(yáng)極的電路連接時(shí)相反的,這樣兩者若顯示同一個(gè)數(shù)據(jù)那么其段選碼也就是相反的,如表8-7。點(diǎn)陣型 點(diǎn)陣型LED顯示器有8x8、8x16點(diǎn)陣等,與字段型的區(qū)別在于其顯示是通過(guò)多個(gè)LED燈的組合亮滅顯示的,不僅可以實(shí)現(xiàn)顯示數(shù)字和字母,還可以顯示漢字等復(fù)雜圖案。如圖8-15,通過(guò)控制行線和列線的電平來(lái)控制某行列上的LED燈的亮滅,實(shí)現(xiàn)顯示信息的功能。圖8-15 8x8點(diǎn)陣型LED顯示器圖8-15 8x8點(diǎn)陣型LED顯示器圖8
21、-15 8x8點(diǎn)陣型LED顯示器二、LED顯示方式LED顯示器的顯示控制方式有靜態(tài)顯示和動(dòng)態(tài)顯示兩種。1、靜態(tài)顯示方式 靜態(tài)顯示就是指當(dāng)顯示器顯示字符時(shí),段選端對(duì)應(yīng)該字符的各個(gè)發(fā)光二極管恒定導(dǎo)通或者截止,并且顯示器的各個(gè)位是同時(shí)顯示的。51單片機(jī)控制LED顯示器工作在靜態(tài)顯示方式時(shí),LED顯示器的公共極接地或電源或51單片機(jī)I/O口線,段選端按順序依次接51單片機(jī)的某個(gè)P口,只要對(duì)51單片機(jī)的P口送出相應(yīng)的段選碼值即可顯示所需字符。2、動(dòng)態(tài)顯示方式 動(dòng)態(tài)顯示是指一位一位依次輪流點(diǎn)亮LED顯示器的各位,由于視覺(jué)掃描暫留的緣故,使人們?cè)谝曈X(jué)上看到多位顯示器各位顯示不同的數(shù)字或字符信息。動(dòng)態(tài)顯示是單
22、片機(jī)應(yīng)用系統(tǒng)中常使用的顯示方式,相對(duì)于靜態(tài)顯示,其具有節(jié)省I/O口線、簡(jiǎn)化電路、降低成本等優(yōu)點(diǎn)。動(dòng)態(tài)顯示使用的是多位LED顯示器,所有顯示器的段選端是并聯(lián)在一起的,而各個(gè)LED的位選端是相互獨(dú)立的。 為了使每位LED顯示不同的內(nèi)容,必須采用掃描顯示方式,在某一瞬間只允許某一位LED顯示相應(yīng)的字符或數(shù)據(jù),即此刻的段選端由控制I/O口輸出相應(yīng)內(nèi)容的段選碼值,位選端由相應(yīng)的控制I/O口線選用有效,下一時(shí)刻,改變段選碼值和位選端控制信號(hào),如此依次輪流點(diǎn)亮各位LED,顯示所要求的內(nèi)容。例8-9利用51單片機(jī)控制4位LED顯示器工作在動(dòng)態(tài)顯示方式下,顯示“2013”。解:(1)電路設(shè)計(jì) 采用共陰極4位LE
23、D顯示器,將顯示器的段選端與51單片機(jī)的P1口依次相連,位選端與P2口的P2.0P2.3相連。(2)程序設(shè)計(jì) 在動(dòng)態(tài)顯示方式中要進(jìn)行對(duì)位選端的掃描才能夠?qū)崿F(xiàn)顯示功能,也就是說(shuō)先選擇位選端,然后送出該位所對(duì)應(yīng)的段選碼值,程序如下。 MAIN:MOV P2,#0FFH ;初始化,所有LED均滅 MOV DPTR,#TAB ;送表首地址 MOV R2,#4 ;設(shè)置掃描次數(shù),與顯示器所含的LED位數(shù)有關(guān) MOV 20H,#0 ;設(shè)置第一個(gè)數(shù)據(jù)在表中的地址 MOV P2,#0FEH ;選中第一位LED位選信號(hào) DISP:MOV A,20H MOVC A,A+DPTR ;查表得第一位LED的段選碼 MOV
24、 P1,A ;段選碼送段選端 LCALL DEL1MS INC 20H ;下一位段選碼所在表中的地址 MOV A,P2 ;改變位選碼,指向下一位 RL A MOV P2,A DJNZ R2,DISP ;判斷是否掃描完 AJMP MAINDEL1MS:MOV R5,#10 D1:MOV R6,#25 D2:DJNZ R6,D2 DJNZ R5,D1 RET TAB:DB 5BH,3FH,06H,4FH END 一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)中,必須要有對(duì)數(shù)據(jù)信息進(jìn)行采集或者參數(shù)監(jiān)視的過(guò)程,而實(shí)現(xiàn)這個(gè)功能的信息通道稱之為前向通道。而單片機(jī)本身不具備前向通道相關(guān)器件功能,所以要完成對(duì)數(shù)據(jù)信息的采集或監(jiān)視,
25、設(shè)計(jì)完整的單片機(jī)應(yīng)用系統(tǒng)就要進(jìn)行前向通道擴(kuò)展。第四節(jié) 前向通道中的A/D轉(zhuǎn)換擴(kuò)展8.4.1 前向通道簡(jiǎn)介 前向通道屬于一個(gè)系統(tǒng)中的信號(hào)流前級(jí)的部分,一般包含數(shù)據(jù)測(cè)量、信號(hào)處理、模數(shù)轉(zhuǎn)換等部分。其中數(shù)據(jù)測(cè)量就是通過(guò)傳感器等有關(guān)測(cè)量轉(zhuǎn)換元件、儀表將現(xiàn)場(chǎng)的物理被測(cè)量如壓力、溫度、速度等轉(zhuǎn)變?yōu)殡娏康倪^(guò)程;信號(hào)處理是指對(duì)傳感器等測(cè)量元件的輸出信號(hào)進(jìn)行放大、濾波、去噪等處理,得到有效信號(hào);而模數(shù)轉(zhuǎn)換是指將處理過(guò)的信號(hào)通過(guò)A/D轉(zhuǎn)換芯片將模擬量轉(zhuǎn)換為單片機(jī)可識(shí)別的數(shù)字量的過(guò)程。一、傳感器 傳感器又叫做換能器、變換器及一次儀表,是能感受(或響應(yīng))規(guī)定的被測(cè)量并按照一定規(guī)律和精度轉(zhuǎn)換成可用信號(hào)輸出的器件或裝置,
26、通常由直接響應(yīng)于被測(cè)量的敏感元仲和產(chǎn)生可用信號(hào)的轉(zhuǎn)換元件以及相應(yīng)的電子線路所組成。目前的傳感器大部分還是模擬傳感器,也就是說(shuō)其輸出量是模擬電信號(hào),當(dāng)然市場(chǎng)上現(xiàn)在已經(jīng)出現(xiàn)了數(shù)字傳感器和智能傳感器。如應(yīng)用于礦井的速度智能傳感器GSC200,數(shù)字式溫度傳感器DS18B20,數(shù)字式壓力傳感器HBMC16i等。二、信號(hào)放大器 從各類傳感器輸出的信號(hào)大多都是微弱的,其輸出信號(hào)的幅值較小,而后級(jí)處理往往需要信號(hào)要有一定幅度和功率,同時(shí)測(cè)量的量程切換、儀器的靈敏度、提高分辨力等也都是采用信號(hào)放大電路來(lái)實(shí)現(xiàn)的。因此從傳感器輸出的信號(hào)經(jīng)常需要進(jìn)行信號(hào)放大。目前最常使用的利用集成運(yùn)算放大器組成的放大電路,如AD系列
27、和OP系列。三、濾波處理 為了提高信號(hào)的有效性,即提高信噪比,通常在測(cè)量電路中加入濾波器,使已知頻率的有效信號(hào)通過(guò),而其它的噪音干擾頻率信號(hào)濾除。濾波器按其特性可分為高通濾波器、低通濾波器、帶通濾波器、帶阻濾波器等。其中帶通濾波器是最基本的濾波器,它們可以使特定的頻率通過(guò),常分為單峰濾波器和寬帶濾波器兩種。四、A-D轉(zhuǎn)換 由于處理器所能處理和接收的數(shù)據(jù)都是數(shù)字量信號(hào),而現(xiàn)實(shí)中所監(jiān)控、檢測(cè)的信號(hào)絕大多數(shù)都是物理量信號(hào),雖然經(jīng)過(guò)傳感器的處理轉(zhuǎn)變?yōu)槟M量信號(hào),但是其還是不能夠直接被處理器所使用。因此若想對(duì)所采集信息進(jìn)行處理必須經(jīng)過(guò)A-D轉(zhuǎn)換過(guò)程,將模擬量信號(hào)轉(zhuǎn)變?yōu)閿?shù)字量信號(hào),目前完成這項(xiàng)工作的主要是
28、A/D轉(zhuǎn)換芯片。8.4.2 A/D轉(zhuǎn)換指標(biāo)及轉(zhuǎn)換原理一、A/D轉(zhuǎn)換指標(biāo) AD轉(zhuǎn)換的性能指標(biāo)說(shuō)明了A/D轉(zhuǎn)換芯片的基本質(zhì)量,根據(jù)應(yīng)用系統(tǒng)的實(shí)際需要選擇不同性能指標(biāo)的A/D轉(zhuǎn)換芯片,直接決定了整個(gè)應(yīng)用系統(tǒng)的數(shù)據(jù)采集、處理能力。A/D轉(zhuǎn)換的性能指標(biāo)主要有轉(zhuǎn)換速率、分辨率、轉(zhuǎn)換精度等。1、轉(zhuǎn)換速率 A/D轉(zhuǎn)換芯片完成一次模擬輸入量變換成數(shù)字輸出量所需要的時(shí)間稱為A/D轉(zhuǎn)換時(shí)間,而轉(zhuǎn)換速率是轉(zhuǎn)換時(shí)間的倒數(shù),使單位時(shí)間內(nèi)的轉(zhuǎn)換次數(shù)。一般而言,積分型A/D轉(zhuǎn)換芯片屬于低速型,其轉(zhuǎn)換時(shí)間是ms級(jí)的;逐次比較型A/D轉(zhuǎn)換芯片屬中速型,轉(zhuǎn)換時(shí)間是s級(jí)的;全并行串并行型A/D轉(zhuǎn)換芯片屬于高速型,轉(zhuǎn)換時(shí)間可達(dá)到ns級(jí)
29、。2、分辨率 分辨率就是分辨能力,A/D轉(zhuǎn)換芯片的分辨率表示輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所對(duì)應(yīng)的輸入模擬電壓的變量,即能分辨的最小模擬變化量。習(xí)慣上以輸出二進(jìn)制位數(shù)或滿量程與2n之比(其中n為ADC的位數(shù))表示,即分辨率lLSB = VFS/2n。例如滿量程10V的12位A/D轉(zhuǎn)換芯片AD574A的分辨率為1LSB= VFS/212=2.44mV,即該轉(zhuǎn)換器的輸出數(shù)據(jù)可以用212二進(jìn)制數(shù)進(jìn)行量化;滿量程10V的8位A/D轉(zhuǎn)換芯片ADC0809的分辨率1LSB=1LSB= VFS/28=39.06mV,可以看出分辨率越高的轉(zhuǎn)換芯片,其1位二進(jìn)制數(shù)字變化量對(duì)應(yīng)的模擬分量變化量越小。3、轉(zhuǎn)換精度 精度
30、是實(shí)際輸出與理想輸出之間的差,對(duì)于A/D轉(zhuǎn)換芯片而言,轉(zhuǎn)換精度反映了A/D轉(zhuǎn)換的實(shí)際輸出與理想輸出之間的接近程度,是指與數(shù)字輸出量所對(duì)應(yīng)的模擬輸入量的實(shí)際值與理論值之間的差值。A/D轉(zhuǎn)換電路中與每個(gè)數(shù)字量對(duì)應(yīng)的模擬輸入量并非是一個(gè)單一的數(shù)值,而是一個(gè)范圍值,其大小理論上取決于電路的分辨率,定義為數(shù)字量的最小有效位LSB。目前常用的A/D轉(zhuǎn)換集成芯片精度為1/42LSB。4、線性誤差和單調(diào)性 輸出與輸入的關(guān)系理論上應(yīng)該是線性的,但實(shí)際上輸出特性并不是理想線性的。把實(shí)際轉(zhuǎn)換特性偏離理想轉(zhuǎn)換特性的最大值稱為線性誤差。每一數(shù)字量對(duì)應(yīng)的模擬電壓值與相應(yīng)的平均模擬電壓值之差用百分比表示稱為“微分直線誤差”
31、 。所謂單調(diào)性就是指輸入一直增大(或減小) 時(shí)輸出也僅是一直地增加(或降低) ,而中途不允許中斷、缺額或回轉(zhuǎn)。5、穩(wěn)定性 穩(wěn)定性表示輸出值隨時(shí)間和環(huán)境因素變化的程度,通常用相對(duì)于最大值的相對(duì)變化量來(lái)表示。6、靈敏度 A/D轉(zhuǎn)換的靈敏度是指能夠?qū)崿F(xiàn)有效變換的最小輸入電壓。 除上述參數(shù)外,還有一些通常芯片必有的參數(shù)特性如輸入阻抗、輸入電壓范圍、工作電壓范圍等。在選擇A/D轉(zhuǎn)換芯片是要考慮實(shí)際的環(huán)境參數(shù)要求、系統(tǒng)性能指標(biāo)、處理器接口等多方面因素影響,選擇性能指標(biāo)符合系統(tǒng)應(yīng)用功能的A/D轉(zhuǎn)換芯片。二、A/D轉(zhuǎn)換原理 A/D轉(zhuǎn)換器(Analog Digital Converter)是一種能把輸入模擬電壓
32、或電流變成與其成正比的數(shù)字量的電路芯片,即能把被控對(duì)象的各種模擬信息變成計(jì)算機(jī)可以識(shí)別的數(shù)字信息。A/D轉(zhuǎn)換芯片種類很多,但從原理上通??煞譃橛?jì)數(shù)器式、雙積分式、逐次逼近式、并行式4種。目前最常用的是雙積分式和逐次逼近式。1、逐次逼近式A/D轉(zhuǎn)換原理 在低精度和中高速A/D轉(zhuǎn)換應(yīng)用系統(tǒng)中,常使用逐次逼近式A/D轉(zhuǎn)換芯片,其是一種反饋比較式A/D芯片,成本較低,而且接口簡(jiǎn)單。 逐次逼近式 A/D 轉(zhuǎn)換器是在輸入和輸出之間加入D/A 轉(zhuǎn)換器而給予反饋的形式,將輸入電壓和D/A 轉(zhuǎn)換器的輸出電壓用模擬電平進(jìn)行比較,將取得一致時(shí)的數(shù)字輸入作為A/D 轉(zhuǎn)換器的輸出的形式。 逐次逼近式A/D轉(zhuǎn)換芯片在工作
33、時(shí),由Vin輸入采集的模擬電壓,通過(guò)邏輯控制電路使用“對(duì)分搜索法”由逐次逼近寄存器產(chǎn)生數(shù)字量。以8位轉(zhuǎn)換為例,首先產(chǎn)生8位數(shù)字量的1/2,即80H,通過(guò)DA轉(zhuǎn)換器產(chǎn)生模擬量Vx,若VinVx,則清除數(shù)字量最高位,若VinVx,則保留數(shù)字量最高位,確定最高位之后依次以對(duì)分搜索法比較電壓確定下一位,直至確定最低位,此時(shí)A/D轉(zhuǎn)換結(jié)束,邏輯控制電路輸出轉(zhuǎn)換結(jié)束控制信號(hào),由緩沖寄存器輸出Vin對(duì)應(yīng)的數(shù)字量。 逐次逼近式A/D轉(zhuǎn)換速度較快,轉(zhuǎn)換時(shí)間由轉(zhuǎn)換精度的位數(shù)決定,與輸入的模擬量大小無(wú)關(guān),n位精度的A/D轉(zhuǎn)換芯片其轉(zhuǎn)換過(guò)程僅需n個(gè)時(shí)鐘周期就能完成一次轉(zhuǎn)換,其前提條件是內(nèi)部的DA和比較器的速度足夠快。
34、以一般而言,DAC 模擬輸出建立的時(shí)間是比較快的,而比較器的速率也比較高,因此可獲得高速的ADC。逐次比較式ADC 很容易地取得數(shù)據(jù)串行輸出容易與外界同步。同時(shí),由于逐次比較式的ADC 本身內(nèi)部包含有一個(gè)DAC,而高精度的逐次逼近ADC 獲得是建立在高精度的DAC 基礎(chǔ)上的,高精度的DAC 又以高精度的加權(quán)電阻網(wǎng)絡(luò)為基礎(chǔ)的,因此,獲得高精度的逐次逼近ADC 的成本很昂貴。同時(shí)高精度DAC 的噪音干擾也對(duì)進(jìn)一步提高ADC 的精度提出更嚴(yán)峻的問(wèn)題。2、積分式A/D轉(zhuǎn)換原理 為了提高 A/D 變換的精度,提高A/D 變換的抗干擾能力,有效降低成本,目前廣泛地使用積分式的A/D 轉(zhuǎn)換器。雙重積分式和三
35、斜積分式以及電荷A/D 平衡式轉(zhuǎn)換在高精度低速領(lǐng)域內(nèi)占有不可替代的優(yōu)勢(shì)。8.4.3 8路8位并行A/D轉(zhuǎn)換芯片ADC0809 ADC0809是典型的8路8位逐次逼近式A/D轉(zhuǎn)換器,采用CMOS工藝,具有8個(gè)通道的模擬量輸入端口,可實(shí)現(xiàn)8路05V的模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開(kāi)關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100s左右。 一、引腳及功能ADC0809芯片為28引腳雙列直插式封裝,其引腳功能見(jiàn)表8-9。名 稱引 腳功 能IN7IN051,27,28,268路模擬量輸入通道,ADC0809對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍為05V。若信號(hào)過(guò)小,還需進(jìn)行放大。
36、另外,模擬量輸入在A/D轉(zhuǎn)換過(guò)程中 其值不應(yīng)變化,因此對(duì)變化速度快的模擬量,在輸入前應(yīng)增加采樣保持電路ADDAADDC25,24,23地址線,A為低位地址,C為高位地址,模擬通道的選擇信號(hào)。其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見(jiàn)表8-10ALE22地址鎖存允許信號(hào)。對(duì)應(yīng)ALE上跳沿,ADDA、ADDB、ADDC地址狀態(tài)送入地址鎖存器中START6轉(zhuǎn)換啟動(dòng)信號(hào)。START上跳沿時(shí),所有內(nèi)部寄存器清“0”;START下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。本信號(hào)有時(shí)簡(jiǎn)寫(xiě)為STD7D02118,8,15,14,17數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連,D0
37、為最低位,D7為最高位OE9輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)CLOCK10時(shí)鐘信號(hào)。ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳。通常使用頻率為640kHz左右的時(shí)鐘信號(hào)EOC7轉(zhuǎn)換結(jié)束信號(hào)。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號(hào)既可作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用GND,VCC11,18GND-低;Vcc-+5V電源VREF(+),VREF()12,16參考電源。參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+
38、5V(VREF(+)= +5V,VREF()= 0V)ADDCADDBADDA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表8-10 ADC0809芯片通道選擇控制二、ADC0809與MCS-51單片機(jī)的接口設(shè)計(jì) 電路連接主要注意到三個(gè)問(wèn)題:一是8路模擬信號(hào)通道選擇;二是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送;三是時(shí)鐘信號(hào)的選擇。1、單通道使用(1)8路模擬通道選擇 如表8-10和圖8-21所示,模擬通道選擇信號(hào)ADDA、ADDB、ADDC分別接P2口高三位,則某一路通道的選擇根據(jù)表8-10來(lái)確定P2口和數(shù)據(jù)指針DPTR的賦值情況。8路模擬
39、通道的地址為1EFFH、3EFFH、5EFFH、7EFFH、9EFFH、BEFFH、DEFFH、FEFFH(無(wú)關(guān)位取“1”)。通過(guò)指令MOV DPTR,#data來(lái)選擇具體轉(zhuǎn)換哪一個(gè)通道上的模擬輸入量,如MOV DPTR,#3EFFH,P2.7=0,P2.6=0,P2.5=1選擇IN1通道,同時(shí)P2.0引腳輸出低電平。(2)啟動(dòng)與讀寫(xiě) 圖中把ADC0809的ALE、START信號(hào)與51單片機(jī)的 、P2.0引腳通過(guò)或非門相接,這樣使得ADC0809的啟動(dòng)控制和通道地址鎖存都受到51單片機(jī)的控制,通過(guò)指令MOVX DPTR,A( 引腳為“0”)使得信號(hào)在或非門的脈沖變化的前沿鎖存通道地址,在后沿啟
40、動(dòng)A/D轉(zhuǎn)換。 ADC0809的EOC引腳通過(guò)非門接51單片機(jī)的外部中斷0,其是判斷整個(gè)的A/D轉(zhuǎn)換過(guò)程是否結(jié)束,若轉(zhuǎn)換結(jié)束則EOC引腳輸出高電平,若未結(jié)束則輸出低電平,以此可看出,對(duì)于A/D轉(zhuǎn)換結(jié)束與否就可以通過(guò)查詢或中斷方式來(lái)判斷外部中斷0(P3.2)的變化。 ADC0809的輸出控制引腳OE通過(guò)或非門與51單片機(jī)的 、P2.0引腳相接,若A/D轉(zhuǎn)換結(jié)束則通過(guò)指令MOVX A,DPTR使得 引腳為“0”,控制輸出引腳OE有效,轉(zhuǎn)換結(jié)果數(shù)字量送入單片機(jī)的累加器中。(3)時(shí)鐘信號(hào) 由于ADC0809內(nèi)部沒(méi)有時(shí)鐘信號(hào),所以為了使ADC0809能夠工作,必須使用外部的時(shí)鐘給其提供時(shí)鐘信號(hào),可以使用
41、專用的時(shí)鐘電路,也可通過(guò)51單片機(jī)的ALE引腳提供。由于ADC0809的工作時(shí)鐘頻率為640KHZ左右,若單片機(jī)工作頻率為12MHZ,則單片機(jī)的ALE引腳輸出為2MHZ,經(jīng)過(guò)一個(gè)由D觸發(fā)器構(gòu)成的二分頻電路后,即可形成1MHZ供ADC0809使用的時(shí)鐘信號(hào)。例8-10電路如圖8-21,設(shè)計(jì)通道0的A/D轉(zhuǎn)換程序,轉(zhuǎn)換結(jié)果存入片內(nèi)20H單元。(1)中斷方式 org 0000h ajmp main org 0003h ajmp int00 org 0030h main:setb ea setb ex0 setb it0 ;必須用脈沖觸發(fā)方式 mov dptr,#1eFFh ;選擇通道0 movx d
42、ptr,a ;鎖存通道地址,并啟動(dòng)ADC0809 sjmp $ int00:movx a,dptr ;A/D轉(zhuǎn)換結(jié)束,讀取轉(zhuǎn)換結(jié)果并存入累加器A mov 20h,a movx dptr,a ;再一次啟動(dòng)轉(zhuǎn)換 reti end(2)查詢方式 main:mov dptr,#1eFFh movx dptr,a jb p3.2,$ movx a,dptr、 mov 30h,a ajmp main end2、多通道使用 由于多通道使用時(shí)涉及到通道地址的連續(xù)變化,所以電路設(shè)計(jì)要符合連續(xù)的地址變化編程,電路接口如圖8-22。 圖中采用了74LS373鎖存器,將地址信息與數(shù)據(jù)信息分時(shí)處理,74LS373的輸出
43、端Q0Q2分別與ADC0809的通道選擇端ADDAADDC相連,并且由P2.7引腳控制ADC0809的啟動(dòng)和數(shù)據(jù)輸出,這樣ADC0809的通道IN0IN7所對(duì)應(yīng)的地址就為07FF8H07FFFH。例8-11循環(huán)采集ADC0809的8路通道的模擬輸入量,并將數(shù)據(jù)依次存入20H27H單元。解:電路設(shè)計(jì)如圖8-21。采用中斷方式程序如下。 org 0000h ajmp main org 0003h ajmp int00 org 0030hmain:setb ea setb ex0 setb it0 ;必須用脈沖觸發(fā)方式 mov r0,#20h ;設(shè)置存儲(chǔ)單元首地址 mov r1,#8 ;設(shè)置循環(huán)次數(shù)
44、 mov dptr,#7ff8h ;指向通道IN0的地址 movx dptr,a sjmp $ int00:movx a,dptr mov r0,a inc r0 ;改變存儲(chǔ)單元指針 inc dptr ;改變通道地址指針 movx dptr,a djnz r1,lp ;判斷循環(huán)采集是否結(jié)束 mov dptr,#7ff8h ;循環(huán)采集結(jié)束,重新設(shè)置 mov r0,#20h mov r1,#8 movx dptr,a lp:reti end8.4.4 11路12位串行A/D轉(zhuǎn)換芯片TLC2543 TLC2543是12位開(kāi)關(guān)電容逐次逼近A/D轉(zhuǎn)換芯片,可通過(guò)串行的三態(tài)輸出端與51單片機(jī)的串行口進(jìn)行傳
45、輸數(shù)據(jù)。片內(nèi)有14路模擬開(kāi)關(guān),可選擇外部11個(gè)模擬量輸入通道中的任一個(gè)或三個(gè)內(nèi)部自測(cè)電壓中的一個(gè),具有自動(dòng)的采樣保持功能,轉(zhuǎn)換時(shí)間小于10s。一、引腳功能TLC2543芯片為20引腳雙列直插式和方形貼片式兩種,其引腳功能見(jiàn)表8-11。名 稱引 腳功 能AIN0AIN1019,11,1211路模擬量輸入通道,當(dāng)使用4.1MHz的時(shí)鐘時(shí),外部輸入設(shè)備的輸入阻抗應(yīng)50 15片選端。上升沿禁止數(shù)據(jù)輸入/輸出和時(shí)鐘信號(hào);下降沿復(fù)位計(jì)數(shù)器,并控制數(shù)據(jù)輸入輸出和時(shí)鐘信號(hào)。DIN17串行數(shù)據(jù)輸入。先輸入的4位數(shù)據(jù)用來(lái)選擇通道,后4位用來(lái)設(shè)置工作方式,最高為在前,每個(gè)時(shí)鐘的上升沿送入一位數(shù)據(jù)。DOUT16轉(zhuǎn)換數(shù)
46、字量輸出。數(shù)據(jù)在 為低電平是輸出。根據(jù)不同的工作方式有8、12和16位三種長(zhǎng)度。EOC19轉(zhuǎn)換結(jié)束信號(hào)引腳。在命令字最后一個(gè)時(shí)鐘的下降沿變低,直到轉(zhuǎn)換結(jié)束后變?yōu)楦唠娖健ND,VCC10,20電源引腳。GND-地,VCC-+5VCLK18時(shí)鐘引腳。(1)前8個(gè)上升沿將命令字送入TLC2543數(shù)據(jù)寄存器,其中前4個(gè)是通道地址,后4個(gè)是工作方式控制字;(2)在第4個(gè)下降沿,選定輸入通道的輸入模擬電壓并對(duì)電容列陣充電直到最后一個(gè)CLK信號(hào)的下降沿結(jié)束;(3)在CLK的下降沿將上次的轉(zhuǎn)換結(jié)果輸出;(4)在最后一個(gè)CLK下降沿EOC變?yōu)榈碗娖?。VREF+,VREF-14,13基準(zhǔn)電壓引腳。通常VREF+
47、接電源正極,VREF-接地,最大輸入電壓取決于VREF之間的差值。 TLC2543在每次進(jìn)行A/D轉(zhuǎn)換時(shí)都必須寫(xiě)入命令字,以確定下一次轉(zhuǎn)換使用的通道號(hào)和輸出數(shù)據(jù)的性質(zhì),輸入寄存器命令字的格式及功能如表。功能命令字字節(jié)通道地址數(shù)據(jù)長(zhǎng)度控制數(shù)據(jù)輸出順序控制數(shù)據(jù)極性控制命令字位D7D6D5D4D3D2D1D0模擬量輸入通道AIN00000AIN10001AIN20010AIN30011AIN40100AIN50101AIN60110AIN70111AIN81000AIN91001AIN101010測(cè)試電壓差模1011VREF-1100VREF+1101軟件斷電1110數(shù)據(jù)長(zhǎng)度8位0112位/016位
48、11高位輸出0低位輸出1單極(二進(jìn)制)0雙極(補(bǔ)碼)1二、TLC2543與51單片機(jī)接口設(shè)計(jì) TLC2543是串行的A/D轉(zhuǎn)換芯片,相對(duì)于并行芯片其接口電路簡(jiǎn)單很多,節(jié)省了I/O口資源,電路如圖。此電路是通過(guò)P1.1、P1.2、P1.3控制TLC2543的數(shù)字量串行輸出、時(shí)鐘信號(hào)、片選端,而由P1.0引腳輸出TLC2543的控制字。例8-12設(shè)計(jì)TLC2543采集AIN0通道的數(shù)據(jù)。TLC2543:mov r4,#04h ;設(shè)置命令字,選擇通道0,8位數(shù)據(jù),高位輸出 mov a,r4 clr p1.3 ;cs有效 mov r5,#8 ;8位控制字?jǐn)?shù)據(jù) loop:clr p1.2 setb p1
49、.1 ;P1.1設(shè)為輸入引腳 mov c,p1.1 ;數(shù)字量串行由P1.1存入C rlc a mov p1.0,c ;控制字串行送入TLC2543 setb p1.2 ;產(chǎn)生一個(gè)CLK nop clr p1.2 djnz r5,loop mov 20H,a ajmp tlc2543 end第五節(jié) 后向通道中的D/A擴(kuò)展 通過(guò)前向通道可以收集數(shù)據(jù)或狀態(tài)信息,并對(duì)數(shù)據(jù)信息進(jìn)行變換送入處理器進(jìn)行數(shù)據(jù)處理和狀態(tài)判斷,而若想調(diào)整被控參數(shù)和改變應(yīng)用系統(tǒng)運(yùn)行控制狀態(tài)就必須輸出一些控制信息或命令。在單片機(jī)應(yīng)用系統(tǒng)中,對(duì)被控對(duì)象輸出控制命令,實(shí)現(xiàn)控制操作改變其運(yùn)行狀態(tài)的通道通常稱為后向通道。而單片機(jī)作為處理器本
50、身的I/O口輸出信號(hào)電平卻很低(在空載情況下接近5V),并不具備直接控制外部控制執(zhí)行機(jī)構(gòu)和輸出模擬量的能力,所以通常也要進(jìn)行后向通道的擴(kuò)展。8.5.1 后向通道簡(jiǎn)介 后向通道是對(duì)被控對(duì)象的控制和調(diào)節(jié),要完成單片機(jī)與控制機(jī)構(gòu)之間的功率驅(qū)動(dòng)、信號(hào)電平轉(zhuǎn)換、抗干擾等功能。 功率驅(qū)動(dòng)是指將處理器的輸出的小信號(hào)進(jìn)行功率放大處理,以達(dá)到可以驅(qū)動(dòng)控制執(zhí)行機(jī)構(gòu)運(yùn)行的功率要求。 信號(hào)電平轉(zhuǎn)換是指由于不同類型的集成電路的制造工藝不同,其輸入/輸出電平的有效區(qū)間也不盡相同,而為了使不同類型的集成電路可以連接使用就要進(jìn)行電平轉(zhuǎn)換。 抗干擾是指抑制由于被控對(duì)象或傳輸信息等在輸出過(guò)程中由于受傳輸距離、傳輸環(huán)境、前向通道等
51、多種因素的影響,所面臨的電磁波、振動(dòng)、噪聲、信號(hào)衰減等干擾。一、設(shè)備驅(qū)動(dòng)器 在單片機(jī)系統(tǒng)中經(jīng)常使用單片機(jī)控制一些大電流高電壓執(zhí)行機(jī)構(gòu)如步進(jìn)電機(jī)、直流電機(jī)、繼電器、電磁開(kāi)關(guān)等,這些機(jī)構(gòu)的負(fù)載功率通常都很大,單片機(jī)輸出的開(kāi)關(guān)量不足以直接驅(qū)動(dòng),需要進(jìn)行功率放大才能驅(qū)動(dòng)這些外設(shè),有的是使用大功率接口電路,有的使用專用的驅(qū)動(dòng)芯片,有的使用小功率繼電器,如集成達(dá)林頓管驅(qū)動(dòng)芯片ULN2003,其可以驅(qū)動(dòng)直流電機(jī)、步進(jìn)電機(jī)、繼電器、電磁閥等。二、D-A轉(zhuǎn)換 對(duì)于外部設(shè)備的驅(qū)動(dòng)和控制不僅可以使用專用的設(shè)備驅(qū)動(dòng)器,還可以使用D/A轉(zhuǎn)換芯片。D-A轉(zhuǎn)換是將數(shù)字量轉(zhuǎn)換為模擬量,單片機(jī)的數(shù)字量輸出經(jīng)過(guò)D/A轉(zhuǎn)換芯片后,
52、可轉(zhuǎn)化為驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)控制和調(diào)整的模擬量。這樣就可以通過(guò)單片機(jī)改變控制量的大小、方向等以達(dá)到合理、科學(xué)的控制整個(gè)應(yīng)用系統(tǒng),使系統(tǒng)高效、穩(wěn)定的工作。三、電平轉(zhuǎn)換 集成電路按照制造工藝可分為TTL、MOS、COMS、DTL等多種類型,不同類型的集成電路之間進(jìn)行連接使用時(shí)或串行通信中的不同接口之間都就必須使用電平轉(zhuǎn)換器,如MC14504可將TTL電平轉(zhuǎn)化為COMS電平;DP8482AN可將ECL電平轉(zhuǎn)化為TTL電平。四、抑制干擾 由于環(huán)境、傳輸?shù)纫蛩貙?duì)單片機(jī)應(yīng)用系統(tǒng)的干擾會(huì)造成系統(tǒng)或控制的不穩(wěn)定,這些干擾包括了噪聲干擾、電磁干擾、電源干擾和通道干擾等,抑制這些干擾基本上可以從軟件和硬件兩方面入手。在硬
53、件方面可以使用線路驅(qū)動(dòng)器和接收器、光電隔離來(lái)抑制長(zhǎng)線路傳輸過(guò)程中的信號(hào)衰減、反射、噪聲等干擾;采用穩(wěn)壓、濾波、整流、掉電保護(hù)等技術(shù)抑制電源的干擾等等。在軟件方面主要是編寫(xiě)一些算法程序,如數(shù)字濾波程序、補(bǔ)償程序、冗余校驗(yàn)程序等。8.5.2 D/A轉(zhuǎn)換指標(biāo)及轉(zhuǎn)換原理一、D/A轉(zhuǎn)換指標(biāo) D/A轉(zhuǎn)換指標(biāo)不僅表明了D/A轉(zhuǎn)換芯片的基本特性,而且決定了采用D/A轉(zhuǎn)換芯片的應(yīng)用系統(tǒng)的控制、調(diào)節(jié)輸出能力。D/A轉(zhuǎn)換的性能指標(biāo)主要有分辨率、建立時(shí)間、轉(zhuǎn)換精度、線性誤差、溫度靈敏度等。1、分辨率 D/A轉(zhuǎn)換芯片與A/D轉(zhuǎn)換芯片的分辨率的概念是一樣的,都是表明芯片對(duì)模擬量的分辨能力。D/A轉(zhuǎn)換芯片的分辨率確定了能由
54、D/A轉(zhuǎn)換芯片產(chǎn)生的最小模擬量的變化。通常用二進(jìn)制數(shù)的位數(shù)表示,如分辨率為8位的D/A轉(zhuǎn)換芯片能給出滿量程電壓的1/28的分辨能力,位數(shù)越多,則分辨率越高。2、建立時(shí)間 建立時(shí)間是將一個(gè)數(shù)字量轉(zhuǎn)換為穩(wěn)定模擬信號(hào)所需的時(shí)間,用來(lái)描述D/A轉(zhuǎn)換芯片的速度,一般情況電流輸出型的建立時(shí)間較短,而電壓輸出型建立時(shí)間較長(zhǎng)。3、轉(zhuǎn)換精度 轉(zhuǎn)換精度是指滿量程時(shí)D/A轉(zhuǎn)換芯片的實(shí)際模擬輸出值和理論值的接近程度。如滿量程輸出的理論值為10V,而實(shí)際輸出值為9.99V10.01V,則轉(zhuǎn)換精度為10mV。一般情況下,D/A轉(zhuǎn)換芯片的轉(zhuǎn)換精度是分辨率的1/2,即LSB/2,最小數(shù)字量對(duì)應(yīng)的輸出模擬電壓值的1/2。4、線
55、性誤差 線性誤差是指D/A轉(zhuǎn)換芯片的實(shí)際轉(zhuǎn)換模擬量偏離理想轉(zhuǎn)換特性的最大偏差與滿量程之間的百分比。5、偏移量誤差 偏移量誤差是指當(dāng)輸入數(shù)字量為“0”時(shí),輸出模擬量相對(duì)于0的偏移量??赏ㄟ^(guò)外界基準(zhǔn)電壓VREF和電位器進(jìn)行調(diào)整。6、溫度靈敏度 溫度靈敏度是指在數(shù)字輸入不變的情況下,模擬輸出信號(hào)隨溫度的變化。一般D/A轉(zhuǎn)換芯片的溫度靈敏度為50PPM/,PPM為百萬(wàn)分之一。 在D/A轉(zhuǎn)換芯片使用時(shí)不僅要考慮其性能指標(biāo)在應(yīng)用系統(tǒng)中的影響,而且要考慮芯片的輸出形式和鎖存器的問(wèn)題。常用的D/A轉(zhuǎn)換芯片有電壓輸出型(如TLC5615)和電流輸出型(如DAC0832)。另外有的D/A轉(zhuǎn)換芯片內(nèi)部沒(méi)有鎖存裝置,
56、結(jié)構(gòu)比較簡(jiǎn)單,在于51單片機(jī)的P0口接口時(shí)需外加鎖存芯片,此類的D/A轉(zhuǎn)換芯片如DAC800、AD7520等;有的D/A轉(zhuǎn)換芯片內(nèi)部有鎖存裝置、數(shù)據(jù)及存器等,可以與51單片機(jī)的P0口直接相連使用,如DAC0832、AD7542等。二、D/A轉(zhuǎn)換原理 D/A轉(zhuǎn)換的原理是把輸入數(shù)字量的每位都按其二進(jìn)制權(quán)值分別轉(zhuǎn)換成對(duì)應(yīng)的模擬量,然后通過(guò)運(yùn)算放大器求和相加,得到最終的輸出模擬量,在D/A轉(zhuǎn)換芯片內(nèi)部存在實(shí)現(xiàn)上述功能的電阻網(wǎng)絡(luò),目前絕大部分D/A轉(zhuǎn)換芯片都采用了T型電阻網(wǎng)絡(luò)將數(shù)字量轉(zhuǎn)換為模擬量,電路原理如圖8-24。8.5.3 8位并行D/A轉(zhuǎn)換芯片DAC0832 DAC0832是CMOS工藝的8位并
57、行電流輸出型數(shù)字-模擬轉(zhuǎn)換芯片。其單電源供電,從+5+l5V均可正常工作,基準(zhǔn)電壓的范圍為10V,電流建立時(shí)間為ls,低功耗20mW。具有價(jià)格低廉、接口簡(jiǎn)單、控制方便等優(yōu)點(diǎn),其姊妹芯片還有DAC0830、DAC0831,可以進(jìn)行互相替換。一、引腳功能DAC0832芯片為20引腳,雙排直插式封裝。內(nèi)部結(jié)構(gòu)如圖8-26,引腳功能如表8-13。名 稱引 腳功 能DI7DI01316,47轉(zhuǎn)換數(shù)字量數(shù)據(jù)輸入1片選信號(hào)(輸入),低電平有效ILE19數(shù)據(jù)鎖存允許信號(hào)(輸入),高電平有效6第1寫(xiě)信號(hào)(輸入),低電平有效。該信號(hào)與ILE信號(hào)共同控制輸入寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式:當(dāng)ILE=l和 =0
58、時(shí),為輸入寄存器直通方式;當(dāng)ILE =1和 =1時(shí),為輸入寄存器鎖存方式17數(shù)據(jù)傳送控制信號(hào)(輸入),低電平有效18第2寫(xiě)信號(hào)(輸入),低電平有效。該信號(hào)與 信號(hào)合在一起控制DAC寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式;當(dāng) =0和= =0時(shí),為DAC寄存器直通方式;當(dāng) =1和= =0時(shí),為DAC寄存器鎖存方式Iout111電流輸出“1”。當(dāng)數(shù)據(jù)為全“1”時(shí),輸出電流最大;為全“0”時(shí)輸出電流最小Iout212電流輸出2。DAC轉(zhuǎn)換器的特性之一是:lout1+Iout2 =常數(shù)。Rfb9反饋電阻端。即運(yùn)算放大器的反饋電阻端,電阻(l5k)已固化在芯片中。因?yàn)镈AC0832是電流輸出型D/A轉(zhuǎn)換器,
59、為得到電壓的轉(zhuǎn)換輸出,使用時(shí)需在兩個(gè)電流輸出端接運(yùn)算放大器,Rfb即為運(yùn)算放大器的反饋電阻VREF8基準(zhǔn)電壓,是外加高精度電壓源,與芯片內(nèi)的電阻網(wǎng)絡(luò)相連接,該電壓可正負(fù),范圍為l0+l0VVCC20電源輸入端,+5+10V范圍內(nèi)DGND3數(shù)字地AGND10模擬地例8-13使用DAC0832的直通方式,產(chǎn)生一個(gè)幅值為0-5V的鋸齒波。解:在DAC0832的直通方式中,所有控制引腳均不需要51單片機(jī)進(jìn)行控制,故只需設(shè)置51單片機(jī)和DAC0832的數(shù)據(jù)接口即可。幅值為0-5V說(shuō)明是單極性輸出。(1)電路設(shè)計(jì) 控制引腳ILE接高電平,其他所有控制引腳接數(shù)字地,51單片機(jī)的P0口和DAC0832的輸入端
60、直接相連即可,如圖。(2)程序設(shè)計(jì)MAIN:MOV A,#0 MOVX DPTR,A LP:INC A AJMP LP END 例8-14DAC0832工作在單緩沖方式下,輸出方波。解:由P2.0引腳控制DAC0832的片選端,程序如下。MAIN:MOV DPTR,#0FEFFH ;DAC0832地址,P2.0=0 MOV A,#0 ;方波波峰值,0V MOVX DPTR,A ;數(shù)字量送入DAC0832 LCALL DEL ;二分之一方波周期 MOV A,#255 ;方波波谷值,-5V MOVX DPTR,A LCALL DEL AJMP MAIN DEL:MOV R0,#10 ;晶振6MHz
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)匯編
- 年產(chǎn)50臺(tái)大型氣體壓縮機(jī)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 企業(yè)中的項(xiàng)目組織管理第07章
- 2025版空調(diào)設(shè)備銷售與安裝一體化服務(wù)合同范本3篇
- 中小學(xué)生數(shù)學(xué)寒假培訓(xùn)班
- 國(guó)外城市社區(qū)居家養(yǎng)老服務(wù)的特點(diǎn)
- 重慶市南川區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試生物試題(含答案)
- 四川省瀘州市瀘州高級(jí)中學(xué)校2024-2025學(xué)年九年級(jí)上學(xué)期1月期末考試化學(xué)試卷(含答案)
- 冬季用電防火安全
- 河北省唐山市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版專題練習(xí)(上學(xué)期)試卷及答案
- 機(jī)動(dòng)車維修竣工出廠合格證
- 陜西延長(zhǎng)石油精原煤化工有限公司 60 萬(wàn)噸 - 年蘭炭綜合利用項(xiàng)目 ( 一期 30 萬(wàn)噸 - 年蘭炭、1 萬(wàn)噸 - 年金屬鎂生產(chǎn)線)竣工環(huán)境保護(hù)驗(yàn)收調(diào)查報(bào)告
- 大病救助申請(qǐng)書(shū)
- 法學(xué)概論-課件
- 廈門物業(yè)管理若干規(guī)定
- 外科護(hù)理學(xué)試題+答案
- 齊魯醫(yī)學(xué)屈光和屈光不正匯編
- 貨架的技術(shù)說(shuō)明(一)
- 【高等數(shù)學(xué)練習(xí)題】皖西學(xué)院專升本自考真題匯總(附答案解析)
- 高處作業(yè)安全技術(shù)交底-
- 工抵房協(xié)議模板
評(píng)論
0/150
提交評(píng)論