微機(jī)原理第8章-接口技術(shù).ppt_第1頁
微機(jī)原理第8章-接口技術(shù).ppt_第2頁
微機(jī)原理第8章-接口技術(shù).ppt_第3頁
微機(jī)原理第8章-接口技術(shù).ppt_第4頁
微機(jī)原理第8章-接口技術(shù).ppt_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章 微機(jī)通信與接口技術(shù),8.1 并行通信與串行通信 8.2 可編程串行通信接口芯片 8.3 可編程并行通信接口芯片 8.4 可編程定時(shí)/計(jì)數(shù)器芯片 8.5 A/D和D/A轉(zhuǎn)換接口 8.6 并行打印機(jī)接口,8.1 并行通信與串行通信,一、 并行通信與并行接口 二、 串行通信與串行接口 三、 串行通信方式及異步通信協(xié)議 四、 串行異步通信標(biāo)準(zhǔn)接口,一、并行通信與并行接口,1. 并行通信. 含義:并行通信是指將一個(gè)字節(jié)或一個(gè)字的各 位同時(shí)進(jìn)行傳輸?shù)囊环N通信方式。 要點(diǎn):傳輸?shù)母魑煌瑫r(shí)傳輸(輸入或輸出)。 特點(diǎn): (1)傳輸速度快 (2)傳輸?shù)男畔⒙矢?(3)比串行通信需要更多通信信號(hào)線 用途:常

2、用于傳輸距離短,數(shù)據(jù)傳輸速度要求 高的場(chǎng)合。,含義:實(shí)現(xiàn)并行通信的接口稱為并行通信接口。,2.并行接口,二、串行通信與串行接口,1. 串行通信 含義:串行通信是把傳輸?shù)臄?shù)據(jù)一位一位地順序傳送的一種通信方式。 要點(diǎn):按位傳輸,同一時(shí)刻僅傳送一位。 特點(diǎn): (1)通信線少 (2)成本低 (3)但通信速度慢 用途:適用于長(zhǎng)距離數(shù)據(jù)傳輸。,完成串行通信任務(wù)的接口稱為串行通信接口,簡(jiǎn)稱串行接口。 功能:(1)輸入時(shí),完成串行到并行格式轉(zhuǎn)換(2)輸出時(shí),完成并行到串行格式轉(zhuǎn)換。,2.串行接口,串行通信數(shù)據(jù)傳輸方式,單工方式 半雙工方式 全雙工方式,單工方式,半雙工方式,全雙工方式,三、串行通信方式及異步通

3、信協(xié)議,串行通信方式 兩種:串行異步通信和串行同步通信。 1. 異步通信 異步通信:指字符與字符之間的傳送是完全異步的,隨機(jī) 的,但一個(gè)字符的位與位之間是同步的。 2. 異步通信特點(diǎn) 字符的發(fā)送是隨機(jī)的。 每一個(gè)字符傳輸總以一個(gè)起始位為準(zhǔn),然后接收方與發(fā)送方保持同步(格式的統(tǒng)一),最后是停止位 通信雙方可隨時(shí)改變通信協(xié)議,即改變數(shù)據(jù)位、奇偶校驗(yàn)位和停止位長(zhǎng)度或數(shù)據(jù)傳輸率。,3異步通信協(xié)議,異步通信協(xié)議包括:一是字符的傳送格式的規(guī)定,二是數(shù)據(jù)傳送速率的要求。 異步通信格式協(xié)議,即改變數(shù)據(jù)位、奇偶校驗(yàn)位和停止位長(zhǎng)度或數(shù)據(jù)傳輸率。,波特率,波特率(Baud Rate):指單位時(shí)間傳送二進(jìn)制數(shù)的 位數(shù)

4、,一般以秒為單位。 微機(jī)中常見的波特率有110,300,600,1200, 2400,4800,9600,19200等。微機(jī)最高波特率由硬 件決定。 例:已知字符格式中數(shù)據(jù)為8位,無校驗(yàn),1位停止位,在1 分鐘內(nèi)連續(xù)不斷傳送了 69120個(gè)字符,求波特率。 解:一個(gè)字符=1+8+0+1=10位 每秒傳送的字符個(gè)數(shù)=69120/60=1152個(gè) 波特率=位/秒=1152*10=11520bits/S=11.52Kbits/s,4.同步通信,同步通信 將多個(gè)字符連接成一個(gè)數(shù)據(jù)塊,數(shù)據(jù)塊前加1或2個(gè)同步字符,尾部是校驗(yàn)字符,最后為同步字符。 同步的含義 字符與字符之間時(shí)間間隔固定不變,是同步的。,四

