應(yīng)用系統(tǒng)配置及接口技術(shù)-課件_第1頁(yè)
應(yīng)用系統(tǒng)配置及接口技術(shù)-課件_第2頁(yè)
應(yīng)用系統(tǒng)配置及接口技術(shù)-課件_第3頁(yè)
應(yīng)用系統(tǒng)配置及接口技術(shù)-課件_第4頁(yè)
應(yīng)用系統(tǒng)配置及接口技術(shù)-課件_第5頁(yè)
已閱讀5頁(yè),還剩120頁(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)介

1、應(yīng)用系統(tǒng)配置及接口技術(shù)若輸入是非電的模擬信號(hào),還需要通過(guò)傳感器轉(zhuǎn)換成電信號(hào)并加以放大,把模擬量轉(zhuǎn)換成數(shù)字量。該過(guò)程稱為“量化”,也稱為模數(shù)轉(zhuǎn)換。實(shí)現(xiàn)模數(shù)轉(zhuǎn)換的設(shè)備稱為模數(shù)轉(zhuǎn)換器(),將數(shù)字量轉(zhuǎn)換成模擬量的設(shè)備稱為數(shù)模轉(zhuǎn)換器()。圖91所示為具有模擬量輸入、模擬量輸出以及鍵盤、顯示器、打印機(jī)等配置的89C51應(yīng)用系統(tǒng)框圖。為節(jié)省I/O口線,89C51片外擴(kuò)展應(yīng)盡量采用串行外設(shè)接口芯片。7/18/20221圖91 系統(tǒng)前向、后向人機(jī)通道配置框圖7/18/202229.1 人機(jī)通道配置與接口技術(shù)單片機(jī)應(yīng)用系統(tǒng)通常都需要進(jìn)行人機(jī)對(duì)話。這包括人對(duì)應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,還有應(yīng)用系統(tǒng)向人顯示運(yùn)行狀態(tài)

2、與運(yùn)行結(jié)果等。如鍵盤、 顯示器就是用來(lái)完成人機(jī)對(duì)話活動(dòng)的人機(jī)通道。7/18/202239.1.1 鍵盤接口及處理程序鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識(shí)別由專用的硬件譯碼器實(shí)現(xiàn),并產(chǎn)生鍵編號(hào)或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等;靠軟件識(shí)別的稱為非編碼鍵盤。7/18/20224鍵盤中每個(gè)按鍵都是一個(gè)常開開關(guān)電路,如圖9-2所示。當(dāng)按鍵K未被按下時(shí),P1.0輸入為高電平;當(dāng)K閉合時(shí),P1.0輸入為低電平。圖9-2 按鍵電路7/18/20225通常按鍵所用的開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),電壓信號(hào)波形如圖9-3所示。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)

3、不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),如圖9-3所示。抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為510 ms。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。圖9-3 按鍵時(shí)的抖動(dòng)7/18/20226鍵抖動(dòng)會(huì)引起一次按鍵被誤讀多次。為了確保CPU對(duì)鍵的一次閉合僅做一次處理,必須去除鍵抖動(dòng)。在鍵閉合穩(wěn)定時(shí),讀取鍵的狀態(tài),并且必須判別;在鍵釋放穩(wěn)定后,再作處理。按鍵的抖動(dòng),可用硬件或軟件兩種方法消除。如果按鍵較多,常用軟件方法去抖動(dòng),即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生510 ms的延時(shí);讓前沿抖動(dòng)消失后,再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電

4、平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給510 ms的延時(shí),待后沿抖動(dòng)消失后,才能轉(zhuǎn)入該鍵的處理程序。7/18/202271. 鍵盤結(jié)構(gòu)鍵盤可以分為獨(dú)立連接式和行列式(矩陣式)兩類,每一類按其譯碼方法又都可分為編碼及非編碼兩種類型。這里只介紹非編碼鍵盤。7/18/202281) 獨(dú)立式非編碼鍵盤接口及處理程序獨(dú)立式按鍵是指各按鍵相互獨(dú)立地接通一條輸入數(shù)據(jù)線,如圖9-4所示。這是最簡(jiǎn)單的鍵盤結(jié)構(gòu),該電路為查詢方式電路。當(dāng)任何一個(gè)鍵按下時(shí),與之相連的輸入數(shù)據(jù)線即被清0(低電平),而平時(shí)該線為1(高電平)。要判別是否有鍵按下,用單片機(jī)的位處理指令十分方便。這種鍵盤結(jié)構(gòu)的優(yōu)點(diǎn)是電路簡(jiǎn)單;缺

5、點(diǎn)是當(dāng)鍵數(shù)較多時(shí),要占用較多的線。圖9-4 獨(dú)立連接式非編碼鍵盤7/18/20229圖9-4所示查詢方式鍵盤的處理程序比較簡(jiǎn)單。程序中沒(méi)有使用散轉(zhuǎn)指令,并且省略了軟件去抖動(dòng)措施,只包括鍵查詢、鍵功能程序轉(zhuǎn)移。P0FP7F為功能程序入口地址標(biāo)號(hào),其地址間隔應(yīng)能容納JMP指令字節(jié);PROM0PROM7分別為每個(gè)按鍵的功能程序。7/18/202210程序清單(設(shè)為P1口):START:MOVA,#0FFH;輸入時(shí)先置P1口為全1MOVP1,AMOVA,P1;鍵狀態(tài)輸入PL1:JNBACC.0,P0F;0號(hào)鍵按下轉(zhuǎn)P0F標(biāo)號(hào)地址JNBACC.1,P1F;1號(hào)鍵按下轉(zhuǎn)P1F標(biāo)號(hào)地址JNBACC.2,P2

6、F;2號(hào)鍵按下轉(zhuǎn)P2F標(biāo)號(hào)地址JNBACC.3,P3F;3號(hào)鍵按下轉(zhuǎn)P3F標(biāo)號(hào)地址JNBACC.4,P4F;4號(hào)鍵按下轉(zhuǎn)P4F標(biāo)號(hào)地址JNBACC.5,P5F;5號(hào)鍵按下轉(zhuǎn)P5F標(biāo)號(hào)地址JNBACC.6,P6F;6號(hào)鍵按下轉(zhuǎn)P6F標(biāo)號(hào)地址JNBACC.7,P7F;7號(hào)鍵按下轉(zhuǎn)P7F標(biāo)號(hào)地址LJMPSTART;無(wú)鍵按下返回7/18/202211P0F: LJMPPROM0 P1F: LJMPPROM1 ;入口地址表P7F: LJMPPROM7PROM0:;0號(hào)鍵功能程序LJMP START;0號(hào)鍵執(zhí)行完返回PROM1:LJMP START PROM7:LJMP START由程序可以看出,各按鍵由

7、軟件設(shè)置了優(yōu)先級(jí),優(yōu)先級(jí)順序依次為07。7/18/202212【例9-1】 設(shè)計(jì)一個(gè)有4個(gè)獨(dú)立式按鍵的鍵盤接口,并編寫鍵掃描程序。解: 電路原理圖如圖9-5所示。圖9-5 鍵盤接口電路原理圖7/18/202213程序清單:KEY:MOVP1,#0FFH;P1口為輸入,各位應(yīng)先置位為高電平MOVA,P1;讀取按鍵狀態(tài)CPLA;取正邏輯,高電平表示有鍵按下ANLA,#0FHJZKEY;A=0時(shí)無(wú)鍵按下,重新掃描鍵盤LCALLD10 ms;有鍵按下延時(shí)去抖動(dòng)MOVA,P1;讀取按鍵狀態(tài)CPLA;取正邏輯,高電平表示有鍵按下ANLA,#0FH;再判別是否有鍵按下JZKEY;A=0時(shí)無(wú)鍵按下重新掃描鍵盤

