版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章基本輸入輸出接口技術【本章提要】
本章首先概述I/O的基本知識,然后討論輸入/輸出控制方式,I/O接口的讀寫技術,并行通信與串行通信,最后重點討論常用可編程典型I/O接口芯片及其接口技術?!緦W習目標】了解I/O接口信息、I/O編址方法、I/O組織、I/O控制方式、并行通信及串行通信等輸入輸出基礎知識。理解基本輸入輸出接口的操作。掌握簡單I/O接口的讀寫技術。熟練掌握常用接口芯片16550/8250、8255和8253的工作原理及其編程應用。能綜合運用接口芯片,構建和分析實際應用系統(tǒng)。第6章基本輸入輸出接口技術【本章提要】第6章基本輸入輸出接口技術123675本章主要內容:概述輸入/輸出控制方式I/O接口讀寫技術并行通信與串行通信可編程接口芯片串行通信接口芯片并行通信接口芯片定時計數接口芯片4第6章基本輸入輸出接口技術123675本章主要內容:可編20九月20236.1
概述一、輸入/輸出與輸入/輸出接口1.輸入/輸出:微處理器與外部設備之間的信息交換即通信。2.輸入/輸出接口:完成微處理器與外部設備數據通信即輸入/輸出任務的接口。包括:硬件接口電路和軟件接口程序。06八月20236.1概述一、輸入/輸出與輸入/輸出20九月2023二、I/O接口的功能
1.內部地址譯碼2.提供聯絡信號3.信號特性匹配(如電平轉換)4.信息格式的轉換(如正負邏輯的轉換,串并
格式,模數轉換)5.數據緩沖與鎖存6.對外設進行中斷管理7.提供時序控制06八月2023二、I/O接口的功能1.內部地址譯碼20九月2023三、CPU與I/O設備間的接口信息三種:數據信息、狀態(tài)信息、控制信息這些信息均通過數據總線傳輸。06八月2023三、CPU與I/O設備間的接口信息三種:20九月2023四、I/O端口的編址方法1.存儲器映射編址含義:I/O端口的地址與存儲器的地址統(tǒng)一混合編址。用訪問存儲器的指令,即可對整個地址空間(存儲器和I/O)進行訪問,而無需專用I/O指令。優(yōu)點:
訪問I/O指令多,使用方便。內存與外設地址分布相同。無需專用的I/O指令。06八月2023四、I/O端口的編址方法1.存儲器映射編20九月20232.I/O映射編址含義
I/O端口與存儲器分開獨立編址,即I/O端口和存儲器都有自己的一套地址空間,而且互不相干。優(yōu)點
I/O設備不占用內存單元,節(jié)約了內存空間。指令執(zhí)行速度快。I/O端口8086~Core2微機采用I/O映射的編址方法。I/O端口的地址64K個8位口地址(0000H-FFFFH)。06八月20232.I/O映射編址含義I/O端口與存20九月2023五、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組織06八月2023五、I/O組織2.基于8086和802820九月20238位I/O組織-基于808806八月20238位I/O組織-基于808820九月202316位I/O組織-基于8086~8028606八月202316位I/O組織-基于8086~802820九月202332位I/O組織-基于80386~8048606八月202332位I/O組織-基于80386~80420九月202364位I/O組織
-基于Pentium~Core206八月202364位I/O組織
-基于Pentium~20九月20232.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地址分配06八月20232.I/O端口的地址分配1.I/O地址20九月2023系統(tǒng)板保留的1K地址06八月2023系統(tǒng)板保留的1K地址20九月2023I/O指令時序
(b)OUT指令操作時序OUTP8,AL或OUTDX,AL
P8為8位端口地址(a)IN指令操作時序INAL,P8或INAL,DXP8為8位端口地址06八月2023I/O指令時序(b)OUT6.2輸入輸出控制方式直接程序控制方式中斷控制方式DMA控制方式I/O處理機控制方式6.2輸入輸出控制方式20九月2023一、直接程序控制方式含義:直接在程序控制下進行微處理器與外設之間的數據傳送。分類:無條件傳送方式和條件傳送方式兩種。1.無條件傳送方式含義:不查詢外設狀態(tài)而直接進行輸入輸出的一種方式。特點:簡單、經濟,但可靠性差。06八月2023一、直接程序控制方式含義:直接在程序控制20九月20232.條件傳送方式含義:首先查詢外設狀態(tài),滿足條件時才進行數據的傳送,因此也叫查詢傳送方式。特點:簡單、可靠性高,但CPU效率低。輸入輸出06八月20232.條件傳送方式含義:首先查詢外設狀態(tài),20九月2023二、中斷控制方式含義:在滿足傳輸條件時,外設向CPU發(fā)請求傳輸的中斷信號,CPU接收請求后進入服務程序,在中斷服務程序中進行輸入輸出操作。特點:無需查詢等待,CPU利用率大大提高。不足:中斷控制方式仍需要一系列本與輸入輸出無關的操作(如壓棧保護等),因此對于高速I/O設備效率仍不算快。06八月2023二、中斷控制方式含義:在滿足傳輸條件時,20九月2023三、DMA控制方式含義:直接由DMA控制器硬件控制數據傳輸,傳輸過程無需CPU干預。特點:速度快(因為有DMA硬件直接控制),效率高。06八月2023三、DMA控制方式含義:直接由DMA控制20九月2023外設/內存DMA方式與其它方式比較CPUDMA控制器內存/外設外設/內存MOV[XX],ALOUTDX,ALINAL,DXMOV
AL,[XX]無需CPU指令內存/外設06八月2023外設/內存DMA方式與其它方式比較CPU20九月2023四、I/O處理機控制方式 盡管DMA方式優(yōu)點比較突出,但在DMA進行傳輸之前,對DMA的初始操作、對數據的運算和處理等都需要處理器事先干預。為了讓處理器徹底擺脫管理和控制I/O設備的負擔,引入了I/O處理機控制方式。這種方式下,由專用I/O協(xié)處理器負責I/O操作和處理。06八月2023四、I/O處理機控制方式 20九月20236.3I/O接口的讀寫技術一、簡單輸入輸出接口
輸入采用緩沖器,輸出采用鎖存器。1.常用緩沖器:06八月20236.3I/O接口的讀寫技術一、簡單輸20九月2023簡單I/O接口-鎖存器2.常用鎖存器06八月2023簡單I/O接口-鎖存器2.常用鎖存器20九月2023二、簡單I/O接口的讀控制讀操作程序:MOVDX,377HINAL,DX06八月2023二、簡單I/O接口的讀控制讀操作程序:20九月20232.簡單I/O接口的寫控制寫操作程序:MOVDX,0DFFFHOUTDX,AL06八月20232.簡單I/O接口的寫控制寫操作程序:20九月20233.16位I/O接口的讀操作讀操作程序:MOVDX,2F6HINAX,DX06八月20233.16位I/O接口的讀操作讀操作程20九月202332位I/O接口的寫操作寫操作程序:MOVDX,3ECH;選中3ECH~3EFH4個端口OUTDX,EAX 06八月202332位I/O接口的寫操作寫操作程序:常用接口芯片及應用6.4并行通信與串行通信6.5可編程串行通信接口芯片6.6可編程并行通信接口芯片6.7可編程定時/計數器芯片1234常用接口芯片及應用6.4并行通信與串行通信12346.4并行通信與串行通信并行通信與并行接口串行通信與串行接口串行通信方式及異步通信協(xié)議串行異步通信標準接口6.4并行通信與串行通信并行通信與并行接口20九月2023一、并行通信與并行接口1.并行通信含義:并行通信是指將一個字節(jié)或一個字的各
位同時進行傳輸的一種通信方式。要點:傳輸的各位同時傳輸(輸入或輸出)。特點:(1)傳輸速度快(2)傳輸的信息率高(3)比串行通信需要更多通信信號線用途:常用于傳輸距離短,數據傳輸速度要求
高的場合。06八月2023一、并行通信與并行接口1.并行通信20九月2023含義:實現并行通信的接口稱為并行通信接口。2.并行接口06八月2023含義:實現并行通信的接口稱為并行通信接口20九月2023二、串行通信與串行接口1.串行通信含義:串行通信是把傳輸的數據一位一位地順序傳送的一種通信方式。要點:按位傳輸,同一時刻僅傳送一位。特點:(1)通信線少(2)成本低(3)但通信速度慢用途:適用于長距離數據傳輸。06八月2023二、串行通信與串行接口1.串行通信20九月2023完成串行通信任務的接口稱為串行通信接口,簡稱串行接口。功能:
(1)輸入時,完成串行到并行格式轉換
(2)輸出時,完成并行到串行格式轉換。2.串行接口06八月2023完成串行通信任務的接口稱為串行通信接口,20九月2023串行通信數據傳輸方式有單工方式、半雙工方式、全雙工方式06八月2023串行通信數據傳輸方式有單工方式、半雙工方20九月2023三、串行通信方式
及異步通信協(xié)議串行通信方式
兩種:串行異步通信和串行同步通信。1.異步通信異步通信:指字符與字符之間的傳送是完全異步的,隨機的,但一個字符的位與位之間是同步的。2.異步通信特點①字符的發(fā)送是隨機的。②每一個字符傳輸總以一個起始位為準,然后接收方與發(fā)送方保持同步(格式的統(tǒng)一),最后是停止位③通信雙方可隨時改變通信協(xié)議,即改變數據位、奇偶校驗位和停止位長度或數據傳輸率。06八月2023三、串行通信方式
及異步通信協(xié)議串行通信20九月20233.異步通信協(xié)議異步通信協(xié)議包括:一是字符的傳送格式的規(guī)定,二是數據傳送速率的要求。異步通信格式
協(xié)議,即改變數據位、奇偶校驗位和停止位長度或數據傳輸率。06八月20233.異步通信協(xié)議異步通信協(xié)議包括:一是字20九月2023波特率波特率(BaudRate):指單位時間傳送二進制數的位數,一般以秒為單位。微機中常見的波特率有110,300,600,1200,2400,4800,9600,19200等。微機最高波特率由硬件決定。例:已知字符格式中數據為8位,無校驗,1位停止位,在1分鐘內連續(xù)不斷傳送了69120個字符,求波特率。
解:一個字符=1+8+0+1=10位每秒傳送的字符個數=69120/60=1152個波特率=位/秒=1152*10=11520bits/S=11.52Kbits/s06八月2023波特率波特率(BaudRate):指單20九月20234.同步通信同步通信將多個字符連接成一個數據塊,數據塊前加1或2個同步字符,尾部是校驗字符,最后為同步字符。同步的含義 字符與字符之間時間間隔固定不變,是同步的。06八月20234.同步通信同步通信20九月2023四、串行異步通信標準接口串行異步通信的標準接口有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時邏輯為不確定06八月2023四、串行異步通信標準接口串行異步通信的標20九月20232.RS-232接口信號及含義
06八月20232.RS-232接口信號及含義 20九月2023二、RS-232邏輯電平的轉換為什么要進行邏輯電壓的轉換?因為RS-232邏輯電平與UATRT電平不一致常用單電源供電的232電平轉換芯片MAX232、TLC232、UN232、SP232等為不同廠家的典型單電源供電的232接口芯片,完成電平轉換功能。根據UART的電平的不同可分為5V和3.3V。06八月2023二、RS-232邏輯電平的轉換為什么要進20九月2023RS232電平轉換原理計算機通信是TTL和CMOS邏輯電平,而RS-232規(guī)定的電平與之不符,故需電平轉換。06八月2023RS232電平轉換原理計算機通信是TTL20九月2023RS232電平轉換典型芯片C1~C5可為0.1uF~4,7uF,具體值參見芯片說明TIN為TTL輸入RIN為232輸入TOUT為由TTL轉換后的232電平輸出ROUT為由RS232轉換后的TTL電平輸出06八月2023RS232電平轉換典型芯片C1~C5可為20九月2023RS-232簡單連接示意圖06八月2023RS-232簡單連接示意圖20九月2023二、RS-485接口標準
RS232C缺點:受共模干攏影響,通信距離不長。僅20米以內。RS485主要特點:采用差分傳輸方式,具有很強的抗共模干擾能力??赏瑫r連接多個接收器和發(fā)送器(32~256個)通信距離長,可達千米(標準為1.2Km)。RS-485邏輯電平: 邏輯1:A的電位比B高200mV以上 邏輯0:B的電位比A高200mV以上06八月2023二、RS-485接口標準 RS232C缺20九月2023RS-485接口的連接由于是差分傳輸,因此RS-485接口采用同名端相連的方法,即所有485芯片的A和A連在一起,B和B連在一起。DI為數據發(fā)送端,RO為數據接收端,RE收發(fā)使能RE=0接收,RE=1發(fā)送終端(兩個遠端)各接一個匹配電阻(120歐)防止傳輸反射。MAX485MAX48506八月2023RS-485接口的連接由于是差分傳輸,因20九月20236.5可編程串行通信接口芯片
16550與8250一、16550及8250功能(1)具有全雙工、雙緩沖器發(fā)送器和接收器。(2)是串行異步通信接口(UART)。(3)波特率:8250=50~9600波特;16550=50~115200波特。(4)異步通信格式,可通過編程選擇。(5)具有自動奇偶校驗、溢出和幀出錯等檢測標志。(6)片內具有優(yōu)先級中斷控制邏輯。(7)單一+5V,40個引腳的DIP封裝形式。06八月20236.5可編程串行通信接口芯片
20九月2023二、內部結構及工作原理06八月2023二、內部結構及工作原理20九月20231.接收部分接收移位寄存器將SIN腳的串行數據進行移位輸入。(1)檢測起始位:SIN變低后,連續(xù)測試8個RCLK時鐘周
期,如果都是低電平,為起始位,否則為干擾信號。(2)采樣數據位:每隔16個RCLK脈沖對SIN輸入的數據位進
行一次采樣。直到停止位,完成一個字符的接收。(3)去除無關位:接收同步控制電路自動去除起始位、奇
偶校驗位和停止位。(4)串到并轉換:同步控制電路控制接收移位寄存器將串
行數據轉換成并行數據送入接收數據緩沖器(THR)中。(5)檢查正確性:接收同步控制電路對數據的正確性進行檢查。
如果在檢測字符格式時有錯誤,則通過線路狀態(tài)寄存器
設置相應的出錯標志。06八月20231.接收部分接收移位寄存器將SIN腳的串20九月20232.發(fā)送部分發(fā)送部分負責接收CPU送來的并行數據,并通過移位的方法將其變換成串行信號,最后通過發(fā)送端SOUT發(fā)送出去。(1)CPU的并行數據存入發(fā)送保持寄存器中,由
發(fā)送同步控制電路控制將該數據經過發(fā)送移
位寄存器處理,按照事先規(guī)定的格式加上起
始位、奇偶校驗位和停止位,變換成串行數
據幀后由SOUT端輸出串行數據信號。(2)當數據進入發(fā)送移位寄存器后,發(fā)送保持
寄存器自動變空,CPU即可再次寫入數據。06八月20232.發(fā)送部分發(fā)送部分負責接收CPU送來的20九月20233.通信線路控制寄存器線路控制寄存器(LCR)接收CPU用OUT指令寫入的控制命令。控制寄存器的內容可以通過IN指令讀出。線路控制寄存器的格式:06八月20233.通信線路控制寄存器線路控制寄存器(20九月20234.通信線路狀態(tài)寄存器線路狀態(tài)寄存器LSR記錄串行數據發(fā)送和接收的狀態(tài),以供CPU查詢。線路狀態(tài)寄存器的格式:06八月20234.通信線路狀態(tài)寄存器線路狀態(tài)寄存器LS20九月20235.Modem控制寄存器Modem控制寄存器MCR用于設置16550/8250與通信設備之間聯絡應答的輸出信號,其格式如所示。06八月20235.Modem控制寄存器Modem控制20九月20236.Modem狀態(tài)寄存器Modem狀態(tài)寄存器MSR反映8250與通信設備之間應答聯絡輸入信號的當前狀態(tài)以及這些信號的情況,各位的含義如圖所示。06八月20236.Modem狀態(tài)寄存器Modem狀態(tài)20九月20237.中斷允許寄存器IER反映了接收器和發(fā)送器以及Modem是否允許中斷的情況,通過設置可以指定其中的某些部件允許中斷。它是一個可讀可寫的寄存器。06八月20237.中斷允許寄存器IER反映了接收器和發(fā)20九月20238.中斷識別寄存器IIR中斷識別寄存器IIR,可以識別4個中斷源引起的中斷。接收器線路狀態(tài)中斷、接收數據準備好中斷、發(fā)送保持寄存器空中斷和調制解調器狀態(tài)中斷。06八月20238.中斷識別寄存器IIR中斷識別寄存器I20九月20239.波特率發(fā)生器16550及8250使用1.8432MHz的基準輸入時鐘,分頻后產生所需的內部基準脈沖,作為接收器和發(fā)送器的同步脈沖,以控制接收移位寄存器和發(fā)送移位寄存器的移位操作。發(fā)送或接收串行數據時使用的時鐘頻率是數據傳送波特率的16倍除數值與波特率的關系:
除數=1843200÷(波特率×16)06八月20239.波特率發(fā)生器16550及8250使20九月2023波特率發(fā)生器與除數寄存器根據波特率與除數的關系,可計算出不同波特率對應的除數值,如表所示。06八月2023波特率發(fā)生器與除數寄存器根據波特率與除數20九月2023三、16550/8250引腳信號幾個最重要的信號RCLK接收時鐘SIN串行輸入引腳SOU串行數據輸出A2,A1,A0內部寄存器選擇輸入信號其它信號06八月2023三、16550/8250引腳信號幾個最重20九月2023其它引腳1.電源及時鐘VCC,GND,XTLA1,XTLA22.數據線:D7~D03.片選信號:CS0,CS1和/CS2(輸入)4.選通信號: 地址輸入選通:/ADS 數據輸入選通:DISTR和/DISTR(接/IOR)
數據輸出選通:DOSTR和/DOSTR(接/IOW)5.主復位:MR6.接收時鐘:=接收波特率的16倍7.清除發(fā)送:/CTS8.數據裝置(MODEM)準備好:/DSR9.接收線路信號檢測:/RLSD(有效時表示Modem檢測數據載波10.振鈴指示:/RI有效表示Modem已經接收到一個電話振鈴信號
06八月2023其它引腳1.電源及時鐘VCC,GND,20九月2023其它引腳續(xù)11.數據終端準備好:/DTR有效時通知Modem,接口已準備好12.請求發(fā)送:/RTS有效請求發(fā)送數據13.用戶輸出引腳:/OUT1和/OUT2(由Modem控制寄存器決定)14.片選信號輸出:CSout 片選輸入信號CS0=1,CS1=1/CS2=0時,Csout=1(高電平)15.驅動器禁止:DDIS,有效時禁止外部總線轉換器對系統(tǒng)總線的驅動.16.波特率輸出:/BAUDout以16倍波特率的時鐘輸出17.中斷請求:INTRPT當允許中斷時,16550/8250內部發(fā)生某種中斷時,該引腳為高電平有效,向8259A發(fā)中斷請求信號.06八月2023其它引腳續(xù)11.數據終端準備好:/D20九月2023四、串行接口的編程及應用1.串行接口的端口地址分配06八月2023四、串行接口的編程及應用1.串行接口的端20九月20232.串行接口初始化串行接口初始化的任務:(1)設置波特率(2)確定通信的具體格式(3)設置操作方式(4)設定是否使用中斷、是否自測試操作等等。06八月20232.串行接口初始化串行接口初始化的任務:20九月2023設置波特率方法計算除數值
除數=1843200÷(波特率×16)寫線路控制寄存器,使DLAB=1以訪問除數寄存器先將除數低字節(jié)寫入低字節(jié)寄存器端口再將除數高字節(jié)寫入高字節(jié)寄存器端口注意:
線路控制寄存器地址:3FBH(COM1),2FBH(COM2)
除數低字節(jié)寄存器:3F8H(COM1),2F8H(COM2)
除數高字節(jié)寄存器:3F9H(COM1),2F9H(COM2)06八月2023設置波特率方法計算除數值
除數=184320九月20231.設置波特率程序段假設設置波特率為11520,則初始化程序片段如下:MOV
AL,10000000B ;DLAB=1MOV DX,3FBH ;指向線路控制寄存器端口\OUT DX,AL ;寫入線路控制寄存器MOV AL,0AH ;置產生11520波特率的除數低字節(jié)MOV DX,3F8H ;除數低字節(jié)寄存器口地址OUT DX,AL ;寫入除數低字節(jié)MOV AL,00 ;除數高字節(jié)INC DX ;指向除數高字節(jié)寄存器口地址OUT DX,AL
;寫入除數高字節(jié)06八月20231.設置波特率程序段假設設置波特率為1120九月20232.設置通信數據格式方法根據要求確定格式將格式字寫入線路控制寄存器,并使DLAB=0以正常工作例子:假設一幀數據含有8位數據、1位停止位、奇校驗,則有關程序如下:
MOV AL,00001011B ;通信控制寄存器控制字
MOV DX, 3FBH ;線路控制寄存器口地址
OUT DX, AL ;寫入線路控制寄存器06八月20232.設置通信數據格式方法根據要求確定格式20九月20233.自測工作(自發(fā)自收)MOV AL,00010011B ;自發(fā)自收MOV DX,3FCH ;Modem控制寄存器地址OUT DX, AL ;寫入線路控制寄存器06八月20233.自測工作(自發(fā)自收)MOV AL,020九月2023
4.設置中斷允許寄存器僅允許接收中斷和發(fā)送中斷:(COM1)MOVAL,00000011;僅允許收、發(fā)中斷MOVDX,3F9HOUTDX, AL ;寫入中斷允許寄存器06八月2023
4.設置中斷允許寄存器僅允許接收中斷和20九月2023三、串行通信實例兩臺微機利用COM1(串行口1)進行查詢通信,只用三根連接線。雙機通信的要求如下:數據為7位、1位停止位、奇校驗、波特率為19200;雙機同時運行該程序,一方鍵入的字符在另一方屏幕上顯示,當按下小寫字母q時,結束通信回到DOS。 程序見教材P.261(COMMEX.ASM)06八月2023三、串行通信實例兩臺微機利用COM1(串6.6可編程并行接口芯片8255A8255的內部結構及引腳信號8255的工作方式8255的編程6.6可編程并行接口芯片8255A8255的內部結構及引腳信20九月2023一、8255的內部結構及引腳信號06八月2023一、8255的內部結構及引腳信號20九月2023引腳信號(1)與外設接口信號引腳PA7~PA0A口的8個I/O引腳PB7~PB0B口的8個I/O引腳PC7~PC0C口的8個I/O引腳。(2)與系統(tǒng)總線接口信號引腳D7~D0數據線/RD,/WR,/CSRESET高電平有效,有效時8255內部寄存器清除,同時三個數據端口被自動設為輸入端口。06八月2023引腳信號(1)與外設接口信號引腳20九月20238255A的端口操作06八月20238255A的端口操作二、8255的工作方式基本輸入輸出方式-方式0選通輸入輸出方式-方式1雙向輸入輸出方式-方式2二、8255的工作方式基本輸入輸出方式-方式020九月2023基本輸入輸出方式-方式0方式0沒有規(guī)定固定的用于應答式的聯絡信號線。在此方式下,三個數據端口A、B和C中的任何一個端口都可由程序設定為8位的輸入口或輸出口。C端口的兩個半口(高4位和低4位)可獨立設為輸入或輸出端口。端口輸入具有緩沖功能;輸出具有鎖存功能。方式0下的各端口輸入或輸出有24=16種不同的組合。06八月2023基本輸入輸出方式-方式0方式0沒有規(guī)定固20九月2023選通輸入輸出方式-方式1方式1規(guī)定固定的用于應答式的聯絡信號線。A口和B口可作為輸入或輸出端口使用,而此時C口的某些位與它們配合,作為控制或通信聯絡信號,沒有使用的C口某些位還可單獨立定義為I/O口用。方式1下A和B端口的輸入和輸出具有不同的組態(tài)。內部邏輯不同。下面分別介紹A口輸入、B口輸出、A口輸出和B口輸出不同情況下的內部邏輯。06八月2023選通輸入輸出方式-方式1方式1規(guī)定固定的20九月2023方式1下的輸入組態(tài)A口輸入B口輸入06八月2023方式1下的輸入組態(tài)A口輸入B口輸入20九月2023方式1下的輸入工作波形06八月2023方式1下的輸入工作波形20九月2023方式1下的輸出組態(tài)A口輸出B口輸出06八月2023方式1下的輸出組態(tài)A口輸出B口輸出20九月2023方式1下的輸出工作波形06八月2023方式1下的輸出工作波形20九月2023雙向輸入輸出方式-方式2方式2是雙向的數據傳輸方式,僅限于A口,這時C端口配合其工作。06八月2023雙向輸入輸出方式-方式2方式2是雙向的數20九月2023三、8255編程對8255編程首先要寫入方式選擇控制字,然后再行輸入輸出操作。操作時可對端口C進行置/復位操作。
因此:8255有兩個控制字是編程的關鍵所在。方式選擇控制字端口C置/復位控制字06八月2023三、8255編程對8255編程首先要寫入20九月2023方式選擇控制字—寫入控制口06八月2023方式選擇控制字—寫入控制口20九月2023例6.3【例6.3】編寫對8255的初始化程序片段,要求:使A口為方式0輸入,B口為方式0輸出,C口作為8位的輸出口使用。8255控制端口的地址為12BH。解:對照方式選擇控制字格式可得到控制字為:10010000B=90H,初始化程序片段:
MOVAL,90H ;方式選擇控制字
MOVDX,12BH ;由于端口號>256,用DX間接尋址
OUTDX, AL ;寫入控制寄存器06八月2023例6.3【例6.3】編寫對8255的初20九月2023例6.4【例6.4】如果把A口設置為方式0輸入,B口設成方式1輸出,C口除了與B口方式1輸出配合的PC0到PC2外,其PC3設成輸入,C上半口(PC7~PC4)設為輸出。則對照控制字格式,得其方式選擇控制字為:10010101B=95H。解:假設8255的口地址為60H~63H,并知道8255的A0和A1分別與CPU總線的A0和A1相連,寫出對8255的初始化程序片段。對8255的初始化程序只需要兩條指令如下:
MOVAL, 95H ;方式選擇控制字
OUT63H,AL ;寫入控制寄存器06八月2023例6.4【例6.4】如果把A口設置為方20九月2023端口C置/復位控制字—寫入控制口06八月2023端口C置/復位控制字—寫入控制口20九月2023例6.5【例6.5】使A口為方式1輸入,且采用中斷傳送,B口采用方式0輸出,其余C口的位作為輸出。假設控制端口地址為63H。則程序段為:解:MOVAL,10110000B;A口方式1輸入,B口方式0輸出,其余C口位輸出OUT 63H, AL;方式選擇控制字寫入控制寄存器MOV AL,00001001B;置位/復位控制字,使PC4=1,即使INTE=1允許內部中斷OUT63H, AL ;置位/復位控制字寫入控制寄存器06八月2023例6.5【例6.5】使A口為方式1輸入,20九月2023三、8255作為打印機接口實例06八月2023三、8255作為打印機接口實例20九月2023打印機接口的時序要求06八月2023打印機接口的時序要求打印程序
MOV
AL, 0A8H ;方式選擇字(C上半口輸入PC4) MOVDX, 343H ;控制端口
OUTDX, AL ;方式選擇控制字寫入控制口
MOVCX, Counter ;打印字符個數裝入計數器
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 ;屏蔽無關位,取BUSY JZLP2 ;等待接收新數據 LP3:INAL,DX ;讀取C口狀態(tài)
ANDAL, 00010000B ;屏蔽無關位,取BUSY對應的PC4 JNZLP3 ;BUSY=1等待,直到不忙
INCBX LOOPLP1打印程序 MOVAL, 0A8H ;方式選擇字6.7可編程定時/計數器8253(8254)三種方法:軟件定時、硬件定時、可編程硬件定時主要內容:
8253/8254的內部結構及引腳信號8253/8254的工作方式8253/8254的編程8253最高工作頻率2.6MHz8254最高工作頻率為10MHz6.7可編程定時/計數器8253(8254)三種方法:軟件20九月20238253/8254主要功能1.用于計數當用于計數時,計數裝入初始值后,在GATE為高電平的情況下,可以用外部事件作為CLK脈沖對計數值進行減1計數,每來一個脈沖,計數器減1一次,當計數值減到結束時,由OUT端輸出一個信號。如果計數未結束,而外部沒有觸發(fā)的脈沖信號,則可以通過讀取現行計數器的值來求出計數值。2.用于定時當用于定時時,計數器裝入初值后,在GATE為高電平情況下,由CLK脈沖觸發(fā)開始自動計數,當減1計數結束時,在OUT端發(fā)送計數結束信號。定時時間長度就是計數初值與CLK時鐘周期的積。由此可見,定時和計數的實際是計數,只是定時是在計數的基礎上再乘以時鐘周期。06八月20238253/8254主要功能1.用于計數20九月20238253/8254內部結構06八月20238253/8254內部結構20九月20238253端口及其操作06八月20238253端口及其操作8253和8254的工作方式方式0——中斷信號發(fā)生器方式1——單穩(wěn)負脈沖信號發(fā)生器方式2——速率信號發(fā)生器方式3——方波信號發(fā)生器方式4——軟件觸發(fā)的選通信號發(fā)生器方式5——硬件觸發(fā)的選通信號發(fā)生器8253和8254的工作方式方式0——中斷信號發(fā)生器20九月2023方式0
中斷信號發(fā)生器06八月2023方式0中斷信號發(fā)生器20九月2023方式1
單穩(wěn)負脈沖信號發(fā)生器
06八月2023方式1
單穩(wěn)負脈沖信號發(fā)生器20九月2023方式2
速率信號發(fā)生器06八月2023方式2
速率信號發(fā)生器20九月2023方式3
方波信號發(fā)生器——偶數初值06八月2023方式3
方波信號發(fā)生器——偶數初值20九月2023方式3奇數初值06八月2023方式3奇數初值20九月2023方式4
軟件觸發(fā)的選通信號發(fā)生器06八月2023方式4
軟件觸發(fā)的選通信號發(fā)生器20九月2023方式5
硬件觸發(fā)的選通信號發(fā)生器06八月2023方式5
硬件觸發(fā)的選通信號發(fā)生器20九月20238253/8254的編程方法8253/8254控制字06八月20238253/8254的編程方法8253/820九月20238253/8254計數范圍二進制計數:0000H~FFFFH,即0-65535BCD碼計數:0000~9999最小和最大計數值:
最大計數為0000,不是FFFFH或9999。
除方式2,3外,最小值都為1。06八月20238253/8254計數范圍二進制計數:020九月20238253/8254初始值計算假設已知8253相應通道的CLK端接入的時鐘頻率為fCLK,周期記為TCLK=1/fCLK,要求產生的周期性信號頻率為F(周期為T)或定時時間為T(F=1/T),則所需計數初值n為:在計算時注意時間和頻率的單位一致性。06八月20238253/8254初始值計算假設已知8220九月20238253/8254編程示例已知8254各通道時鐘接8MHz信號,端口地址為700H、702H、704H和706H,要求在OUT0產生周期為10us的方波,OUT1產生2KHz的連續(xù)脈沖信號,OUT3產生一個最大的負脈沖。分析: OUT0:初值=10us×8MHz=80 方式3 OUT1:初值=8MHz/2K
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教師的教學故事六篇
- 全國新型電力系統(tǒng)(配電自動化)職業(yè)技能競賽參考試題庫500題(含答案)
- 《預防未成年人犯罪法》知識考試題庫80題(含答案)
- 大學衛(wèi)生學課件
- 汽車租賃合同詳細條款正規(guī)范本
- 滄州房屋租賃合同
- 棉花運輸合同范本
- 標準的員工勞動合同
- 大數據分析平臺建設及運營合同
- 海外房產銷售代理合同范本
- 護理人文知識培訓課件
- 建筑工程施工安全管理課件
- 2025年春新人教版數學七年級下冊教學課件 7.2.3 平行線的性質(第1課時)
- 安徽省合肥市2025年高三第一次教學質量檢測地理試題(含答案)
- 2025年新合同管理工作計劃
- 統(tǒng)編版八年級下冊語文第三單元名著導讀《經典常談》閱讀指導 學案(含練習題及答案)
- 風光儲儲能項目PCS艙、電池艙吊裝方案
- 全面解讀新能源法律風險與應對措施
- 民法學詳細教案
- 浙江省杭州市2023年中考一模語文試題及答案
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
評論
0/150
提交評論