微機原理與接口技術(shù)-基本輸入輸出接口技術(shù)_第1頁
微機原理與接口技術(shù)-基本輸入輸出接口技術(shù)_第2頁
微機原理與接口技術(shù)-基本輸入輸出接口技術(shù)_第3頁
微機原理與接口技術(shù)-基本輸入輸出接口技術(shù)_第4頁
微機原理與接口技術(shù)-基本輸入輸出接口技術(shù)_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章基本輸入輸出接口技術(shù)123675本章主要內(nèi)容:概述輸入/輸出控制方式I/O接口讀寫技術(shù)并行通信與串行通信可編程接口芯片串行通信接口芯片并行通信接口芯片定時計數(shù)接口芯片42024/9/216.1概述一、輸入/輸出與輸入/輸出接口1.輸入/輸出:微處理器與外部設(shè)備之間的信息交換即通信。2.輸入/輸出接口:完成微處理器與外部設(shè)備數(shù)據(jù)通信即輸入/輸出任務(wù)的接口。包括:硬件接口電路和軟件接口程序。2024/9/21二、I/O接口的功能

1.內(nèi)部地址譯碼2.提供聯(lián)絡(luò)信號3.信號特性匹配(如電平轉(zhuǎn)換)4.信息格式的轉(zhuǎn)換(如正負邏輯的轉(zhuǎn)換,串并

格式,模數(shù)轉(zhuǎn)換)5.數(shù)據(jù)緩沖與鎖存6.對外設(shè)進行中斷管理7.提供時序控制2024/9/21三、CPU與I/O設(shè)備間的接口信息三種:數(shù)據(jù)信息、狀態(tài)信息、控制信息這些信息均通過數(shù)據(jù)總線傳輸。2024/9/21四、I/O端口的編址方法1.存儲器映射編址含義:I/O端口的地址與存儲器的地址統(tǒng)一混合編址。用訪問存儲器的指令,即可對整個地址空間(存儲器和I/O)進行訪問,而無需專用I/O指令。優(yōu)點:

訪問I/O指令多,使用方便。內(nèi)存與外設(shè)地址分布相同。無需專用的I/O指令。2024/9/212.I/O映射編址含義

I/O端口與存儲器分開獨立編址,即I/O端口和存儲器都有自己的一套地址空間,而且互不相干。優(yōu)點

I/O設(shè)備不占用內(nèi)存單元,節(jié)約了內(nèi)存空間。指令執(zhí)行速度快。I/O端口8086~Core2微機采用I/O映射的編址方法。I/O端口的地址64K個8位口地址(0000H-FFFFH)。2024/9/21五、I/O組織2.基于8086和80286

16位I/O組織3.基于80386和80486

32位I/O組織4.基于Pentium~Pentium4的64位I/O組織

I/O組織1.基于8088的8位I/O組織2024/9/218位I/O組織-基于80882024/9/2116位I/O組織-基于8086~802862024/9/2132位I/O組織-基于80386~804862024/9/2164位I/O組織

-基于Pentium~Core22024/9/212.I/O端口的地址分配1.I/O地址范圍

0000H-FFFFH.共64K個8位端口

從8086~Core2I/O地址采用A15~A0共16條地址線,且與存儲器分開編址。2.系統(tǒng)板保留的1K個I/O端口

(詳見書P.238表6.1)

000H-03FFH,共1K個8位端口3.查看當前系統(tǒng)I/O地址分配2024/9/21系統(tǒng)板保留的1K地址2024/9/21I/O指令時序

(b)OUT指令操作時序OUTP8,AL或OUTDX,AL