8、MOVB,A;有鍵按下,鍵值送B暫存MOVA,P1CPLA7/18/202214 ANLA,#0FH;判別按鍵釋放KEY1:JNZKEY1;按鍵未釋放,等待 LCALLD10ms;釋放,延時(shí)去抖動(dòng) MOVA,B;取鍵值送A JBACC.0,PKEY1;K1按下轉(zhuǎn)PKEY1 JBACC.1,PKEY2;K2按下轉(zhuǎn)PKEY2 JBACC.2,PKEY3;K3按下轉(zhuǎn)PKEY3 JBACC.3,PKEY4;K4按下轉(zhuǎn)PKEY4EKEY:RET7/18/202215PKEY1:LCALLK1;K1命令處理程序 RETPKEY2:LCALLK2;K2命令處理程序 RETPKEY3:LCALLK3;K3命令

9、處理程序 RETPKEY4:LCALLK4;K4命令處理程序 RETD10ms:MOVR7,#10H;10 ms延時(shí)子程序DS1: MOVR6,#0FFHDS2: DJNZR6,DS2 DJNZR7,DS1 RET7/18/2022162) 行列式鍵盤接口及工作原理為了減少鍵盤與單片機(jī)接口時(shí)所占用I/O線的數(shù)目,在鍵數(shù)較多時(shí),通常都將鍵盤排列成行列矩陣形式,如圖9-6所示。以圖9-6所示的44鍵盤為例,說(shuō)明行掃描法識(shí)別哪一個(gè)按鍵被按下的工作原理。7/18/202217圖9-6 44矩陣鍵盤接口圖7/18/202218首先判別鍵盤中有無(wú)鍵按下,由單片機(jī)口向鍵盤送(輸出)全掃描字,然后讀入(輸入)

10、列線狀態(tài)來(lái)判斷。方法是: 向行線(圖中水平線)輸出全掃描字00H,把全部行線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會(huì)有一根列線電平被拉至低電平,從而使列輸入不全為1。判斷鍵盤中哪一個(gè)鍵被按下是通過(guò)將行線逐行置低電平后,檢查列輸入狀態(tài)實(shí)現(xiàn)的。方法是: 依次給行線送低電平,然后查所有列線狀態(tài),稱行掃描。如果全為1,則所按下的鍵不在此行;如果不全為1,則所按下的鍵必在此行,而且是在與零電平列線相交的交點(diǎn)上的那個(gè)鍵。7/18/202219(1) 行掃描法識(shí)別鍵號(hào)(值)的原理行掃描法識(shí)別鍵號(hào)的工作原理如下:將第0行變?yōu)榈碗娖?,其余行為高電平時(shí),輸出編碼為1110。然后讀取列的

11、電平,判別第0行是否有鍵按下。在第0行上若有某一按鍵按下,則相應(yīng)的列被拉到低電平,則表示第0行和此列相交的位置上有按鍵按下。若沒(méi)有任一條列線為低電平,則說(shuō)明0行上無(wú)鍵按下。將第1行變?yōu)榈碗娖?,其余行為高電平時(shí),輸出編碼為1101。然后通過(guò)輸入口讀取各列的電平。檢測(cè)其中是否有變?yōu)榈碗娖降牧芯€。若有鍵按下,則進(jìn)而判別哪一列有鍵按下,確定按鍵位置。將第2行變?yōu)榈碗娖?,其余行為高電平時(shí),輸出編碼為1011。判別是否有哪一列鍵按下的方法同上。將第3行變?yōu)榈碗娖?,其余行為高電平時(shí),輸出編碼為0111。判別是否有哪一列鍵按下的方法同上。7/18/202220在掃描過(guò)程中,當(dāng)發(fā)現(xiàn)某行有鍵按下,也就是輸入的列線

12、中有一位為0時(shí),便可判別閉合按鍵所在列的位置,根據(jù)行線位置和列線位置就能判斷按鍵在矩陣中的位置,知道是哪一個(gè)鍵按下。7/18/202221(2) 鍵盤掃描工作過(guò)程按鍵掃描的工作過(guò)程如下: 判斷鍵盤中是否有鍵按下; 進(jìn)行行掃描,判斷是哪一個(gè)鍵按下,若有鍵按下,則調(diào)用延時(shí)子程序去抖動(dòng); 讀取按鍵的位置碼; 將按鍵的位置碼轉(zhuǎn)換為鍵值(鍵的順序號(hào))0、1、2、F。圖9-7所示為44鍵盤掃描流程圖。7/18/202222圖9-7 44鍵盤掃描流程圖7/18/202223鍵的位置碼及鍵值的譯碼過(guò)程 上述行掃描過(guò)程結(jié)束后得到的行號(hào)存放在R0中,列號(hào)存放在R2中。 鍵值(號(hào))的獲得(譯碼)通常采用計(jì)數(shù)譯碼法。

13、這種方法根據(jù)矩陣鍵盤的結(jié)構(gòu)特點(diǎn),每個(gè)按鍵的值=行號(hào)每行的按鍵個(gè)數(shù)+列號(hào),即鍵號(hào)(值)=行首鍵號(hào)+列號(hào)第0行的鍵值為: 0行4+列號(hào)(03)為0、1、2、3;第1行的鍵值為: 1行4+列號(hào)(03)為4、5、6、7;第2行的鍵值為: 2行4+列號(hào)(03)為8、9、A、B;第3行的鍵值為: 3行4+列號(hào)(03)為C、D、E、F。44鍵盤行首鍵號(hào)為0、4、8、C,列號(hào)為0,1,2,3。所以鍵值譯碼子程序?yàn)镈ECODE,該子程序出口: 鍵值在A中。7/18/202224(3) 鍵盤掃描子程序(參見圖9-7)出口: 鍵值(鍵號(hào))在A中KEY:MOV P1,#0F0H;令所有行為低電平KEY1: MOV R

14、7,#0FFH ;設(shè)置計(jì)數(shù)常數(shù) DJNZ R7,KEY1 ;延時(shí) MOV A,P1;讀取P1口的列值 ANL A,#0F0H;判別有鍵值按下嗎? CPL A;求反后,有高電平就有鍵按下 JZ EKEY;無(wú)鍵按下時(shí)退出 LCALL DEL20 ms;延時(shí)20 ms去抖動(dòng)SKEY:MOV A,#00;下面進(jìn)行行掃描,1行1行掃 MOV R0,A;R0作為行計(jì)數(shù)器,開始為0 MOV R1,A;R1作為列計(jì)數(shù)器,開始為0 MOV R3 #0FEH;R3為行掃描字暫存,低4位為行掃描字SKEY2:MOV A,R3 MOV P1,A;輸出行掃描字,高4位全1 NOP NOP NOP;3個(gè)NOP操作使P1口