5、、串行異步通信標(biāo)準(zhǔn)接口,串行異步通信的標(biāo)準(zhǔn)接口有RS-232C、RS-449、RS-422、RS-485以及20mA電流環(huán)等接口。 一、RS-232C接口(PC使用) 1. 接口邏輯:負(fù)邏輯傳送1:-15V-5V0:+5V+15V 允許噪聲容限為2V 因此,實(shí)際RS-232能夠區(qū)分的邏輯電平: 1:-15V-3V 0:+3V+15V 只有在-3V+3V時(shí)邏輯為不確定,2. RS-232接口信號(hào),接口信號(hào)含義,CD-載波檢測(cè)(輸入,常來自Modem) 指示Modem已與另一方電線話連接好。 RXD-數(shù)據(jù)輸入(輸入) TXD-數(shù)據(jù)輸出(輸出) DTR-數(shù)據(jù)終端準(zhǔn)備好(輸出)表示收到RI信號(hào),作為回

6、答。 DSR-數(shù)據(jù)裝置準(zhǔn)備好(輸入)表示Modem可以使用。 RTS-請(qǐng)求發(fā)送(輸出)通知Modem,準(zhǔn)備發(fā)送數(shù)據(jù)。 CTS-清除發(fā)送(輸入)Modem認(rèn)為可發(fā)送時(shí)發(fā)該信號(hào),可以發(fā)送數(shù)據(jù)。,RS232遠(yuǎn)程通信連接示意圖,遠(yuǎn)程通信連接方式,RS232近距離連接示意圖,TXD RXD RTS CTS DSR DTR GND,RS232簡(jiǎn)單連接示意圖,RS232電平轉(zhuǎn)換,計(jì)算機(jī)通信是TTL和CMOS邏輯電平,而RS-232規(guī)定的電平與之不符,故需電平轉(zhuǎn)換。,單電源供電的電平轉(zhuǎn)換接口芯片,MAX232、TLC232、UN232等為典型單電源供電的232接口芯片,完成電平轉(zhuǎn)換功能。,二、其它串行接口標(biāo)準(zhǔn)

7、,RS232C缺點(diǎn):受共模干擾影響,通信距離不長(zhǎng)。僅20米以內(nèi)。 RS422:通過差分放大器波波有效抑制共模干擾。全雙工需要四條線。 RS485:對(duì)422改進(jìn),通信線少,僅三根,且可同時(shí)連接多個(gè)接收器和發(fā)送器。(32256個(gè)),通信距離可達(dá)幾千米。 20mA電流環(huán):電流型傳送,抗干擾強(qiáng),傳送距離遠(yuǎn)。,典型RS-485接口芯片,RS-485采用差分傳輸方式進(jìn)行遠(yuǎn)程通信,差分信號(hào)200mV即可區(qū)分,傳輸距離可達(dá)1200m。,A B,RO,RE,DE,DI,TTL/CMOS,差分電壓,VA-VB=200mV時(shí)為1,VB-VA=200mV時(shí)為0,8.2 可編程串行通信接口芯片 16550與8250,一

8、、16550及8250功能 (1) 具有全雙工、雙緩沖器發(fā)送器和接收器。 (2) 是串行異步通信接口(UART)。 (3) 波特率:8250=509600波特;16550=50115200波特。 (4) 異步通信格式,可通過編程選擇。 (5) 具有自動(dòng)奇偶校驗(yàn)、溢出和幀出錯(cuò)等檢測(cè)標(biāo)志。 (6) 片內(nèi)具有優(yōu)先級(jí)中斷控制邏輯。 (7) 單一+5V,40個(gè)引腳的DIP封裝形式。,二、內(nèi)部結(jié)構(gòu)及工作原理,1.接收部分,接收移位寄存器將SIN腳的串行數(shù)據(jù)進(jìn)行移位輸入。 (1) 檢測(cè)起始位:SIN變低后,連續(xù)測(cè)試8個(gè)RCLK時(shí)鐘周 期,如果都是低電平,為起始位,否則為干擾信號(hào)。 (2) 采樣數(shù)據(jù)位:每隔1

9、6個(gè)RCLK脈沖對(duì)SIN輸入的數(shù)據(jù)位進(jìn) 行一次采樣。直到停止位,完成一個(gè)字符的接收。 (3) 去除無關(guān)位:接收同步控制電路自動(dòng)去除起始位、奇 偶校驗(yàn)位和停止位。 (4) 串到并轉(zhuǎn)換:同步控制電路控制接收移位寄存器將串 行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)送入接收數(shù)據(jù)緩沖器(THR)中。 (5) 檢查正確性:接收同步控制電路對(duì)數(shù)據(jù)的正確性進(jìn)行檢查。 如果在檢測(cè)字符格式時(shí)有錯(cuò)誤,則通過線路狀態(tài)寄存器 設(shè)置相應(yīng)的出錯(cuò)標(biāo)志。,2.發(fā)送部分,發(fā)送部分負(fù)責(zé)接收CPU送來的并行數(shù)據(jù),并通過移位的方法將其變換成串行信號(hào),最后通過發(fā)送端SOUT發(fā)送出去。 (1) CPU的并行數(shù)據(jù)存入發(fā)送保持寄存器中,由 發(fā)送同步控制電路控制將