P8為8位端口地址(a)IN指令操作時序INAL,P8或INAL,DXP8為8位端口地址2024/9/216.2輸入輸出控制方式直接程序控制方式中斷控制方式DMA控制方式I/O處理機控制方式2024/9/21一、直接程序控制方式含義:直接在程序控制下進行微處理器與外設(shè)之間的數(shù)據(jù)傳送。分類:無條件傳送方式和條件傳送方式兩種。1.無條件傳送方式含義:不查詢外設(shè)狀態(tài)而直接進行輸入輸出的一種方式。特點:簡單、經(jīng)濟,但可靠性差。2024/9/212.條件傳送方式含義:首先查詢外設(shè)狀態(tài),滿足條件時才進行數(shù)據(jù)的傳送,因此也叫查詢傳送方式。特點:簡單、可靠性高,但CPU效率低。輸入輸出2024/9/21二、中斷控制方式含義:在滿足傳輸條件時,外設(shè)向CPU發(fā)請求傳輸?shù)闹袛嘈盘?,CPU接收請求后進入服務(wù)程序,在中斷服務(wù)程序中進行輸入輸出操作。特點:無需查詢等待,CPU利用率大大提高。不足:中斷控制方式仍需要一系列本與輸入輸出無關(guān)的操作(如壓棧保護等),因此對于高速I/O設(shè)備效率仍不算快。2024/9/21三、DMA控制方式含義:直接由DMA控制器硬件控制數(shù)據(jù)傳輸,傳輸過程無需CPU干預(yù)。特點:速度快(因為有DMA硬件直接控制),效率高。2024/9/21外設(shè)/內(nèi)存DMA方式與其它方式比較CPUDMA控制器內(nèi)存/外設(shè)外設(shè)/內(nèi)存MOV[XX],ALOUTDX,ALINAL,DXMOV

AL,[XX]無需CPU指令內(nèi)存/外設(shè)2024/9/21四、I/O處理機控制方式 盡管DMA方式優(yōu)點比較突出,但在DMA進行傳輸之前,對DMA的初始操作、對數(shù)據(jù)的運算和處理等都需要處理器事先干預(yù)。為了讓處理器徹底擺脫管理和控制I/O設(shè)備的負擔,引入了I/O處理機控制方式。這種方式下,由專用I/O協(xié)處理器負責(zé)I/O操作和處理。2024/9/216.3I/O接口的讀寫技術(shù)一、簡單輸入輸出接口

輸入采用緩沖器,輸出采用鎖存器。1.常用緩沖器:2024/9/21簡單I/O接口-鎖存器2.常用鎖存器2024/9/21二、簡單I/O接口的讀控制讀操作程序:MOVDX,377HINAL,DX2024/9/212.簡單I/O接口的寫控制寫操作程序:MOVDX,0DFFFHOUTDX,AL2024/9/213.16位I/O接口的讀操作讀操作程序:MOVDX,2F6HINAX,DX2024/9/2132位I/O接口的寫操作寫操作程序:MOVDX,3ECH;選中3ECH~3EFH4個端口OUTDX,EAX 2024/9/21常用接口芯片及應(yīng)用6.4并行通信與串行通信6.5可編程串行通信接口芯片6.6可編程并行通信接口芯片6.7可編程定時/計數(shù)器芯片12342024/9/216.4并行通信與串行通信并行通信與并行接口串行通信與串行接口串行通信方式及異步通信協(xié)議串行異步通信標準接口2024/9/21一、并行通信與并行接口1.并行通信含義:并行通信是指將一個字節(jié)或一個字的各

位同時進行傳輸?shù)囊环N通信方式。要點:傳輸?shù)母魑煌瑫r傳輸(輸入或輸出)。特點:(1)傳輸速度快(2)傳輸?shù)男畔⒙矢撸?)比串行通信需要更多通信信號線用途:常用于傳輸距離短,數(shù)據(jù)傳輸速度要求

高的場合。2024/9/21含義:實現(xiàn)并行通信的接口稱為并行通信接口。2.并行接口2024/9/21二、串行通信與串行接口1.串行通信含義:串行通信是把傳輸?shù)臄?shù)據(jù)一位一位地順序傳送的一種通信方式。要點:按位傳輸,同一時刻僅傳送一位。特點:(1)通信線少(2)成本低(3)但通信速度慢用途:適用于長距離數(shù)據(jù)傳輸。2024/9/21完成串行通信任務(wù)的接口稱為串行通信接口,簡稱串行接口。功能:

(1)輸入時,完成串行到并行格式轉(zhuǎn)換

(2)輸出時,完成并行到串行格式轉(zhuǎn)換。2.串行接口2024/9/21串行通信數(shù)據(jù)傳輸方式有單工方式、半雙工方式、全雙工方式2024/9/21三、串行通信方式

及異步通信協(xié)議串行通信方式