15、輸出穩(wěn)定7/18/202225MOVA,P1;讀列值MOVR1,A;暫存列值A(chǔ)NLA,#0F0H;取列值CPLA;高電平則有鍵閉合S123:JNZSKEY3;有鍵按下轉(zhuǎn)SKEY3,無(wú)鍵按下時(shí)進(jìn)行一行掃描INCR0;行計(jì)數(shù)器加1SETBC;準(zhǔn)備將行掃描左移1位,形成下一行掃描字,C=1保證輸出行掃描字中高4位全為1,為列輸入作準(zhǔn)備,低4位中只有1位為0MOVA,R3;R3帶進(jìn)位C左移1位RLCAMOVR3,A;形成下一行掃描字R3MOVA,R0CJNEA,#04H,SKEY1;最后一行掃(4次)完了嗎?EKEY:RET7/18/202226;列號(hào)譯碼SKEY3:MOVA,R1JNBACC.4,S

16、KEY5JNBACC.5,SKEY6JNBACC.6,SKEY7JNBACC.7,SKEY8AJMPEKEYSKEY5:MOVA,#00HMOVR2,A;存0列號(hào)AJMPDKEYSKEY6:MOVA,#01HMOVR2,A;存1列號(hào)AJMPDKEYSKEY7:MOVA,#02HMOVR2,A;存2列號(hào)AJMPDKEYSKEY8:MOVA,#03HMOVR2,A;存3列號(hào)AJMPDKEY7/18/202227;鍵位置譯碼DKEY:MOVA,R0;取行號(hào)ACALLDECODEAJMPEKEY;鍵值(鍵號(hào))譯碼DECODE:MOVA,R0;取行號(hào)送AMOVB,#04H;每一行按鍵個(gè)數(shù)MULAB;行號(hào)

17、按鍵數(shù)ADDA,R2;行號(hào)按鍵數(shù)+列號(hào)=鍵值(號(hào)),在A中RET7/18/202228【例92】設(shè)計(jì)一個(gè)22行列式鍵盤,并編寫鍵盤掃描子程序。解: 原理如圖9-8所示。 判斷是否有鍵按下:將列線P1.0、P1.1送全0,查P0.0、P0.1是否為0。 判斷哪一個(gè)鍵按下:逐列送0電平信號(hào),再逐行掃描是否為0。 鍵號(hào)=行首鍵號(hào)+列號(hào)圖9-8 鍵盤掃描原理圖7/18/202229KEY:LCALLKS;調(diào)用判斷有無(wú)鍵按下子程序JZKEY;無(wú)鍵按下,重新掃描鍵盤LCALLT10 ms;有鍵按下,延時(shí)去抖動(dòng)LCALLKSJZKEYMOVR2,#0FEH;首列掃描字送R2MOVR4,#00H;首列號(hào)#00

18、H送入R4MOVP0,#0FFHLK1:MOVP1,R2;列掃描字送P1口MOVA,P0JBACC.0,ONE;0行無(wú)鍵按下,轉(zhuǎn)1行MOVA,#00H;0行有鍵按下,該行首號(hào)#00H送ALJMPKP;轉(zhuǎn)求鍵號(hào)7/18/202230ONE:JBACC.1,NEXT;1行無(wú)鍵按下,轉(zhuǎn)下列MOVA,#02H;1行有鍵按下,該行首號(hào)#02H送AKP:ADDA,R4;求鍵號(hào),鍵號(hào)=行首鍵號(hào)+列號(hào)PUSHACC;鍵號(hào)進(jìn)棧保護(hù)LK:LCALLKS;等待鍵釋放JNZLK;未釋放,等待POPACC;鍵釋放,鍵號(hào)送ARET;鍵掃描結(jié)束,出口狀態(tài): (A)=鍵號(hào)NEXT:INCR4;列號(hào)加1MOVA,R2;判斷兩列

19、掃描完了嗎JNBACC.1,KND;兩列掃描完,返回RLA;未掃描完,掃描字左移一位MOVR2,A;掃描字入R2AJMPLK1;轉(zhuǎn)掃下一列KND:AJMPKEY7/18/202231KS:MOVP1,#0FCH;全掃描字送P1口MOVP0,#0FFHMOVA,P0;讀入P0口行狀態(tài)CPLA;取正邏輯,高電平表示有鍵按下ANLA,#03H;保留P0口低2位(屏蔽高6位)RET;出口狀態(tài): (A)0時(shí)有鍵按下T10 ms:MOVR7,#10H;延遲10 ms子程序TS1:MOVR6,#0FFHTS2:DJNZR6,TS2DJNZR7,TS1RET7/18/2022322. 中斷掃描方式為了提高CP

20、U的效率,可以采用中斷掃描工作方式,即只有在鍵盤有鍵按下時(shí)才產(chǎn)生中斷申請(qǐng);CPU響應(yīng)中斷,進(jìn)入中斷服務(wù)程序進(jìn)行鍵盤掃描,并做相應(yīng)處理。中斷掃描工作方式的鍵盤接口如圖9-9所示。P1.4P1.7作鍵輸出線,P1.0P1.3作掃描輸入線。掃描時(shí),使P1.4P1.7位清0。當(dāng)有鍵按下時(shí),INT1端為低電平,向CPU發(fā)出中斷申請(qǐng)。若CPU開放外部中斷,則響應(yīng)中斷請(qǐng)求,進(jìn)入中斷服務(wù)程序。圖9-9 中斷方式鍵盤接口7/18/2022333. 鍵操作及功能處理若圖9-6中為48的32鍵,設(shè)0、1、2、E、F共16個(gè)鍵為數(shù)字鍵;其他16個(gè)鍵為功能鍵,鍵值為1631,即10H1FH,各功能鍵入口程序地址標(biāo)號(hào)分別

21、為AAA、BBB、PPP。當(dāng)對(duì)鍵盤進(jìn)行掃描并求得鍵值后,還必須做進(jìn)一步處理。方法是首先判別其是功能鍵還是數(shù)字鍵。若為數(shù)字鍵,則送顯示緩沖區(qū)進(jìn)行顯示;若為功能鍵,則由散轉(zhuǎn)指令“JMP A+DPTR”轉(zhuǎn)到相應(yīng)的功能鍵處理程序,完成相應(yīng)的操作。完成上述任務(wù)的子程序流程圖如圖9-10所示。圖9-10 求功能鍵地址轉(zhuǎn)換程序流程圖7/18/202234功能鍵地址轉(zhuǎn)移程序如下:BUFFEQU30HKEYADR:MOVA,BUFF;鍵值A(chǔ)CJNEA,#0FH,KYARD1AJMPDIGPRO;等于F,轉(zhuǎn)數(shù)字鍵處理KYARD1:JCDIGPRO;小于F,轉(zhuǎn)數(shù)字鍵處理KEYTBL:MOVDPTR,#JMPTBL;

22、送功能鍵地址表指針CLRC;清進(jìn)位位SUBBA,#10H;功能鍵值(10H1FH)減16RLA;(A)2,使(A)為偶數(shù): 0、2、4、JMPA+DPTR;轉(zhuǎn)相應(yīng)的功能鍵處理程序7/18/202235JMPTBL:AJMPAAA;AJMPBBB;AJMPCCC;AJMPDDD;AJMPEEE;AJMPFFF;AJMPGGG;AJMPHHH;AJMPIII;AJMPJJJ;AJMPKKK;AJMPLLL;AJMPMMM;AJMPNNN;AJMPOOO;AJMPPPP;均為2字節(jié),轉(zhuǎn)到16個(gè)功能鍵的相應(yīng)入口地址。(A)=0、2、4、6散轉(zhuǎn)到AAA、BBB、CCC、DDD、PPP7/18/20223