10、該數(shù)據(jù)經(jīng)過發(fā)送移 位寄存器處理,按照事先規(guī)定的格式加上起 始位、奇偶校驗(yàn)位和停止位,變換成串行數(shù) 據(jù)幀后由SOUT端輸出串行數(shù)據(jù)信號(hào)。 (2) 當(dāng)數(shù)據(jù)進(jìn)入發(fā)送移位寄存器后,發(fā)送保持 寄存器自動(dòng)變空,CPU即可再次寫入數(shù)據(jù)。,3. 通信線路控制寄存器,線路控制寄存器(LCR)接收CPU用OUT指令寫入的控制命令??刂萍拇嫫鞯膬?nèi)容可以通過IN指令讀出。線路控制寄存器的格式:,4.通信線路狀態(tài)寄存器,線路狀態(tài)寄存器LSR記錄串行數(shù)據(jù)發(fā)送和接收的狀態(tài),以供CPU查詢。線路狀態(tài)寄存器的格式:,5. Modem控制寄存器,Modem控制寄存器MCR用于設(shè)置16550/8250與通信設(shè)備之間聯(lián)絡(luò)應(yīng)答的輸出信

11、號(hào),其格式如所示。,6. Modem狀態(tài)寄存器,Modem狀態(tài)寄存器MSR反映8250與通信設(shè)備之間應(yīng)答聯(lián)絡(luò)輸入信號(hào)的當(dāng)前狀態(tài)以及這些信號(hào)的情況,各位的含義如圖所示。,7.中斷允許寄存器IER,反映了接收器和發(fā)送器以及Modem是否允許中斷的情況,通過設(shè)置可以指定其中的某些部件允許中斷。它是一個(gè)可讀可寫的寄存器。,8.中斷識(shí)別寄存器IIR,中斷識(shí)別寄存器IIR,可以識(shí)別4個(gè)中斷源引起的中斷。接收器線路狀態(tài)中斷、接收數(shù)據(jù)準(zhǔn)備好中斷、發(fā)送保持寄存器空中斷和調(diào)制解調(diào)器狀態(tài)中斷。,9. 波特率發(fā)生器和除數(shù)寄存器,16550及8250使用1.8432MHz的基準(zhǔn)輸入時(shí)鐘,分頻后產(chǎn)生所需的內(nèi)部基準(zhǔn)脈沖,作

12、為接收器和發(fā)送器的同步脈沖,以控制接收移位寄存器和發(fā)送移位寄存器的移位操作。 發(fā)送或接收串行數(shù)據(jù)時(shí)使用的時(shí)鐘頻率是數(shù)據(jù)傳送波特率的16倍 除數(shù)值與波特率的關(guān)系:除數(shù)1843200(波特率16),三、16550/8250引腳信號(hào),幾個(gè)最重要的信號(hào) RCLK 接收時(shí)鐘 SIN 串行輸入引腳 SOUT 串行數(shù)據(jù)輸出。 A2,A1,A0 內(nèi)部寄存器選擇輸入信號(hào)。,四、串行接口的編程及應(yīng)用,1.串行接口的端口地址分配,2.串行接口初始化,串行接口初始化的任務(wù): (1)設(shè)置波特率 (2)確定通信的具體格式 (3)設(shè)置操作方式 (4)設(shè)定是否使用中斷、是否自測(cè)試操作等等。,設(shè)置波特率方法,計(jì)算除數(shù)值除數(shù)18

13、43200(波特率16) 寫線路控制寄存器,使DLAB=1以訪問除數(shù)寄存器 先將除數(shù)低字節(jié)寫入低字節(jié)寄存器端口 再將除數(shù)高字節(jié)寫入高字節(jié)寄存器端口 注意:線路控制寄存器地址:3FBH(COM1),2FBH(COM2)除數(shù)低字節(jié)寄存器: 3F8H(COM1),2F8H(COM2)除數(shù)高字節(jié)寄存器: 3F9H(COM1),2F9H(COM2),設(shè)置波特率程序段,假設(shè)設(shè)置波特率為11520,則初始化程序片段如下: MOVAL,10000000B;DLAB=1 MOVDX,3FBH;指向線路控制寄存器端口 OUTDX,AL;寫入線路控制寄存器 MOVAL,0AH;置產(chǎn)生11520波特率的除數(shù)低字節(jié) M