兩種:串行異步通信和串行同步通信。1.異步通信異步通信:指字符與字符之間的傳送是完全異步的,隨機的,但一個字符的位與位之間是同步的。2.異步通信特點①字符的發(fā)送是隨機的。②每一個字符傳輸總以一個起始位為準,然后接收方與發(fā)送方保持同步(格式的統(tǒng)一),最后是停止位③通信雙方可隨時改變通信協(xié)議,即改變數(shù)據(jù)位、奇偶校驗位和停止位長度或數(shù)據(jù)傳輸率。2024/9/213.異步通信協(xié)議異步通信協(xié)議包括:一是字符的傳送格式的規(guī)定,二是數(shù)據(jù)傳送速率的要求。異步通信格式

協(xié)議,即改變數(shù)據(jù)位、奇偶校驗位和停止位長度或數(shù)據(jù)傳輸率。2024/9/21波特率波特率(BaudRate):指單位時間傳送二進制數(shù)的位數(shù),一般以秒為單位。微機中常見的波特率有110,300,600,1200,2400,4800,9600,19200等。微機最高波特率由硬件決定。例:已知字符格式中數(shù)據(jù)為8位,無校驗,1位停止位,在1分鐘內(nèi)連續(xù)不斷傳送了69120個字符,求波特率。

解:一個字符=1+8+0+1=10位每秒傳送的字符個數(shù)=69120/60=1152個波特率=位/秒=1152*10=11520bits/S=11.52Kbits/s2024/9/214.同步通信同步通信將多個字符連接成一個數(shù)據(jù)塊,數(shù)據(jù)塊前加1或2個同步字符,尾部是校驗字符,最后為同步字符。同步的含義 字符與字符之間時間間隔固定不變,是同步的。2024/9/21四、串行異步通信標準接口串行異步通信的標準接口有RS-232C、RS-449、RS-422、RS-485以及20mA電流環(huán)等接口。一、RS-232C接口(PC使用)1.接口邏輯:負邏輯傳送

1:-15V~-5V

0:+5V~+15V允許噪聲容限為2V因此,實際RS-232能夠區(qū)分的邏輯電平:1:-15V~-3V 0:+3V~+15V

只有在-3V~+3V時邏輯為不確定2024/9/212.RS-232接口信號及含義

2024/9/21二、RS-232邏輯電平的轉(zhuǎn)換為什么要進行邏輯電壓的轉(zhuǎn)換?因為RS-232邏輯電平與UATRT電平不一致常用單電源供電的232電平轉(zhuǎn)換芯片MAX232、TLC232、UN232、SP232等為不同廠家的典型單電源供電的232接口芯片,完成電平轉(zhuǎn)換功能。根據(jù)UART的電平的不同可分為5V和3.3V。2024/9/21RS232電平轉(zhuǎn)換原理計算機通信是TTL和CMOS邏輯電平,而RS-232規(guī)定的電平與之不符,故需電平轉(zhuǎn)換。2024/9/21RS232電平轉(zhuǎn)換典型芯片C1~C5可為0.1uF~4,7uF,具體值參見芯片說明TIN為TTL輸入RIN為232輸入TOUT為由TTL轉(zhuǎn)換后的232電平輸出ROUT為由RS232轉(zhuǎn)換后的TTL電平輸出2024/9/21RS-232簡單連接示意圖2024/9/21二、RS-485接口標準

RS232C缺點:受共模干攏影響,通信距離不長。僅20米以內(nèi)。RS485主要特點:采用差分傳輸方式,具有很強的抗共模干擾能力。可同時連接多個接收器和發(fā)送器(32~256個)通信距離長,可達千米(標準為1.2Km)。RS-485邏輯電平: 邏輯1:A的電位比B高200mV以上 邏輯0:B的電位比A高200mV以上2024/9/21RS-485接口的連接由于是差分傳輸,因此RS-485接口采用同名端相連的方法,即所有485芯片的A和A連在一起,B和B連在一起。DI為數(shù)據(jù)發(fā)送端,RO為數(shù)據(jù)接收端,RE收發(fā)使能RE=0接收,RE=1發(fā)送終端(兩個遠端)各接一個匹配電阻(120歐)防止傳輸反射。MAX485MAX4852024/9/216.5可編程串行通信接口芯片

16550與8250一、16550及8250功能(1)具有全雙工、雙緩沖器發(fā)送器和接收器。(2)是串行異步通信接口(UART)。(3)波特率:8250=50~9600波特;16550=50~115200波特。(4)異步通信格式,可通過編程選擇。(5)具有自動奇偶校驗、溢出和幀出錯等檢測標志。(6)片內(nèi)具有優(yōu)先級中斷控制邏輯。(7)單一+5V,40個引腳的DIP封裝形式。2024/9/21二、內(nèi)部結(jié)構(gòu)及工作原理2024/9/211.接收部分接收移位寄存器將SIN腳的串行數(shù)據(jù)進行移位輸入。(1)檢測起始位:SIN變低后,連續(xù)測試8個RCLK時鐘周