23、69.1.2 LED顯示器接口及顯示程序 單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器主要有:發(fā)光二極管顯示器,簡(jiǎn)稱LED(Light Emitting Diode);液晶顯示器,簡(jiǎn)稱LCD(Liquid Crystal Display);CRT顯示器7/18/2022371. LED顯示器結(jié)構(gòu)原理單片機(jī)中通常使用7段LED有共陰極和共陽(yáng)極兩種,如圖9-11所示。發(fā)光二極管的陽(yáng)極連在一起的(公共端K0)稱為共陽(yáng)極顯示器陰極連在一起的(公共端K0)稱為共陰極顯示器。一位顯示器由8個(gè)發(fā)光二極管組成,其中,7個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆劃(段)ag,另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管上施加一定的

24、正向電壓時(shí),該段筆劃即亮;不加電壓則暗。為了保護(hù)各段LED不被損壞,須外加限流電阻。7/18/202238以共陰極LED為例,如圖9-11(a)所示,各LED公共陰極K0接地。若向各控制端a、b、g、dp順次送入11100001信號(hào),則該顯示器顯示“7.”字型。共陰極與共陽(yáng)極7段LED顯示數(shù)字0F、“-”符號(hào)及“滅”的編碼(a段為最低位,dp點(diǎn)為最高位)如表9-1所列。圖9-11 LED 7段顯示器7/18/202239表9-1 共陰極和共陽(yáng)極7段LED顯示字型編碼表顯示字符012345678共陰極段選碼3F(BF)06(36)5B(DB)4F(CF)66(F6)6D(FD)7D(FD)07(

25、87)7F(FF)共陽(yáng)極段選碼C0(40)F9(79)A4(24)B0(30)99(19)92(12)82(02)F8(78)80(00)顯示字符9ABCDEF-熄滅共陰極段選碼6F(EF)77(F7)7C(FC)39(B9)5E(DE)79(F9)71(F1)40(C0)00(80)共陽(yáng)極段選碼90(10)88(08)82(03)C6(46)A1(21)86(06)8E(0E)BF(3F)FF(7F)7/18/2022402. LED顯示器接口及顯示方式LED顯示器有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。7/18/2022411) LED靜態(tài)顯示方式靜態(tài)顯示就是當(dāng)顯示器顯示某個(gè)字符時(shí),相應(yīng)的段(發(fā)光二

26、極管)恒定地導(dǎo)通或截止,直到顯示另一個(gè)字符為止。LED顯示器工作于靜態(tài)顯示方式時(shí),各位的共陰極(公共端K0)接地;若為共陽(yáng)極(公共端K0),則接+5v電源。每位的段選線(adp)分別與一個(gè)8位鎖存器的輸出口相連,顯示器中的各位相互獨(dú)立,而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存的輸出將維持不變。因此,靜態(tài)顯示器的亮度較高。這種顯示方式編程容易,管理也較簡(jiǎn)單,但占用口線資源較多。在顯示位數(shù)較多的情況下,一般都采用動(dòng)態(tài)顯示方式。7/18/2022422) LED動(dòng)態(tài)顯示方式在多位LED顯示時(shí),將所有位的段選線并聯(lián)在一起,由一個(gè)8位口控制。而共陰(或共陽(yáng))極公共端分別由相應(yīng)的線控制,實(shí)現(xiàn)各位的分時(shí)選通。圖

27、9-12所示為6位共陰極LED動(dòng)態(tài)顯示接口電路。圖9-126位LED動(dòng)態(tài)顯示接口電路圖9136位動(dòng)態(tài)掃描顯示狀態(tài)圖9-12 6位LED動(dòng)態(tài)顯示接口電路7/18/202243例如,要求顯示“E020”時(shí),I/O口1和I/O口2輪流送入段選碼、位選碼及顯示狀態(tài)如圖9-13所示。段選碼、位選碼每送入一次后延時(shí)1 ms,因人眼的視覺暫留時(shí)間為 s(100 ms),所以每位顯示的間隔不必超過(guò)20 ms,并保持延時(shí)一段時(shí)間,以造成視覺暫留效果,給人看上去每個(gè)數(shù)碼管總在亮。這種方式稱為軟件掃描顯示。圖9-13 6位動(dòng)態(tài)掃描顯示狀態(tài)7/18/2022443. LED顯示器與89C51接口及顯示子程序圖9-14

28、圖中,P0口輸出段選碼,P1口輸出位選碼,位選碼占用輸出口的線數(shù)決定于顯示器位數(shù),比如6位就要占6條。75452(或7406)是反相驅(qū)動(dòng)器(30 V高電壓,OC門),這是因?yàn)?9C51 P1口正邏輯輸出的位控與共陰極LED要求的低電平點(diǎn)亮正好相反,即當(dāng)P1口位控線輸出高電平時(shí),點(diǎn)亮一位LED。7407是同相OC門,作段選碼驅(qū)動(dòng)器。逐位輪流點(diǎn)亮各個(gè)LED,每一位保持1 ms,在1020 ms之內(nèi)再一次點(diǎn)亮,重復(fù)不止。這樣,利用人的視覺暫留,好像6位LED同時(shí)點(diǎn)亮一樣。掃描顯示子程序流程如圖9-15所示。7/18/202245圖9-14 6只LED動(dòng)態(tài)顯示接口7/18/202246圖915 DIS

29、顯示子程序流程圖7/18/202247DIS顯示子程序清單如下:DIS:MOVR0,#7EH;顯示緩沖區(qū)末地址R0MOVR2,#01H;位控字,先點(diǎn)亮最低位(右邊)MOVA,R2MOVDPTR,#TAB;字型表頭地址DPTRLP0:MOVP1,AMOVA,R0;取顯示數(shù)據(jù)MOVCA,A+DPTR;取出字形碼MOVP0,A;送出顯示ACALLD1MS;調(diào)延時(shí)子程序DECR0;數(shù)據(jù)緩沖區(qū)地址減1MOVA,R2JBACC.5,LP1;掃描到最左面的顯示器了嗎?RLA;沒(méi)有到,左移1位MOVR2,AAJMPLP0LP1:RETTAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H

30、,7FH,6FH,77H,7CHDB39H,5EH,79H,71H,40H,00HD1MS:MOVR7,#02H;延時(shí)1 ms子程序DL:MOVR6,#0FFHDL1:DJNZR6,DL1DJNZR7,DLRET7/18/2022489.1.3 串行口控制的鍵盤顯示器接口電路89C51的串行口RXD和TXD為一個(gè)全雙工串行通信口,但工作在方式0下可作同步移位寄存器用,其數(shù)據(jù)由RXD(P3.0)端串行輸出或輸入;而同步移位時(shí)鐘由TXD(P3.1)端串行輸出,在同步時(shí)鐘作用下,實(shí)現(xiàn)由串行到并行的數(shù)據(jù)通信。在不需要使用串行通信的場(chǎng)合,利用串行口加外圍芯片74HC164就可構(gòu)成一個(gè)或多個(gè)并行輸入輸出口