14、OVDX,3F8H;除數(shù)低字節(jié)寄存器口地址 OUTDX,AL;寫入除數(shù)低字節(jié) MOVAL,00;除數(shù)高字節(jié) INCDX;指向除數(shù)高字節(jié)寄存器口地址 OUTDX,AL;寫入除數(shù)高字節(jié),設(shè)置通信數(shù)據(jù)格式方法,根據(jù)要求確定格式 將格式字寫入線路控制寄存器,并使DLAB=0以正常工作 例子:假設(shè)一幀數(shù)據(jù)含有8位數(shù)據(jù)、1位停止位、奇校驗(yàn),則有關(guān)程序如下: MOVAL,00001011B;通信控制寄存器控制字 MOVDX, 3FBH;線路控制寄存器口地址 OUTDX, AL;寫入線路控制寄存器,設(shè)置操作方式,禁止中斷輸出 允許中斷輸出 自測(cè)工作方式,向Modem控制寄存器寫入相應(yīng)控制字,禁止中斷輸出,MO

15、VAL,00000011B;禁止中斷輸出 MOVDX, 3FCH;Modem控制寄存器地址 OUTDX, AL;寫入線路控制寄存器,允許中斷輸出,MOVAL,00001111B;禁止中斷輸出 MOVDX, 3FCH;Modem控制寄存器地址 OUTDX, AL;寫入線路控制寄存器,自測(cè)工作(自發(fā)自收),MOVAL,00010011B;自發(fā)自收 MOVDX,3FCH;Modem控制寄存器地址 OUTDX, AL;寫入線路控制寄存器,設(shè)置中斷允許寄存器,僅允許接收中斷和發(fā)送中斷:(COM1)MOVAL, 00000011;僅允許收、發(fā)中斷MOVDX, 3F9HOUTDX, AL;寫入中斷允許寄存器

16、,3.串行通信的BIOS功能調(diào)用,初始化串行端口 取串行端口狀態(tài) 讀串行端口數(shù)據(jù) 寫串行端口數(shù)據(jù),利用BIOS的INT 14H中斷調(diào)用中的不同功能,對(duì)串行口進(jìn)行不同操作。,初始化通信端口,入口:AH=00,AL=初始化參數(shù),DX=端口標(biāo)識(shí)(COM1=0,COM2=1) 出口:AH=線路狀態(tài)字節(jié),AL=Modem狀態(tài)字節(jié)。,讀通信端口狀態(tài),入口:AH=03H,DX=通信端口(COM1=0,COM2=1)。 出口:AH=線路狀態(tài)字節(jié),AL=Modem狀態(tài)字節(jié),讀通信端口數(shù)據(jù),入口:AH=02H,DX=通信端口(COM1=0,COM2=1),AL=要寫入的字符。 出口:AL=接收的字符 例子:接CO

17、M1一個(gè)字符 MOVAH,02H MOVDX,0 INT 14H,寫通信端口數(shù)據(jù),入口:AH=01H,DX=通信端口(COM1=0,COM2=1),AL=要寫入的字符。 例子:向COM2寫入M MOVAH,01H MOVDX,1 MOVAL,M INT 14H,串行通信實(shí)例,兩臺(tái)微機(jī)利用COM1(串行口1)進(jìn)行查詢通信,只用 三根連接線。 雙機(jī)通信的要求如下:數(shù)據(jù)為7位、1位停止位、奇校 驗(yàn)、波特率為1200;雙機(jī)同時(shí)運(yùn)行該程序,一方鍵入 的字符在另一方屏幕上顯示,當(dāng)按下小寫字母q時(shí), 結(jié)束通信回到DOS。 程序見教材P.326(自己閱讀),8.3 可編程并行接口芯片8255A,一、8255的

18、內(nèi)部結(jié)構(gòu)及引腳信號(hào) 二、8255的工作方式 三、8255的編程,一、 8255的內(nèi)部結(jié)構(gòu)及引腳信號(hào),引腳信號(hào),(1) 與外設(shè)接口信號(hào)引腳 PA7PA0 A口的8個(gè)I/O引腳 PB7PB0 B口的8個(gè)I/O引腳 PC7PC0 C口的8個(gè)I/O引腳。 (2) 與系統(tǒng)總線接口信號(hào)引腳 D7D0 數(shù)據(jù)線 /RD,/WR,/CS RESET 高電平有效,有效時(shí)8255內(nèi)部寄存器清除,同時(shí)三個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸入端口。,8255A的端口操作,二、8255的工作方式,基本輸入輸出方式-方式0 選通輸入輸出方式-方式1 雙向輸入輸出方式-方式2,基本輸入輸出方式-方式0,方式0沒有規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)

