版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
關(guān)于串并行通信和接口技術(shù)第一頁,共一百一十八頁,編輯于2023年,星期日2計(jì)算機(jī)與外設(shè)的通信方式1、并行方式2、串行方式數(shù)據(jù)各位通過信號(hào)線同時(shí)傳輸數(shù)據(jù)一位一位的通過同一信號(hào)線傳輸用的傳輸線多用的傳輸線少速率高速率低適于近距離傳輸適于遠(yuǎn)距離傳輸目錄6.1概述第二頁,共一百一十八頁,編輯于2023年,星期日36.2串行接口和串行通信一、串行接口1、適用場合:外設(shè)和計(jì)算機(jī)按串行方式進(jìn)行通信。目錄第三頁,共一百一十八頁,編輯于2023年,星期日可編程串行接口的典型結(jié)構(gòu)保存?zhèn)鬏敔顟B(tài)CPU給接口的控制信息保存CPU送外設(shè)的數(shù)據(jù)保存外設(shè)送CPU的數(shù)據(jù)第四頁,共一百一十八頁,編輯于2023年,星期日5二、串行通信數(shù)據(jù)傳送方式(1)單工方式發(fā)送器接收器只允許數(shù)據(jù)按一個(gè)固定方向傳輸。1、按數(shù)據(jù)傳輸時(shí)發(fā)送過程和接收過程的關(guān)系劃分(2)半雙工方式輸入輸出使用同一通路,需分時(shí)傳輸。發(fā)送器/接收器A發(fā)送器/接收器B第五頁,共一百一十八頁,編輯于2023年,星期日6(3)全雙工方式接收和發(fā)送采用不同的通路,A、B可同時(shí)發(fā)送和接收,兩方資源完全獨(dú)立。發(fā)送器/接收器A發(fā)送器/接收器B(1)同步通信1)概念:將要傳輸?shù)臄?shù)據(jù)組成一信息塊(幀),每信息塊開頭加上同步字符,在約定的波特率下,使數(shù)據(jù)一個(gè)接一個(gè)的從發(fā)送端到接收端。2、按時(shí)鐘對通信過程的定時(shí)方式劃分第六頁,共一百一十八頁,編輯于2023年,星期日2)基本特點(diǎn)(2)數(shù)據(jù)流中字符與字符間和字符內(nèi)的各位間都同步;(3)發(fā)送端和接收端須用同一時(shí)鐘信號(hào)同步。(1)以一個(gè)數(shù)據(jù)塊(幀)為傳輸單位,每塊開頭用同步字符指示。~~~~同步字符數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)校驗(yàn)字符第七頁,共一百一十八頁,編輯于2023年,星期日3)優(yōu)點(diǎn)4)缺點(diǎn):硬件電路復(fù)雜。(2)適于傳大量的數(shù)據(jù)(1)傳送效率高同步要求每個(gè)數(shù)據(jù)內(nèi)各位都按預(yù)定頻率傳送,數(shù)據(jù)間不允許有間隙,若有用同步字符填充,收發(fā)時(shí)鐘嚴(yán)格同步。第八頁,共一百一十八頁,編輯于2023年,星期日9(2)異步通信1)概念
將要傳輸?shù)臄?shù)據(jù)分成小段,發(fā)送端在約定的波特率下發(fā)送數(shù)據(jù),接收端按約定的波特率接收,不需發(fā)同步信號(hào)。2)基本特點(diǎn)(2)串行異步通信以字符為單位進(jìn)行傳輸,其通信協(xié)議是起止
式異步通信協(xié)議。(1)字符之間異步,字符內(nèi)各位基本同步。二、串行通信數(shù)據(jù)傳送方式第九頁,共一百一十八頁,編輯于2023年,星期日10標(biāo)準(zhǔn)(起止式)異步通信協(xié)議格式起始位——每個(gè)字符開始傳送的標(biāo)志,起始位采用邏輯0電平。起始位校驗(yàn)位停止位空閑位數(shù)據(jù)位低位高位字符0/10/10/10/110111…數(shù)據(jù)位——數(shù)據(jù)位緊跟著起始位傳送。由5~8個(gè)二進(jìn)制位組成,低位先傳送。校驗(yàn)位——用于校驗(yàn)是否傳送正確;可選擇奇檢驗(yàn)、偶校驗(yàn)或不傳送校驗(yàn)位。停止位—表示該字符傳送結(jié)束。停止位采用邏輯1電平,可選擇1、1.5或2位。空閑位——傳送字符之間的邏輯1電平,表示沒有進(jìn)行傳送。標(biāo)識(shí)態(tài)第十頁,共一百一十八頁,編輯于2023年,星期日3)優(yōu)點(diǎn)4)缺點(diǎn)對時(shí)鐘同步要求不嚴(yán)格。接收到起始位后,只要在一個(gè)字符傳輸時(shí)間內(nèi)收發(fā)器保持同步就能正確接收。傳送效率低??刂菩畔⒅辽僬伎傂畔⒌?0%。注:通信時(shí),收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程),才能解決傳送速率、信息格式、位同步、字符同步、數(shù)據(jù)校驗(yàn)等問題。第十一頁,共一百一十八頁,編輯于2023年,星期日12三、串行通信的傳輸率1、概念1)傳輸率:每秒鐘傳輸?shù)亩M(jìn)制數(shù)據(jù)的位數(shù),又稱波特率。2)發(fā)送時(shí)鐘:異步方式通信時(shí),發(fā)送端需用時(shí)鐘決定每一位
對應(yīng)的時(shí)間長度,該時(shí)鐘稱發(fā)送時(shí)鐘。國際上規(guī)定的標(biāo)準(zhǔn)波特率:110、300、600、1200、1800、
2400、
4800、9600、19200。4)波特率因子:接收時(shí)鐘或發(fā)送時(shí)鐘頻率與位傳輸率的比。注:接收時(shí)鐘或發(fā)送時(shí)鐘頻率可以是位傳輸率的16、32或64倍。3)接收時(shí)鐘:異步方式通信時(shí),接收端需用時(shí)鐘測定每一位
的時(shí)間長度,該時(shí)鐘稱接收時(shí)鐘。第十二頁,共一百一十八頁,編輯于2023年,星期日例1、在一串行通信系統(tǒng)中,傳送速率為960字符每秒,每個(gè)字符是10位,則波特率為多少?960×10=9600bit/s(bps)2、例例2、異步傳輸過程:設(shè)每個(gè)字符對應(yīng)1個(gè)起始位、7個(gè)信息位、1個(gè)奇偶校驗(yàn)位和1個(gè)停止位,如果波特率為1200bps,那么,每秒鐘能傳輸?shù)淖畲笞址麛?shù)為多少個(gè)?
1200/(1+7+1+1)=120個(gè)。
第十三頁,共一百一十八頁,編輯于2023年,星期日例3、同步傳輸:設(shè)每個(gè)字符包含7個(gè)信息位,波特率為1200bps,用4個(gè)同步字符作為信息幀頭部,但不用奇偶校驗(yàn),每個(gè)信息幀包含100個(gè)字符,每秒鐘能傳輸?shù)淖址麛?shù)最大可達(dá)到多少個(gè)?傳輸100個(gè)字符所用的時(shí)間:7(100+4)/1200=0.6067s。則每秒鐘能傳輸?shù)淖址麛?shù)可達(dá)到:100/0.6067=165個(gè)。結(jié)論:在同樣的傳輸率下,同步傳輸時(shí)實(shí)際字符傳輸率要比
異步傳輸時(shí)高。
第十四頁,共一百一十八頁,編輯于2023年,星期日15四、串行接口標(biāo)準(zhǔn)RS-232CRS-232C標(biāo)準(zhǔn)(協(xié)議)是美國EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000bit/s范圍內(nèi)的通信?,F(xiàn)在的臺(tái)式PC機(jī)一般有兩個(gè)RS-232串行口COM1和COM2,通常COM1使用的是9針D形連接器,而COM2使用的是25針連接器。第十五頁,共一百一十八頁,編輯于2023年,星期日161、RS-232C的電氣特性注:負(fù)邏輯規(guī)定電平信號(hào)電平標(biāo)準(zhǔn)低電平(邏輯0):+5V~+15V高電平(邏輯1):-5V~-15V實(shí)際常用±12V或±15V2、RS-232C標(biāo)準(zhǔn)與TTL標(biāo)準(zhǔn)之間的轉(zhuǎn)換標(biāo)準(zhǔn)TTL電平高電平(邏輯1):+2.4V~+5V低電平(邏輯0):0V~0.4V接口MC1489MC1488RS-232-C輸入RS-232-C輸出TTL輸入TTL輸出第十六頁,共一百一十八頁,編輯于2023年,星期日176.3可編程串行通信接口8251A一、8251A的基本性能
1、通過編程,可工作于同步方式和異步方式。
同步方式可用5~8位代表字符;可外部同步,也可內(nèi)部同步;可自動(dòng)插入同步字符;允許增加奇偶校驗(yàn)位進(jìn)行校驗(yàn);波特率為0~64Kbps。目錄第十七頁,共一百一十八頁,編輯于2023年,星期日18一、8251A的基本性能異步方式5~8位/字符;用1位作為奇偶校驗(yàn);能選擇1、1.5、2位停止位;可檢查假啟動(dòng);可產(chǎn)生中止字符;能自動(dòng)檢測和處理中止字符;波特率可為0~19.2Kbps;時(shí)鐘頻率為波特率的1、16、64倍。第十八頁,共一百一十八頁,編輯于2023年,星期日19一、8251A的基本性能2、完全雙工工作,具有雙緩沖的發(fā)送器和接收器。4、輸入輸出電路為TTL電平。
3、具有奇偶校驗(yàn)、溢出和幀錯(cuò)誤檢測等功能電路。
注:8251A接口電平與EIARS-232-C所要求的電平不同,所以互相連接時(shí),必須增加驅(qū)動(dòng)級(jí)和接收電路。第十九頁,共一百一十八頁,編輯于2023年,星期日20二、8251A的基本原理
1、8251A編程結(jié)構(gòu)第二十頁,共一百一十八頁,編輯于2023年,星期日212、8251A的功能結(jié)構(gòu)第二十一頁,共一百一十八頁,編輯于2023年,星期日雙向三態(tài)的8位數(shù)據(jù)緩沖器。與系統(tǒng)數(shù)據(jù)總線相連。第二十二頁,共一百一十八頁,編輯于2023年,星期日配合數(shù)據(jù)總線緩沖器工作,接收來自系統(tǒng)控制總線的信號(hào)。1):片選信號(hào)。2):控制/數(shù)據(jù)信號(hào)。3):寫控制信號(hào)。4):讀控制信號(hào)。5)CLK:內(nèi)部定時(shí)信號(hào)。6)RESET:復(fù)位信號(hào)。第二十三頁,共一百一十八頁,編輯于2023年,星期日提供了一組通用控制信號(hào),使8251可直接與調(diào)制解調(diào)器連接。第二十四頁,共一百一十八頁,編輯于2023年,星期日接收串行數(shù)據(jù),并進(jìn)行串并轉(zhuǎn)換。配合接收緩沖器工作,管理有關(guān)接收的所有功能。1)異步方式,芯片復(fù)位后,先檢查輸入信號(hào)中有效的“1”,
檢測到后,搜索有效的低電平來確定起始位;2)消除假啟動(dòng)干擾;3)對接收到的信號(hào)奇偶校驗(yàn),根據(jù)校驗(yàn)結(jié)果設(shè)置狀態(tài)位;4)異步方式下,檢測停止位,根據(jù)檢測結(jié)果設(shè)置狀態(tài)位。第二十五頁,共一百一十八頁,編輯于2023年,星期日配合發(fā)送緩沖器工作,控制和管理所有和發(fā)送有關(guān)的功能。(1)異步方式下,為數(shù)據(jù)加上起始位、校驗(yàn)位和停止位;(2)同步方式下,插入同步字符,在數(shù)據(jù)中插入校驗(yàn)位。
把并行數(shù)據(jù)加上相應(yīng)的控制信息,轉(zhuǎn)換成串行數(shù)據(jù)輸出。第二十六頁,共一百一十八頁,編輯于2023年,星期日273、8251A的發(fā)送和接收(1)檢測起始位1)異步接收方式設(shè)數(shù)據(jù)接收時(shí)鐘頻率是數(shù)據(jù)傳輸頻率的16倍。起始檢測確定已檢測到起始位起始位RXCRXDT16T8T備注:無數(shù)據(jù)傳送時(shí),RxD線上是高電平。如在RxD線上檢測到低電平,啟動(dòng)接收控制電路中的內(nèi)部計(jì)數(shù)器計(jì)數(shù),計(jì)數(shù)脈沖為8251A接收器時(shí)鐘脈沖。當(dāng)計(jì)數(shù)進(jìn)行到相當(dāng)于半個(gè)數(shù)位傳輸時(shí)間時(shí)(如時(shí)鐘脈沖為波特率的16倍時(shí),則計(jì)到第八個(gè)脈沖相當(dāng)與半個(gè)數(shù)位傳輸時(shí)間),再對RxD線檢測,如仍為低,則確認(rèn)為一有效起始位。如8251A在檢測起始位時(shí),半個(gè)數(shù)位傳輸時(shí)間后,沒有再檢測到低電平,而是測到高電平,8251A就把剛才檢測到的信號(hào)看成干擾脈沖,再重新開始檢測RxD線上是否出現(xiàn)低電平。第二十七頁,共一百一十八頁,編輯于2023年,星期日采樣數(shù)據(jù)起始檢測確定已檢測到起始位起始位RXCRXDT16T16T8T每隔一字符傳輸時(shí)間,對RxD進(jìn)行一次采樣,數(shù)據(jù)送移位寄存器移位,并進(jìn)行奇偶校驗(yàn)和去掉停止位,得到并行數(shù)據(jù)。(2)8251A進(jìn)行常規(guī)采樣并進(jìn)行字符裝配(3)通知CPU接收數(shù)據(jù)并行數(shù)據(jù)經(jīng)過內(nèi)部數(shù)據(jù)總線送接收數(shù)據(jù)緩沖器,并置RxRDY有效,通知CPU已收到一個(gè)數(shù)據(jù),可以取用。第二十八頁,共一百一十八頁,編輯于2023年,星期日298251A異步接收數(shù)據(jù)傳輸格式注:對于少于8位的數(shù)據(jù),8251A將高位補(bǔ)0。
第二十九頁,共一百一十八頁,編輯于2023年,星期日302)8251A異步發(fā)送方式(2)8251A由TxD線把串行數(shù)據(jù)送出。8251A從CPU接收到一個(gè)數(shù)據(jù),移位形成串行數(shù)據(jù),再加上起始位、奇偶校驗(yàn)位以及停止位,由TxD把數(shù)據(jù)送出。注:數(shù)據(jù)及起始位、校驗(yàn)位、停止位總是在發(fā)送時(shí)鐘TxC的下降沿從8251A發(fā)出,數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿榘l(fā)送時(shí)鐘頻率的1、1/16或者1/64,具體決定于編程時(shí)給出的波特率因子。(1)程序置TxEN(允許發(fā)送)有效。
檢測到外設(shè)送來的CTS(請求發(fā)送信號(hào)的響應(yīng)信號(hào))有效,開始發(fā)送。
第三十頁,共一百一十八頁,編輯于2023年,星期日318251A異步發(fā)送數(shù)據(jù)傳輸格式注:對于少于8位的數(shù)據(jù),8251A將高位補(bǔ)0。
第三十一頁,共一百一十八頁,編輯于2023年,星期日323)8251A的同步接收方式單同步字符8251檢測RxD線,當(dāng)RxD線出現(xiàn)一數(shù)據(jù)位時(shí),接收送移位寄存器移位,并與同步字符寄存器的內(nèi)容比較,如不等,繼續(xù)接收,比較。相等時(shí),8251A的SYNDET引腳為高電平,表示同步已經(jīng)實(shí)現(xiàn)。(1)搜索同步字符雙同步字符檢測到第一個(gè)同步字符后,再繼續(xù)檢測此后輸入的移位寄存器的內(nèi)容是否與第二個(gè)同步字符寄存器的內(nèi)容相同,不同重新比較第一個(gè)同步字符;相同,則認(rèn)為同步已經(jīng)實(shí)現(xiàn)。內(nèi)同步(a)第三十二頁,共一百一十八頁,編輯于2023年,星期日(b)外同步
通過在同步輸入端SYNDET加一高電位實(shí)現(xiàn)同步。當(dāng)SYNDET端出現(xiàn)一個(gè)高電平,并且維持一時(shí)鐘接收周期,8251A認(rèn)為已經(jīng)完成同步。(2)數(shù)據(jù)的同步傳輸
接收器利用時(shí)鐘信號(hào)對RxD采樣,把收到的數(shù)據(jù)送移位寄存器。當(dāng)收到的數(shù)據(jù)位達(dá)到規(guī)定的一個(gè)字符位數(shù)時(shí),將移位寄存器的內(nèi)容送輸入緩沖寄存器,且發(fā)出RxRDY信號(hào),表示收到一數(shù)據(jù)。
第三十三頁,共一百一十八頁,編輯于2023年,星期日348251A同步接收數(shù)據(jù)傳輸格式第三十四頁,共一百一十八頁,編輯于2023年,星期日354)8251A的同步發(fā)送方式(2)發(fā)送同步字符
根據(jù)編程要求,發(fā)送器先發(fā)送一個(gè)或兩個(gè)同步字符。注:如發(fā)送數(shù)據(jù)時(shí),CPU來不及提供新數(shù)據(jù),8251A發(fā)送器會(huì)自動(dòng)插入同步字符,由TxD送出。(3)發(fā)送數(shù)據(jù)塊
發(fā)送數(shù)據(jù)塊時(shí),發(fā)送器根據(jù)要求對數(shù)據(jù)塊中的數(shù)據(jù)加上奇偶校驗(yàn)位或不加。(1)程序置TxEN(允許發(fā)送)有效
檢測到外設(shè)送來的CTS(請求發(fā)送信號(hào)的響應(yīng)信號(hào))有效,開始發(fā)送。
第三十五頁,共一百一十八頁,編輯于2023年,星期日368251A同步發(fā)送數(shù)據(jù)傳輸格式第三十六頁,共一百一十八頁,編輯于2023年,星期日37三、8251A的對外連接信號(hào)8251A對外連接信號(hào)8251A與CPU之間的信號(hào)
8251A與外設(shè)之間的信號(hào)。
1、8251A與CPU之間的信號(hào)
1)數(shù)據(jù)信號(hào)D7~D0:雙向數(shù)據(jù)線,與系統(tǒng)總線相連,傳輸數(shù)據(jù)、
編程命令及狀態(tài)信息。
2)片選信號(hào)CS:CPU的地址信號(hào)譯碼后得到。
CS=0:可以對8251A進(jìn)行讀寫;
CS=1:數(shù)據(jù)總線處于高阻態(tài)。第三十七頁,共一百一十八頁,編輯于2023年,星期日381、8251A與CPU之間的信號(hào)3)讀/寫控制信號(hào)(1)RD:為低,表示CPU正從8251A讀數(shù)據(jù)或狀態(tài)信息。(2)WR:為低,表示CPU正往8251A寫數(shù)據(jù)或控制字。(3)C/D:控制/數(shù)據(jù)信號(hào)CPU往8251寫控制命令011CPU從8251讀狀態(tài)信息101CPU中數(shù)據(jù)82510108251中數(shù)據(jù)CPU100操作WRRDC/D第三十八頁,共一百一十八頁,編輯于2023年,星期日391、8251A與CPU之間的信號(hào)4)收發(fā)聯(lián)絡(luò)信號(hào)(1)TxRDY:發(fā)送器準(zhǔn)備好。通知CPU8251A已經(jīng)準(zhǔn)備好從CPU接收字符。CPU得到TxRDY有效后,往8251A寫數(shù)據(jù),8251A得到數(shù)據(jù)后,使TxRDY變?yōu)榈汀.?dāng)CTS為低,TxEN為高,且發(fā)送緩沖器空時(shí),TxRDY有效,可作為中斷請求信號(hào),也可作為查詢方式的聯(lián)絡(luò)信號(hào)。第三十九頁,共一百一十八頁,編輯于2023年,星期日40(2)TxE:發(fā)送器空信號(hào)。8251A無字符發(fā)送時(shí),TxE為高,實(shí)際上指示了一次發(fā)送動(dòng)作的結(jié)束。當(dāng)8251A收到CPU發(fā)來的字符時(shí),TxE變?yōu)榈?。注:在同步發(fā)送時(shí),如CPU沒及時(shí)往8251A送字符,TxE會(huì)變成高電平,發(fā)送器在輸出線上插入同步字符,以填補(bǔ)空隙。1、8251A與CPU之間的信號(hào)(3)RxRDY:接收器準(zhǔn)備好。表示8251A已經(jīng)從外設(shè)接收到一個(gè)數(shù)據(jù),等待CPU來讀取。CPU從8251A讀取數(shù)據(jù)后,RxRDY變?yōu)榈碗娖?。可作為中斷請求信?hào),也可作為查詢方式的聯(lián)絡(luò)信號(hào)。第四十頁,共一百一十八頁,編輯于2023年,星期日(4)SYNDET:同步檢測信號(hào),僅用于同步方式。8251A內(nèi)同步:輸出信號(hào)。
單同步字符:
檢測到同步字符,變?yōu)楦唠娖剑?/p>
雙同步字符:
檢測到第二個(gè)同步字符的最后一位后,在該位的中間變?yōu)楦唠娖?,表示已達(dá)到同步。8251A外同步:輸入信號(hào)。如果從SYNDET端輸入一個(gè)正跳變的信號(hào),并且維持一時(shí)鐘接收周期,8251A認(rèn)為已經(jīng)完成同步,8251A在RXC的下一個(gè)下降沿開始裝配字符。注:復(fù)位:SYNDET變?yōu)榈碗娖?;?nèi)同步:CPU執(zhí)行一次讀操作后,變?yōu)榈碗娖?;外同步:其電平狀況決定于外部信號(hào)。第四十一頁,共一百一十八頁,編輯于2023年,星期日422、8251A與外設(shè)之間的信號(hào)1)數(shù)據(jù)信號(hào)(1)TxD:發(fā)送器數(shù)據(jù)信號(hào)端。CPU送往8251A的并行數(shù)據(jù)被轉(zhuǎn)化為串行數(shù)據(jù)后,通過TxD端發(fā)送給外設(shè)。(2)RxD:接收器數(shù)據(jù)信號(hào)端。接收外設(shè)送來的串行數(shù)據(jù),經(jīng)轉(zhuǎn)換為并行數(shù)據(jù)后由CPU接收。第四十二頁,共一百一十八頁,編輯于2023年,星期日432)收發(fā)聯(lián)絡(luò)信號(hào)(1)DTR:數(shù)據(jù)終端準(zhǔn)備好信號(hào)。(2)DSR:數(shù)據(jù)設(shè)備準(zhǔn)備好。由8251A送往外設(shè),CPU通過命令(使命令指令的bit1置1)可使DTR變?yōu)橛行щ娖?,通知外設(shè)CPU已經(jīng)準(zhǔn)備就緒。外設(shè)送往8251A的信號(hào),表外設(shè)已準(zhǔn)備好。當(dāng)DSR端出現(xiàn)低電平時(shí),會(huì)在8251A的狀態(tài)寄存器第七位上反映出來,CPU通過狀態(tài)寄存器實(shí)現(xiàn)對DSR信號(hào)的檢測。2、8251A與外設(shè)之間的信號(hào)第四十三頁,共一百一十八頁,編輯于2023年,星期日44(3)RTS:請求發(fā)送。8251A送給外設(shè)的信號(hào)。CPU通過編程命令使RTS變?yōu)橛行щ娖剑酝ㄖ庠O(shè),CPU請求發(fā)送數(shù)據(jù)。(4)CTS:準(zhǔn)許發(fā)送。外設(shè)送給8251A的信號(hào),外設(shè)對RTS信號(hào)的應(yīng)答。當(dāng)該信號(hào)有效時(shí),8251A才能發(fā)送數(shù)據(jù)。2、8251A與外設(shè)之間的信號(hào)備注:為什么提供四個(gè)聯(lián)絡(luò)信號(hào)?/DTR和/RTS是CPU通過8251A送往外設(shè)的,CPU通過軟件對控制寄存器中的DTR位和RTS位置1就可以使8251A的/DTR和/RTS引腳輸出有效電平,所以/DTR和/RTS是CPU對外設(shè)的控制信號(hào)。/DSR和/CTS是外設(shè)通過8251A傳遞給CPU的狀態(tài)信號(hào)。當(dāng)外設(shè)和/DSR端相連時(shí),往此引腳送一低電平,就會(huì)影響8251A狀態(tài)寄存器的DSR位,CPU可通過軟件對DSR位進(jìn)行檢測。/CTS端電平的高低會(huì)影響TxRDY端的電平,TxRDY是8251A送給CPU的狀態(tài)信號(hào)。使用時(shí)/CTS必須為低,其它三個(gè)信號(hào)可以懸空不用。即使CPU和外設(shè)之間不需傳遞任何聯(lián)絡(luò)信號(hào),也要將/CTS端接地。因?yàn)橹挥?CTS為低,才能使TxRDY為高,CPU才能往8251A發(fā)送數(shù)據(jù)。如果8251A僅工作在接收狀態(tài),/CTS也可懸空。
第四十四頁,共一百一十八頁,編輯于2023年,星期日453、其它信號(hào)1)時(shí)鐘信號(hào)(1)CLK:產(chǎn)生8251A內(nèi)部定時(shí)信號(hào)。(2)TxC:發(fā)送時(shí)鐘??刂瓢l(fā)送字符的速率。
同步傳送時(shí),TxC頻率等于字符傳輸?shù)牟ㄌ芈?;異步傳送時(shí),TxC頻率是字符波特率的1、16或64倍。(3)RxC:接收時(shí)鐘??刂平邮兆址乃俾?。
同步傳送時(shí),RxC頻率等于字符傳輸?shù)牟ㄌ芈剩?/p>
異步傳送時(shí),RxC頻率是字符波特率的1、16或64倍。2)電源信號(hào)(1)Vcc:+5V(2)GND:地線。第四十五頁,共一百一十八頁,編輯于2023年,星期日46四、8251A的編程1、8位接口芯片和16位數(shù)據(jù)總線的連接問題
解決方法硬件上,將總線的A1與芯片的C/D相連;軟件上,用連續(xù)的偶地址代替奇偶地址。CSC/DA1A0系統(tǒng)高位地址線8251A譯碼器第四十六頁,共一百一十八頁,編輯于2023年,星期日472、8251A的初始化1)8251A初始化的約定(1)芯片復(fù)位后,第一次用奇地址端口寫入的值作為方式字進(jìn)入方式寄存器;(2)如果方式字中規(guī)定8251A工作在同步方式,CPU接著往奇地址輸出的1或2個(gè)字節(jié)就是同步字符,寫入同步寄存器。(3)隨后,只要不是復(fù)位命令,不管同步還是異步,CPU用奇地址端口寫入的值作為控制字送控制寄存器,用偶地址端口寫入的值作為數(shù)據(jù)送數(shù)據(jù)輸出緩沖寄存器。
第四十七頁,共一百一十八頁,編輯于2023年,星期日
2)8251A的初始化流程第四十八頁,共一百一十八頁,編輯于2023年,星期日493、8251A模式寄存器格式1)異步方式下模式寄存器格式D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個(gè)數(shù):00:無意義01:1位10:1位半11:2位
奇偶校驗(yàn):×0:無校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)
數(shù)據(jù)位個(gè)數(shù):00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=64時(shí)鐘頻率=波特率×波特率因子
例如:方式指令D1D0=11,接收數(shù)據(jù)的波特率為1200bps。接收時(shí)鐘RxC的頻率=?RxC的頻率=1200×64=76.8KHz第四十九頁,共一百一十八頁,編輯于2023年,星期日2)同步方式下模式寄存器格式D7
D6
D5
D4
D3
D2
D1
D0
SCSESDEPPENL2
L1
00同步字符數(shù):0:2個(gè)1:1個(gè)
同步方式:0:內(nèi)同步1:外同步
奇偶校驗(yàn):×0:無校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)
數(shù)據(jù)位個(gè)數(shù):00:5位01:6位10:7位11:8位
同步方式標(biāo)志
同步方式波特率=時(shí)鐘頻率
第五十頁,共一百一十八頁,編輯于2023年,星期日514、控制寄存器格式注:D7=1,在內(nèi)同步方式中,8251A開始搜索同步字符。發(fā)送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復(fù)位錯(cuò)誤標(biāo)志。1:使PE、OE、FE復(fù)位(清除出錯(cuò)指示位)
內(nèi)部復(fù)位。1:使8251A復(fù)位,返回方式指令發(fā)送空白字符。1:強(qiáng)迫TxD為0,發(fā)送空白字符
請求發(fā)送。1:強(qiáng)迫RTS為0數(shù)據(jù)終端準(zhǔn)備好。1:強(qiáng)迫DTR為0搜索同步字符。1:啟動(dòng)搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
第五十一頁,共一百一十八頁,編輯于2023年,星期日5、狀態(tài)寄存器格式2)D1=1,接口中已收到一個(gè)數(shù)據(jù),可由CPU來讀取。
當(dāng)CPU讀走一個(gè)字符后,該位自動(dòng)清0。
3)D2=1,表示發(fā)送器剛發(fā)送一個(gè)字符,現(xiàn)為空,等待CPU發(fā)
下一個(gè)。注:1)當(dāng)CPU往8251A寫入一個(gè)字符后,D0位自動(dòng)清0。
引腳TxRDY為1的條件:數(shù)據(jù)緩沖器空、CTS=0、TxEN=1第五十二頁,共一百一十八頁,編輯于2023年,星期日53五、8251A應(yīng)用舉例例1、異步方式下初始化編程編寫8251A的初始化程序,使之工作于異步模式,1個(gè)偶校驗(yàn)位,2個(gè)停止位,數(shù)據(jù)位7位,波特率因子16;清除出錯(cuò)標(biāo)志,請求信號(hào)有效,使發(fā)送、接收啟動(dòng),CPU準(zhǔn)備就緒。8251A端口地址:50H,52H
第五十三頁,共一百一十八頁,編輯于2023年,星期日D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個(gè)數(shù):00:無意義01:1位10:1位半11:2位
奇偶校驗(yàn):×0:無校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)
數(shù)據(jù)位個(gè)數(shù):00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=6410101111解:1)確定8251A的模式字
異步模式,1個(gè)偶校驗(yàn)位,2個(gè)停止位,數(shù)據(jù)位7位,波特率因子16。第五十四頁,共一百一十八頁,編輯于2023年,星期日2)確定8251A的控制字:清除出錯(cuò)標(biāo)志,請求信號(hào)有效,使發(fā)送、接收啟動(dòng),CPU準(zhǔn)備就緒。發(fā)送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復(fù)位錯(cuò)誤標(biāo)志。1:使PE、OE、FE復(fù)位(清除出錯(cuò)指示位)
內(nèi)部復(fù)位。1:使8251復(fù)位,返回方式指令發(fā)送空白字符1:強(qiáng)迫TxD為0,發(fā)送空白字符
請求發(fā)送。1:強(qiáng)迫RTS為0數(shù)據(jù)終端準(zhǔn)備好。1:強(qiáng)迫DTR為0搜索同步字符1:啟動(dòng)搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
00110111MOVAL,0FAH;11111010BOUT52H,AL;設(shè)置模式字MOVAL,37H;00110111BOUT52H,AL;設(shè)置控制字第五十五頁,共一百一十八頁,編輯于2023年,星期日56例2、同步方式下初始化編程編寫8251A的初始化程序,使之工作于同步方式,同步字符1個(gè),內(nèi)同步,數(shù)據(jù)位7位,偶校驗(yàn)。一個(gè)同步字符為2AH。搜索同步字符,復(fù)位出錯(cuò)標(biāo)志,啟動(dòng)接收器和發(fā)送器,CPU準(zhǔn)備好發(fā)送,請求信號(hào)有效。8251A端口地址:50H,52H。MOVAL,0B8H;10111000BOUT52H,AL;寫方式字MOVAL,2AHOUT52H,AL;寫同步字符MOVAL,0B7H;10110111BOUT52H,AL;寫控制字第五十六頁,共一百一十八頁,編輯于2023年,星期日57例3、通過檢測狀態(tài)字實(shí)現(xiàn)數(shù)據(jù)接收功能編程實(shí)現(xiàn)CPU接收80個(gè)字符,字符輸入后放在BUFFER所指的內(nèi)存緩沖區(qū)。8251A工作于異步方式,波特率因子為16,7個(gè)數(shù)據(jù)位,偶校驗(yàn),2個(gè)停止位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;設(shè)置模式字MOVAL,35H;00110101BOUT52H,AL;設(shè)置控制字MOVDI,0;變址寄存器初始化MOVCX,80;計(jì)數(shù)器初始化第五十七頁,共一百一十八頁,編輯于2023年,星期日BEGIN:INAL,52H TESTAL,02H JZBEGIN ;讀狀態(tài)字并測試,RXRDY=0轉(zhuǎn)INAL,50H;讀取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;傳輸字符INCDI ;修改緩沖區(qū)指針I(yè)NAL,52H ;讀取狀態(tài)字TESTAL,38H ;測試有無錯(cuò)誤JNZERROR LOOPBEGIN ;如沒有錯(cuò),則接收下1個(gè)字符JMPEXIT ;如滿80個(gè)字符,則結(jié)束ERROR:CALLERR_OUT;調(diào)用出錯(cuò)處理程序EXIT:…第五十八頁,共一百一十八頁,編輯于2023年,星期日59例4、8251A作為CRT接口的例子
8251A工作于異步模式,波特率因子為16,8位數(shù)據(jù),1位停止位,無校驗(yàn)位。8253計(jì)數(shù)器2輸出方波信號(hào)作為8251A的接收時(shí)鐘TxC和發(fā)送時(shí)鐘RxC,編程實(shí)現(xiàn)往CRT輸出一個(gè)字符,要輸出的字符事先放在堆棧中。
8251A端口地址:00D8H,00DAH。第五十九頁,共一百一十八頁,編輯于2023年,星期日第六十頁,共一百一十八頁,編輯于2023年,星期日8251A的初始化程序段:INIT:MOVAL,00H;AL清零MOVCX,0003OUT1:MOVDX,00DAHOUTDX,ALLOOPOUT1;往控制端口送3個(gè)0MOVAL,40HOUTDX,AL;送40H復(fù)位MOVAL,4EH;01001110OUTDX,AL;設(shè)模式字MOVAL,27H;00100111B
OUTDX,AL
;設(shè)命令字啟動(dòng)
. . .注:8251A的復(fù)位約定:
往奇地址端口先送3個(gè)00H,再送一個(gè)40H。第六十一頁,共一百一十八頁,編輯于2023年,星期日往CRT輸出一個(gè)字符的程序段:CHAROUT:MOVDX,00DAHSTATE:INAL,DX ;輸入狀態(tài)字 TESTAL,01 JZSTATE ;不斷測試狀態(tài)位,TXRDY=0轉(zhuǎn)MOVDX,00D8H;數(shù)據(jù)端口地址送DXPOPAX ;AX中為要輸出的字符OUTDX,AL;往端口中輸出一個(gè)字符第六十二頁,共一百一十八頁,編輯于2023年,星期日8251A的初始化程序段:INIT:XORAX,AX;AX清零MOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1;往控制端口送3個(gè)0MOVAL,40HCALLKKK ;送40H復(fù)位MOVAL,4EH;01001110CALLKKK ;設(shè)模式字MOVAL,27H;00100111B
CALL KKK ;設(shè)命令字啟動(dòng)
. . .KKK:OUTDX,AL;數(shù)據(jù)輸出
PUSHCXMOVCX,0002ABC:LOOPABC;等待輸出動(dòng)作完成
POPCXRET第六十三頁,共一百一十八頁,編輯于2023年,星期日64習(xí)題1、串行通信的類型有哪幾種?簡述各自的特點(diǎn)。2、什么是波特率因子?什么是波特率?設(shè)波特率因子為64,波特率為1200bps,則時(shí)鐘頻率為多少?3、寫出標(biāo)準(zhǔn)異步通信數(shù)據(jù)格式。4、對8251A編程時(shí),必須遵守哪些約定?5、利用狀態(tài)字進(jìn)行檢測,異步發(fā)送256個(gè)數(shù)據(jù)。8251A工作于異步模式,波特率因子為16,7位數(shù)據(jù),2位停止位,奇檢驗(yàn)。清除出錯(cuò)標(biāo)志,請求信號(hào)有效,使發(fā)送、接收啟動(dòng),CPU準(zhǔn)備就緒。設(shè)待發(fā)送的字符放在BUFFER標(biāo)號(hào)所指的內(nèi)存緩沖區(qū)。8251A端口地址:80H,82H。第六十四頁,共一百一十八頁,編輯于2023年,星期日D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個(gè)數(shù):00:無意義01:1位10:1位半11:2位
奇偶校驗(yàn):×0:無校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)
數(shù)據(jù)位個(gè)數(shù):00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=6410100111解:1)確定8251A的模式字(0DAH)
異步模式,1個(gè)奇校驗(yàn)位,2個(gè)停止位,數(shù)據(jù)位7位,波特率因子16。第六十五頁,共一百一十八頁,編輯于2023年,星期日2)確定8251A的控制字(37H)
清除出錯(cuò)標(biāo)志,請求信號(hào)有效,發(fā)送、接收啟動(dòng),CPU準(zhǔn)備就緒。發(fā)送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復(fù)位錯(cuò)誤標(biāo)志。1:使PE、OE、FE復(fù)位(清除出錯(cuò)指示位)
內(nèi)部復(fù)位。1:使8251A復(fù)位,返回方式指令發(fā)送空白字符1:強(qiáng)迫TxD為0,發(fā)送空白字符
請求發(fā)送。1:強(qiáng)迫RTS為0數(shù)據(jù)終端準(zhǔn)備好。1:強(qiáng)迫DTR為0搜索同步字符1:啟動(dòng)搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
00110111第六十六頁,共一百一十八頁,編輯于2023年,星期日參考答案:
MOVAL,0DAH;11011010BOUT82H,AL;設(shè)置模式字
MOVAL,37H;00110111BOUT82H,AL;設(shè)置控制字
LEABX,BUFFERMOVCX,100HAGAIN:INAL,82H;取狀態(tài)字
TESTAL,01H;測試狀態(tài)位
JZAGAIN;TXRDY=0轉(zhuǎn)
MOVAL,[BX];取一字符
OUT80H,AL;發(fā)送字符
INCBX;修改地址指針
LOOPAGAIN;重復(fù)100H次DSRSYNDETFEOEPETXERXRDYTXRDY第六十七頁,共一百一十八頁,編輯于2023年,星期日686.4并行通信和并行接口
一、特點(diǎn)數(shù)據(jù)各位通過信號(hào)線同時(shí)傳輸用的傳輸線多速率高適于近距離傳輸?shù)诹隧?,共一百一十八頁,編輯?023年,星期日69二、并行接口的典型結(jié)構(gòu)第六十九頁,共一百一十八頁,編輯于2023年,星期日706.5可編程并行通信接口8255A
6.5.18255A的內(nèi)部結(jié)構(gòu)1個(gè)8位數(shù)據(jù)輸入鎖存器1個(gè)8位輸出鎖存器/緩沖器1個(gè)8位數(shù)據(jù)輸入緩沖器1個(gè)8位輸出鎖存器/緩沖器1個(gè)8位數(shù)據(jù)輸入緩沖器1個(gè)8位輸出鎖存器/緩沖器第七十頁,共一百一十八頁,編輯于2023年,星期日71控制端口A和C的高4位的工作方式和讀寫操作。
控制端口B和C的低4位的工作方式和讀寫操作。第七十一頁,共一百一十八頁,編輯于2023年,星期日72雙向三態(tài)的8位數(shù)據(jù)緩沖器。與系統(tǒng)數(shù)據(jù)總線相連管理數(shù)據(jù)傳輸過程第七十二頁,共一百一十八頁,編輯于2023年,星期日736.5.28255A的芯片引腳信號(hào)8255芯片引腳信號(hào)第七十三頁,共一百一十八頁,編輯于2023年,星期日74一、和外設(shè)一邊相連的信號(hào)
1、PA7~PA0——A組數(shù)據(jù)信號(hào);2、PB7~PB0——B組數(shù)據(jù)信號(hào);3、PC7~PC0——C組數(shù)據(jù)信號(hào)。第七十四頁,共一百一十八頁,編輯于2023年,星期日75二、和CPU一邊相連的信號(hào)
1、RESET:復(fù)位信號(hào)
RESET信號(hào)到來時(shí),所有內(nèi)部寄存器被清除,三個(gè)端口被設(shè)為輸入端口。4、:讀信號(hào)3、:片選信號(hào)5、:寫信號(hào)6、A1、A0:端口選擇信號(hào)
00:選中A端口01:選中B端口10:選中C端口11:選中控制口2、D7~D0:數(shù)據(jù)線,和系統(tǒng)總線相連。第七十五頁,共一百一十八頁,編輯于2023年,星期日76系統(tǒng)地址線8255AA2A1A0A1A000000選中A端口01001選中B端口10010選中C端口11011選中控制口A1A0A2A1系統(tǒng)地址線8255A第七十六頁,共一百一十八頁,編輯于2023年,星期日778255的控制信號(hào)與傳輸動(dòng)作的對應(yīng)關(guān)系A(chǔ)1A0傳輸說明00001數(shù)據(jù)從端口A送數(shù)據(jù)總線00101數(shù)據(jù)從端口B送數(shù)據(jù)總線01001數(shù)據(jù)從端口C送數(shù)據(jù)總線00010數(shù)據(jù)從數(shù)據(jù)總線送端口A00110數(shù)據(jù)從數(shù)據(jù)總線送端口B01010數(shù)據(jù)從數(shù)據(jù)總線送端口C01110數(shù)據(jù)從數(shù)據(jù)總線送控制寄存器0××11D7~D0
高阻01101非法信號(hào)組合1××××D7~D0
高阻第七十七頁,共一百一十八頁,編輯于2023年,星期日786.5.38255A的控制字
一、方式選擇控制字
第七十八頁,共一百一十八頁,編輯于2023年,星期日79例:8255A端口A工作于方式0輸出,端口B方式0輸入,端口C高四位輸出,端口C低四位輸入。8255A各端口地址為01E0H~01E6H,請編寫出初始化程序。MOVAL,83H;控制字10000011BMOVDX,01E6HOUTDX,AL11000001端口C低四位輸入端口B輸入端口B方式0端口C高四位輸出端口A輸出端口A方式0標(biāo)識(shí)位解:1)確定控制字2)寫初始化程序第七十九頁,共一百一十八頁,編輯于2023年,星期日80練習(xí):8255A端口A工作于方式0輸入,端口B方式1輸入,端口C高四位輸出,端口C低四位配合端口B工作。8255A各端口地址為60H~66H,請編寫出初始化程序。MOVAL,96H;控制字1001011×BOUT66H,AL×1100011端口C低四位配合B端口B輸入端口B方式1端口C高四位輸出端口A輸入端口A方式0標(biāo)識(shí)位解:1)確定控制字2)寫初始化程序第八十頁,共一百一十八頁,編輯于2023年,星期日81二、端口C置1/清0控制字
注:該控制字必須寫入控制端口第八十一頁,共一百一十八頁,編輯于2023年,星期日82練習(xí):編寫程序段,實(shí)現(xiàn)對端口C的PC6位清0,PC2位置1,8255A各端口地址為80H、82H、84H、86H。MOVAL,0CH;控制字0×××1100BOUT86H,ALMOVAL,05H;控制字0×××0101BOUT86H,AL例:編寫程序段,實(shí)現(xiàn)對端口C的PC7位置1,PC3清0,8255A控制端口地址為00EEH。MOVAL,0FH
;控制字0×××1111BMOVDX,00EEHOUTDX,ALMOVAL,06H
;控制字0×××0110BOUTDX,AL第八十二頁,共一百一十八頁,編輯于2023年,星期日83利用C口的按位控制特性可以產(chǎn)生負(fù)脈沖或方波輸出,對外設(shè)進(jìn)行控制。例:利用8255A的PC7產(chǎn)生負(fù)脈沖,作為外設(shè)的數(shù)據(jù)選通信號(hào),設(shè)8255A各端口地址為80H、82H、84H、86H。參考程序:MOVAL,00001111B;置PC7=1OUT86H,ALMOVAL,00001110B;置PC7=0OUT86H,ALNOP;維持低電平
NOPMOVAL,00001111B;置PC7=1OUT86H,AL第八十三頁,共一百一十八頁,編輯于2023年,星期日846.5.48255A的工作方式
一、方式01、工作特點(diǎn)
1)兩個(gè)8位端口,兩個(gè)4位端口。2)可有16種不同的組合。2、輸入/輸出時(shí)序
1)方式0讀取數(shù)據(jù)條件(1)CPU發(fā)讀信號(hào)前,先發(fā)出地址信號(hào),即
使CS、A1、A0有效,啟動(dòng)8255A;(2)數(shù)據(jù)要領(lǐng)先于讀信號(hào)第八十四頁,共一百一十八頁,編輯于2023年,星期日852)輸入時(shí)序要求讀出期間地址保持有效數(shù)據(jù)必須保持到讀信號(hào)結(jié)束讀脈沖寬度至少為300ns
datadata輸入數(shù)據(jù)D0~D7RD
CS,A1,A0第八十五頁,共一百一十八頁,編輯于2023年,星期日863)輸出時(shí)序要求地址信號(hào)必須提前有效且滯后消失;寫脈沖寬度至少有400ns;數(shù)據(jù)必須在寫信號(hào)結(jié)束前出現(xiàn)在數(shù)據(jù)總線上,并保持tWD時(shí)間第八十六頁,共一百一十八頁,編輯于2023年,星期日873、方式0的使用場合
(1)同步傳送(2)查詢式傳送發(fā)送方和接收方的動(dòng)作由一個(gè)時(shí)序信號(hào)管理,雙方互相知道對方動(dòng)作,無需聯(lián)絡(luò)信號(hào)。發(fā)送方和接收方需聯(lián)絡(luò)信號(hào)。第八十七頁,共一百一十八頁,編輯于2023年,星期日88例:8255作為打印機(jī)的接口,工作于方式0,如圖所示。MOVAL,81H;100000×1BOUT0D6H,AL;設(shè)置工作方式MOVAL,0DH;0×××1101BOUT0D6H,AL;PC6置位LPST:INAL,0D4H;讀C端口ANDAL,04H;00000100BJNZLPST
;打印機(jī)忙,繼續(xù)查詢,否則打印MOVAL,CLOUT0D0H,AL;待打印字符送端口AMOVAL,0CH;0×××1100BOUT0D6H,AL;PC6清0NOPNOPINCALOUT0D6H,AL;PC6置位
第八十八頁,共一百一十八頁,編輯于2023年,星期日89練習(xí):8255作為打印機(jī)的接口,工作于方式0。GCG2AG2BACSY2BPC0A0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印機(jī)驅(qū)動(dòng)第八十九頁,共一百一十八頁,編輯于2023年,星期日90當(dāng)主機(jī)要往打印機(jī)輸出字符時(shí),先查詢打印機(jī)的忙信號(hào)(BUSY),如果打印機(jī)忙,則BUSY信號(hào)為1,否則為0。當(dāng)查詢到BUSY為0時(shí),可通過8255A往打印機(jī)輸出一個(gè)字符,此時(shí),要將置為低電平,然后再使為高電平,相當(dāng)于在端輸出一個(gè)負(fù)脈沖(初始狀態(tài)為高電平),此負(fù)脈沖作為打印機(jī)的選通信號(hào)?,F(xiàn)將B端口作為傳送字符的通道,工作于方式0;A端口未用;C端口中,PC7作為BUSY信號(hào)輸入端,PC0作為信號(hào)輸出端。第九十頁,共一百一十八頁,編輯于2023年,星期日91MOVAL,88H
;(100×1000B)OUT96H,ALMOVAL,01H;(0×××0001B)OUT96H,ALMOVSI,OFFSETBUF;打印字符內(nèi)存首地址MOVCX,100;打印字符個(gè)數(shù)LPST:INAL,94H
ANDAL,80HJNZLPST2)設(shè)在BUF開始的內(nèi)存緩沖區(qū)存放著100個(gè)待打印字符,完成8255A初始化程序及把待打印字符送打印機(jī)打印的程序。1)寫出8255各端口的地址8255各端口的地址:90H,92H,94H,96H
第九十一頁,共一百一十八頁,編輯于2023年,星期日92MOVAL,[SI]OUT92H,ALMOVAL,00H;0×××0000BOUT96H,ALNOPNOPINCALOUT96H,ALINCSI;內(nèi)存地址加1DECCX;字符數(shù)減1JNZLPST;未完,繼續(xù)第九十二頁,共一百一十八頁,編輯于2023年,星期日93二、方式1
1、工作特點(diǎn)
1)可提供一個(gè)或兩個(gè)選通的端口。2)每一選通的端口含一8位數(shù)據(jù)端口,
三條控制線。3)可輸出,可輸入。4)C口部分位作為A、B聯(lián)絡(luò)信號(hào),
剩余位可做數(shù)據(jù)位用。第九十三頁,共一百一十八頁,編輯于2023年,星期日942、方式1輸入有關(guān)信號(hào)規(guī)定(A端口)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號(hào)請求CPU接收數(shù)據(jù)PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBAPC6PC7作I/O口中斷允許觸發(fā)器PC4置1,INTEA=1,A口處于中斷允許狀態(tài),當(dāng)STBA=1,IBFA=1時(shí),INTRA有效,向CPU申請中斷。PC4復(fù)位,INTEA=0,A口處于中斷屏蔽狀態(tài),INTRA無效。第九十四頁,共一百一十八頁,編輯于2023年,星期日952、方式1輸入有關(guān)信號(hào)規(guī)定(B端口)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號(hào)請求CPU接收數(shù)據(jù)PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中斷允許觸發(fā)器
PC2置1,INTEB=1,B口處于中斷允許狀態(tài),當(dāng)STBB=1,IBFB=1時(shí),INTRB有效,向CPU申請中斷。PC2復(fù)位,INTEB=0,B口處于中斷屏蔽狀態(tài),INTRB無效。第九十五頁,共一百一十八頁,編輯于2023年,星期日962、方式1輸入有關(guān)信號(hào)規(guī)定STB:選通信號(hào),低電平有效。外設(shè)
8255A的聯(lián)絡(luò)信號(hào)。
有效時(shí),將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器。IBF:輸入緩沖器滿信號(hào),高電平有效。
8255ACPU的聯(lián)絡(luò)信號(hào)。
有效時(shí),表示數(shù)據(jù)已鎖存在輸入鎖存器。STB使該信號(hào)置位,RD的后沿即上升沿使其復(fù)位。第九十六頁,共一百一十八頁,編輯于2023年,星期日97INTE:中斷允許信號(hào),控制中斷的允許和屏蔽注:PC4控制A口中斷允許與外設(shè)來的STBA信號(hào)無關(guān),由內(nèi)部
電路決定。
即將PC4置位,即INTEA=1不等于把STBA置為高電平;
外設(shè)使STBA=0不等于INTEA復(fù)位。INTR:中斷請求信號(hào),高電平有效
8255ACPU。
可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)。STB、IBF均為高電平時(shí)該信號(hào)置位,RD的下降沿使其復(fù)位。PC2控制B口中斷允許與外設(shè)來的STBB信號(hào)無關(guān)。第九十七頁,共一百一十八頁,編輯于2023年,星期日983、方式1輸入時(shí)序第九十八頁,共一百一十八頁,編輯于2023年,星期日994、方式1輸出有關(guān)信號(hào)規(guī)定(A端口)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號(hào)請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器PC6置1,INTEA=1(不等于ACKA=1),A口處于中斷允許狀態(tài);PC6復(fù)位,INTEA=0(不等于ACKA=0),A口處于中斷屏蔽狀態(tài),INTRA無效。第九十九頁,共一百一十八頁,編輯于2023年,星期日1004、方式1輸出有關(guān)信號(hào)規(guī)定(B端口)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號(hào)請求CPU再次輸出數(shù)據(jù)PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB中斷允許觸發(fā)器PC2置1,INTEB=1(不等于ACKB=1),B口處于中斷允許狀態(tài);PC2復(fù)位,INTEB=0(不等于ACKB=0),B口處于中斷屏蔽狀態(tài),INTRB無效。第一百頁,共一百一十八頁,編輯于2023年,星期日1014、方式1輸出有關(guān)信號(hào)規(guī)定OBF:輸出緩沖器滿信號(hào),低有效。
8255A外設(shè)的控制信號(hào)。有效時(shí),表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可取走。該信號(hào)由WR的上升沿置成有效電平,ACK的有效信號(hào)使之恢復(fù)為高電平。ACK:外設(shè)響應(yīng)信號(hào),低電平有效。外設(shè)
8255A的響應(yīng)信號(hào)。
表8255A的端口數(shù)據(jù)已由外設(shè)接收。第一百零一頁,共一百一十八頁,編輯于2023年,星期日102INTE:中斷允許信號(hào),控制中斷的允許和屏蔽INTR:中斷請求信號(hào),高電平有效8255ACPU。當(dāng)輸出設(shè)備已接收數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提出中斷
請求,要求CPU繼續(xù)提供數(shù)據(jù)。ACK、OBF均為高電平時(shí)該信號(hào)置位,WR的下降沿使其復(fù)位。注:PC6控制A口中斷允許,與外設(shè)來的ACKA信號(hào)無關(guān)。PC2控制B口中斷允許,與外設(shè)來的ACKB信號(hào)無關(guān)。PC4和
PC5可作I/O口用。第一百零二頁,共一百一十八頁,編輯于2023年,星期日1034、方式1輸出時(shí)序5、方式1的使用場合
與外設(shè)有聯(lián)絡(luò)信號(hào),與CPU有中斷請求信號(hào),適于查詢傳送和中斷傳送。第一百零三頁,共一百一十八頁,編輯于2023年,星期日104例:8255A作為打印機(jī)的接口,工作于方式1。8255A的PC3連8259A的中斷請求輸入端IR3,對應(yīng)的中斷類型號(hào)為0BH,中斷處理子程序的入口地址為1000H:2000H。設(shè)待打印的字符放在DI所指向的內(nèi)存緩沖區(qū)。8255A的端口地址為00C0H~00C6H。第一百零四頁,共一百一十八頁,編輯于2023年,星期日105主程序:MAIN:MOVAL,0A0H;1010×0×0BMOVDX,00C6HOUTDX,AL;設(shè)置控制字
MOVAL,01HOUTDX,AL;將PC0置1,選通無效
XORAX,AXMOVDS,AXMOVBX,002CHMOVAX,2000HMOV[BX],AXMO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海南省安全員A證考試題庫及答案
- 【小學(xué)課件】體積單位的換算
- 《藥品管理制度》課件
- 《電氣設(shè)備故障診斷》課件
- 《紅樓夢》的英文簡介
- 單位人力資源管理制度呈現(xiàn)匯編十篇
- 單位管理制度展示匯編職工管理篇十篇
- 單位管理制度展示大全人員管理篇十篇
- 智慧農(nóng)貿(mào)冷鏈物流基地項(xiàng)目可行性研究報(bào)告模板立項(xiàng)審批
- 單位管理制度收錄大合集職員管理十篇
- 金屬的拉伸實(shí)驗(yàn)(實(shí)驗(yàn)報(bào)告)
- 鍋爐定期檢驗(yàn)
- 普通話課件(完整版)
- 品管圈QCC質(zhì)量持續(xù)改進(jìn)案例胃腸外科-落實(shí)胃腸腫瘤患者術(shù)后早期下床活動(dòng)PDCA
- 人員密集場所安全風(fēng)險(xiǎn)源辨識(shí)清單
- GB/T 39335-2020信息安全技術(shù)個(gè)人信息安全影響評(píng)估指南
- 比較文學(xué)概論馬工程課件 第6章
- GB/T 19631-2005玻璃纖維增強(qiáng)水泥輕質(zhì)多孔隔墻條板
- GB/T 11352-2009一般工程用鑄造碳鋼件
- 冠心病診斷與治療課件
- 新疆少數(shù)民族發(fā)展史課件
評(píng)論
0/150
提交評(píng)論