31、,用于串并轉(zhuǎn)換、并串轉(zhuǎn)換、鍵盤驅(qū)動(dòng)或顯示器LED驅(qū)動(dòng)。7/18/20224974HC164是串行輸入、并行輸出移位寄存器,并帶有清除端。其引腳如圖9-16所示。其中:Q0Q7: 并行輸出端。A、B: 串行輸入端。CLR: 清除端,零電平時(shí),使74LS164輸出清0。CLK: 時(shí)鐘脈沖輸入端,在脈沖的上升沿實(shí)現(xiàn)移位。當(dāng)CLK=0、CLR=1時(shí),74HC164保持原來(lái)的數(shù)據(jù)狀態(tài)。圖9-16 74HC164引腳圖7/18/2022501. 硬件電路如圖9-17所示,圖中“與”門的作用是避免鍵盤操作時(shí)對(duì)顯示器的影響,即僅當(dāng)P1.2=1時(shí),才開放顯示器傳送。圖9-17 串行控制鍵盤掃描和顯示器接口電路7

32、/18/2022512. 程序清單KEY:MOVA,#00H;向串行口數(shù)據(jù)緩沖器送全0MOVSBUF,AKL0:JNBTI,KL0;等待8位數(shù)據(jù)發(fā)送完畢CLRTI;清中斷標(biāo)志KL1:JNBP1.0,PK1;第1行有鍵按下嗎?JBP1.1,KL1;第2行有鍵按下嗎?若無(wú)則繼續(xù)掃描PK1:ACALLD10MS;有鍵按下,延時(shí)10 ms,消除鍵抖動(dòng)JNBP1.0,PK2;確定是否鍵抖動(dòng)引起JBP1.1,KL1PK2:MOVR7,#08H;不是鍵抖動(dòng)引起則逐列掃描MOVR6,#0FEH;選中第0列MOVR3,#00H;記下列號(hào)初值7/18/202252PL5:MOVA,R6;使某一列為低MOVSUBF

33、,AKL2:JNBTI,KL2CLRTIJNBP1.0,PK4;是第1行嗎?JNBP1.1,PK5;是第2行嗎?MOVA,R6;不是本列,則繼續(xù)下一列RLAMOVR6,AINCR3;列號(hào)加1DJNZR7,PL5;若8列掃描完仍未找到,則退出,等待執(zhí)行下一次掃描RETPK5:MOVR4,#08H;是第2行,則R4送初值08HAJMP PK3;轉(zhuǎn)鍵處理PK4:MOVR4,#00H;是第1行,則R4送初值00HPK3:MOVA,#00H;等待鍵釋放MOVSBUF,AKL3:JNBTI,KL3CLRTI7/18/202253KL4:JNBP1.0,KL4JNBP1.1,KL4MOVA,R4;取鍵號(hào)AD

34、DA,R3SUBBA,#0AH;是命令鍵嗎?JNCKL6;轉(zhuǎn)命令鍵處理程序MOVDPTR,#TABL;字形碼表初值送DPTRADDA,#0AH;恢復(fù)鍵號(hào)MOVCA,A+DPTR;取字形碼數(shù)據(jù)MOVR0,60H;取顯示緩沖區(qū)指針MOVR0,A;將字形碼入顯示緩沖區(qū)INCR0;顯示緩沖區(qū)地址加1CJNER0,#60H,KD;判是否到最高位MOV60H,#58H;保存顯示緩沖區(qū)地址SJMPKD1KD:MOV60H,R0KD1:ACALLLED;調(diào)用送顯示子程序RET7/18/202254KL6:MOVB,#03H;修正命令鍵地址轉(zhuǎn)移表指針MULABMOVDPTR,KTAB;地址轉(zhuǎn)移表首地址送DPTR

35、JMPA+DPTR;根據(jù)指針跳轉(zhuǎn)KTAB:LJMPK1;K1、K3為各命令鍵服務(wù)程序首地址LJMPK3TABL:DBC0H,F(xiàn)9H,A4H,B0H;09字形碼轉(zhuǎn)換DB99H,92H,82H,F(xiàn)8HDB80H,90HLED:SETBP1.2;開放顯示器控制MOVR7,#08H;顯示位數(shù)R7MOVR0,#58H;先送最低位LED1:MOVA,R0;送顯示器數(shù)據(jù)MOVSBUF,ALED2:JNBTI,LED2CLRTIINCR0;繼續(xù)下一位DJNZR7,LED1;全部送完CLRP1.2;關(guān)閉顯示器控制RET7/18/2022559.2 前向通道中的轉(zhuǎn)換器及接口技術(shù)模數(shù)()轉(zhuǎn)換電路的種類有:計(jì)數(shù)比較型

36、、逐次逼近型、雙積分型等等。逐次逼近型轉(zhuǎn)換器,在精度、速度和價(jià)格上都適中,是最常用的轉(zhuǎn)換器件。雙積分轉(zhuǎn)換器,具有精度高、抗干擾性好、價(jià)格低廉等優(yōu)點(diǎn),但轉(zhuǎn)換速度低。串行輸出的A/D芯片由于節(jié)省單片機(jī)的I/O口線,越來(lái)越多地被采用。如具有SPI三線接口的TLC1549、TLC1543、TLC2543、MAX187等,具有2線I2C接口的MAX127、PCF8591(4路8位A/D,還含1路8位D/A)等。7/18/2022569.2.1 單通道串行輸出A/D芯片TLC1549及接口1 TLC1549串行A/D轉(zhuǎn)換器芯片1) 主要性能逐次比較型10位A/D轉(zhuǎn)換器。片內(nèi)自動(dòng)產(chǎn)生轉(zhuǎn)換時(shí)鐘脈沖,轉(zhuǎn)換時(shí)間2

37、1 s;最大總不可調(diào)轉(zhuǎn)換誤差為1 LSB;單電源供電(+5 V),最大工作電流僅為2.5 mA;轉(zhuǎn)換結(jié)果以串行方式輸出;工作溫度為-55+125 。7/18/2022572) 引腳及功能TLC1549M有DIP和FK 2種封裝形式。其中,DIP封裝的引腳排列如圖918所示。引腳功能見表92。圖918 TLC1549的引腳圖7/18/202258表92 TLC1549M引腳功能引腳7/18/2022593) TLC1549的工作方式及時(shí)序TLC1549有6種工作方式,如表93所列。其中方式1和方式3屬同一類型,方式2和方式4屬同一類型。一般來(lái)說(shuō),時(shí)鐘頻率高于280 kHz時(shí),可認(rèn)為是快速工作方式

38、;低于280 kHz時(shí),可認(rèn)為是慢速工作方式。因此,如果不考慮I/O CLOCK周期大小,方式5與方式3相同,方式6與方式4相同。7/18/202260表93 TLC1549的工作方式方式7/18/202261工作方式1工作時(shí)序圖如圖919所示。圖中從CS下跳到DATA輸出數(shù)據(jù)要有1.3 s的延時(shí);連續(xù)進(jìn)行A/D轉(zhuǎn)換時(shí),在上次轉(zhuǎn)換結(jié)果輸出的過(guò)程中,同時(shí)完成本次轉(zhuǎn)換的采樣,這樣大大提高了A/D轉(zhuǎn)換的速率。如果I/O CLOCK的時(shí)鐘頻率為2.1 MHz,則完成一次A/D轉(zhuǎn)換的時(shí)間大約為26 s。如果用連續(xù)模擬信號(hào)進(jìn)行采樣轉(zhuǎn)換,顯然其轉(zhuǎn)換速率是很高的。圖919 方式1工作時(shí)序7/18/202262