19、信號(hào)線。 在此方式下,三個(gè)數(shù)據(jù)端口A、B和C中的任何一個(gè)端口都可由程序設(shè)定為8位的輸入口或輸出口。 C端口的兩個(gè)半口(高4位和低4位)可獨(dú)立設(shè)為輸入或輸出端口。 端口輸入具有緩沖功能;輸出具有鎖存功能。 方式0下的各端口輸入或輸出有24=16種不同的組合。,選通輸入輸出方式-方式1,方式1規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號(hào)線。 A口和B口可作為輸入或輸出端口使用,而此時(shí)C口的某些位與它們配合,作為控制或通信聯(lián)絡(luò)信號(hào), 沒有使用的C口某些位還可單獨(dú)立定義為I/O口用。 方式1下A和B端口的輸入和輸出具有不同的組態(tài)。內(nèi)部邏輯不同。 下面分別介紹A口輸入、B口輸出、A口輸出和B口輸出不同情況下的內(nèi)部邏輯

20、。,方式1下的輸入組態(tài),A口輸入,B口輸入,方式1下的輸入工作波形,方式1下的輸出組態(tài),A口輸出,B口輸出,方式1下的輸出工作波形,雙向輸入輸出方式-方式2,方式2是雙向的數(shù)據(jù)傳輸方式,僅限于A口,這時(shí)C端口配合其工作。,三、8255編程,對(duì)8255編程首先要寫入方式選擇控制字,然后再行輸入輸出操作。 操作是可對(duì)端口C進(jìn)行置/復(fù)位操作。因此:8255有兩個(gè)控制字是編程的關(guān)鍵所在。 方式選擇控制字 端口C置/復(fù)位控制字,方式選擇控制字寫入控制口,端口C置/復(fù)位控制字寫入控制口,8255作為打印機(jī)接口實(shí)例,打印機(jī)接口的時(shí)序要求,打印程序,MOV AL, 0A8H;方式選擇字(C上半口輸入PC4)

21、MOV DX,343H ;控制端口 OUT DX,AL;方式選擇控制字寫入控制口 MOV CX,Counter;打印字符個(gè)數(shù)裝入計(jì)數(shù)器 MOV BX,OFFSET Pstrings LP1:MOV AL,BX MOV DX,340H OUT DX,AL;送一個(gè)字符到8255的A口 MOV DX,342H LP2: IN AL, DX;讀取C口狀態(tài)(準(zhǔn)備檢查BUSY狀態(tài)) AND AL,00010000B ;屏蔽無關(guān)位, 取BUSY對(duì)應(yīng)的PC4 JNZ LP2;BUSY=1等待,直到不忙 INC BX LOOP LP1,鍵盤與顯示器應(yīng)用,A1 A0,WR RD,A1 A0,IOW IOR,CS,

22、3E0H | 3E3H,D7-D0,譯碼 電路,A9 | A0,鍵盤掃描,顯示部分,鍵盤掃描部分,鍵盤部分程序段,8255初始化程序段 START:MOV DX,WORDPORT;8255A方式控制字送控制端口WORDPORT MOV AL,10000001B;8255的A,B及C上半口工作在方式0輸出 OUTDX,AL;C下半口為輸入。 判斷有無按鍵程序段 WAIT_IN:MOV AL,00H;往所有列線(PC7-PC4)上輸出0, MOV DX,PORTC;PORTC為8255A端口C OUTDX,AL IN AL,DX;讀所有列線(PC3-PC0)的電平狀態(tài) ANDAL,0FH;比較是否

23、有列線處于低電平狀態(tài) CMPAL,0FH JZ WAIT_IN;沒有閉合,故循環(huán)等待 DONE:CALL DELAY;有鍵閉合,則延時(shí)20ms,消除抖動(dòng) 以后繼續(xù)判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)程序,鍵盤掃描程序,PROG:MOVBL,0;鍵號(hào)初值為0 MOVCL,0EFH;送掃描初值1110,因D3-D0無效 MOVBH,4;計(jì)數(shù)值為行數(shù) FROW:MOVAL,CL;掃描一行 MOVDX,PROTC OUTDX,AL; RCLAL,1;修改行掃描 MOVCL,AL;讀列線(D7-D4)無效,是否有列線為低 INAL,DX ANDAL,0FH CMPAL,0FH JNZFCOL;有列線為低電平,則轉(zhuǎn)F