期,如果都是低電平,為起始位,否則為干擾信號。(2)采樣數(shù)據(jù)位:每隔16個RCLK脈沖對SIN輸入的數(shù)據(jù)位進

行一次采樣。直到停止位,完成一個字符的接收。(3)去除無關(guān)位:接收同步控制電路自動去除起始位、奇

偶校驗位和停止位。(4)串到并轉(zhuǎn)換:同步控制電路控制接收移位寄存器將串

行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)送入接收數(shù)據(jù)緩沖器(THR)中。(5)檢查正確性:接收同步控制電路對數(shù)據(jù)的正確性進行檢查。

如果在檢測字符格式時有錯誤,則通過線路狀態(tài)寄存器

設(shè)置相應(yīng)的出錯標志。2024/9/212.發(fā)送部分發(fā)送部分負責(zé)接收CPU送來的并行數(shù)據(jù),并通過移位的方法將其變換成串行信號,最后通過發(fā)送端SOUT發(fā)送出去。(1)CPU的并行數(shù)據(jù)存入發(fā)送保持寄存器中,由

發(fā)送同步控制電路控制將該數(shù)據(jù)經(jīng)過發(fā)送移

位寄存器處理,按照事先規(guī)定的格式加上起

始位、奇偶校驗位和停止位,變換成串行數(shù)

據(jù)幀后由SOUT端輸出串行數(shù)據(jù)信號。(2)當數(shù)據(jù)進入發(fā)送移位寄存器后,發(fā)送保持

寄存器自動變空,CPU即可再次寫入數(shù)據(jù)。2024/9/213.通信線路控制寄存器線路控制寄存器(LCR)接收CPU用OUT指令寫入的控制命令。控制寄存器的內(nèi)容可以通過IN指令讀出。線路控制寄存器的格式:2024/9/214.通信線路狀態(tài)寄存器線路狀態(tài)寄存器LSR記錄串行數(shù)據(jù)發(fā)送和接收的狀態(tài),以供CPU查詢。線路狀態(tài)寄存器的格式:2024/9/215.Modem控制寄存器Modem控制寄存器MCR用于設(shè)置16550/8250與通信設(shè)備之間聯(lián)絡(luò)應(yīng)答的輸出信號,其格式如所示。2024/9/216.Modem狀態(tài)寄存器Modem狀態(tài)寄存器MSR反映8250與通信設(shè)備之間應(yīng)答聯(lián)絡(luò)輸入信號的當前狀態(tài)以及這些信號的情況,各位的含義如圖所示。2024/9/217.中斷允許寄存器IER反映了接收器和發(fā)送器以及Modem是否允許中斷的情況,通過設(shè)置可以指定其中的某些部件允許中斷。它是一個可讀可寫的寄存器。2024/9/218.中斷識別寄存器IIR中斷識別寄存器IIR,可以識別4個中斷源引起的中斷。接收器線路狀態(tài)中斷、接收數(shù)據(jù)準備好中斷、發(fā)送保持寄存器空中斷和調(diào)制解調(diào)器狀態(tài)中斷。2024/9/219.波特率發(fā)生器16550及8250使用1.8432MHz的基準輸入時鐘,分頻后產(chǎn)生所需的內(nèi)部基準脈沖,作為接收器和發(fā)送器的同步脈沖,以控制接收移位寄存器和發(fā)送移位寄存器的移位操作。發(fā)送或接收串行數(shù)據(jù)時使用的時鐘頻率是數(shù)據(jù)傳送波特率的16倍除數(shù)值與波特率的關(guān)系:

除數(shù)=1843200÷(波特率×16)2024/9/21波特率發(fā)生器與除數(shù)寄存器根據(jù)波特率與除數(shù)的關(guān)系,可計算出不同波特率對應(yīng)的除數(shù)值,如表所示。2024/9/21三、16550/8250引腳信號幾個最重要的信號RCLK接收時鐘SIN串行輸入引腳SOU串行數(shù)據(jù)輸出A2,A1,A0內(nèi)部寄存器選擇輸入信號其它信號2024/9/21其它引腳1.電源及時鐘VCC,GND,XTLA1,XTLA22.數(shù)據(jù)線:D7~D03.片選信號:CS0,CS1和/CS2(輸入)4.選通信號: 地址輸入選通:/ADS 數(shù)據(jù)輸入選通:DISTR和/DISTR(接/IOR)

