版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,第9章 應(yīng)用系統(tǒng)配置及接口技術(shù),9.1 人-機通道配置與接口技術(shù)9.2 前向通道中的A/D轉(zhuǎn)換器及接口技術(shù)9.3 系統(tǒng)后向通道配置及接口技術(shù)9.4 思考題與習題,應(yīng)用系統(tǒng)配置及接口,系統(tǒng)前向通道:數(shù)字量、開關(guān)量、模擬量輸入() 系統(tǒng)后向通道:數(shù)字量、開關(guān)量、模擬量輸出() 人-機通道: 鍵盤、顯示器、打印機等,圖9-1 系統(tǒng)前向、后向、人-機通道配置框圖,9.1 人機通道配置與接口技術(shù),進行人機對話。包括人對系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,還有系統(tǒng)顯示運行狀態(tài)與運行結(jié)果等。 鍵盤、 顯示器用來完成人機對話的人機通道。,9.1.1 鍵盤接口及處理程序 9.1.2 LED顯示器接口及顯示程序 9.1.
2、3 串口控制的鍵盤顯示器接口,9.1.1 鍵盤接口及處理程序,鍵盤分編碼鍵盤和非編碼鍵盤。 鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編號或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等; 靠軟件識別的稱為非編碼鍵盤。,鍵盤中的按鍵:都是一個常開開關(guān)電路。 當按鍵K未被按下時, P1.0輸入為高電平; 當按鍵K閉合時,P1.0輸入為低電平。,圖9-2 按鍵電路,通常按鍵在閉合及斷開的瞬間均伴有一連串的抖動。如圖所示。抖動時間一般為510 ms。,鍵抖動會引起一次按鍵被誤讀多次,必須去除鍵抖動??捎糜布蜍浖煞N方法消除。 軟件方法去抖動,即檢測出鍵閉合后執(zhí)行一個510 ms延時
3、程序,再一次檢測,如果仍保持閉合,則確認為真正按下。當檢測到按鍵釋放后,也要給510 ms的延時,待后沿抖動消失后,才能轉(zhuǎn)入該鍵的處理程序。,鍵的消抖,圖9-3 按鍵時的抖動,1) 獨立式非編碼鍵盤接口及處理程序,各按鍵相互獨立地接通一條輸入數(shù)據(jù)線,如圖所示。 當一個鍵按下時,與之相連的輸入數(shù)據(jù)線即清0(低電平),平時該線為1(高電平)。要判別是否有鍵按下,用單片機的位處理指令十分方便。 優(yōu)點是電路簡單; 缺點是占用線多。,圖9-4 獨立連接式非編碼鍵盤,1、鍵盤結(jié)構(gòu),查詢方式鍵盤的處理程序,程序清單(設(shè)為P1口): START: MOVA,#0FFH ;輸入時先置P1口為全1 MOVP1,A
4、 MOVA,P1 ;鍵狀態(tài)輸入 PL1:JNBACC.0,P0F ;0號鍵按下轉(zhuǎn)P0F標號地址 JNBACC.1,P1F ;1號鍵按下轉(zhuǎn)P1F標號地址 JNBACC.2,P2F ;2號鍵按下轉(zhuǎn)P2F標號地址 JNBACC.3,P3F ;3號鍵按下轉(zhuǎn)P3F標號地址 JNBACC.4,P4F ;4號鍵按下轉(zhuǎn)P4F標號地址 JNBACC.5,P5F ;5號鍵按下轉(zhuǎn)P5F標號地址 JNBACC.6,P6F ;6號鍵按下轉(zhuǎn)P6F標號地址 JNB ACC.7,P7F ;7號鍵按下轉(zhuǎn)P7F標號地址 LJMPSTART ;無鍵按下返回,P0F: LJMP PROM0 P1F:LJMP PROM1 ;入口地址表
5、 P7F :LJMP PROM7 PROM0: ;0號鍵功能程序 LJMP START ;0號鍵執(zhí)行完返回 PROM1: LJMP START PROM7: LJMP START 由程序可以看出,各按鍵由軟件設(shè)置了優(yōu)先級,優(yōu)先級順序依次為07。,2) 行列式鍵盤接口及工作原理,圖9-6 44矩陣鍵盤接口圖,為了減少鍵盤與單片機接口時所占用I/O線的數(shù)目,在鍵數(shù)較多時,通常都將鍵盤排列成行列矩陣形式.,按鍵掃描的工作過程如下: 判斷鍵盤中是否有鍵按下; 進行行掃描,判斷是哪一個鍵按下,若有鍵按下,則調(diào)用延時子程序去抖動; 讀取按鍵的位置碼; 將按鍵的位置碼轉(zhuǎn)換為鍵值(鍵的順序號)0、1、2、F。
6、 在掃描過程中,當發(fā)現(xiàn)某行有鍵按下,也就是輸入的列線中有一位為0時,便可判別閉合按鍵所在列的位置,根據(jù)行線位置和列線位置就能判斷按鍵在矩陣中的位置,知道是哪一個鍵按下。,首先判別鍵盤中有無鍵按下:由口向鍵盤送(輸出)全掃描字,然后讀入(輸入)列線狀態(tài)來判斷。方法: 向行線(水平線)輸出全掃描字00H,把全部行線置為“0”,然后將列線的狀態(tài)讀入累加器A中。如果有按鍵按下,總有一根列線電平被拉至低電平,使列輸入不全為1。 判斷鍵盤中哪一個鍵被按下:通過將行線逐行置低電平后,檢查列輸入狀態(tài)實現(xiàn)的。 方法: 依次給行線送“0”,然后查所有列線狀態(tài),稱行掃描。如果全為1,則所按下的鍵不在此行;如果不全為
7、1,則所按下的鍵必在此行,而且是在與“0”列線相交交點上的那鍵。,行掃描法識別鍵號的工作原理: 將第0行輸出低電平,其余行高電平時,輸出編碼為1110。然后讀取列,判別第0行是否有鍵按下。若有一鍵按下,則相應(yīng)列被拉到低電平,則表示第0行和此列相交位置上有按鍵按下。若沒有任一條列線為低電平,則說明0行上無鍵按下。 將第1行變?yōu)榈碗娖?,其余行高電平時,輸出編碼為1101。讀取各列,判別是有哪一列鍵按下方法同上。 將第2行變?yōu)榈碗娖?,其余行為高電平時,輸出編碼為1011。判別是否有哪一列鍵按下的方法同上。 將第3行變?yōu)榈碗娖?,其余行為高電平時,輸出編碼為0111。判別是否有哪一列鍵按下的方法同上。
8、根據(jù)行線掃描值(行碼)與列線輸入值(列碼)可唯一確定按下的鍵并獲得該鍵的位置碼(鍵碼) 例如:行碼1011B;列碼1101B則:鍵碼=10111101B,鍵的位置碼及鍵值的譯碼過程,掃描過程后得到的行號存放在R0,列號存放在R2中。 鍵值(號)的獲得(譯碼)通常采用計數(shù)譯碼法。 根據(jù)矩陣的結(jié)構(gòu),每個按鍵值=行號每行按鍵數(shù)+列號即: 鍵號(值)=行首鍵號+列號 第0行的鍵值為:0行4+列號(03)為0、1、2、3; 第1行的鍵值為:1行4+列號(03)為4、5、6、7; 第2行的鍵值為:2行4+列號(03)為8、9、A、B; 第3行的鍵值為:3行4+列號(03)為C、D、E、F。 44鍵盤行首鍵
9、號為0、4、8、C,列號為0,1,2,3。 鍵值譯碼子程序為DECODE,該子程序出口:鍵值在A中,圖9-7 44鍵盤掃描流程圖,(3) 鍵盤掃描子程序(參見圖9-7),出口: 鍵值(鍵號)在A中 KEY: MOV P1,#0F0H ;令所有行為低電平 KEY1:MOV R7,#0FFH ;設(shè)置計數(shù)常數(shù) DJNZ R7,KEY1 ;延時 MOV A, P1 ;讀取P1口的列值 ANL A,#0F0H ;判別有鍵值按下嗎? CPL A ;求反后,有高電平就有鍵按下 JZ EKEY ;無鍵按下時退出 LCALL DEL20 ms ;延時20 ms去抖動 SKEY:MOV A,#00 ;下面進行行掃
10、描,1行1行掃 MOV R0,A ;R0作為行計數(shù)器,開始為0 MOV R1,A ;R1作為列計數(shù)器,開始為0 MOV R3 #0FEH ;R3暫存行掃描字,低4位為行掃描字 SKEY2:MOV A,R3 MOV P1,A ;輸出行掃描字,高4位全1 NOP NOP NOP ;3個NOP操作使P1口輸出穩(wěn)定,MOVA,P1 ;讀列值 MOVR1,A ;暫存列值 ANLA,#0F0H ;取列值 CPLA ;高電平則有鍵閉合 S123: JNZSKEY3 ;有鍵按下轉(zhuǎn)SKEY3 INCR0 ;行計數(shù)器加1 SETBC ;準備將行掃描左移1位, ;形成下一行掃描字,C=1保證輸出行掃描字中高4位全為
11、1, ;為列輸入作準備,低4位中只有1位為0 MOVA,R3 ;R3帶進位C左移1位 RLCA MOVR3,A ;形成下一行掃描字R3 MOVA,R0 CJNEA,#04H,SKEY1 ;最后一行掃(4次)完了嗎? EKEY:RET,;列號譯碼 SKEY3:MOV A,R1 JNBACC.4,SKEY5 JNBACC.5,SKEY6 JNBACC.6,SKEY7 JNBACC.7,SKEY8 AJMPEKEY SKEY5:MOVA,#00H MOVR2,A ;存0列號 AJMPDKEY SKEY6:MOVA,#01H MOVR2,A ;存1列號 AJMPDKEY SKEY7:MOVA,#02H
12、 MOVR2,A ;存2列號 AJMPDKEY SKEY8:MOVA,#03H MOVR2,A ;存3列號 AJMPDKEY,;鍵位置譯碼 DKEY: MOV A,R0 ;取行號 ACALLDECODE AJMPEKEY ;鍵值(鍵號)譯碼 DECODE:MOV A,R0 ;取行號送A MOV B,#04H ;每一行按鍵個數(shù) MULAB ;行號按鍵數(shù) ADDA,R2 ;行號按鍵數(shù)+列號=鍵值 RET,2、中斷掃描方式,中斷掃描工作方式,即只有在鍵盤有鍵按下時才產(chǎn)生中斷申請;CPU響應(yīng)中斷,進入中斷服務(wù)程序進行鍵盤掃描,并做相應(yīng)處理。,圖9-9 中斷方式鍵盤接口,求出鍵號后,按不同類型進行處理。
13、 數(shù)字鍵:存貯、顯示等 功能鍵:轉(zhuǎn)向相應(yīng)的功能處理程序,3 . 鍵處理,圖9-10 求功能鍵地址轉(zhuǎn)換程序流程圖,程序: BUFF EQU 30H KEYADR: MOV A,BUFF ;鍵號A CJNE A,0FH,KYARD1 AJMP DIGPRO ;等于F,轉(zhuǎn)數(shù)字鍵處理 KYARD1: JC DIGPRO ;小于F,轉(zhuǎn)數(shù)字鍵處理 KEYTBL: MOV DPTR,JMPTBL ;送功能鍵地址表指針 CLR C ;請進位位 SUBB A,10H ;功能鍵值(10H1FH)減16 RL A ;(A)2,使(A)為偶數(shù):0,2,4, JMP ADPTR ;轉(zhuǎn)相應(yīng)的功能鍵處理程序,JMPTBL:
14、 AJMP AAA AJMP BBB AJMP CCC AJMP DDD AJMP EEE AJMP FFF AJMP GGG AJMP HHH AJMP III AJMP JJJJ AJMP KKK AJMP LLL AJMP MMM DIGPRO:,9.1.2 LED顯示器接口及顯示程序,單片機應(yīng)用系統(tǒng)中使用的顯示器主要有: 發(fā)光二極管,簡稱 LED (Light Emitting Diode); 液晶顯示器,簡稱 LCD (Liquid Crystal Display); CRT顯示器,1. LED顯示器,結(jié)構(gòu)原理:有共陰極和共陽極兩種,圖9-11 LED 7段顯示器,表9-1 共陰極和
15、共陽極7段LED顯示字型編碼,例:共陰極LED, (COM)端接地, a 、 b、g,dp送入 11100001,則顯示“7。” 譯碼方式 硬件譯碼: 用專用譯碼器電路,將欲顯示的字符轉(zhuǎn)換為段碼。 軟件譯碼: 利用查表法,將段碼作成一個表,以字符值為索引,可查出不同字符的相應(yīng)段碼。,2. LED顯示器接口及顯示方式,LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。,LED靜態(tài)顯示方式: 顯示某個字符時,LED相應(yīng)的段恒定地導通或截止。 各位的共陰極(公共端K0)接地.若為共陽極(公共端K0),則接+5v電源。 每位的段選線(adp)分別與8位的輸出口相連,相互獨立,字符一經(jīng)確定,相應(yīng)鎖存的輸出維持不
16、變。 可用8D鎖存器(如74LS273)或帶鎖存的譯碼器(如CD4511)、串行移位寄存器(如74LS164)來擴展 IO端口.其輸出端(8位)可驅(qū)動一位LED。 靜態(tài)顯示器的亮度較高,編程容易,管理也較簡單,但占用口線資源較多。在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。,2) LED動態(tài)顯示方式,在多位LED顯示時,將所有位的段選線并聯(lián)在一起,由一個8位口控制。而共陰(或共陽)極公共端分別由相應(yīng)的線控制,實現(xiàn)各位的分時選通。圖9-12所示為6位共陰極LED動態(tài)顯示接口電路。,圖9-12 6位LED動態(tài)顯示接口電路,例如,顯示“EE020”, I/O口1和I/O口2輪流送入段選碼、位選碼
17、及顯示狀態(tài)如圖9-13所示。 段選碼、位選碼每送入一次后延時1 ms,因人眼的視覺暫留時間為100 ms,所以每位顯示間隔不超過20 ms,并保持延時一段時間,造成視覺暫留效果。 稱為軟件掃描顯示。,圖9-13 6位動態(tài)掃描顯示狀態(tài),3. LED顯示器與89C51接口及顯示子程序,P0口輸出段選碼,P1口輸出位選碼,,圖9-14 6只LED動態(tài)顯示接口,圖915 DIS顯示子程序流程圖,DIS顯示子程序清單如下: DIS:MOVR0,#7EH ;顯示緩沖區(qū)末地址R0 MOVR2,#01H ;位控字,先點亮最低位(右邊) MOVA,R2 MOVDPTR,#TAB ;字型表頭地址DPTR LP0:
18、MOVP1,A MOVA,R0 ;取顯示數(shù)據(jù) MOVCA,A+DPTR ;取出字形碼 MOVP0,A ;送出顯示 ACALLD1MS ;調(diào)延時子程序 DECR0 ;數(shù)據(jù)緩沖區(qū)地址減1 MOVA,R2 JBACC.5,LP1 ;掃描到最左面的顯示器了嗎? RLA ;沒有到,左移1位 MOVR2,A AJMPLP0 LP1:RET TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH DB6FH,77H,7CH, 39H,5EH,79H,71H,40H,00H D1MS:MOVR7,#02H ;延時1 ms子程序 DL:MOVR6,#0FFH DL1:DJNZR6,D
19、L1 DJNZR7,DL RET,(一).接口電路 74LS164 :鍵列掃描 74LS164 、:串行口擴展并口,LED驅(qū)動 P1.O、P1.1:鍵行線輸入 RXD:串行數(shù)據(jù)輸出 TXD:移位脈沖(串口模式0) P1.2:顯示輸出控制,9.1.3 串口控制的鍵盤顯示器接口,圖917 串行鍵盤掃描和顯示接口電路,(二).程序設(shè)計 功能:循環(huán)掃描鍵盤,若有數(shù)字鍵(09)則送顯示緩沖區(qū)顯示,若有命令鍵(AF)則轉(zhuǎn)相應(yīng)命令處理。 片內(nèi)RAM分配:58H5FH:顯示緩沖區(qū) ;60H:顯示緩沖區(qū)指針 寄存器分配:R6列選擇;R3列號 子程序嵌套:LED顯示子程序 KEY: MOV A,00H ;向串口數(shù)
20、據(jù)緩沖器送全0 CLR P1.2 MOV SBUF,A KL0: JNB TI,KL0 ;等待8位數(shù)據(jù)發(fā)送完畢 CLR TI ;清中斷標志 KL1: JNB P1.0,PK1 ;第1行有鍵按下否? JB P1.1,KL1 ;第2行有鍵按下否? PK1: ACALL D10MS ;有鍵按下,延時10s消除鍵抖動 JNB P1.0,PK2 ;確定是否鍵抖動引起 JB P1.1,KL1,PK2: MOV R7,08H ;不是鍵抖動引起則逐列掃描 MOV R6,0FEH ;選中第0列 MOV R3,00H ;記下列號初值 PL5: MOV A,R6 ;使某一列為低 MOV SBUF,A KL2: JN
21、B P1.0,PK4 ;是第1行嗎? JNB P1.1,PK5 ;是第2行嗎? MOV A,R6 ;不是本列,則繼續(xù)下一列 RL A MOV R6,A INC R3 ;列號加1 DJNZ R7,PL5 ;若仍未找到,則執(zhí)行下一次 RET PK5: MOV R4,08H ;是第2行,則R4送首鍵號值08H AJMP PK3 ;轉(zhuǎn)鍵處理 PK4: MOV R4,00H ;是第1行,則R4送首鍵號值00H PK3: MOV A,00H ;等待鍵釋放 MOV SBUF,A KL3: JNB TI,KL3 CLR TI,KL4: JNB P1.0,KL4 JNB P1.1,KL4 MOV A,R4 ;取
22、鍵號 ADD A,R3 CLR C SUBB A,0AH ;是命令鍵嗎? JNC KL6 ;轉(zhuǎn)命令鍵處理程序 MOP DPTR,TABL ;字形碼表首址送DPTR ADD A,0AH ;恢復(fù)鍵號 MOVC A,ADPTR ;取字形碼數(shù)據(jù) MOV R0,60H ;取顯示緩沖區(qū)指針 MOV R0,A ;將字形碼入顯示緩沖區(qū) INC R0 CJNE R0,60H,KD ;顯示緩沖區(qū)未滿轉(zhuǎn)KD MOV 60H,58H ;重設(shè)顯示緩沖區(qū)首地址 SJMP KD1 ;轉(zhuǎn)顯示 KD: MOV 60H,R0 ;保存顯示緩沖區(qū)地址 KD1: ACALL LED ;調(diào)用送顯示程序 RET,KL6: MOV B,03
23、H ;修正命令鍵地址轉(zhuǎn)移表指針 MUL AB MOV DPTR,KTAB ;地址轉(zhuǎn)移表首地址送DPTR JMP ADPTR ;根據(jù)指針跳轉(zhuǎn) KTAB: LJMP K1 ;K1,K3為各命令鍵服務(wù)程序首地址 LJMP K3 : TABL: DB C0H,F(xiàn)9H,A4H,B0H ;09字形碼轉(zhuǎn)換(共陽) DB 99H,92H,82H,F(xiàn)8H DB 80H,90H LED: SETB P1.2 ;開放顯示器控制 MOV R7,08H ;顯示位數(shù)送R7 MOV R0,58H ;選送最低位 LED1: MOV A,R0 ;送顯示器數(shù)據(jù) MOV SBUF,A LED2: JNB TI,LED2 CLR T
24、I INC R0 ;繼續(xù)下一位 DJNZ R7,LED1 ;全部送完 CLR R1.2 ;關(guān)閉顯示器控制 RET,串行LED顯示接口MAX7219,可驅(qū)動8個LED顯示器. 單片機可以通過串行口方式0與其交換信息,TXD作為移位時鐘、RXD作為串行數(shù)據(jù)I/O端、Load為芯片選擇端。 允許多個串行接口芯片共同使用89C51的串行口。,9.2 前向通道中的轉(zhuǎn)換器及接口技術(shù),模數(shù)()轉(zhuǎn)換電路的種類有:計數(shù)比較型、逐次逼近型、雙積分型等等。 逐次逼近型轉(zhuǎn)換器,在精度、速度和價格上都適中,是最常用的轉(zhuǎn)換器件。 雙積分轉(zhuǎn)換器,具有精度高、抗干擾性好、價格低廉等優(yōu)點,但轉(zhuǎn)換速度低。 串行輸出的A/D芯片由
25、于節(jié)省單片機的I/O口線,越來越多地被采用。如具有SPI三線接口的TLC1549、TLC1543、TLC2543、MAX187等,具有2線I2C接口的MAX127、PCF8591(4路8位A/D,還含1路8位D/A)等。,9.2 前向通道中的轉(zhuǎn)換器及接口技術(shù),9.2.1 單通道串行輸出A/D芯片TLC1549及接口 9.2.2 多通道串行輸出A/D芯片TLC2543及接口 9.2.3 逐次逼近型并行輸出轉(zhuǎn)換器及接口 9.2.4 3位雙積分A/D轉(zhuǎn)換器及接口技術(shù),9.2.1 單通道串行輸出A/D芯片TLC1549及接口,1 TLC1549串行A/D轉(zhuǎn)換器芯片 1) 主要性能 逐次比較型10位A/
26、D轉(zhuǎn)換器。 片內(nèi)自動產(chǎn)生轉(zhuǎn)換時鐘脈沖, 轉(zhuǎn)換時間21 s; 最大總不可調(diào)轉(zhuǎn)換誤差為1LSB; 單電源供電(+5 V), 最大工作電流僅為2.5 mA; 轉(zhuǎn)換結(jié)果以串行方式輸出; 工作溫度為-55+125 。,圖918 TLC1549的引腳圖,2) 引腳及功能,3) TLC1549的工作方式及時序 TLC1549有6種工作方式,如表93所列。,圖919 方式1工作時序,2 TLC1549與89C51接口電路與程序 TLC1549與89C51的SPI接口如圖9-20所示。,圖9-20 TLC1549M與89C51的接口電路,89C51讀取TLC1549中10位數(shù)據(jù)程序如下: ORG 0050H R
27、1549:CLR P3.0 ;片選有效,選中TLC1549 MOVR0,#2 ;要讀取高兩位數(shù)據(jù) LCALL RDATA ;調(diào)用讀數(shù)子程序 MOVR1,A ;高兩位數(shù)據(jù)送到R1中 MOVR0,#8 ;要讀取低8位數(shù)據(jù) LCALL RDATA ;調(diào)用讀數(shù)子程序,讀取數(shù)據(jù) MOVR2,A ;低8位數(shù)據(jù)送入R2中 SETBP3.0 ;片選無效 CLRP3.1 ;時鐘低電平 RET ;程序結(jié)束 ;讀數(shù)子程序 RDATA:CLR P3.1 ;時鐘低電平 MOVC,P3.2 ;數(shù)據(jù)送進位位CY RLCA ;數(shù)據(jù)送累加器A SETBP3.1 ;時鐘變高電平 DJNZR0,RDATA ;讀數(shù)結(jié)束了嗎 RET
28、;子程序結(jié)束,9.2.2 多通道串行輸出A/D芯片TLC2543及接口,TLC2543的特性如下: 12位A/D轉(zhuǎn)換器(可8位、12位和16位輸出); 在工作溫度范圍內(nèi)轉(zhuǎn)換時間為10 s; 11通道輸入; 3種內(nèi)建的自檢模式; 片內(nèi)采樣/保持電路; 最大1/4 096的線性誤差; 內(nèi)置系統(tǒng)時鐘; 轉(zhuǎn)換結(jié)束標志位; 單/雙極性輸出; 輸入/輸出的順序可編程(高位或低位在前); 可支持軟件關(guān)機; 輸出數(shù)據(jù)長度可編程。 TLC1543為11個輸入端的10位A/D芯片,價格比TLC2543低。,1 TLC2543的片內(nèi)結(jié)構(gòu)及引腳功能,圖9-21 TLC2543引腳排列,1 TLC2543的片內(nèi)結(jié)構(gòu)及引
29、腳功能,圖9-22 TLC2543片內(nèi)結(jié)構(gòu)框圖,片內(nèi)由通道選擇器、數(shù)據(jù)(地址和命令字)輸入寄存器、采樣/保持電路、12位的模/數(shù)轉(zhuǎn)換器、輸出寄存器、并行到串行轉(zhuǎn)換器及控制邏輯電路7個部分組成。,2. TLC2543的接口時序,TLC2543的時序有兩種:,圖9-23 使用片選信號CS高位在前的時序,圖9-24 不使用片選信號CS高位在前的時序,3 TLC2543的命令字,TLC2543的命令字如下:,4 TLC2543與89C51的SPI接口及程序,SPI(Serial Perpheral Interface)是一種串行外設(shè)接口標準,串行通信的雙方用4根線進行通信。 這4根連線分別是: 片選信
30、號、I/O時鐘、串行輸入和串行輸出。 這種接口的特點是快速、高效,并且操作起來比I2C要簡單一些,接線也比較簡單,TLC2543提供SPI接口。,圖9-25 TLC2543和89C51的接口電路,1) TLC2543與89C51的8位數(shù)據(jù)傳送程序,TLC2543:MOV R4,#04H ;置控制字,AIN0,8位數(shù)據(jù)高位在前 MOV A,R4 CLR P1.3 ;片選CS有效,選中TLC2543 MSB: MOV R5,#08H ;傳送8位 LOOP: MOV P1,#04H ;P12為輸入位 MOV C,P1.2 ;將TLC2543 A/D轉(zhuǎn)換的8位數(shù)據(jù)串行讀到C中一位 RLC A ;帶進位
31、位循環(huán)左移 MOV P1.1,C ;將控制字(在ACC中)的一位經(jīng)DIN送入TLC2543 SETB P1.0 ;產(chǎn)生一個時鐘 NOP CLR P1.0 DJNZ R5,LOOP MOV R2,A ;A/D轉(zhuǎn)換的數(shù)據(jù)存于R2中 RET 執(zhí)行上述子程序的過程如圖9-26所示,圖9-26 TLC2543與89C51數(shù)據(jù)交換示意圖,2) TLC2543與89C51的12位數(shù)據(jù)傳送程序,ORG0100H MOVP1,#04H ;P12為輸入位 MOVR6,#0AH ;轉(zhuǎn)換10次 MOVR0,#2FH ;置數(shù)據(jù)緩沖區(qū)指針 CLRP1.0 ;置I/O時鐘為低 SETBP1.3 ;置CS為高 ACALL T
32、LC2543 ;調(diào)轉(zhuǎn)換子程序 SJMP TLC2543:MOV A,#00H ;設(shè)置通道選擇和工作模式(IN0,12位) CLRP1.3 ;置CS為低 MOVR5,#0CH ;置輸出位計數(shù)初值 LOOP: MOVP1,#04H ;P12為輸入位 MOVC,P1.2 ;讀入轉(zhuǎn)換數(shù)據(jù)一位 RLCA ;將進位移給A,即將轉(zhuǎn)換數(shù)據(jù)的一位讀入,同時將控制字的一位輸入C,MOVP1.1,C ;送出一位控制位入2543 SETBP1.0 ;置I/O時鐘為高 NOP CLRP1.0 ;置I/O時鐘為低 CJNER5,#04,LOP1 ;剩4位了嗎? MOVR0,A ;前8位存入RAM INCR0 CLRA L
33、OP1:DJNZR5,LOOP ;未轉(zhuǎn)完繼續(xù)讀剩余4位 ANLA,#0FH MOVR0,A ;轉(zhuǎn)換完的存入單元 RET,3) TLC2543與89C51的16位數(shù)據(jù)傳送程序,ORG100H START:MOV SP,#50H ;初始化堆棧指針 MOVP1,#04H ;初始化P1口 CLRP1.0 ;置I/O CLOCK為低 SETBP1.3 ;置CS為高 MOVA,#0FFH ACALL TLC2543 ACALL STORE LJMPSTARJ TLC2543: MOVR4,#0CH ;讀輸入數(shù)據(jù)命令字到R4,AIN0,16位,高位在前 MOVA,R4 ;讀輸入數(shù)據(jù)到A DW0:CLRP1.
34、3 ;置CS為低 JBACC.1,LSB ;若輸入數(shù)據(jù)D1為1,首先進行低字節(jié)數(shù)據(jù)傳送 MSB:MOVR5,#08 ;以下傳送高字節(jié)數(shù)據(jù) LOOP1:MOV C,P1.2 ;讀轉(zhuǎn)換數(shù)據(jù)到C RLCA ;轉(zhuǎn)換數(shù)據(jù)移到A的最低位,輸入數(shù)據(jù)移入C,MOVP1.1,C ;寫輸入數(shù)據(jù)(命令字) SETBP1.0 ;置I/O CLOCK為高 NOP CLRP1.0 ;置I/O CLOCK為低 DJNZR5,LOOP1 ;判8個數(shù)據(jù)送完否,未完跳回 MOVR2,A ;轉(zhuǎn)換結(jié)果的高字節(jié)放入R2 MOVA,R4 ;讀輸入數(shù)據(jù)到A JBACC.1,RETURN ;若輸入數(shù)據(jù)D1為1,送數(shù)結(jié)束 LSB:MOVR5,
35、#08 ;以下傳送低字節(jié)數(shù)據(jù) LOOP2:MOVC,P1.2 RLCA MOVP1.1,C SETBP1.0 NOP CLRP1.0 DJNZR5,LOOP2 MOVR3,A ;轉(zhuǎn)換結(jié)果低字節(jié)放入R3 MOVA,R4 JBACC.1,MSB ;若輸入數(shù)據(jù)D1為1,進行高字節(jié)數(shù)據(jù)傳送 RETURN:RET,STORE:MOV A,R4 ;讀輸入數(shù)據(jù)到A ANLA,#0F0H ;只保留地址位 SWAP A ;以下產(chǎn)生存儲地址 MOVB,#02 MULAB ADDA,#30H MOVR1,A MOVA,R2 MOVR1,A ;把高字節(jié)放入相應(yīng)的偶數(shù)地址RAM: ;各通道地址依次為30H、32H IN
36、CR1 MOVA,R3 MOVR1,A ;把低字節(jié)放入相應(yīng)的奇數(shù)地址RAM: ;各通道地址依次為31H、33H RET END,9.2.3 逐次逼近型并行輸出轉(zhuǎn)換器及接口,ADC0809 A/D轉(zhuǎn)換器芯片 由8路模擬開關(guān)、8位A轉(zhuǎn)換器、三態(tài)輸出鎖存器以及地址鎖存譯碼器等組成。,圖9-27 ADC0809結(jié)構(gòu),芯片功能與結(jié)構(gòu) AD分辨力:8位 內(nèi)置多路開關(guān),允許對8路模擬量分時轉(zhuǎn)換; 自帶微機總線接口; 最高轉(zhuǎn)換速度100S次; 內(nèi)部結(jié)構(gòu)如圖所示。,引腳功能: IN0IN7: 8通道模擬信號輸入 D0D7: 8位數(shù)字量輸出 ADDC、ADDB、ADDC:通道選擇,000111對應(yīng)于IN0IN7
37、ALE: 通道地址鎖存,正脈沖輸入 START: 啟動信號,正脈沖輸入 EOC: 轉(zhuǎn)換結(jié)束,轉(zhuǎn)換開始后EOC0,轉(zhuǎn)換結(jié)束時EOC1 OE: 輸出允許控制 CLK: 轉(zhuǎn)換時鐘信號,典型值640K VREF()、VREF:AD參考電壓 VIN = VREF(D7D0)/256 ;(D7D0)= 00HFFH VCC、GND: 電源電壓 +5+15V,工作時序: ALE1:ADDAADDC進入 ALE0;ADDAADDC鎖存 START:上升沿使AD內(nèi)部復(fù)位,下降沿啟動A/D(一般START可兼作ALE信號使用) EOC:轉(zhuǎn)換開始后為0,結(jié)束時為1 OE:高電平使片內(nèi)數(shù)據(jù)輸出,低電平數(shù)據(jù)線為高阻,圖
38、9-28 ADC0809的時序圖,2、ADC0809與89C51接口,ADC0809與89C51連接可采用查詢方式,也可采用中斷方式。圖9-29為中斷方式連接電路圖。由于ADC0809片內(nèi)有三態(tài)輸出鎖存器,因此可直接與89C51接口。,圖9-29 ADC0809與89C51的連接,0809與8031接口(總線型) ADDAADDC: 連至A0A2 DOD7: 接數(shù)據(jù)總線 START、ALE: 由 P2.7、WR “或非”產(chǎn)生 例:啟動通道0轉(zhuǎn)換 MOV DPTR,7FF8H MOVX DPTR,A P2.70,WR0,ALESTATR1,通道地址進入,AD復(fù)位。 P2.70,WR1,ALEST
39、ART0,通道地址鎖存,AD啟動。 EOC: 通過非門接INT1,轉(zhuǎn)換結(jié)束時產(chǎn)生中斷, OE: 由P2.7和 RD通過“或非”門產(chǎn)生,“讀”AD 例: MOVX A,DPTR (DPTR7FF8H) P2.7=0, RD0,OE1,D0D7數(shù)據(jù)總線,被CPU讀取。 CLK:由ALE通過分頻產(chǎn)生,亦可單獨提供時鐘。 VREF()、VREF:參考電壓(一般為+5V),3、程序?qū)嵗?路巡回檢測 設(shè)對8點溫度巡回檢測,溫度范圍3050,檢測精度1。數(shù)據(jù)存放于外RAM A0HA7H單元。 主程序: MAIN:MOV R0,0A0H ;數(shù)據(jù)暫存區(qū)首址 MOV R2,08H ;8路數(shù)初值 SETB IT1
40、 ;脈沖觸發(fā)方式 SETB EA ;開中斷 SETB EX1 MOV DPTR,7FF8H;指向0809首地址 (IN0) MOVX DPTR ,A ;啟動AD轉(zhuǎn)換 HERE:SJMP HERE ;等待中斷 中斷服務(wù)程序: MOVX A,DPTR ;讀A/D MOVX R0 ,A ;存數(shù) INC DPTR ;更新通道 INC R0 ;更新暫存單元 DJNZ R2,DONE RET1 DONE:MOVX DPTR ,A ;啟動AD轉(zhuǎn)換 RETI,雙積分型AD轉(zhuǎn)換期MC14433芯片 芯片功能: 輸出數(shù)值范圍:01999(三位半BCD碼) 分辨率 : 約為11位(二進制) 電壓輸入范圍:199.0
41、mv1.999V兩檔 相應(yīng)的基準電壓:為200 mv2V 轉(zhuǎn)換速度: 3次10次秒 自動極性轉(zhuǎn)換;過量程欠量程標志。,9.2.4 3 位雙積分A/D轉(zhuǎn)換器及接口技術(shù),圖9-30 MC14433的引腳圖,引腳功能 VREF: 參考電壓輸入 VX: 模擬信號電壓輸入 R1、R1C1、C1: 外接積分阻容元件 CO1、CO2: 外接補償電容0.1F DU: 輸出控制,正脈沖使轉(zhuǎn)換結(jié)果A/D結(jié)果寄存器 EOC: 轉(zhuǎn)換結(jié)束,轉(zhuǎn)換結(jié)束時發(fā)正脈沖(一般與DU相連) CLK1、CLKO:外接時鐘信號輸入輸出 OR: 過量程標志,VX VREF時,OR0 DS4DS1: 個、十、百、千位輸出選通正脈沖 Q3Q0
42、: BCD碼AD轉(zhuǎn)換結(jié)果輸出 VAG: 模擬地 VEE: 模擬負電源 VDD: 正電源 VSS: 數(shù)字地 *對于5V數(shù)字系統(tǒng),VDD、VEE為5V,輸出時序: EOC:轉(zhuǎn)換結(jié)束脈沖 DS1:千位輸出標志 Q3:千位值0-1,1-0 Q2:極性,0負、 1正 Q0:量程 0 -正常 1 -Q3=1欠量程 Q3=0過量程 DS2:百位輸出標志 DS1:十位輸出標志 DS1:個位輸出標志,圖9-31 MC14433選通脈沖時序,MC14433與8031接口(非總線型) Q0Q3: 接P1.0P1.3 DS1DS4: 接P1.4P1.7 EOC與DU相連,反相后接INT1 VREF:由基準電壓源5G1
43、403(2.5V)分壓產(chǎn)生2V基準電壓。,圖9-32 5G14433與89C51直接連接的硬件接口,程序設(shè)計:設(shè)每次轉(zhuǎn)換結(jié)果存于內(nèi)RAM 30H34H。(符號、千、百、十、個) 中斷子程: ORG 0013H DINT:MOV R0,30H JNB P1.4, ;等待DS1 MOV A,P1 ;讀千位 JB ACC.2,AD1 MOV R0, #1 ;符號位送1(負) SJMP AD2 D1: MOV R0, #0 ;符號位送0(正) AD2: INC R0 JB ACC.3,AD3 MOV R0,1 ;千位送1 SJMP AD4 AD3: MOV R0,0 ;千位送0 AD4: INC R0
44、 JNB P1.5, ;等待DS2 MOV A,P1 ANL A,0FH ;屏蔽無用位 MOV R0, A ;存百位 INC R0 RETI,9.3 系統(tǒng)后向通道配置及接口技術(shù),后向通道是計算機實現(xiàn)控制運算處理后,對被控對象的輸出通道接口。 系統(tǒng)的后向通道是一個輸出通道,其特點是弱電控制強電,即小信號輸出實現(xiàn)大功率控制。常見的被控對象有電機、電磁開關(guān)等。 單片機實現(xiàn)控制是以數(shù)字信號或模擬信號的形式通過口送給被控對象的。其中,數(shù)字信號形態(tài)的開關(guān)量、二進制數(shù)字量和頻率量可直接用于開關(guān)量、數(shù)字量系統(tǒng)及頻率調(diào)制系統(tǒng)的控制;但對于一些模擬量控制系統(tǒng),則應(yīng)通過轉(zhuǎn)換器轉(zhuǎn)換成模擬量控制信號后,才能實現(xiàn)控制。
45、9.3.1 后向通道中的功率開關(guān)器件及接口 9.3.2 串行輸入D/A芯片TLC5615接口技術(shù) 9.3.3 并行輸入芯片及接口技術(shù),1. 繼電器及接口 1) 單片機與繼電器的接口 一個典型的繼電器與單片機的接口電路如圖所示。,圖9-33 繼電器接口,9.3.1 后向通道中的功率開關(guān)器件及接口,2. 光電耦合器(隔離器)件及驅(qū)動接口,為防止干擾竄入和保證系統(tǒng)的安全,常常采用光電耦合 器,用以實現(xiàn)信號的傳輸,同時又可將系統(tǒng)與現(xiàn)場隔離開。 晶體管輸出型光電耦合器的受光器是光電晶體管,如圖9-36所示。,圖9-36 光電耦合器4N25的接口電路,3. 光電耦合驅(qū)動晶閘管(可控硅)功率開關(guān)及接口,圖9
46、-38是4N40和MOC3041的接口驅(qū)動電路。 4N40是常用的單向晶閘管輸出型光電耦合器,也稱固態(tài)繼電器。 MOC3041是常用的雙向晶閘管輸出的光電耦合器(固態(tài)繼電器)。,圖9-38 晶閘管輸出型光電耦合器驅(qū)動接口,9.3.2 串行輸入D/A芯片TLC5615接口技術(shù),1. TLC5615的特點 2.功能方框圖,10位CMOS電壓輸出; 5 V單電源工作; 與微處理器3線串行接口(SPI); 最大輸出電壓是基準電壓的2倍; 輸出電壓具有和基準電壓相同的極性; 建立時間12.5 s; 內(nèi)部上電復(fù)位; 低功耗,最高為1.75 mW; 引腳與MAX515兼容。,圖939 TLC5615功能方框
47、圖,3. 引腳排列及功能,圖940 TLC5615引腳圖,4. TLC5615的時序分析,TLC5615的時序圖如圖941所示。,圖941 時序波形圖,5. TLC5615的輸入/輸出關(guān)系,圖942的D/A輸入/輸出關(guān)系如表99所列。,圖942 TLC5615與89C51接口電路,6. TLC5615與89C51的串行接口電路,圖942為將89C51要輸出的12位數(shù)據(jù)存在R0和R1寄存器中, CLR P3.0 ;片選有效 MOV R2,#4 ;將要送入的前4位數(shù)據(jù)位數(shù) MOV A,R0 ;前4位數(shù)據(jù)送累加器低4位 SWAP A ;A中高4位和低4位互換(4位數(shù)在高位) LCALL WRdata
48、 ;由DIN輸入前4位數(shù)據(jù) MOV R2,#8 ;將要送入的后8位數(shù)據(jù)位數(shù) MOV A,R1 ;8位數(shù)據(jù)送入累加器A LCALL WRdata ;由DIN輸入后8位數(shù)據(jù) CLR P3.1 ;時鐘低電平 SETB P3.0 ;片選高電平,輸入的12位數(shù)據(jù)有效 RET ;結(jié)束送數(shù) 子程序如下: WRdata: NOP ;空操作 LOOP: CLR P3.1 ;時鐘低電平 RLC A ;數(shù)據(jù)送入進位位CY MOV P3.2,C ;數(shù)據(jù)輸入TLC5615有效 SETB P3.1 ;時鐘高電平 DJNZ R2,LOOP ;循環(huán)送數(shù) RET,9.3.3 并行輸入芯片及接口技術(shù),1. 并行輸入轉(zhuǎn)換芯片DAC
49、0832 主要由兩個8位寄存器和一個8位轉(zhuǎn)換器組成。,圖943 DAC0832結(jié)構(gòu),1) DAC0832引腳功能,D0D7: 數(shù)字量數(shù)據(jù)輸入線。 ILE: 數(shù)據(jù)鎖存允許信號,高電平有效。 CS: 輸入寄存器選擇信號,低電平有效。 WR1: 輸入寄存器的“寫”選通信號,低電平有效。 XFER: 數(shù)據(jù)轉(zhuǎn)移控制信號線,低電平有效。 WR2: DAC寄存器的“寫”選通信號。VREF: 基準電壓輸入線。 RFB: 反饋信號輸入線,芯片內(nèi)已有反饋電阻。 IOUT1和IOUT2: 電流輸出線。 IOUT1與IOUT2的和為常數(shù), IOUT1隨DAC寄存器的內(nèi)容線性變化。一般在單極性輸出時,IOUT2接地;在
50、雙極性輸出時,接運放。 VCC: 工作電源。DGND: 數(shù)字地。 AGND: 模擬信號地。,2) DAC0832特性,主要的特性參數(shù)如下: 分辨率為8位。 只需在滿量程下調(diào)整其線性度。 可與所有的單片機或微處理器直接接口,需要時亦可不與微處理器連接而單獨使用。 電流穩(wěn)定時間為1 。 可雙緩沖、單緩沖或直通數(shù)據(jù)輸入。 功耗低,約為200 mW。 邏輯電平輸入與TTL兼容。 單電源供電( )。,2. D/A轉(zhuǎn)換器與89C51接口,實際應(yīng)用中常常需要芯片的輸出還需要有將電流轉(zhuǎn)換為電壓的電路。 下面介紹兩種電路供參考: 圖9-44(a)是反相電壓輸出電路,輸出電壓; 圖9-44(b)是同相電壓輸出電路,輸出電壓() 當接5(或5)時,輸出電壓范圍是5(或05); 當接0(或)時,輸出電壓是0(或0V),圖9-44 D/A轉(zhuǎn)換輸出電路,1) 直通式工作方式應(yīng)用,圖9-45所示為直通式工作方式的連接方法。輸入到DA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中交雄安融資租賃有限公司招聘備考題庫有答案詳解
- 2026年中國農(nóng)業(yè)科學院北京畜牧獸醫(yī)研究所創(chuàng)新團隊首席科學家招聘備考題庫完整參考答案詳解
- 2026年天津航空機電有限公司招聘備考題庫及答案詳解參考
- 2026年中國太平洋財產(chǎn)保險股份有限公司廈門分公司招聘備考題庫及一套參考答案詳解
- 2026年開封市建東城市建設(shè)發(fā)展有限公司招聘備考題庫及參考答案詳解
- 2026年儋州市白馬井中學醫(yī)護人員招聘啟示備考題庫含答案詳解
- 2026年度普陀區(qū)屬國有企業(yè)管培生招聘備考題庫及答案詳解一套
- 2026年中國聯(lián)合網(wǎng)絡(luò)通信有限公司湖南省分公司招聘50人備考題庫及一套完整答案詳解
- 2026年南昌大學公開招聘非事業(yè)編制工作人員16人備考題庫完整參考答案詳解
- 2026年廈門市梧村小學公開招聘備考題庫及一套答案詳解
- 員工保守商業(yè)秘密和與知識產(chǎn)權(quán)有關(guān)的保密協(xié)議(范本)
- 氧氣理化特性表
- 物資、百貨、五金采購 投標技術(shù)方案技術(shù)標
- 路面工程試驗檢測-路面基層底基層試驗檢測
- 文旅項目立項報告
- 生理學期中考試試題及答案
- 京張高鐵現(xiàn)場觀摩會整體策劃方案
- 安捷倫1200標準操作規(guī)程
- 合伙人合同協(xié)議書電子版
- 離婚協(xié)議書下載電子版完整離婚協(xié)議書下載三篇
- 磨床設(shè)備點檢表
評論
0/150
提交評論