24、COL MOVAL,BL;無則使鍵號(hào)寄存器的值=鍵號(hào)值+列數(shù)/行 ADDAL,4 MOVBL,AL DECBH;行未掃描完,則轉(zhuǎn)FROW JNZFROW JMPDONE;已掃描完,則轉(zhuǎn)DONE FCOL:ORAL,0F0H;此列為低電平,則轉(zhuǎn)PROCE RCRAL,1 JNCPROCE INCBL;如果未找到低電平的列線,則使鍵號(hào)=鍵號(hào)+1,轉(zhuǎn) ;FCOL繼續(xù)尋找,鍵號(hào)地BL中 PROCE:.;鍵命令處理程序 . DONE:.;后續(xù)處理程序,FCOL:MOV AH,4 OR AL,0F0H LP1:RCR AL,1 JNC PROCE INC BL DEC AH JNZ LP1 JMP ERR

25、_DEL .,顯示部分,LED顯示代碼,顯 示 流 程,LED顯示程序,LED:MOVDI,OFFSET BUFFDATA;指向緩沖區(qū)首地址 MOVCL,80H;使最左邊LED亮 DISI:MOVAL,DI;AL中為要顯示的數(shù) MOVBX,OFFSETTABLE;段碼表首址送BX XLAT;段碼送AL MOVDX,PORTA;段碼送段控端口PORTA OUTDX,AL MOVAL,CL;位掃描碼送位控端口PORTB MOVDX,PORTB OUTDX,AL;保存位掃描碼 PUSHCX;延時(shí) MOVCX,30H DELAY:IN AL,DX;另加的相對(duì)固定的延時(shí)時(shí)間 LOOPDELAY POPC

26、X CMPCL,01;顯示掃描到最右邊LED碼? JZQUIT;是,則已顯示一遍,退出 INCDI;否,則指向下一位LED SHRCL,1;位碼指向下一位 JMPDISI;顯示下一位LED QUIT:RET TABLE DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,8EH;0-F的段碼 BUFFDATA DB8 DUP (?);8個(gè)字節(jié)的緩沖區(qū),實(shí)際應(yīng)用中必須 不斷調(diào)用該程序 方能正常顯示,顯示接口,8.3 可編程定時(shí)/計(jì)數(shù)器8253(8254),三種方法:軟件定時(shí)、硬件定時(shí)、可編程硬件定時(shí) 主要內(nèi)容:,一、8253/8254的內(nèi)部結(jié)構(gòu)及引腳信號(hào)

27、,二、8253 /8254的工作方式,三、8253/8254的編程,8253最高工作頻率2.6MHz 8254最高工作頻率為10MHz,8253/8254內(nèi)部結(jié)構(gòu)及引腳信號(hào),8253端口及其操作,8253和8254的工作方式,方式0 中斷信號(hào)發(fā)生器 方式1 單穩(wěn)負(fù)脈沖信號(hào)發(fā)生器 方式2 速率信號(hào)發(fā)生器 方式3 方波信號(hào)發(fā)生器 方式4 軟件觸發(fā)的選通信號(hào)發(fā)生器 方式5 硬件觸發(fā)的選通信號(hào)發(fā)生器,方式0 中斷信號(hào)發(fā)生器,方式1單穩(wěn)負(fù)脈沖信號(hào)發(fā)生器,方式2速率信號(hào)發(fā)生器,方式3 方波信號(hào)發(fā)生器偶數(shù)初值,方式3 奇數(shù)初值,方式4 軟件觸發(fā)的選通信號(hào)發(fā)生器,方式5 硬件觸發(fā)的選通信號(hào)發(fā)生器,8253/8

28、254的編程方法,8253/8254控制字,8253/8254計(jì)數(shù)范圍,二進(jìn)制計(jì)數(shù):0000HFFFFH,即0-65535 BCD碼計(jì)數(shù):00009999 最小和最大計(jì)數(shù)值:最大計(jì)數(shù)為0000,不是FFFFH或9999。除方式3外,最小值都為1。,8253/8254初始值計(jì)算,假設(shè)已知8253相應(yīng)通道的CLK端接入的時(shí)鐘頻率為fCLK,周期記為TCLK=1/fCLK,要求產(chǎn)生的周期性信號(hào)頻率為F(周期為T)或定時(shí)時(shí)間為T(F=1/T),則所需計(jì)數(shù)初值n為: 在計(jì)算時(shí)注意時(shí)間和頻率的單位一致性。,8253/8254編程示例,已知8254各通道時(shí)鐘接8MHz信號(hào),端口地址為700H、702H、70

29、4H和706H,要求在OUT0產(chǎn)生周期為10us的方波,OUT1產(chǎn)生2KHz的連續(xù)脈沖信號(hào),OUT3產(chǎn)生一個(gè)最大的負(fù)脈沖。 分析: OUT0:初值=10us*8MHz=80 方式3 OUT1:初值=8MHz/2KHz=4000 方式2 OUT2:初值=0,二進(jìn)制計(jì)數(shù) 方式1,示例程序片段,;CTC0 MOV DX,706H;控制端口地址 MOV AL,00010110B;CTC0控制字 OUT DX,AL MOV DX,700H;CTC0口地址 MOV AL,80;CTC0初值 OUT DX,AL,;CTC1,MOV DX,706H;控制端口地址 MOV AL,01110100B;CTC1控制