39、2 TLC1549與89C51接口電路與程序TLC1549與89C51的SPI接口如圖9-20所示。圖9-20 TLC1549M與89C51的接口電路7/18/20226389C51讀取TLC1549中10位數(shù)據(jù)程序如下:ORG 0050HR1549:CLRP3.0;片選有效,選中TLC1549MOVR0,#2;要讀取高兩位數(shù)據(jù)LCALLRDATA;調(diào)用讀數(shù)子程序MOVR1,A;高兩位數(shù)據(jù)送到R1中MOVR0,#8;要讀取低8位數(shù)據(jù)LCALLRDATA;調(diào)用讀數(shù)子程序,讀取數(shù)據(jù)MOVR2,A;低8位數(shù)據(jù)送入R2中SETBP3.0;片選無(wú)效CLRP3.1;時(shí)鐘低電平RET;程序結(jié)束;讀數(shù)子程序R

40、DATA:CLRP3.1;時(shí)鐘低電平MOVC,P3.2;數(shù)據(jù)送進(jìn)位位CYRLCA;數(shù)據(jù)送累加器ASETBP3.1;時(shí)鐘變高電平DJNZR0,RDATA;讀數(shù)結(jié)束了嗎RET;子程序結(jié)束7/18/2022649.2.2 多通道串行輸出A/D芯片TLC2543及接口TLC2543的特性如下: 12位A/D轉(zhuǎn)換器(可8位、12位和16位輸出); 在工作溫度范圍內(nèi)轉(zhuǎn)換時(shí)間為10 s; 11通道輸入; 3種內(nèi)建的自檢模式; 片內(nèi)采樣/保持電路; 最大1/4 096的線性誤差; 內(nèi)置系統(tǒng)時(shí)鐘; 轉(zhuǎn)換結(jié)束標(biāo)志位; 單/雙極性輸出; 輸入/輸出的順序可編程(高位或低位在前); 可支持軟件關(guān)機(jī); 輸出數(shù)據(jù)長(zhǎng)度可編

41、程。 TLC1543為11個(gè)輸入端的10位A/D芯片,價(jià)格比TLC2543低。7/18/2022651 TLC2543的片內(nèi)結(jié)構(gòu)及引腳功能TLC2543引腳如圖9-21所示,片內(nèi)結(jié)構(gòu)如圖9-22所示。TLC2543片內(nèi)由通道選擇器、數(shù)據(jù)(地址和命令字)輸入寄存器、采樣/保持電路、12位的模/數(shù)轉(zhuǎn)換器、輸出寄存器、并行到串行轉(zhuǎn)換器以及控制邏輯電路7個(gè)部分組成。通道選擇器根據(jù)輸入地址寄存器中存放的模擬輸入通道地址,選擇輸入通道,并將輸入通道中的信號(hào)送到采樣/保持電路中,然后在12位模/數(shù)轉(zhuǎn)換器中將采樣的模擬量進(jìn)行量化編碼,轉(zhuǎn)換成數(shù)字量,存放到輸出寄存器中。這些數(shù)據(jù)經(jīng)過(guò)并行到串行轉(zhuǎn)換器轉(zhuǎn)換成串行數(shù)據(jù)

42、,經(jīng)TLC2543的DOUT輸出到微處理器中。TLC2543的引腳意義如表9-4所列。圖9-21 TLC2543引腳排列7/18/202266圖9-22 TLC2543片內(nèi)結(jié)構(gòu)框圖7/18/202267表9-4 TLC2543各引腳定義(1)7/18/202268表9-4 TLC2543各引腳定義(2)7/18/2022692. TLC2543的接口時(shí)序TLC2543的時(shí)序有兩種: 使用片選信號(hào)CS和不使用片選信號(hào)CS。這兩種時(shí)序分別如圖9-23和圖9-24所示。圖9-23 使用片選信號(hào)CS高位在前的時(shí)序7/18/202270圖9-24 不使用片選信號(hào)CS高位在前的時(shí)序7/18/2022713

43、 TLC2543的命令字TLC2543的命令字如下:通道選擇位輸出數(shù)據(jù)長(zhǎng)度控制位輸出數(shù)據(jù)順序控制位數(shù)據(jù)極性選擇位D7D6D5D4D3D2D1D0輸入到輸入寄存器中的8位編程數(shù)據(jù)選擇器件輸入通道和輸出數(shù)據(jù)的長(zhǎng)度及格式。其選擇格式如表9-5所列。7/18/202272表9-5 輸入寄存器命令字格式7/18/2022734 TLC2543與89C51的SPI接口及程序TLC2543串行A/D轉(zhuǎn)換器與89C51的SPI接口電路如圖9-25所示。SPI(Serial Perpheral Interface)是一種串行外設(shè)接口標(biāo)準(zhǔn),串行通信的雙方用4根線進(jìn)行通信。這4根連線分別是: 片選信號(hào)、I/O時(shí)鐘、

44、串行輸入和串行輸出。這種接口的特點(diǎn)是快速、高效,并且操作起來(lái)比I2C要簡(jiǎn)單一些,接線也比較簡(jiǎn)單,TLC2543提供SPI接口。圖9-25 TLC2543和89C51的接口電路7/18/202274對(duì)不帶SPI或相同接口能力的89C51,須用軟件合成SPI操作來(lái)和TLC2543接口。TLC2543的I/O CLOCK、DIN和CS端由單片機(jī)的P1.0、P1.1和P1.3提供。TLC2543轉(zhuǎn)換結(jié)果的輸出(DIN)數(shù)據(jù)由P1.2接收。89C51將用戶的命令字通過(guò)P1.1輸入到TLC2543的輸入寄存器中,等待20s開始讀數(shù)據(jù),同時(shí)寫入下一次的命令字。7/18/2022751) TLC2543與89

45、C51的8位數(shù)據(jù)傳送程序TLC2543: MOVR4,#04H;置控制字,AIN0,8位數(shù)據(jù)高位在前MOV A,R4CLRP1.3;片選CS有效,選中TLC2543MSB:MOVR5,#08H;傳送8位LOOP:MOVP1,#04H;P12為輸入位MOVC,P1.2;將TLC2543 A/D轉(zhuǎn)換的8位數(shù)據(jù)串行讀到C中一位RLCA;帶進(jìn)位位循環(huán)左移MOVP1.1,C;將控制字(在ACC中)的一位經(jīng)DIN送入TLC2543SETBP1.0;產(chǎn)生一個(gè)時(shí)鐘NOPCLRP1.0DJNZR5,LOOPMOVR2,A;A/D轉(zhuǎn)換的數(shù)據(jù)存于R2中RET執(zhí)行上述子程序的過(guò)程如圖9-26所示7/18/202276

46、圖9-26 TLC2543與89C51數(shù)據(jù)交換示意圖7/18/2022772) TLC2543與89C51的12位數(shù)據(jù)傳送程序ORG0100HMOVP1,#04H;P12為輸入位MOVR6,#0AH;轉(zhuǎn)換10次MOVR0,#2FH;置數(shù)據(jù)緩沖區(qū)指針CLRP1.0;置I/O時(shí)鐘為低SETBP1.3;置CS為高ACALLTLC2543;調(diào)轉(zhuǎn)換子程序SJMPTLC2543:MOVA,#00H;設(shè)置通道選擇和工作模式(IN0,12位)CLRP13;置CS為低MOVR5,#0CH;置輸出位計(jì)數(shù)初值LOOP:MOVP1,#04H;P12為輸入位MOVC,P1.2;讀入轉(zhuǎn)換數(shù)據(jù)一位RLCA;將進(jìn)位位移給A,