數(shù)據(jù)輸出選通:DOSTR和/DOSTR(接/IOW)5.主復(fù)位:MR6.接收時鐘:=接收波特率的16倍7.清除發(fā)送:/CTS8.數(shù)據(jù)裝置(MODEM)準備好:/DSR9.接收線路信號檢測:/RLSD(有效時表示Modem檢測數(shù)據(jù)載波10.振鈴指示:/RI有效表示Modem已經(jīng)接收到一個電話振鈴信號

2024/9/21其它引腳續(xù)11.數(shù)據(jù)終端準備好:/DTR有效時通知Modem,接口已準備好12.請求發(fā)送:/RTS有效請求發(fā)送數(shù)據(jù)13.用戶輸出引腳:/OUT1和/OUT2(由Modem控制寄存器決定)14.片選信號輸出:CSout 片選輸入信號CS0=1,CS1=1/CS2=0時,Csout=1(高電平)15.驅(qū)動器禁止:DDIS,有效時禁止外部總線轉(zhuǎn)換器對系統(tǒng)總線的驅(qū)動.16.波特率輸出:/BAUDout以16倍波特率的時鐘輸出17.中斷請求:INTRPT當允許中斷時,16550/8250內(nèi)部發(fā)生某種中斷時,該引腳為高電平有效,向8259A發(fā)中斷請求信號.2024/9/21四、串行接口的編程及應(yīng)用1.串行接口的端口地址分配2024/9/212.串行接口初始化串行接口初始化的任務(wù):(1)設(shè)置波特率(2)確定通信的具體格式(3)設(shè)置操作方式(4)設(shè)定是否使用中斷、是否自測試操作等等。2024/9/21設(shè)置波特率方法計算除數(shù)值

除數(shù)=1843200÷(波特率×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)2024/9/211.設(shè)置波特率程序段假設(shè)設(shè)置波特率為11520,則初始化程序片段如下:MOV

AL,10000000B ;DLAB=1MOV DX,3FBH ;指向線路控制寄存器端口\OUT DX,AL ;寫入線路控制寄存器MOV AL,0AH ;置產(chǎn)生11520波特率的除數(shù)低字節(jié)MOV DX,3F8H ;除數(shù)低字節(jié)寄存器口地址OUT DX,AL ;寫入除數(shù)低字節(jié)MOV AL,00 ;除數(shù)高字節(jié)INC DX ;指向除數(shù)高字節(jié)寄存器口地址OUT DX,AL

;寫入除數(shù)高字節(jié)2024/9/212.設(shè)置通信數(shù)據(jù)格式方法根據(jù)要求確定格式將格式字寫入線路控制寄存器,并使DLAB=0以正常工作例子:假設(shè)一幀數(shù)據(jù)含有8位數(shù)據(jù)、1位停止位、奇校驗,則有關(guān)程序如下:

MOV AL,00001011B ;通信控制寄存器控制字

MOV DX, 3FBH ;線路控制寄存器口地址

OUT DX, AL ;寫入線路控制寄存器2024/9/213.自測工作(自發(fā)自收)MOV AL,00010011B ;自發(fā)自收MOV DX,3FCH ;Modem控制寄存器地址OUT DX, AL ;寫入線路控制寄存器2024/9/21

4.設(shè)置中斷允許寄存器僅允許接收中斷和發(fā)送中斷:(COM1)MOVAL,00000011;僅允許收、發(fā)中斷MOVDX,3F9HOUTDX, AL ;寫入中斷允許寄存器2024/9/21三、串行通信實例兩臺微機利用COM1(串行口1)進行查詢通信,只用三根連接線。雙機通信的要求如下:數(shù)據(jù)為7位、1位停止位、奇校驗、波特率為19200;雙機同時運行該程序,一方鍵入的字符在另一方屏幕上顯示,當按下小寫字母q時,結(jié)束通信回到DOS。 程序見教材P.261(COMMEX.ASM)2024/9/216.6可編程并行接口芯片8255A8255的內(nèi)部結(jié)構(gòu)及引腳信號8255的工作方式8255的編程2024/9/21一、8255的內(nèi)部結(jié)構(gòu)及引腳信號2024/9/21引腳信號(1)與外設(shè)接口信號引腳PA7~PA0A口的8個I/O引腳PB7~PB0B口的8個I/O引腳PC7~PC0C口的8個I/O引腳。(2)與系統(tǒng)總線接口信號引腳D7~D0數(shù)據(jù)線/RD,/WR,/CSRESET高電平有效,有效時8255內(nèi)部寄存器清除,同時三個數(shù)據(jù)端口被自動設(shè)為輸入端口。2024/9/218255A的端口操作2024/9/21二、8255的工作方式基本輸入輸出方式-方式0選通輸入輸出方式-方式1雙向輸入輸出方式-方式22024/9/21基本輸入輸出方式-方式0方式0沒有規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號線。在此方式下,三個數(shù)據(jù)端口A、B和C中的任何一個端口都可由程序設(shè)定為8位的輸入口或輸出口。C端口的兩個半口(高4位和低4位)可獨立設(shè)為輸入或輸出端口。端口輸入具有緩沖功能;輸出具有鎖存功能。方式0下的各端口輸入或輸出有24=16種不同的組合。2024/9/21選通輸入輸出方式-方式1方式1規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號線。A口和B口可作為輸入或輸出端口使用,而此時C口的某些位與它們配合,作為控制或通信聯(lián)絡(luò)信號,沒有使用的C口某些位還可單獨立定義為I/O口用。方式1下A和B端口的輸入和輸出具有不同的組態(tài)。內(nèi)部邏輯不同。下面分別介紹A口輸入、B口輸出、A口輸出和B口輸出不同情況下的內(nèi)部邏輯。2024/9/21方式1下的輸入組態(tài)A口輸入B口輸入2024/9/21方式1下的輸入工作波形2024/9/21方式1下的輸出組態(tài)A口輸出B口輸出2024/9/21方式1下的輸出工作波形2024/9/21雙向輸入輸出方式-方式2方式2是雙向的數(shù)據(jù)傳輸方式,僅限于A口,這時C端口配合其工作。2024/9/21三、8255編程對8255編程首先要寫入方式選擇控制字,然后再行輸入輸出操作。操作時可對端口C進行置/復(fù)位操作。

因此:8255有兩個控制字是編程的關(guān)鍵所在。方式選擇控制字端口C置/復(fù)位控制字2024/9/21方式選擇控制字—寫入控制口2024/9/21例6.3【例6.3】編寫對8255的初始化程序片段,要求:使A口為方式0輸入,B口為方式0輸出,C口作為8位的輸出口使用。8255控制端口的地址為12BH。解:對照方式選擇控制字格式可得到控制字為:10010000B=90H,初始化程序片段:

MOVAL,90H ;方式選擇控制字

MOVDX,12BH ;由于端口號>256,用DX間接尋址

OUTDX, AL ;寫入控制寄存器2024/9/21例6.4【例6.4】如果把A口設(shè)置為方式0輸入,B口設(shè)成方式1輸出,C口除了與B口方式1輸出配合的PC0到PC2外,其PC3設(shè)成輸入,C上半口(PC7~PC4)設(shè)為輸出。則對照控制字格式,得其方式選擇控制字為:10010101B=95H。解:假設(shè)8255的口地址為60H~63H,并知道8255的A0和A1分別與CPU總線的A0和A1相連,寫出對8255的初始化程序片段。對8255的初始化程序只需要兩條指令如下:

MOVAL, 95H ;方式選擇控制字

OUT63H,AL ;寫入控制寄存器2024/9/21端口C置/復(fù)位控制字—寫入控制口2024/9/21例6.5【例6.5】使A口為方式1輸入,且采用中斷傳送,B口采用方式0輸出,其余C口的位作為輸出。假設(shè)控制端口地址為63H。則程序段為:解:MOVAL,10110000B;A口方式1輸入,B口方式0輸出,其余C口位輸出OUT 63H, AL;方式選擇控制字寫入控制寄存器MOV AL,00001001B;置位/復(fù)位控制字,使PC4=1,即使INTE=1允許內(nèi)部中斷OUT63H, AL ;置位/復(fù)位控制字寫入控制寄存器2024/9/21三、8255作為打印機接口實例2024/9/21打印機接口的時序要求2024/9/21打印程序

MOV

AL, 0A8H ;方式選擇字(C上半口輸入PC4) MOVDX, 343H ;控制端口

OUTDX, AL ;方式選擇控制字寫入控制口

MOVCX, Counter ;打印字符個數(shù)裝入計數(shù)器

MOVBX, OFFSETPstrings;Counter,Pstrings已定義(P.255)LP1:MOVAL, [BX] MOVDX, 340H OUTDX, AL ;送一個字符到8255的A口

MOVDX, 342HLP2:IN

AL,DX ;讀取C口狀態(tài)(準備檢查BUSY狀態(tài))

ANDAL, 00010000B ;屏蔽無關(guān)位,取BUSY JZLP2 ;等待接收新數(shù)據(jù) LP3:INAL,DX ;讀取C口狀態(tài)

ANDAL, 00010000B ;屏蔽無關(guān)位,取BUSY對應(yīng)的PC4 JNZLP3 ;BUSY=1等待,直到不忙

INCBX LOOPLP12024/9/216.7可編程定時/計數(shù)器8253(8254)三種方法:軟件定時、硬件定時、可編程硬件定時主要內(nèi)容:

8253/8254的內(nèi)部結(jié)構(gòu)及引腳信號8253/8254的工作方式8253/8254的編程8253最高工作頻率2.6MHz8254最高工作頻率為10MHz2024/9/218253/8254主要功能1.用于計數(shù)當用于計數(shù)時,計數(shù)裝入初始值后,在GATE為高電平的情況下,可以用外部事件作為CLK脈沖對計數(shù)值進行減1計數(shù),每來一個脈沖,計數(shù)器減1一次,當計數(shù)值減到結(jié)束時,由OUT端輸出一個信號。如果計數(shù)未結(jié)束,而外部沒有觸發(fā)的脈沖信號,則可以通過讀取現(xiàn)行計數(shù)器的值來求出計數(shù)值。2.用于定時當用于定時時,計數(shù)器裝入初值后,在GATE為高電平情況下,由CLK脈沖觸發(fā)開始自動計數(shù),當減1計數(shù)結(jié)束時,在OUT端發(fā)送計數(shù)結(jié)束信號。定時時間長度就是計數(shù)初值與CLK時鐘周期的積。由此可見,定時和計數(shù)的實際是計數(shù),只是定時是在計數(shù)的基礎(chǔ)上再乘以時鐘周期。2024/9/218253/8254內(nèi)部結(jié)構(gòu)2024/9/218253端口及其操作2024/9/218253和8254的工作方式方式0——中斷信號發(fā)生器方式1——單穩(wěn)負脈沖信號發(fā)生器方式2——速率信號發(fā)生器方式3——方波信號發(fā)生器方式4——軟件觸發(fā)的選通信號發(fā)生器方式5——硬件觸發(fā)的選通信號發(fā)生器2024/9/21方式0

中斷信號發(fā)生器2024/9/21方式1

單穩(wěn)負脈沖信號發(fā)生器

2024/9/21方式2

速率信號發(fā)生器2024/9/21方式3

方波信號發(fā)生器——偶數(shù)初值2024/9/21方式3奇數(shù)初值2024/9/21方式4

軟件觸發(fā)的選通信號發(fā)生器2024/9/21方式5

硬件觸發(fā)的選通信號發(fā)生器2024/9/218253/8254的編程方法8253/8254控制字2024/9/218253/8254計數(shù)范圍二進制計數(shù):0000H~FFFFH,即0-65535BCD碼計數(shù):0000~9999最小和最大計數(shù)值:

最大計數(shù)為0000,不是FFFFH或9999。

除方式2,3外,最小值都為1。2024/9/218253/8254初始值計算假設(shè)已知8253相應(yīng)通道的CLK端接入的時鐘頻率為fCLK,周期記為TCLK=1/fCLK,要求產(chǎn)生的周期性信號頻率為F(周期為T)或定時時間為T(F=1/T),則所需計數(shù)初值n為:在計算時注意時間和頻率的單位一致性。2024/9/218253/8254編程示例已知8254各通道時鐘接8MHz信號,端口地址為700H、702H、704H和706H,要求在OUT0產(chǎn)生周期為10us的方波,OUT1產(chǎn)生2KHz的連續(xù)脈沖信號,OUT3產(chǎn)生一個最大的負脈沖。分析: OUT0:初

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論