30、字 OUT DX,AL MOV DX,702H;CTC1口地址 MOV AX,4000;CTC1初值 OUT DX,AL;先寫低字節(jié) MOV AL,AH;取高字節(jié) OUT DX,AL;后寫高字節(jié),;CTC2,MOV DX,706H;控制端口地址 MOV AL,10110010B;CTC2控制字 OUT DX,AL MOV DX,704H;CTC2口地址 MOV AL,0;CTC2初值 OUT DX,AL;先寫低字節(jié) OUT DX,AL;后寫高字節(jié),8253應(yīng)用,應(yīng)用程序片段,;CTC0初值=55ms*1.19MHz=65450 MOV AL,00110110B;CTC0控制字 OUT 43H,

31、AL;寫入控制端口 MOV AX,65450;CTC0初值 OUT 40H,AL;先寫低字節(jié) MOV AL, AH OUT 40H,AL;后寫高字節(jié),;應(yīng)用程序CTC1,;初值=15*1.19=18.75 取 18=12H MOV AL,01010100B;CTC1控制字 OUT 43H,AL;寫入控制端口 MOV AL,12H;CTC1初值 OUT 41H,AL;寫初值至CTC1,;應(yīng)用程序CTC2,;CTC2初值=1.19M/1K=1190 MOV AL,10110110B;CTC2控制字 OUT 43H,AL;寫入控制口 MOV AX,1190;CTC2初值 OUT 42H,AL;先寫低

32、字節(jié) MOV AL, AH;取高字節(jié) OUT 42H,AL;后寫高字節(jié) INAL,61H;讀8255A的B口的值 MOV AH, AL;暫存AH中 OR AL, 00000011B OUT 61H,AL;輸出使揚(yáng)聲器發(fā)聲,8.5 A/D和D/A轉(zhuǎn)換接口,D/A,A/D,計(jì)算機(jī)系統(tǒng),被控對(duì)象,8.5.1 D/A轉(zhuǎn)換器,一、D/A轉(zhuǎn)換器的工作原理 1權(quán)電阻式D/A轉(zhuǎn)換器U。=(Rf /R)Vref2-(i-1)Dn-i,2T型電阻網(wǎng)絡(luò)式D/A轉(zhuǎn)換器,U。=(Rf/2R)Vref2-(i-1)Dn-i,二、D/A轉(zhuǎn)換器主要指標(biāo),1轉(zhuǎn)換精度 D/A轉(zhuǎn)換精度可分為絕對(duì)精度和相對(duì)精度兩種衡量標(biāo)準(zhǔn)。 絕對(duì)精

33、度是指對(duì)應(yīng)于給定的滿度數(shù)字量,D/A轉(zhuǎn)換器實(shí)際輸出值與理論值之間的誤差。 相對(duì)精度也稱非線性度,指在滿度已校正的標(biāo)準(zhǔn)情況下,在整個(gè)刻度范圍內(nèi),對(duì)應(yīng)于任一數(shù)碼的模擬量輸出與它的理論值之差。,2分辨率,分辨率指D/A轉(zhuǎn)換器所能分辨最小量化信號(hào)的能力,這是對(duì)微小輸入量變化的敏感程度的描述。 位數(shù)越多,分辨率 n位二進(jìn)制D/A轉(zhuǎn)換器的分辨率一般用來表示,三、典型D/A轉(zhuǎn)換器,1 8位DAC0832,2. 12位DAC1210,四、DAC應(yīng)用,帶鎖存器D/A應(yīng)用,n=8,例1.用0832產(chǎn)生三角波,要求三角波電壓范圍從1V到3V變化,0832口地址為98F0H。,例1解,方法:算出最低和最高電壓對(duì)應(yīng)數(shù)字

34、量Dl和Dm, 然后從低電壓數(shù)字量開始送D/A,以后數(shù)字量加1 最高值,再回到最低值,循環(huán)進(jìn)行即可。由:,可知: Dl=(Vl/Vref)*256=(1/5)*256=51=33H Dm=(3/5)*256=153=99H,例1程序片段,MinD EQU 33H MaxD EQU 99H MOVDX,98F0H;0832端口地址 LP1:MOVAL,MinD-1 ;取最小值-1 LP2:INCAL;數(shù)字量增1 OUTDX, AL;送0832輸出 CALL DELAY;調(diào)延時(shí)程序 TESTAL,MaxD ;測(cè)試是否到最大值 JNZ LP2 ;未達(dá)最大繼續(xù)加1輸出 JMPLP1 ;到最大回到最小輸