47、即將轉(zhuǎn)換數(shù)據(jù)的一位讀入,同時(shí)將控制字的一位輸入C7/18/202278MOVP1.1,C;送出一位控制位入2543SETBP1.0;置I/O時(shí)鐘為高NOPCLRP1.0;置I/O時(shí)鐘為低CJNER5,#04,LOP1;剩4位了嗎?MOVR0,A;前8位存入RAMINCR0CLRALOP1:DJNZR5,LOOP;未轉(zhuǎn)完繼續(xù)讀剩余4位ANLA,#0FHMOVR0,A;轉(zhuǎn)換完的存入單元RET7/18/2022793) TLC2543與89C51的16位數(shù)據(jù)傳送程序ORG100HSTART:MOVSP,#50H;初始化堆棧指針MOVP1,#04H;初始化P1口CLRP1.0;置I/O CLOCK為低

48、SETBP1.3;置CS為高M(jìn)OVA,#0FFHACALLTLC2543ACALLSTORELJMPSTARJTLC2543:MOVR4,#0CH;讀輸入數(shù)據(jù)命令字到R4,AIN0,16位,高位在前MOVA,R4;讀輸入數(shù)據(jù)到ADW0:CLRP1.3;置CS為低JBACC.1,LSB;若輸入數(shù)據(jù)D1為1,首先進(jìn)行低字節(jié)數(shù)據(jù)傳送MSB:MOVR5,#08;以下傳送高字節(jié)數(shù)據(jù)LOOP1:MOVC,P12;讀轉(zhuǎn)換數(shù)據(jù)到CRLCA;轉(zhuǎn)換數(shù)據(jù)移到A的最低位,輸入數(shù)據(jù)移入C7/18/202280MOVP1.1,C;寫輸入數(shù)據(jù)(命令字)SETBP1.0;置I/O CLOCK為高NOPCLRP1.0;置I/O

49、 CLOCK為低DJNZR5,LOOP1;判8個(gè)數(shù)據(jù)送完否,未完跳回MOVR2,A;轉(zhuǎn)換結(jié)果的高字節(jié)放入R2MOVA,R4;讀輸入數(shù)據(jù)到AJBACC.1,RETURN;若輸入數(shù)據(jù)D1為1,送數(shù)結(jié)束LSB:MOVR5,#08;以下傳送低字節(jié)數(shù)據(jù)LOOP2:MOVC,P1.2RLCAMOVP1.1,CSETBP1.0NOPCLRP1.0DJNZR5,LOOP2MOVR3,A;轉(zhuǎn)換結(jié)果低字節(jié)放入R3MOVA,R4JBACC.1,MSB;若輸入數(shù)據(jù)D1為1,進(jìn)行高字節(jié)數(shù)據(jù)傳送RETURN:RET7/18/202281STORE:MOVA,R4;讀輸入數(shù)據(jù)到AANLA,#0F0H;只保留地址位SWAPA

50、;以下產(chǎn)生存儲(chǔ)地址MOVB,#02MULABADDA,#30HMOVR1,AMOVA,R2MOVR1,A;把高字節(jié)放入相應(yīng)的偶數(shù)地址RAM:;各通道地址依次為30H、32HINCR1MOVA,R3MOVR1,A;把低字節(jié)放入相應(yīng)的奇數(shù)地址RAM:;各通道地址依次為31H、33HRETEND7/18/2022829.2.3 逐次逼近型并行輸出轉(zhuǎn)換器及接口ADC0809 A/D轉(zhuǎn)換器芯片圖9-27所示為ADC0809的引腳圖及內(nèi)部邏輯結(jié)構(gòu)圖。它由8路模擬開關(guān)、8位A轉(zhuǎn)換器、三態(tài)輸出鎖存器以及地址鎖存譯碼器等組成。圖9-27 ADC0809結(jié)構(gòu)7/18/202283引腳功能說(shuō)明如下:IN0IN7:8

51、個(gè)輸入通道的模擬輸入端。D0D7:8位數(shù)字量輸出端。START:啟動(dòng)信號(hào),加上正脈沖后,A/D轉(zhuǎn)換開始進(jìn)行。ALE:地址鎖存信號(hào)。由低至高電平時(shí),把三位地址信號(hào)送入通道號(hào)地址鎖存器,并經(jīng)譯碼器得到地址輸出,以選擇相應(yīng)的模擬輸入通道。EOC:轉(zhuǎn)換結(jié)束信號(hào),是芯片的輸出信號(hào)。轉(zhuǎn)換開始后,EOC信號(hào)變低;轉(zhuǎn)換結(jié)束時(shí),EOC返回高電平。這個(gè)信號(hào)可以作為轉(zhuǎn)換器的狀態(tài)信號(hào)來(lái)查詢,也可以直接用作中斷請(qǐng)求信號(hào)。OE:輸出允許控制端(開數(shù)字量輸出三態(tài)門)。CLK:時(shí)鐘信號(hào)。最高允許值為640 kHz。VREF+和VREF-:A/D轉(zhuǎn)換器的參考電壓。VCC:電源電壓。由于是CMOS芯片,允許的電壓范圍較寬,可以是

52、+5+15V。8位模擬開關(guān)地址輸入通道的關(guān)系見表96。7/18/202284表9-6 8位模擬開關(guān)功能表ADC0809的時(shí)序圖見圖9-28。圖9-28 ADC0809的時(shí)序圖ADDCADDBADDA輸入通道號(hào)000IN0001IN1010IN2111IN77/18/2022852. ADC0809與89C51接口ADC0809與89C51連接可采用查詢方式,也可采用中斷方式。圖9-29為中斷方式連接電路圖。由于ADC0809片內(nèi)有三態(tài)輸出鎖存器,因此可直接與89C51接口。圖9-29 ADC0809與89C51的連接7/18/2022863. 8路巡回檢測(cè)系統(tǒng)【例9-3】某糧庫(kù)或某冷凍廠需對(duì)8

53、點(diǎn)(8個(gè)冷凍室或8個(gè)糧倉(cāng))進(jìn)行溫度巡回檢測(cè)。要求設(shè)計(jì)一個(gè)單片機(jī)巡回檢測(cè)系統(tǒng),使其能對(duì)各冷凍室或各糧倉(cāng)的溫度巡回檢測(cè)并加以處理。設(shè)被測(cè)溫度范圍為-30+50,溫度檢測(cè)精度要求不大于1。將讀數(shù)依次存放在片外數(shù)據(jù)存儲(chǔ)器A0HA7H單元。其主程序和中斷服務(wù)程序如下:主程序:MAIN:MOV R0,#0A0H;數(shù)據(jù)暫存區(qū)首址MOV R2,#08H;8路計(jì)數(shù)初值SETB IT1;脈沖觸發(fā)方式SETB EA;開中斷SETB EX1MOV DPTR,#7FF8H;指向0809首地址MOVX DPTR,A;啟動(dòng)轉(zhuǎn)換HERE:SJMP HERE;等待中斷7/18/202287中斷服務(wù)程序:MOVX A,DPTR;

