版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章基本輸入輸出接口技術(shù)【本章提要】
本章首先概述I/O的基本知識(shí),然后討論輸入/輸出控制方式,I/O接口的讀寫技術(shù),并行通信與串行通信,最后重點(diǎn)討論常用可編程典型I/O接口芯片及其接口技術(shù)?!緦W(xué)習(xí)目標(biāo)】了解I/O接口信息、I/O編址方法、I/O組織、I/O控制方式、并行通信及串行通信等輸入輸出基礎(chǔ)知識(shí)。理解基本輸入輸出接口的操作。掌握簡(jiǎn)單I/O接口的讀寫技術(shù)。熟練掌握常用接口芯片16550/8250、8255和8253的工作原理及其編程應(yīng)用。能綜合運(yùn)用接口芯片,構(gòu)建和分析實(shí)際應(yīng)用系統(tǒng)。01十月2023第6章基本輸入輸出接口技術(shù)【本章提要】05八月2021第6章基本輸入輸出接口技術(shù)123675本章主要內(nèi)容:概述輸入/輸出控制方式I/O接口讀寫技術(shù)并行通信與串行通信可編程接口芯片串行通信接口芯片并行通信接口芯片定時(shí)計(jì)數(shù)接口芯片401十月2023第6章基本輸入輸出接口技術(shù)123675本章主要內(nèi)容:可編26.1概述一、輸入/輸出與輸入/輸出接口1.輸入/輸出:微處理器與外部設(shè)備之間的信息交換即通信。2.輸入/輸出接口:完成微處理器與外部設(shè)備數(shù)據(jù)通信即輸入/輸出任務(wù)的接口。包括:硬件接口電路和軟件接口程序。2023/10/16.1概述一、輸入/輸出與輸入/輸出接口2023/8/53二、I/O接口的功能
1.內(nèi)部地址譯碼2.提供聯(lián)絡(luò)信號(hào)3.信號(hào)特性匹配(如電平轉(zhuǎn)換)4.信息格式的轉(zhuǎn)換(如正負(fù)邏輯的轉(zhuǎn)換,串并
格式,模數(shù)轉(zhuǎn)換)5.數(shù)據(jù)緩沖與鎖存6.對(duì)外設(shè)進(jìn)行中斷管理7.提供時(shí)序控制2023/10/1二、I/O接口的功能1.內(nèi)部地址譯碼2023/8/54三、CPU與I/O設(shè)備間的接口信息三種:數(shù)據(jù)信息、狀態(tài)信息、控制信息這些信息均通過(guò)數(shù)據(jù)總線傳輸。2023/10/1三、CPU與I/O設(shè)備間的接口信息三種:數(shù)據(jù)信息、狀態(tài)信息、5四、I/O端口的編址方法1.存儲(chǔ)器映射編址含義:I/O端口的地址與存儲(chǔ)器的地址統(tǒng)一混合編址。用訪問(wèn)存儲(chǔ)器的指令,即可對(duì)整個(gè)地址空間(存儲(chǔ)器和I/O)進(jìn)行訪問(wèn),而無(wú)需專用I/O指令。優(yōu)點(diǎn):
訪問(wèn)I/O指令多,使用方便。內(nèi)存與外設(shè)地址分布相同。無(wú)需專用的I/O指令。2023/10/1四、I/O端口的編址方法1.存儲(chǔ)器映射編址2023/8/562.I/O映射編址含義
I/O端口與存儲(chǔ)器分開獨(dú)立編址,即I/O端口和存儲(chǔ)器都有自己的一套地址空間,而且互不相干。優(yōu)點(diǎn)
I/O設(shè)備不占用內(nèi)存單元,節(jié)約了內(nèi)存空間。指令執(zhí)行速度快。I/O端口8086~Core2微機(jī)采用I/O映射的編址方法。I/O端口的地址64K個(gè)8位口地址(0000H-FFFFH)。2023/10/12.I/O映射編址含義I/O端口與存儲(chǔ)器分開獨(dú)立編址,即7五、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組織2023/10/1五、I/O組織2.基于8086和8028616位I/O組織88位I/O組織-基于80882023/10/18位I/O組織-基于80882023/8/5916位I/O組織-基于8086~802862023/10/116位I/O組織-基于8086~802862023/8/51032位I/O組織-基于80386~804862023/10/132位I/O組織-基于80386~804862023/8/51164位I/O組織
-基于Pentium~Core22023/10/164位I/O組織
-基于Pentium~Core2202122.I/O端口的地址分配1.I/O地址范圍
0000H-FFFFH.共64K個(gè)8位端口
從8086~Core2I/O地址采用A15~A0共16條地址線,且與存儲(chǔ)器分開編址。2.系統(tǒng)板保留的1K個(gè)I/O端口
(詳見書P.238表6.1)
000H-03FFH,共1K個(gè)8位端口3.查看當(dāng)前系統(tǒng)I/O地址分配2023/10/12.I/O端口的地址分配1.I/O地址范圍2023/8/513系統(tǒng)板保留的1K地址2023/10/1系統(tǒng)板保留的1K地址2023/8/514I/O指令時(shí)序
(b)OUT指令操作時(shí)序OUTP8,AL或OUTDX,AL
P8為8位端口地址(a)IN指令操作時(shí)序INAL,P8或INAL,DXP8為8位端口地址2023/10/1I/O指令時(shí)序(b)OUT指令操作時(shí)序(a)156.2輸入輸出控制方式直接程序控制方式中斷控制方式DMA控制方式I/O處理機(jī)控制方式01十月20236.2輸入輸出控制方式05八月202316一、直接程序控制方式含義:直接在程序控制下進(jìn)行微處理器與外設(shè)之間的數(shù)據(jù)傳送。分類:無(wú)條件傳送方式和條件傳送方式兩種。1.無(wú)條件傳送方式含義:不查詢外設(shè)狀態(tài)而直接進(jìn)行輸入輸出的一種方式。特點(diǎn):簡(jiǎn)單、經(jīng)濟(jì),但可靠性差。2023/10/1一、直接程序控制方式含義:直接在程序控制下進(jìn)行微處理器與外設(shè)172.條件傳送方式含義:首先查詢外設(shè)狀態(tài),滿足條件時(shí)才進(jìn)行數(shù)據(jù)的傳送,因此也叫查詢傳送方式。特點(diǎn):簡(jiǎn)單、可靠性高,但CPU效率低。輸入輸出2023/10/12.條件傳送方式含義:首先查詢外設(shè)狀態(tài),滿足條件時(shí)才進(jìn)行數(shù)據(jù)18二、中斷控制方式含義:在滿足傳輸條件時(shí),外設(shè)向CPU發(fā)請(qǐng)求傳輸?shù)闹袛嘈盘?hào),CPU接收請(qǐng)求后進(jìn)入服務(wù)程序,在中斷服務(wù)程序中進(jìn)行輸入輸出操作。特點(diǎn):無(wú)需查詢等待,CPU利用率大大提高。不足:中斷控制方式仍需要一系列本與輸入輸出無(wú)關(guān)的操作(如壓棧保護(hù)等),因此對(duì)于高速I/O設(shè)備效率仍不算快。2023/10/1二、中斷控制方式含義:在滿足傳輸條件時(shí),外設(shè)向CPU發(fā)請(qǐng)求傳19三、DMA控制方式含義:直接由DMA控制器硬件控制數(shù)據(jù)傳輸,傳輸過(guò)程無(wú)需CPU干預(yù)。特點(diǎn):速度快(因?yàn)橛蠨MA硬件直接控制),效率高。2023/10/1三、DMA控制方式含義:直接由DMA控制器硬件控制數(shù)據(jù)傳輸,20外設(shè)/內(nèi)存DMA方式與其它方式比較CPUDMA控制器內(nèi)存/外設(shè)外設(shè)/內(nèi)存MOV[XX],ALOUTDX,ALINAL,DXMOV
AL,[XX]無(wú)需CPU指令內(nèi)存/外設(shè)2023/10/1外設(shè)/內(nèi)存DMA方式與其它方式比較CPUDMA控制器內(nèi)存/外21四、I/O處理機(jī)控制方式 盡管DMA方式優(yōu)點(diǎn)比較突出,但在DMA進(jìn)行傳輸之前,對(duì)DMA的初始操作、對(duì)數(shù)據(jù)的運(yùn)算和處理等都需要處理器事先干預(yù)。為了讓處理器徹底擺脫管理和控制I/O設(shè)備的負(fù)擔(dān),引入了I/O處理機(jī)控制方式。這種方式下,由專用I/O協(xié)處理器負(fù)責(zé)I/O操作和處理。2023/10/1四、I/O處理機(jī)控制方式 盡管DMA方式優(yōu)點(diǎn)比226.3I/O接口的讀寫技術(shù)一、簡(jiǎn)單輸入輸出接口
輸入采用緩沖器,輸出采用鎖存器。1.常用緩沖器:2023/10/16.3I/O接口的讀寫技術(shù)一、簡(jiǎn)單輸入輸出接口2023/23簡(jiǎn)單I/O接口-鎖存器2.常用鎖存器2023/10/1簡(jiǎn)單I/O接口-鎖存器2.常用鎖存器2023/8/524二、簡(jiǎn)單I/O接口的讀控制讀操作程序:MOVDX,377HINAL,DX2023/10/1二、簡(jiǎn)單I/O接口的讀控制讀操作程序:2023/8/5252.簡(jiǎn)單I/O接口的寫控制寫操作程序:MOVDX,0DFFFHOUTDX,AL2023/10/12.簡(jiǎn)單I/O接口的寫控制寫操作程序:2023/8/5263.16位I/O接口的讀操作讀操作程序:MOVDX,2F6HINAX,DX2023/10/13.16位I/O接口的讀操作讀操作程序:2023/8/52732位I/O接口的寫操作寫操作程序:MOVDX,3ECH;選中3ECH~3EFH4個(gè)端口OUTDX,EAX 2023/10/132位I/O接口的寫操作寫操作程序:2023/8/528常用接口芯片及應(yīng)用6.4并行通信與串行通信6.5可編程串行通信接口芯片6.6可編程并行通信接口芯片6.7可編程定時(shí)/計(jì)數(shù)器芯片123401十月2023常用接口芯片及應(yīng)用6.4并行通信與串行通信123405296.4并行通信與串行通信并行通信與并行接口串行通信與串行接口串行通信方式及異步通信協(xié)議串行異步通信標(biāo)準(zhǔn)接口01十月20236.4并行通信與串行通信并行通信與并行接口05八月30一、并行通信與并行接口1.并行通信含義:并行通信是指將一個(gè)字節(jié)或一個(gè)字的各
位同時(shí)進(jìn)行傳輸?shù)囊环N通信方式。要點(diǎn):傳輸?shù)母魑煌瑫r(shí)傳輸(輸入或輸出)。特點(diǎn):(1)傳輸速度快(2)傳輸?shù)男畔⒙矢撸?)比串行通信需要更多通信信號(hào)線用途:常用于傳輸距離短,數(shù)據(jù)傳輸速度要求
高的場(chǎng)合。2023/10/1一、并行通信與并行接口1.并行通信2023/8/531含義:實(shí)現(xiàn)并行通信的接口稱為并行通信接口。2.并行接口2023/10/1含義:實(shí)現(xiàn)并行通信的接口稱為并行通信接口。2.并行接口20232二、串行通信與串行接口1.串行通信含義:串行通信是把傳輸?shù)臄?shù)據(jù)一位一位地順序傳送的一種通信方式。要點(diǎn):按位傳輸,同一時(shí)刻僅傳送一位。特點(diǎn):(1)通信線少(2)成本低(3)但通信速度慢用途:適用于長(zhǎng)距離數(shù)據(jù)傳輸。2023/10/1二、串行通信與串行接口1.串行通信2023/8/533完成串行通信任務(wù)的接口稱為串行通信接口,簡(jiǎn)稱串行接口。功能:
(1)輸入時(shí),完成串行到并行格式轉(zhuǎn)換
(2)輸出時(shí),完成并行到串行格式轉(zhuǎn)換。2.串行接口2023/10/1完成串行通信任務(wù)的接口稱為串行通信接口,簡(jiǎn)稱串行接口。2.串34串行通信數(shù)據(jù)傳輸方式有單工方式、半雙工方式、全雙工方式2023/10/1串行通信數(shù)據(jù)傳輸方式有單工方式、半雙工方式、全雙工方式20235三、串行通信方式
及異步通信協(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ù)傳輸率。2023/10/1三、串行通信方式
及異步通信協(xié)議串行通信方式2023/8/5363.異步通信協(xié)議異步通信協(xié)議包括:一是字符的傳送格式的規(guī)定,二是數(shù)據(jù)傳送速率的要求。異步通信格式
協(xié)議,即改變數(shù)據(jù)位、奇偶校驗(yàn)位和停止位長(zhǎng)度或數(shù)據(jù)傳輸率。2023/10/13.異步通信協(xié)議異步通信協(xié)議包括:一是字符的傳送格式的規(guī)定,37波特率波特率(BaudRate):指單位時(shí)間傳送二進(jìn)制數(shù)的位數(shù),一般以秒為單位。微機(jī)中常見的波特率有110,300,600,1200,2400,4800,9600,19200等。微機(jī)最高波特率由硬件決定。例:已知字符格式中數(shù)據(jù)為8位,無(wú)校驗(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/s2023/10/1波特率波特率(BaudRate):指單位時(shí)間傳送二進(jìn)制數(shù)的384.同步通信同步通信將多個(gè)字符連接成一個(gè)數(shù)據(jù)塊,數(shù)據(jù)塊前加1或2個(gè)同步字符,尾部是校驗(yàn)字符,最后為同步字符。同步的含義 字符與字符之間時(shí)間間隔固定不變,是同步的。2023/10/14.同步通信同步通信2023/8/539四、串行異步通信標(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~-5V
0:+5V~+15V允許噪聲容限為2V因此,實(shí)際RS-232能夠區(qū)分的邏輯電平:1:-15V~-3V 0:+3V~+15V
只有在-3V~+3V時(shí)邏輯為不確定2023/10/1四、串行異步通信標(biāo)準(zhǔn)接口串行異步通信的標(biāo)準(zhǔn)接口有RS-232402.RS-232接口信號(hào)及含義
2023/10/12.RS-232接口信號(hào)及含義 2023/8/541二、RS-232邏輯電平的轉(zhuǎn)換為什么要進(jìn)行邏輯電壓的轉(zhuǎn)換?因?yàn)镽S-232邏輯電平與UATRT電平不一致常用單電源供電的232電平轉(zhuǎn)換芯片MAX232、TLC232、UN232、SP232等為不同廠家的典型單電源供電的232接口芯片,完成電平轉(zhuǎn)換功能。根據(jù)UART的電平的不同可分為5V和3.3V。2023/10/1二、RS-232邏輯電平的轉(zhuǎn)換為什么要進(jìn)行邏輯電壓的轉(zhuǎn)換?242RS232電平轉(zhuǎn)換原理計(jì)算機(jī)通信是TTL和CMOS邏輯電平,而RS-232規(guī)定的電平與之不符,故需電平轉(zhuǎn)換。2023/10/1RS232電平轉(zhuǎn)換原理計(jì)算機(jī)通信是TTL和CMOS邏輯電平,43RS232電平轉(zhuǎn)換典型芯片C1~C5可為0.1uF~4,7uF,具體值參見芯片說(shuō)明TIN為TTL輸入RIN為232輸入TOUT為由TTL轉(zhuǎn)換后的232電平輸出ROUT為由RS232轉(zhuǎn)換后的TTL電平輸出2023/10/1RS232電平轉(zhuǎn)換典型芯片C1~C5可為0.1uF~4,7u44RS-232簡(jiǎn)單連接示意圖2023/10/1RS-232簡(jiǎn)單連接示意圖2023/8/545二、RS-485接口標(biāo)準(zhǔn)
RS232C缺點(diǎn):受共模干攏影響,通信距離不長(zhǎng)。僅20米以內(nèi)。RS485主要特點(diǎn):采用差分傳輸方式,具有很強(qiáng)的抗共模干擾能力。可同時(shí)連接多個(gè)接收器和發(fā)送器(32~256個(gè))通信距離長(zhǎng),可達(dá)千米(標(biāo)準(zhǔn)為1.2Km)。RS-485邏輯電平: 邏輯1:A的電位比B高200mV以上 邏輯0:B的電位比A高200mV以上2023/10/1二、RS-485接口標(biāo)準(zhǔn) RS232C缺點(diǎn):受共模干攏影響,46RS-485接口的連接由于是差分傳輸,因此RS-485接口采用同名端相連的方法,即所有485芯片的A和A連在一起,B和B連在一起。DI為數(shù)據(jù)發(fā)送端,RO為數(shù)據(jù)接收端,RE收發(fā)使能RE=0接收,RE=1發(fā)送終端(兩個(gè)遠(yuǎn)端)各接一個(gè)匹配電阻(120歐)防止傳輸反射。MAX485MAX4852023/10/1RS-485接口的連接由于是差分傳輸,因此RS-485接口采476.5可編程串行通信接口芯片
16550與8250一、16550及8250功能(1)具有全雙工、雙緩沖器發(fā)送器和接收器。(2)是串行異步通信接口(UART)。(3)波特率:8250=50~9600波特;16550=50~115200波特。(4)異步通信格式,可通過(guò)編程選擇。(5)具有自動(dòng)奇偶校驗(yàn)、溢出和幀出錯(cuò)等檢測(cè)標(biāo)志。(6)片內(nèi)具有優(yōu)先級(jí)中斷控制邏輯。(7)單一+5V,40個(gè)引腳的DIP封裝形式。2023/10/16.5可編程串行通信接口芯片
48二、內(nèi)部結(jié)構(gòu)及工作原理2023/10/1二、內(nèi)部結(jié)構(gòu)及工作原理2023/8/5491.接收部分接收移位寄存器將SIN腳的串行數(shù)據(jù)進(jìn)行移位輸入。(1)檢測(cè)起始位:SIN變低后,連續(xù)測(cè)試8個(gè)RCLK時(shí)鐘周
期,如果都是低電平,為起始位,否則為干擾信號(hào)。(2)采樣數(shù)據(jù)位:每隔16個(gè)RCLK脈沖對(duì)SIN輸入的數(shù)據(jù)位進(jìn)
行一次采樣。直到停止位,完成一個(gè)字符的接收。(3)去除無(wú)關(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ò)誤,則通過(guò)線路狀態(tài)寄存器
設(shè)置相應(yīng)的出錯(cuò)標(biāo)志。2023/10/11.接收部分接收移位寄存器將SIN腳的串行數(shù)據(jù)進(jìn)行移位輸入。502.發(fā)送部分發(fā)送部分負(fù)責(zé)接收CPU送來(lái)的并行數(shù)據(jù),并通過(guò)移位的方法將其變換成串行信號(hào),最后通過(guò)發(fā)送端SOUT發(fā)送出去。(1)CPU的并行數(shù)據(jù)存入發(fā)送保持寄存器中,由
發(fā)送同步控制電路控制將該數(shù)據(jù)經(jīng)過(guò)發(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ù)。2023/10/12.發(fā)送部分發(fā)送部分負(fù)責(zé)接收CPU送來(lái)的并行數(shù)據(jù),并通過(guò)移位513.通信線路控制寄存器線路控制寄存器(LCR)接收CPU用OUT指令寫入的控制命令??刂萍拇嫫鞯膬?nèi)容可以通過(guò)IN指令讀出。線路控制寄存器的格式:2023/10/13.通信線路控制寄存器線路控制寄存器(LCR)接收CPU用524.通信線路狀態(tài)寄存器線路狀態(tài)寄存器LSR記錄串行數(shù)據(jù)發(fā)送和接收的狀態(tài),以供CPU查詢。線路狀態(tài)寄存器的格式:2023/10/14.通信線路狀態(tài)寄存器線路狀態(tài)寄存器LSR記錄串行數(shù)據(jù)發(fā)送和535.Modem控制寄存器Modem控制寄存器MCR用于設(shè)置16550/8250與通信設(shè)備之間聯(lián)絡(luò)應(yīng)答的輸出信號(hào),其格式如所示。2023/10/15.Modem控制寄存器Modem控制寄存器MCR用于設(shè)置546.Modem狀態(tài)寄存器Modem狀態(tài)寄存器MSR反映8250與通信設(shè)備之間應(yīng)答聯(lián)絡(luò)輸入信號(hào)的當(dāng)前狀態(tài)以及這些信號(hào)的情況,各位的含義如圖所示。2023/10/16.Modem狀態(tài)寄存器Modem狀態(tài)寄存器MSR反映82557.中斷允許寄存器IER反映了接收器和發(fā)送器以及Modem是否允許中斷的情況,通過(guò)設(shè)置可以指定其中的某些部件允許中斷。它是一個(gè)可讀可寫的寄存器。2023/10/17.中斷允許寄存器IER反映了接收器和發(fā)送器以及Modem是568.中斷識(shí)別寄存器IIR中斷識(shí)別寄存器IIR,可以識(shí)別4個(gè)中斷源引起的中斷。接收器線路狀態(tài)中斷、接收數(shù)據(jù)準(zhǔn)備好中斷、發(fā)送保持寄存器空中斷和調(diào)制解調(diào)器狀態(tài)中斷。2023/10/18.中斷識(shí)別寄存器IIR中斷識(shí)別寄存器IIR,可以識(shí)別4個(gè)中579.波特率發(fā)生器16550及8250使用1.8432MHz的基準(zhǔn)輸入時(shí)鐘,分頻后產(chǎn)生所需的內(nèi)部基準(zhǔn)脈沖,作為接收器和發(fā)送器的同步脈沖,以控制接收移位寄存器和發(fā)送移位寄存器的移位操作。發(fā)送或接收串行數(shù)據(jù)時(shí)使用的時(shí)鐘頻率是數(shù)據(jù)傳送波特率的16倍除數(shù)值與波特率的關(guān)系:
除數(shù)=1843200÷(波特率×16)2023/10/19.波特率發(fā)生器16550及8250使用1.8432MHz58波特率發(fā)生器與除數(shù)寄存器根據(jù)波特率與除數(shù)的關(guān)系,可計(jì)算出不同波特率對(duì)應(yīng)的除數(shù)值,如表所示。2023/10/1波特率發(fā)生器與除數(shù)寄存器根據(jù)波特率與除數(shù)的關(guān)系,可計(jì)算出不同59三、16550/8250引腳信號(hào)幾個(gè)最重要的信號(hào)RCLK接收時(shí)鐘SIN串行輸入引腳SOU串行數(shù)據(jù)輸出A2,A1,A0內(nèi)部寄存器選擇輸入信號(hào)其它信號(hào)2023/10/1三、16550/8250引腳信號(hào)幾個(gè)最重要的信號(hào)2023/860其它引腳1.電源及時(shí)鐘VCC,GND,XTLA1,XTLA22.數(shù)據(jù)線:D7~D03.片選信號(hào):CS0,CS1和/CS2(輸入)4.選通信號(hào): 地址輸入選通:/ADS 數(shù)據(jù)輸入選通:DISTR和/DISTR(接/IOR)
數(shù)據(jù)輸出選通:DOSTR和/DOSTR(接/IOW)5.主復(fù)位:MR6.接收時(shí)鐘:=接收波特率的16倍7.清除發(fā)送:/CTS8.數(shù)據(jù)裝置(MODEM)準(zhǔn)備好:/DSR9.接收線路信號(hào)檢測(cè):/RLSD(有效時(shí)表示Modem檢測(cè)數(shù)據(jù)載波10.振鈴指示:/RI有效表示Modem已經(jīng)接收到一個(gè)電話振鈴信號(hào)
2023/10/1其它引腳1.電源及時(shí)鐘VCC,GND,XTLA1,XTLA61其它引腳續(xù)11.數(shù)據(jù)終端準(zhǔn)備好:/DTR有效時(shí)通知Modem,接口已準(zhǔn)備好12.請(qǐng)求發(fā)送:/RTS有效請(qǐng)求發(fā)送數(shù)據(jù)13.用戶輸出引腳:/OUT1和/OUT2(由Modem控制寄存器決定)14.片選信號(hào)輸出:CSout 片選輸入信號(hào)CS0=1,CS1=1/CS2=0時(shí),Csout=1(高電平)15.驅(qū)動(dòng)器禁止:DDIS,有效時(shí)禁止外部總線轉(zhuǎn)換器對(duì)系統(tǒng)總線的驅(qū)動(dòng).16.波特率輸出:/BAUDout以16倍波特率的時(shí)鐘輸出17.中斷請(qǐng)求:INTRPT當(dāng)允許中斷時(shí),16550/8250內(nèi)部發(fā)生某種中斷時(shí),該引腳為高電平有效,向8259A發(fā)中斷請(qǐng)求信號(hào).2023/10/1其它引腳續(xù)11.數(shù)據(jù)終端準(zhǔn)備好:/DTR有效時(shí)通知Mo62四、串行接口的編程及應(yīng)用1.串行接口的端口地址分配2023/10/1四、串行接口的編程及應(yīng)用1.串行接口的端口地址分配2023/632.串行接口初始化串行接口初始化的任務(wù):(1)設(shè)置波特率(2)確定通信的具體格式(3)設(shè)置操作方式(4)設(shè)定是否使用中斷、是否自測(cè)試操作等等。2023/10/12.串行接口初始化串行接口初始化的任務(wù):2023/8/564設(shè)置波特率方法計(jì)算除數(shù)值
除數(shù)=1843200÷(波特率×16)寫線路控制寄存器,使DLAB=1以訪問(wèn)除數(shù)寄存器先將除數(shù)低字節(jié)寫入低字節(jié)寄存器端口再將除數(shù)高字節(jié)寫入高字節(jié)寄存器端口注意:
線路控制寄存器地址:3FBH(COM1),2FBH(COM2)
除數(shù)低字節(jié)寄存器:3F8H(COM1),2F8H(COM2)
除數(shù)高字節(jié)寄存器:3F9H(COM1),2F9H(COM2)2023/10/1設(shè)置波特率方法計(jì)算除數(shù)值
除數(shù)=1843200÷(波特率×1651.設(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é)2023/10/11.設(shè)置波特率程序段假設(shè)設(shè)置波特率為11520,則初始化程序662.設(shè)置通信數(shù)據(jù)格式方法根據(jù)要求確定格式將格式字寫入線路控制寄存器,并使DLAB=0以正常工作例子:假設(shè)一幀數(shù)據(jù)含有8位數(shù)據(jù)、1位停止位、奇校驗(yàn),則有關(guān)程序如下:
MOV AL,00001011B ;通信控制寄存器控制字
MOV DX, 3FBH ;線路控制寄存器口地址
OUT DX, AL ;寫入線路控制寄存器2023/10/12.設(shè)置通信數(shù)據(jù)格式方法根據(jù)要求確定格式2023/8/5673.自測(cè)工作(自發(fā)自收)MOV AL,00010011B ;自發(fā)自收MOV DX,3FCH ;Modem控制寄存器地址OUT DX, AL ;寫入線路控制寄存器2023/10/13.自測(cè)工作(自發(fā)自收)MOV AL,00010011B ;68
4.設(shè)置中斷允許寄存器僅允許接收中斷和發(fā)送中斷:(COM1)MOVAL,00000011;僅允許收、發(fā)中斷MOVDX,3F9HOUTDX, AL ;寫入中斷允許寄存器2023/10/1
4.設(shè)置中斷允許寄存器僅允許接收中斷和發(fā)送中斷:(COM169三、串行通信實(shí)例兩臺(tái)微機(jī)利用COM1(串行口1)進(jìn)行查詢通信,只用三根連接線。雙機(jī)通信的要求如下:數(shù)據(jù)為7位、1位停止位、奇校驗(yàn)、波特率為19200;雙機(jī)同時(shí)運(yùn)行該程序,一方鍵入的字符在另一方屏幕上顯示,當(dāng)按下小寫字母q時(shí),結(jié)束通信回到DOS。 程序見教材P.261(COMMEX.ASM)2023/10/1三、串行通信實(shí)例兩臺(tái)微機(jī)利用COM1(串行口1)進(jìn)行查詢通信706.6可編程并行接口芯片8255A8255的內(nèi)部結(jié)構(gòu)及引腳信號(hào)8255的工作方式8255的編程01十月20236.6可編程并行接口芯片8255A8255的內(nèi)部結(jié)構(gòu)及引腳信71一、8255的內(nèi)部結(jié)構(gòu)及引腳信號(hào)2023/10/1一、8255的內(nèi)部結(jié)構(gòu)及引腳信號(hào)2023/8/572引腳信號(hào)(1)與外設(shè)接口信號(hào)引腳PA7~PA0A口的8個(gè)I/O引腳PB7~PB0B口的8個(gè)I/O引腳PC7~PC0C口的8個(gè)I/O引腳。(2)與系統(tǒng)總線接口信號(hào)引腳D7~D0數(shù)據(jù)線/RD,/WR,/CSRESET高電平有效,有效時(shí)8255內(nèi)部寄存器清除,同時(shí)三個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸入端口。2023/10/1引腳信號(hào)(1)與外設(shè)接口信號(hào)引腳2023/8/5738255A的端口操作2023/10/18255A的端口操作2023/8/574二、8255的工作方式基本輸入輸出方式-方式0選通輸入輸出方式-方式1雙向輸入輸出方式-方式201十月2023二、8255的工作方式基本輸入輸出方式-方式005八月275基本輸入輸出方式-方式0方式0沒(méi)有規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號(hào)線。在此方式下,三個(gè)數(shù)據(jù)端口A、B和C中的任何一個(gè)端口都可由程序設(shè)定為8位的輸入口或輸出口。C端口的兩個(gè)半口(高4位和低4位)可獨(dú)立設(shè)為輸入或輸出端口。端口輸入具有緩沖功能;輸出具有鎖存功能。方式0下的各端口輸入或輸出有24=16種不同的組合。2023/10/1基本輸入輸出方式-方式0方式0沒(méi)有規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)76選通輸入輸出方式-方式1方式1規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號(hào)線。A口和B口可作為輸入或輸出端口使用,而此時(shí)C口的某些位與它們配合,作為控制或通信聯(lián)絡(luò)信號(hào),沒(méi)有使用的C口某些位還可單獨(dú)立定義為I/O口用。方式1下A和B端口的輸入和輸出具有不同的組態(tài)。內(nèi)部邏輯不同。下面分別介紹A口輸入、B口輸出、A口輸出和B口輸出不同情況下的內(nèi)部邏輯。2023/10/1選通輸入輸出方式-方式1方式1規(guī)定固定的用于應(yīng)答式的聯(lián)絡(luò)信號(hào)77方式1下的輸入組態(tài)A口輸入B口輸入2023/10/1方式1下的輸入組態(tài)A口輸入B口輸入2023/8/578方式1下的輸入工作波形2023/10/1方式1下的輸入工作波形2023/8/579方式1下的輸出組態(tài)A口輸出B口輸出2023/10/1方式1下的輸出組態(tài)A口輸出B口輸出2023/8/580方式1下的輸出工作波形2023/10/1方式1下的輸出工作波形2023/8/581雙向輸入輸出方式-方式2方式2是雙向的數(shù)據(jù)傳輸方式,僅限于A口,這時(shí)C端口配合其工作。2023/10/1雙向輸入輸出方式-方式2方式2是雙向的數(shù)據(jù)傳輸方式,僅限于A82三、8255編程對(duì)8255編程首先要寫入方式選擇控制字,然后再行輸入輸出操作。操作時(shí)可對(duì)端口C進(jìn)行置/復(fù)位操作。
因此:8255有兩個(gè)控制字是編程的關(guān)鍵所在。方式選擇控制字端口C置/復(fù)位控制字2023/10/1三、8255編程對(duì)8255編程首先要寫入方式選擇控制字,然后83方式選擇控制字—寫入控制口2023/10/1方式選擇控制字—寫入控制口2023/8/584例6.3【例6.3】編寫對(duì)8255的初始化程序片段,要求:使A口為方式0輸入,B口為方式0輸出,C口作為8位的輸出口使用。8255控制端口的地址為12BH。解:對(duì)照方式選擇控制字格式可得到控制字為:10010000B=90H,初始化程序片段:
MOVAL,90H ;方式選擇控制字
MOVDX,12BH ;由于端口號(hào)>256,用DX間接尋址
OUTDX, AL ;寫入控制寄存器2023/10/1例6.3【例6.3】編寫對(duì)8255的初始化程序片段,要求:85例6.4【例6.4】如果把A口設(shè)置為方式0輸入,B口設(shè)成方式1輸出,C口除了與B口方式1輸出配合的PC0到PC2外,其PC3設(shè)成輸入,C上半口(PC7~PC4)設(shè)為輸出。則對(duì)照控制字格式,得其方式選擇控制字為:10010101B=95H。解:假設(shè)8255的口地址為60H~63H,并知道8255的A0和A1分別與CPU總線的A0和A1相連,寫出對(duì)8255的初始化程序片段。對(duì)8255的初始化程序只需要兩條指令如下:
MOVAL, 95H ;方式選擇控制字
OUT63H,AL ;寫入控制寄存器2023/10/1例6.4【例6.4】如果把A口設(shè)置為方式0輸入,B口設(shè)成方86端口C置/復(fù)位控制字—寫入控制口2023/10/1端口C置/復(fù)位控制字—寫入控制口2023/8/587例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ù)位控制字寫入控制寄存器2023/10/1例6.5【例6.5】使A口為方式1輸入,且采用中斷傳送,B口88三、8255作為打印機(jī)接口實(shí)例2023/10/1三、8255作為打印機(jī)接口實(shí)例2023/8/589打印機(jī)接口的時(shí)序要求2023/10/1打印機(jī)接口的時(shí)序要求2023/8/590打印程序
MOV
AL, 0A8H ;方式選擇字(C上半口輸入PC4) MOVDX, 343H ;控制端口
OUTDX, AL ;方式選擇控制字寫入控制口
MOVCX, Counter ;打印字符個(gè)數(shù)裝入計(jì)數(shù)器
MOVBX, OFFSETPstrings;Counter,Pstrings已定義(P.255)LP1:MOVAL, [BX] MOVDX, 340H OUTDX, AL ;送一個(gè)字符到8255的A口
MOVDX, 342HLP2:IN
AL,DX ;讀取C口狀態(tài)(準(zhǔn)備檢查BUSY狀態(tài))
ANDAL, 00010000B ;屏蔽無(wú)關(guān)位,取BUSY JZLP2 ;等待接收新數(shù)據(jù) LP3:INAL,DX ;讀取C口狀態(tài)
ANDAL, 00010000B ;屏蔽無(wú)關(guān)位,取BUSY對(duì)應(yīng)的PC4 JNZLP3 ;BUSY=1等待,直到不忙
INCBX LOOPLP101十月2023打印程序 MOVAL, 0A8H ;方式選擇字916.7可編程定時(shí)/計(jì)數(shù)器8253(8254)三種方法:軟件定時(shí)、硬件定時(shí)、可編程硬件定時(shí)主要內(nèi)容:
8253/8254的內(nèi)部結(jié)構(gòu)及引腳信號(hào)8253/8254的工作方式8253/8254的編程8253最高工作頻率2.6MHz8254最高工作頻率為10MHz01十月20236.7可編程定時(shí)/計(jì)數(shù)器8253(8254)三種方法:軟件928253/8254主要功能1.用于計(jì)數(shù)當(dāng)用于計(jì)數(shù)時(shí),計(jì)數(shù)裝入初始值后,在GATE為高電平的情況下,可以用外部事件作為CLK脈沖對(duì)計(jì)數(shù)值進(jìn)行減1計(jì)數(shù),每來(lái)一個(gè)脈沖,計(jì)數(shù)器減1一次,當(dāng)計(jì)數(shù)值減到結(jié)束時(shí),由OUT端輸出一個(gè)信號(hào)。如果計(jì)數(shù)未結(jié)束,而外部沒(méi)有觸發(fā)的脈沖信號(hào),則可以通過(guò)讀取現(xiàn)行計(jì)數(shù)器的值來(lái)求出計(jì)數(shù)值。2.用于定時(shí)當(dāng)用于定時(shí)時(shí),計(jì)數(shù)器裝入初值后,在GATE為高電平情況下,由CLK脈沖觸發(fā)開始自動(dòng)計(jì)數(shù),當(dāng)減1計(jì)數(shù)結(jié)束時(shí),在OUT端發(fā)送計(jì)數(shù)結(jié)束信號(hào)。定時(shí)時(shí)間長(zhǎng)度就是計(jì)數(shù)初值與CLK時(shí)鐘周期的積。由此可見,定時(shí)和計(jì)數(shù)的實(shí)際是計(jì)數(shù),只是定時(shí)是在計(jì)數(shù)的基礎(chǔ)上再乘以時(shí)鐘周期。2023/10/18253/8254主要功能1.用于計(jì)數(shù)2023/8/5938253/8254內(nèi)部結(jié)構(gòu)2023/10/18253/8254內(nèi)部結(jié)構(gòu)2023/8/5948253端口及其操作2023/10/18253端口及其操作2023/8/5958253和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ā)生器01十月20238253和8254的工作方式方式0——中斷信號(hào)發(fā)生器0596方式0
中斷信號(hào)發(fā)生器2023/10/1方式0中斷信號(hào)發(fā)生器2023/8/597方式1
單穩(wěn)負(fù)脈沖信號(hào)發(fā)生器
2023/10/1方式1
單穩(wěn)負(fù)脈沖信號(hào)發(fā)生器2023/898方式2
速率信號(hào)發(fā)生器2023/10/1方式2
速率信號(hào)發(fā)生器2023/8/599方式3
方波信號(hào)發(fā)生器——偶數(shù)初值2023/10/1方式3
方波信號(hào)發(fā)生器——偶數(shù)初值2023/8/5100方式3奇數(shù)初值2023/10/1方式3奇數(shù)初值2023/8/5101方式4
軟件觸發(fā)的選通信號(hào)發(fā)生器2023/10/1方式4
軟件觸發(fā)的選通信號(hào)發(fā)生器2023/8/5102方式5
硬件觸發(fā)的選通信號(hào)發(fā)生器2023/10/1方式5
硬件觸發(fā)的選通信號(hào)發(fā)生器2023/8/51038253/8254的編程方法8253/8254控制字2023/10/18253/8254的編程方法8253/8254控制字20231048253/8254計(jì)數(shù)范圍二進(jìn)制計(jì)數(shù):0000H~FFFFH,即0-65535BCD碼計(jì)數(shù):0000~9999最小和最大計(jì)數(shù)值:
最大計(jì)數(shù)為0000,不是FFFFH或9999。
除方式2,3外,最小值都為1。2023/10/18253/8254計(jì)數(shù)范圍二進(jìn)制計(jì)數(shù):0000H~FFFFH1058253/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í)間和頻率的單位一致性。2023/10/18253/8254初始值計(jì)算假設(shè)已知8253相應(yīng)通道的CLK106
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 時(shí)尚購(gòu)物中心翻新合同模板
- 體育賽事推廣居間合同模板
- 企業(yè)資金增值存款居間合同
- 個(gè)體診所裝修合作協(xié)議
- 農(nóng)產(chǎn)品節(jié)假日配送服務(wù)合同
- 醫(yī)療器械運(yùn)輸合作協(xié)議模板
- 個(gè)人快遞包裹運(yùn)輸合同
- 辦公樓改造工程外包協(xié)議
- 地震科普館裝修發(fā)包合同
- 冷鏈物流司機(jī)合作協(xié)議
- 快速養(yǎng)雞技術(shù)培訓(xùn)課件
- 網(wǎng)紅夜市古風(fēng)主題市集策劃方案
- 2024年中國(guó)銀行股份有限公司招聘筆試參考題庫(kù)含答案解析
- 婦產(chǎn)超聲知識(shí)講座
- 【單元專項(xiàng)】人教PEP版五年級(jí)上冊(cè)英語(yǔ)-Unit 2 My week 閱讀(含答案)
- 高思學(xué)校競(jìng)賽數(shù)學(xué)課本五年級(jí)
- 終期預(yù)評(píng)估報(bào)告
- 膠東國(guó)際機(jī)場(chǎng)
- 關(guān)鍵時(shí)刻的決策力
- 上海交通大學(xué)電子信息與電氣工學(xué)學(xué)院本科生課表
- 水工建筑物課程設(shè)計(jì)任務(wù)和指導(dǎo)書
評(píng)論
0/150
提交評(píng)論