35、出,8.5.2 A/D轉(zhuǎn)換器,一、A/D轉(zhuǎn)換器主要指標(biāo) 1轉(zhuǎn)換精度 轉(zhuǎn)換精度反映了A/D轉(zhuǎn)換器的實(shí)際輸出接近理想輸出的精確程度。 A/D轉(zhuǎn)換器的精度通常采用數(shù)字量的最低有效位LSB來表示。 2分辨率 分辨率表示了A/D轉(zhuǎn)換器能夠分辨最小量化信號(hào)的能力,與數(shù)據(jù)位數(shù)有關(guān),位數(shù)越多,分辨率越高。對(duì)于n位二進(jìn)制的A/D轉(zhuǎn)換器來說,其能分辨最小量化的信號(hào)的能力為2n位,因此,其分辨率為2n。,二、A/D轉(zhuǎn)換器的模數(shù)關(guān)系,D=,其中:D為數(shù)字量,Vin為輸入模擬電壓, Vref為參考電壓,三、ADC分類及特點(diǎn),1計(jì)數(shù)器式ADC特點(diǎn):簡(jiǎn)單、便宜,但是速度比較慢。(原理性) 2雙積分式ADC特點(diǎn):轉(zhuǎn)換精度高,

36、抗干擾能力強(qiáng)(特別是抗工頻干擾能力強(qiáng),是其它A/D轉(zhuǎn)換器所不及的),適合于速度不很高的場(chǎng)合。 3逐次逼近式ADC特點(diǎn):轉(zhuǎn)換速度快、精度高。常用 4并行高速ADC特點(diǎn):速度高。內(nèi)部結(jié)構(gòu)復(fù)雜,成本較高,一般用于速度要求很高的場(chǎng)合。,四、典型A/D轉(zhuǎn)換器DAC0809,五、A/D轉(zhuǎn)換器應(yīng)用,其中R1=10K,R2為20K的電位器。 1. 寫出ADC IN5通道的A/D轉(zhuǎn)換程 序片段。 2. 如果得到的數(shù)字量為3FH, 則R2的值被調(diào)至多少K?,3. 將IN3對(duì)應(yīng)的模擬信號(hào)通過0832輸出。,在一個(gè)采用8086為核心的數(shù)據(jù)采集處理系統(tǒng)如圖所示。,1.A/D應(yīng)用程序清單,;IN5地址:?jiǎn)?dòng)地址F651H

37、,查詢EOC地址F650H START:MOVDX,PORT5;指向IN5端口 OUTDX,AL; 選通IN5并啟動(dòng)A/D轉(zhuǎn)換 MOVDX,PORT5_EOC;指向EOC對(duì)應(yīng)端口 TWAIT:INAL,DX;查詢EOC TESTAL,01H JZTWAIT MOVDX, PORT5;指向IN5數(shù)據(jù)端口 INAL,DX HLT,2.,當(dāng)數(shù)字量為3FH時(shí), Vin=Vref*D/(28-1)=Vref*3FH/FFH (=1.235V) 而Vin/Vref=R2/(R1+R2),所以 R2/(R1+R2)=3FH/FFH=63/255=0.247,R1=10K 得R2=3.28K即電位器R2調(diào)到3

38、.28K處。,3.,LPRET:MOV DX, PORT3;指向IN3端口 OUTDX,AL; 選通IN3并啟動(dòng)A/D轉(zhuǎn)換 MOVDX, PORT3_EOC;指向EOC對(duì)應(yīng)端口 TWAIT:INAL,DX;查詢EOC TESTAL,01H JZTWAIT MOVDX, PORT3 ;指向IN3數(shù)據(jù)端口 INAL,DX MOV DX,PORT5 OUT DX,AL JMP LPRET,8.6 并行打印機(jī)接口,一、打印機(jī)適配器的組成,狀態(tài)端口:S7S3 *S7=BUSY S6=ACK S5=PE S4=SLCT S3=ERROR S2S0無效 控制端口 :C3C0 C7C4無效 *C3=SLCTIN C2=INIT *C1=AUTO *C0=STB 數(shù)據(jù)端口:DATA7DATA0 注:*表示適配器接反相器,二、打印機(jī)接口信號(hào),三、打印機(jī)接口時(shí)序,四、打印機(jī)字符,PRINTPROC NEAR;待打印的字符在AL中 PUSH AX PUSH DX MOV DX,378H;指向數(shù)據(jù)端口 OUT DX,AL;寫數(shù)據(jù)至數(shù)據(jù)端口 MOV DX,379;指向狀態(tài)端口 WAITP:IN AL,DX;讀狀態(tài)寄存器 TEST AL,80H;*S7=0(BUSY為高等待) JE WAITP MOV D

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論