54、讀數(shù)MOVX R0,A;存數(shù)INC DPTR;更新通道INC R0;更新暫存單元DJNZ R2,DONERETIDONE:MOVX DPTR,ARETI7/18/2022889.2.4 3 位雙積分A/D轉(zhuǎn)換器及接口技術(shù)適用于單片機(jī)接口的有3 位雙積分A/D轉(zhuǎn)換器 MC14433(精度相當(dāng)于11位二進(jìn)制數(shù))和4 位雙積 分A/D轉(zhuǎn)換器ICL7135(精度相當(dāng)于14位二進(jìn)制數(shù))。7/18/2022891. MC14433芯片介紹MC14433主要特性參數(shù)如下:轉(zhuǎn)換精度具有1/1 999的分辨率或讀數(shù)的0.051個(gè)字(相當(dāng)于11位二進(jìn)制數(shù));電壓量程分1.999 V和199.9 mV兩檔;轉(zhuǎn)換速度

55、為310次秒,相應(yīng)的時(shí)鐘頻率變化范圍為50150 kHz;輸入阻抗大于100 M;基準(zhǔn)電壓取2 V或200 mV(分別對(duì)應(yīng)量程為1.999 V或199.9 mV);具有過(guò)量程和欠量程輸出標(biāo)志;片內(nèi)具有自動(dòng)極性轉(zhuǎn)換和自動(dòng)調(diào)零功能;轉(zhuǎn)換結(jié)束輸出經(jīng)過(guò)多路調(diào)制的BCD碼;工作電壓范圍為4.58 V或916 V;當(dāng)電源為5 V時(shí),典型功耗為8 mW。7/18/202290MC14433為24腳雙列直插式封裝,其引腳如圖9-30所示。引腳功能介紹如下:VAG(1腳):模擬地。VREF(2腳):基準(zhǔn)電壓輸入端。VX(3腳):被測(cè)電壓輸入端。R1、R1/C1和C1(46腳):外接積分阻容元件,4腳和6腳為輸入

56、線,5腳為積分波形輸出端。若時(shí)鐘為66 kHz,R1為470 k(2 V)或27 k(200 mV)時(shí),一次轉(zhuǎn)換的時(shí)間約為250 ms。C01和C02(7和8腳):外接失調(diào)補(bǔ)償電容。通常取0.1F。DU(9腳):定時(shí)輸出控制端。若輸入一個(gè)正脈沖,則使轉(zhuǎn)換結(jié)果送至結(jié)果寄存器。圖9-30 MC14433的引腳圖7/18/202291EOC(14腳):一次轉(zhuǎn)換結(jié)束標(biāo)志輸出。每一次A/D轉(zhuǎn)換結(jié)束時(shí)便輸出一個(gè)正脈沖,其寬度為時(shí)鐘周期的1/2。若把9腳和14腳相連接,則每次轉(zhuǎn)換結(jié)束都送到輸出鎖存器。在實(shí)際電路中常把它們相連。CLKI和CLKO(10和11腳):時(shí)鐘信號(hào)輸入、輸出端。通常外接一個(gè)300 K左

57、右的電阻。OR(15腳):過(guò)量程標(biāo)志。當(dāng)VVR時(shí),輸出低電平。DS4DS1(1619腳):個(gè)、十、百、千位選通特征位輸出信號(hào),寬度為18個(gè)時(shí)鐘周期。當(dāng)DS11時(shí),輸出為千位數(shù);DS2時(shí),輸出為百位數(shù)。Q3Q0(腳):經(jīng)轉(zhuǎn)換后的BCD碼結(jié)果輸出端。VEE(12腳):負(fù)電源,為電路最低電平端。VSS(13腳):輸出低電平基準(zhǔn),為數(shù)字地或稱系統(tǒng)地。VDD(24腳):正電源。若VSSVAG,則輸出幅度為VAG VDD ;若VSS VEE,則輸出幅度為VEE VDD 。圖931為MC14433的轉(zhuǎn)換輸出時(shí)序。7/18/202292圖9-31 MC14433選通脈沖時(shí)序7/18/202293DS時(shí),Q3Q

58、2Q1Q0輸出過(guò)量程、欠量程、千位和極性標(biāo)志的編碼如表9-7所列。由表9-7可知,Q3在Q0=0時(shí),表示千位數(shù)的內(nèi)容: Q3=0,千位為1;Q3=1,千位為0。Q3在Q0=1時(shí),表示過(guò)、欠量程: Q3=0,表示過(guò)量程;Q3=1表示欠量程。當(dāng)量程選為1.999 V時(shí),過(guò)量程表示被測(cè)信號(hào)大于1.999 V;欠量程表示被測(cè)信號(hào)小于0.179 V。Q2表示被測(cè)信號(hào)的極性: Q2=1,為正極性;Q2=0,為負(fù)極性。表9-7 DS1選通時(shí)Q0Q3表示的輸出結(jié)果DS1Q3Q2Q1Q0輸出結(jié)果狀態(tài)110千位數(shù)為0100千位數(shù)為1110輸出結(jié)果為正100輸出結(jié)果為負(fù)101輸入信號(hào)過(guò)量程111輸入信號(hào)欠量程7/1

59、8/2022942. MC14433與89C51接口MC14433與89C51的接口電路如圖932所示。該電路采用中斷方式管理MC14433的操作。由于引腳EOC與DU連接在一起,所以,MC14433能自動(dòng)連續(xù)轉(zhuǎn)換,每次轉(zhuǎn)換結(jié)束便在EOC腳輸出正脈沖,經(jīng)反相后作為89C51的外部中斷請(qǐng)求信號(hào)INT1。圖932 5G14433與89C51單片機(jī)直接連接的硬件接口7/18/2022959.3 系統(tǒng)后向通道配置及接口技術(shù)后向通道是計(jì)算機(jī)實(shí)現(xiàn)控制運(yùn)算處理后,對(duì)被控對(duì)象的輸出通道接口。系統(tǒng)的后向通道是一個(gè)輸出通道,其特點(diǎn)是弱電控制強(qiáng)電,即小信號(hào)輸出實(shí)現(xiàn)大功率控制。常見的被控對(duì)象有電機(jī)、電磁開關(guān)等。單片機(jī)

60、實(shí)現(xiàn)控制是以數(shù)字信號(hào)或模擬信號(hào)的形式通過(guò)口送給被控對(duì)象的。其中,數(shù)字信號(hào)形態(tài)的開關(guān)量、二進(jìn)制數(shù)字量和頻率量可直接用于開關(guān)量、數(shù)字量系統(tǒng)及頻率調(diào)制系統(tǒng)的控制;但對(duì)于一些模擬量控制系統(tǒng),則應(yīng)通過(guò)轉(zhuǎn)換器轉(zhuǎn)換成模擬量控制信號(hào)后,才能實(shí)現(xiàn)控制。7/18/2022969.3.1 后向通道中的功率開關(guān)器件及接口1. 繼電器及接口1) 單片機(jī)與繼電器的接口一個(gè)典型的繼電器與單片機(jī)的接口電路如圖9-33所示。圖9-33 繼電器接口7/18/2022972) 單片機(jī)與固態(tài)繼電器接口固態(tài)繼電器簡(jiǎn)稱SSR(Solid State Relay),是一種四端器件: 兩端輸入,兩端輸出,它們之間用光耦合器隔離。它是一種新型

溫馨提示

  • 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)論