




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關于串并行通信和接口技術2計算機與外設的通信方式1、并行方式2、串行方式數據各位通過信號線同時傳輸數據一位一位的通過同一信號線傳輸用的傳輸線多用的傳輸線少速率高速率低適于近距離傳輸適于遠距離傳輸目錄6.1概述第2頁,共118頁,2024年2月25日,星期天36.2串行接口和串行通信一、串行接口1、適用場合:外設和計算機按串行方式進行通信。目錄第3頁,共118頁,2024年2月25日,星期天可編程串行接口的典型結構保存傳輸狀態CPU給接口的控制信息保存CPU送外設的數據保存外設送CPU的數據第4頁,共118頁,2024年2月25日,星期天5二、串行通信數據傳送方式(1)單工方式發送器接收器只允許數據按一個固定方向傳輸。1、按數據傳輸時發送過程和接收過程的關系劃分(2)半雙工方式輸入輸出使用同一通路,需分時傳輸。發送器/接收器A發送器/接收器B第5頁,共118頁,2024年2月25日,星期天6(3)全雙工方式接收和發送采用不同的通路,A、B可同時發送和接收,兩方資源完全獨立。發送器/接收器A發送器/接收器B(1)同步通信1)概念:將要傳輸的數據組成一信息塊(幀),每信息塊開頭加上同步字符,在約定的波特率下,使數據一個接一個的從發送端到接收端。2、按時鐘對通信過程的定時方式劃分第6頁,共118頁,2024年2月25日,星期天2)基本特點(2)數據流中字符與字符間和字符內的各位間都同步;(3)發送端和接收端須用同一時鐘信號同步。(1)以一個數據塊(幀)為傳輸單位,每塊開頭用同步字符指示。~~~~同步字符數據數據數據校驗字符第7頁,共118頁,2024年2月25日,星期天3)優點4)缺點:硬件電路復雜。(2)適于傳大量的數據(1)傳送效率高同步要求每個數據內各位都按預定頻率傳送,數據間不允許有間隙,若有用同步字符填充,收發時鐘嚴格同步。第8頁,共118頁,2024年2月25日,星期天9(2)異步通信1)概念
將要傳輸的數據分成小段,發送端在約定的波特率下發送數據,接收端按約定的波特率接收,不需發同步信號。2)基本特點(2)串行異步通信以字符為單位進行傳輸,其通信協議是起止
式異步通信協議。(1)字符之間異步,字符內各位基本同步。二、串行通信數據傳送方式第9頁,共118頁,2024年2月25日,星期天10標準(起止式)異步通信協議格式起始位——每個字符開始傳送的標志,起始位采用邏輯0電平。起始位校驗位停止位空閑位數據位低位高位字符0/10/10/10/110111…數據位——數據位緊跟著起始位傳送。由5~8個二進制位組成,低位先傳送。校驗位——用于校驗是否傳送正確;可選擇奇檢驗、偶校驗或不傳送校驗位。停止位—表示該字符傳送結束。停止位采用邏輯1電平,可選擇1、1.5或2位。空閑位——傳送字符之間的邏輯1電平,表示沒有進行傳送。標識態第10頁,共118頁,2024年2月25日,星期天3)優點4)缺點對時鐘同步要求不嚴格。接收到起始位后,只要在一個字符傳輸時間內收發器保持同步就能正確接收。傳送效率低??刂菩畔⒅辽僬伎傂畔⒌?0%。注:通信時,收發雙方必須遵守共同的通信協議(通信規程),才能解決傳送速率、信息格式、位同步、字符同步、數據校驗等問題。第11頁,共118頁,2024年2月25日,星期天12三、串行通信的傳輸率1、概念1)傳輸率:每秒鐘傳輸的二進制數據的位數,又稱波特率。2)發送時鐘:異步方式通信時,發送端需用時鐘決定每一位
對應的時間長度,該時鐘稱發送時鐘。國際上規定的標準波特率:110、300、600、1200、1800、
2400、
4800、9600、19200。4)波特率因子:接收時鐘或發送時鐘頻率與位傳輸率的比。注:接收時鐘或發送時鐘頻率可以是位傳輸率的16、32或64倍。3)接收時鐘:異步方式通信時,接收端需用時鐘測定每一位
的時間長度,該時鐘稱接收時鐘。第12頁,共118頁,2024年2月25日,星期天例1、在一串行通信系統中,傳送速率為960字符每秒,每個字符是10位,則波特率為多少?960×10=9600bit/s(bps)2、例例2、異步傳輸過程:設每個字符對應1個起始位、7個信息位、1個奇偶校驗位和1個停止位,如果波特率為1200bps,那么,每秒鐘能傳輸的最大字符數為多少個?
1200/(1+7+1+1)=120個。
第13頁,共118頁,2024年2月25日,星期天例3、同步傳輸:設每個字符包含7個信息位,波特率為1200bps,用4個同步字符作為信息幀頭部,但不用奇偶校驗,每個信息幀包含100個字符,每秒鐘能傳輸的字符數最大可達到多少個?傳輸100個字符所用的時間:7(100+4)/1200=0.6067s。則每秒鐘能傳輸的字符數可達到:100/0.6067=165個。結論:在同樣的傳輸率下,同步傳輸時實際字符傳輸率要比
異步傳輸時高。
第14頁,共118頁,2024年2月25日,星期天15四、串行接口標準RS-232CRS-232C標準(協議)是美國EIA(電子工業聯合會)與BELL等公司一起開發的1969年公布的通信協議。它適合于數據傳輸速率在0~20000bit/s范圍內的通信?,F在的臺式PC機一般有兩個RS-232串行口COM1和COM2,通常COM1使用的是9針D形連接器,而COM2使用的是25針連接器。第15頁,共118頁,2024年2月25日,星期天161、RS-232C的電氣特性注:負邏輯規定電平信號電平標準低電平(邏輯0):+5V~+15V高電平(邏輯1):-5V~-15V實際常用±12V或±15V2、RS-232C標準與TTL標準之間的轉換標準TTL電平高電平(邏輯1):+2.4V~+5V低電平(邏輯0):0V~0.4V接口MC1489MC1488RS-232-C輸入RS-232-C輸出TTL輸入TTL輸出第16頁,共118頁,2024年2月25日,星期天176.3可編程串行通信接口8251A一、8251A的基本性能
1、通過編程,可工作于同步方式和異步方式。
同步方式可用5~8位代表字符;可外部同步,也可內部同步;可自動插入同步字符;允許增加奇偶校驗位進行校驗;波特率為0~64Kbps。目錄第17頁,共118頁,2024年2月25日,星期天18一、8251A的基本性能異步方式5~8位/字符;用1位作為奇偶校驗;能選擇1、1.5、2位停止位;可檢查假啟動;可產生中止字符;能自動檢測和處理中止字符;波特率可為0~19.2Kbps;時鐘頻率為波特率的1、16、64倍。第18頁,共118頁,2024年2月25日,星期天19一、8251A的基本性能2、完全雙工工作,具有雙緩沖的發送器和接收器。4、輸入輸出電路為TTL電平。
3、具有奇偶校驗、溢出和幀錯誤檢測等功能電路。
注:8251A接口電平與EIARS-232-C所要求的電平不同,所以互相連接時,必須增加驅動級和接收電路。第19頁,共118頁,2024年2月25日,星期天20二、8251A的基本原理
1、8251A編程結構第20頁,共118頁,2024年2月25日,星期天212、8251A的功能結構第21頁,共118頁,2024年2月25日,星期天雙向三態的8位數據緩沖器。與系統數據總線相連。第22頁,共118頁,2024年2月25日,星期天配合數據總線緩沖器工作,接收來自系統控制總線的信號。1):片選信號。2):控制/數據信號。3):寫控制信號。4):讀控制信號。5)CLK:內部定時信號。6)RESET:復位信號。第23頁,共118頁,2024年2月25日,星期天提供了一組通用控制信號,使8251可直接與調制解調器連接。第24頁,共118頁,2024年2月25日,星期天接收串行數據,并進行串并轉換。配合接收緩沖器工作,管理有關接收的所有功能。1)異步方式,芯片復位后,先檢查輸入信號中有效的“1”,
檢測到后,搜索有效的低電平來確定起始位;2)消除假啟動干擾;3)對接收到的信號奇偶校驗,根據校驗結果設置狀態位;4)異步方式下,檢測停止位,根據檢測結果設置狀態位。第25頁,共118頁,2024年2月25日,星期天配合發送緩沖器工作,控制和管理所有和發送有關的功能。(1)異步方式下,為數據加上起始位、校驗位和停止位;(2)同步方式下,插入同步字符,在數據中插入校驗位。
把并行數據加上相應的控制信息,轉換成串行數據輸出。第26頁,共118頁,2024年2月25日,星期天273、8251A的發送和接收(1)檢測起始位1)異步接收方式設數據接收時鐘頻率是數據傳輸頻率的16倍。起始檢測確定已檢測到起始位起始位RXCRXDT16T8T備注:無數據傳送時,RxD線上是高電平。如在RxD線上檢測到低電平,啟動接收控制電路中的內部計數器計數,計數脈沖為8251A接收器時鐘脈沖。當計數進行到相當于半個數位傳輸時間時(如時鐘脈沖為波特率的16倍時,則計到第八個脈沖相當與半個數位傳輸時間),再對RxD線檢測,如仍為低,則確認為一有效起始位。如8251A在檢測起始位時,半個數位傳輸時間后,沒有再檢測到低電平,而是測到高電平,8251A就把剛才檢測到的信號看成干擾脈沖,再重新開始檢測RxD線上是否出現低電平。第27頁,共118頁,2024年2月25日,星期天采樣數據起始檢測確定已檢測到起始位起始位RXCRXDT16T16T8T每隔一字符傳輸時間,對RxD進行一次采樣,數據送移位寄存器移位,并進行奇偶校驗和去掉停止位,得到并行數據。(2)8251A進行常規采樣并進行字符裝配(3)通知CPU接收數據并行數據經過內部數據總線送接收數據緩沖器,并置RxRDY有效,通知CPU已收到一個數據,可以取用。第28頁,共118頁,2024年2月25日,星期天298251A異步接收數據傳輸格式注:對于少于8位的數據,8251A將高位補0。
第29頁,共118頁,2024年2月25日,星期天302)8251A異步發送方式(2)8251A由TxD線把串行數據送出。8251A從CPU接收到一個數據,移位形成串行數據,再加上起始位、奇偶校驗位以及停止位,由TxD把數據送出。注:數據及起始位、校驗位、停止位總是在發送時鐘TxC的下降沿從8251A發出,數據傳輸的波特率為發送時鐘頻率的1、1/16或者1/64,具體決定于編程時給出的波特率因子。(1)程序置TxEN(允許發送)有效。
檢測到外設送來的CTS(請求發送信號的響應信號)有效,開始發送。
第30頁,共118頁,2024年2月25日,星期天318251A異步發送數據傳輸格式注:對于少于8位的數據,8251A將高位補0。
第31頁,共118頁,2024年2月25日,星期天323)8251A的同步接收方式單同步字符8251檢測RxD線,當RxD線出現一數據位時,接收送移位寄存器移位,并與同步字符寄存器的內容比較,如不等,繼續接收,比較。相等時,8251A的SYNDET引腳為高電平,表示同步已經實現。(1)搜索同步字符雙同步字符檢測到第一個同步字符后,再繼續檢測此后輸入的移位寄存器的內容是否與第二個同步字符寄存器的內容相同,不同重新比較第一個同步字符;相同,則認為同步已經實現。內同步(a)第32頁,共118頁,2024年2月25日,星期天(b)外同步
通過在同步輸入端SYNDET加一高電位實現同步。當SYNDET端出現一個高電平,并且維持一時鐘接收周期,8251A認為已經完成同步。(2)數據的同步傳輸
接收器利用時鐘信號對RxD采樣,把收到的數據送移位寄存器。當收到的數據位達到規定的一個字符位數時,將移位寄存器的內容送輸入緩沖寄存器,且發出RxRDY信號,表示收到一數據。
第33頁,共118頁,2024年2月25日,星期天348251A同步接收數據傳輸格式第34頁,共118頁,2024年2月25日,星期天354)8251A的同步發送方式(2)發送同步字符
根據編程要求,發送器先發送一個或兩個同步字符。注:如發送數據時,CPU來不及提供新數據,8251A發送器會自動插入同步字符,由TxD送出。(3)發送數據塊
發送數據塊時,發送器根據要求對數據塊中的數據加上奇偶校驗位或不加。(1)程序置TxEN(允許發送)有效
檢測到外設送來的CTS(請求發送信號的響應信號)有效,開始發送。
第35頁,共118頁,2024年2月25日,星期天368251A同步發送數據傳輸格式第36頁,共118頁,2024年2月25日,星期天37三、8251A的對外連接信號8251A對外連接信號8251A與CPU之間的信號
8251A與外設之間的信號。
1、8251A與CPU之間的信號
1)數據信號D7~D0:雙向數據線,與系統總線相連,傳輸數據、
編程命令及狀態信息。
2)片選信號CS:CPU的地址信號譯碼后得到。
CS=0:可以對8251A進行讀寫;
CS=1:數據總線處于高阻態。第37頁,共118頁,2024年2月25日,星期天381、8251A與CPU之間的信號3)讀/寫控制信號(1)RD:為低,表示CPU正從8251A讀數據或狀態信息。(2)WR:為低,表示CPU正往8251A寫數據或控制字。(3)C/D:控制/數據信號CPU往8251寫控制命令011CPU從8251讀狀態信息101CPU中數據82510108251中數據CPU100操作WRRDC/D第38頁,共118頁,2024年2月25日,星期天391、8251A與CPU之間的信號4)收發聯絡信號(1)TxRDY:發送器準備好。通知CPU8251A已經準備好從CPU接收字符。CPU得到TxRDY有效后,往8251A寫數據,8251A得到數據后,使TxRDY變為低。當CTS為低,TxEN為高,且發送緩沖器空時,TxRDY有效,可作為中斷請求信號,也可作為查詢方式的聯絡信號。第39頁,共118頁,2024年2月25日,星期天40(2)TxE:發送器空信號。8251A無字符發送時,TxE為高,實際上指示了一次發送動作的結束。當8251A收到CPU發來的字符時,TxE變為低。注:在同步發送時,如CPU沒及時往8251A送字符,TxE會變成高電平,發送器在輸出線上插入同步字符,以填補空隙。1、8251A與CPU之間的信號(3)RxRDY:接收器準備好。表示8251A已經從外設接收到一個數據,等待CPU來讀取。CPU從8251A讀取數據后,RxRDY變為低電平。可作為中斷請求信號,也可作為查詢方式的聯絡信號。第40頁,共118頁,2024年2月25日,星期天(4)SYNDET:同步檢測信號,僅用于同步方式。8251A內同步:輸出信號。
單同步字符:
檢測到同步字符,變為高電平;
雙同步字符:
檢測到第二個同步字符的最后一位后,在該位的中間變為高電平,表示已達到同步。8251A外同步:輸入信號。如果從SYNDET端輸入一個正跳變的信號,并且維持一時鐘接收周期,8251A認為已經完成同步,8251A在RXC的下一個下降沿開始裝配字符。注:復位:SYNDET變為低電平;內同步:CPU執行一次讀操作后,變為低電平;外同步:其電平狀況決定于外部信號。第41頁,共118頁,2024年2月25日,星期天422、8251A與外設之間的信號1)數據信號(1)TxD:發送器數據信號端。CPU送往8251A的并行數據被轉化為串行數據后,通過TxD端發送給外設。(2)RxD:接收器數據信號端。接收外設送來的串行數據,經轉換為并行數據后由CPU接收。第42頁,共118頁,2024年2月25日,星期天432)收發聯絡信號(1)DTR:數據終端準備好信號。(2)DSR:數據設備準備好。由8251A送往外設,CPU通過命令(使命令指令的bit1置1)可使DTR變為有效電平,通知外設CPU已經準備就緒。外設送往8251A的信號,表外設已準備好。當DSR端出現低電平時,會在8251A的狀態寄存器第七位上反映出來,CPU通過狀態寄存器實現對DSR信號的檢測。2、8251A與外設之間的信號第43頁,共118頁,2024年2月25日,星期天44(3)RTS:請求發送。8251A送給外設的信號。CPU通過編程命令使RTS變為有效電平,以通知外設,CPU請求發送數據。(4)CTS:準許發送。外設送給8251A的信號,外設對RTS信號的應答。當該信號有效時,8251A才能發送數據。2、8251A與外設之間的信號備注:為什么提供四個聯絡信號?/DTR和/RTS是CPU通過8251A送往外設的,CPU通過軟件對控制寄存器中的DTR位和RTS位置1就可以使8251A的/DTR和/RTS引腳輸出有效電平,所以/DTR和/RTS是CPU對外設的控制信號。/DSR和/CTS是外設通過8251A傳遞給CPU的狀態信號。當外設和/DSR端相連時,往此引腳送一低電平,就會影響8251A狀態寄存器的DSR位,CPU可通過軟件對DSR位進行檢測。/CTS端電平的高低會影響TxRDY端的電平,TxRDY是8251A送給CPU的狀態信號。使用時/CTS必須為低,其它三個信號可以懸空不用。即使CPU和外設之間不需傳遞任何聯絡信號,也要將/CTS端接地。因為只有/CTS為低,才能使TxRDY為高,CPU才能往8251A發送數據。如果8251A僅工作在接收狀態,/CTS也可懸空。
第44頁,共118頁,2024年2月25日,星期天453、其它信號1)時鐘信號(1)CLK:產生8251A內部定時信號。(2)TxC:發送時鐘。控制發送字符的速率。
同步傳送時,TxC頻率等于字符傳輸的波特率;異步傳送時,TxC頻率是字符波特率的1、16或64倍。(3)RxC:接收時鐘??刂平邮兆址乃俾省?/p>
同步傳送時,RxC頻率等于字符傳輸的波特率;
異步傳送時,RxC頻率是字符波特率的1、16或64倍。2)電源信號(1)Vcc:+5V(2)GND:地線。第45頁,共118頁,2024年2月25日,星期天46四、8251A的編程1、8位接口芯片和16位數據總線的連接問題
解決方法硬件上,將總線的A1與芯片的C/D相連;軟件上,用連續的偶地址代替奇偶地址。CSC/DA1A0系統高位地址線8251A譯碼器第46頁,共118頁,2024年2月25日,星期天472、8251A的初始化1)8251A初始化的約定(1)芯片復位后,第一次用奇地址端口寫入的值作為方式字進入方式寄存器;(2)如果方式字中規定8251A工作在同步方式,CPU接著往奇地址輸出的1或2個字節就是同步字符,寫入同步寄存器。(3)隨后,只要不是復位命令,不管同步還是異步,CPU用奇地址端口寫入的值作為控制字送控制寄存器,用偶地址端口寫入的值作為數據送數據輸出緩沖寄存器。
第47頁,共118頁,2024年2月25日,星期天
2)8251A的初始化流程第48頁,共118頁,2024年2月25日,星期天493、8251A模式寄存器格式1)異步方式下模式寄存器格式D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個數:00:無意義01:1位10:1位半11:2位
奇偶校驗:×0:無校驗位01:奇校驗11:偶校驗
數據位個數:00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=64時鐘頻率=波特率×波特率因子
例如:方式指令D1D0=11,接收數據的波特率為1200bps。接收時鐘RxC的頻率=?RxC的頻率=1200×64=76.8KHz第49頁,共118頁,2024年2月25日,星期天2)同步方式下模式寄存器格式D7
D6
D5
D4
D3
D2
D1
D0
SCSESDEPPENL2
L1
00同步字符數:0:2個1:1個
同步方式:0:內同步1:外同步
奇偶校驗:×0:無校驗位01:奇校驗11:偶校驗
數據位個數:00:5位01:6位10:7位11:8位
同步方式標志
同步方式波特率=時鐘頻率
第50頁,共118頁,2024年2月25日,星期天514、控制寄存器格式注:D7=1,在內同步方式中,8251A開始搜索同步字符。
發送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復位錯誤標志。1:使PE、OE、FE復位(清除出錯指示位)
內部復位。1:使8251A復位,返回方式指令發送空白字符。1:強迫TxD為0,發送空白字符
請求發送。1:強迫RTS為0數據終端準備好。1:強迫DTR為0搜索同步字符。1:啟動搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
第51頁,共118頁,2024年2月25日,星期天5、狀態寄存器格式2)D1=1,接口中已收到一個數據,可由CPU來讀取。
當CPU讀走一個字符后,該位自動清0。
3)D2=1,表示發送器剛發送一個字符,現為空,等待CPU發
下一個。注:1)當CPU往8251A寫入一個字符后,D0位自動清0。
引腳TxRDY為1的條件:數據緩沖器空、CTS=0、TxEN=1第52頁,共118頁,2024年2月25日,星期天53五、8251A應用舉例例1、異步方式下初始化編程編寫8251A的初始化程序,使之工作于異步模式,1個偶校驗位,2個停止位,數據位7位,波特率因子16;清除出錯標志,請求信號有效,使發送、接收啟動,CPU準備就緒。8251A端口地址:50H,52H
第53頁,共118頁,2024年2月25日,星期天D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個數:00:無意義01:1位10:1位半11:2位
奇偶校驗:×0:無校驗位01:奇校驗11:偶校驗
數據位個數:00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=6410101111解:1)確定8251A的模式字
異步模式,1個偶校驗位,2個停止位,數據位7位,波特率因子16。第54頁,共118頁,2024年2月25日,星期天2)確定8251A的控制字:清除出錯標志,請求信號有效,使發送、接收啟動,CPU準備就緒。發送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復位錯誤標志。1:使PE、OE、FE復位(清除出錯指示位)
內部復位。1:使8251復位,返回方式指令發送空白字符1:強迫TxD為0,發送空白字符
請求發送。1:強迫RTS為0數據終端準備好。1:強迫DTR為0搜索同步字符1:啟動搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
00110111MOVAL,0FAH;11111010BOUT52H,AL;設置模式字MOVAL,37H;00110111BOUT52H,AL;設置控制字第55頁,共118頁,2024年2月25日,星期天56例2、同步方式下初始化編程編寫8251A的初始化程序,使之工作于同步方式,同步字符1個,內同步,數據位7位,偶校驗。一個同步字符為2AH。搜索同步字符,復位出錯標志,啟動接收器和發送器,CPU準備好發送,請求信號有效。8251A端口地址:50H,52H。MOVAL,0B8H;10111000BOUT52H,AL;寫方式字MOVAL,2AHOUT52H,AL;寫同步字符MOVAL,0B7H;10110111BOUT52H,AL;寫控制字第56頁,共118頁,2024年2月25日,星期天57例3、通過檢測狀態字實現數據接收功能編程實現CPU接收80個字符,字符輸入后放在BUFFER所指的內存緩沖區。8251A工作于異步方式,波特率因子為16,7個數據位,偶校驗,2個停止位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;設置模式字MOVAL,35H;00110101BOUT52H,AL;設置控制字MOVDI,0;變址寄存器初始化MOVCX,80;計數器初始化第57頁,共118頁,2024年2月25日,星期天BEGIN:INAL,52H TESTAL,02H JZBEGIN ;讀狀態字并測試,RXRDY=0轉INAL,50H;讀取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;傳輸字符INCDI ;修改緩沖區指針INAL,52H ;讀取狀態字TESTAL,38H ;測試有無錯誤JNZERROR LOOPBEGIN ;如沒有錯,則接收下1個字符JMPEXIT ;如滿80個字符,則結束ERROR:CALLERR_OUT;調用出錯處理程序EXIT:…第58頁,共118頁,2024年2月25日,星期天59例4、8251A作為CRT接口的例子
8251A工作于異步模式,波特率因子為16,8位數據,1位停止位,無校驗位。8253計數器2輸出方波信號作為8251A的接收時鐘TxC和發送時鐘RxC,編程實現往CRT輸出一個字符,要輸出的字符事先放在堆棧中。
8251A端口地址:00D8H,00DAH。第59頁,共118頁,2024年2月25日,星期天第60頁,共118頁,2024年2月25日,星期天8251A的初始化程序段:INIT:MOVAL,00H;AL清零MOVCX,0003OUT1:MOVDX,00DAHOUTDX,ALLOOPOUT1;往控制端口送3個0MOVAL,40HOUTDX,AL;送40H復位MOVAL,4EH;01001110OUTDX,AL;設模式字MOVAL,27H;00100111B
OUTDX,AL
;設命令字啟動
. . .注:8251A的復位約定:
往奇地址端口先送3個00H,再送一個40H。第61頁,共118頁,2024年2月25日,星期天往CRT輸出一個字符的程序段:CHAROUT:MOVDX,00DAHSTATE:INAL,DX ;輸入狀態字 TESTAL,01 JZSTATE ;不斷測試狀態位,TXRDY=0轉MOVDX,00D8H;數據端口地址送DXPOPAX ;AX中為要輸出的字符OUTDX,AL;往端口中輸出一個字符第62頁,共118頁,2024年2月25日,星期天8251A的初始化程序段:INIT:XORAX,AX;AX清零MOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1;往控制端口送3個0MOVAL,40HCALLKKK ;送40H復位MOVAL,4EH;01001110CALLKKK ;設模式字MOVAL,27H;00100111B
CALL KKK ;設命令字啟動
. . .KKK:OUTDX,AL;數據輸出
PUSHCXMOVCX,0002ABC:LOOPABC;等待輸出動作完成
POPCXRET第63頁,共118頁,2024年2月25日,星期天64習題1、串行通信的類型有哪幾種?簡述各自的特點。2、什么是波特率因子?什么是波特率?設波特率因子為64,波特率為1200bps,則時鐘頻率為多少?3、寫出標準異步通信數據格式。4、對8251A編程時,必須遵守哪些約定?5、利用狀態字進行檢測,異步發送256個數據。8251A工作于異步模式,波特率因子為16,7位數據,2位停止位,奇檢驗。清除出錯標志,請求信號有效,使發送、接收啟動,CPU準備就緒。設待發送的字符放在BUFFER標號所指的內存緩沖區。8251A端口地址:80H,82H。第64頁,共118頁,2024年2月25日,星期天D7
D6
D5
D4
D3
D2
D1
D0
S2
S1
EPPENL2
L1
B2
B1
停止位個數:00:無意義01:1位10:1位半11:2位
奇偶校驗:×0:無校驗位01:奇校驗11:偶校驗
數據位個數:00:5位01:6位10:7位11:8位
波特率因子:01:BF=110:BF=1611:BF=6410100111解:1)確定8251A的模式字(0DAH)
異步模式,1個奇校驗位,2個停止位,數據位7位,波特率因子16。第65頁,共118頁,2024年2月25日,星期天2)確定8251A的控制字(37H)
清除出錯標志,請求信號有效,發送、接收啟動,CPU準備就緒。發送
允許。0:禁止1:允許
接收允許。0:禁止1:允許
復位錯誤標志。1:使PE、OE、FE復位(清除出錯指示位)
內部復位。1:使8251A復位,返回方式指令發送空白字符1:強迫TxD為0,發送空白字符
請求發送。1:強迫RTS為0數據終端準備好。1:強迫DTR為0搜索同步字符1:啟動搜索
TxENDTRRxESBPKERRTSIREHD0
D1
D2
D3
D4
D5
D6
D7
00110111第66頁,共118頁,2024年2月25日,星期天參考答案:
MOVAL,0DAH;11011010BOUT82H,AL;設置模式字
MOVAL,37H;00110111BOUT82H,AL;設置控制字
LEABX,BUFFERMOVCX,100HAGAIN:INAL,82H;取狀態字
TESTAL,01H;測試狀態位
JZAGAIN;TXRDY=0轉
MOVAL,[BX];取一字符
OUT80H,AL;發送字符
INCBX;修改地址指針
LOOPAGAIN;重復100H次DSRSYNDETFEOEPETXERXRDYTXRDY第67頁,共118頁,2024年2月25日,星期天686.4并行通信和并行接口
一、特點數據各位通過信號線同時傳輸用的傳輸線多速率高適于近距離傳輸第68頁,共118頁,2024年2月25日,星期天69二、并行接口的典型結構第69頁,共118頁,2024年2月25日,星期天706.5可編程并行通信接口8255A
6.5.18255A的內部結構1個8位數據輸入鎖存器1個8位輸出鎖存器/緩沖器1個8位數據輸入緩沖器1個8位輸出鎖存器/緩沖器1個8位數據輸入緩沖器1個8位輸出鎖存器/緩沖器第70頁,共118頁,2024年2月25日,星期天71控制端口A和C的高4位的工作方式和讀寫操作。
控制端口B和C的低4位的工作方式和讀寫操作。第71頁,共118頁,2024年2月25日,星期天72雙向三態的8位數據緩沖器。與系統數據總線相連管理數據傳輸過程第72頁,共118頁,2024年2月25日,星期天736.5.28255A的芯片引腳信號8255芯片引腳信號第73頁,共118頁,2024年2月25日,星期天74一、和外設一邊相連的信號
1、PA7~PA0——A組數據信號;2、PB7~PB0——B組數據信號;3、PC7~PC0——C組數據信號。第74頁,共118頁,2024年2月25日,星期天75二、和CPU一邊相連的信號
1、RESET:復位信號
RESET信號到來時,所有內部寄存器被清除,三個端口被設為輸入端口。4、:讀信號3、:片選信號5、:寫信號6、A1、A0:端口選擇信號
00:選中A端口01:選中B端口10:選中C端口11:選中控制口2、D7~D0:數據線,和系統總線相連。第75頁,共118頁,2024年2月25日,星期天76系統地址線8255AA2A1A0A1A000000選中A端口01001選中B端口10010選中C端口11011選中控制口A1A0A2A1系統地址線8255A第76頁,共118頁,2024年2月25日,星期天778255的控制信號與傳輸動作的對應關系A1A0傳輸說明00001數據從端口A送數據總線00101數據從端口B送數據總線01001數據從端口C送數據總線00010數據從數據總線送端口A00110數據從數據總線送端口B01010數據從數據總線送端口C01110數據從數據總線送控制寄存器0××11D7~D0
高阻01101非法信號組合1××××D7~D0
高阻第77頁,共118頁,2024年2月25日,星期天786.5.38255A的控制字
一、方式選擇控制字
第78頁,共118頁,2024年2月25日,星期天79例:8255A端口A工作于方式0輸出,端口B方式0輸入,端口C高四位輸出,端口C低四位輸入。8255A各端口地址為01E0H~01E6H,請編寫出初始化程序。MOVAL,83H;控制字10000011BMOVDX,01E6HOUTDX,AL11000001端口C低四位輸入端口B輸入端口B方式0端口C高四位輸出端口A輸出端口A方式0標識位解:1)確定控制字2)寫初始化程序第79頁,共118頁,2024年2月25日,星期天80練習: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標識位解:1)確定控制字2)寫初始化程序第80頁,共118頁,2024年2月25日,星期天81二、端口C置1/清0控制字
注:該控制字必須寫入控制端口第81頁,共118頁,2024年2月25日,星期天82練習:編寫程序段,實現對端口C的PC6位清0,PC2位置1,8255A各端口地址為80H、82H、84H、86H。MOVAL,0CH;控制字0×××1100BOUT86H,ALMOVAL,05H;控制字0×××0101BOUT86H,AL例:編寫程序段,實現對端口C的PC7位置1,PC3清0,8255A控制端口地址為00EEH。MOVAL,0FH
;控制字0×××1111BMOVDX,00EEHOUTDX,ALMOVAL,06H
;控制字0×××0110BOUTDX,AL第82頁,共118頁,2024年2月25日,星期天83利用C口的按位控制特性可以產生負脈沖或方波輸出,對外設進行控制。例:利用8255A的PC7產生負脈沖,作為外設的數據選通信號,設8255A各端口地址為80H、82H、84H、86H。參考程序:MOVAL,00001111B;置PC7=1OUT86H,ALMOVAL,00001110B;置PC7=0OUT86H,ALNOP;維持低電平
NOPMOVAL,00001111B;置PC7=1OUT86H,AL第83頁,共118頁,2024年2月25日,星期天846.5.48255A的工作方式
一、方式01、工作特點
1)兩個8位端口,兩個4位端口。2)可有16種不同的組合。2、輸入/輸出時序
1)方式0讀取數據條件(1)CPU發讀信號前,先發出地址信號,即
使CS、A1、A0有效,啟動8255A;(2)數據要領先于讀信號第84頁,共118頁,2024年2月25日,星期天852)輸入時序要求讀出期間地址保持有效數據必須保持到讀信號結束讀脈沖寬度至少為300ns
datadata輸入數據D0~D7RD
CS,A1,A0第85頁,共118頁,2024年2月25日,星期天863)輸出時序要求地址信號必須提前有效且滯后消失;寫脈沖寬度至少有400ns;數據必須在寫信號結束前出現在數據總線上,并保持tWD時間第86頁,共118頁,2024年2月25日,星期天873、方式0的使用場合
(1)同步傳送(2)查詢式傳送發送方和接收方的動作由一個時序信號管理,雙方互相知道對方動作,無需聯絡信號。發送方和接收方需聯絡信號。第87頁,共118頁,2024年2月25日,星期天88例:8255作為打印機的接口,工作于方式0,如圖所示。MOVAL,81H;100000×1BOUT0D6H,AL;設置工作方式MOVAL,0DH;0×××1101BOUT0D6H,AL;PC6置位LPST:INAL,0D4H;讀C端口ANDAL,04H;00000100BJNZLPST
;打印機忙,繼續查詢,否則打印MOVAL,CLOUT0D0H,AL;待打印字符送端口AMOVAL,0CH;0×××1100BOUT0D6H,AL;PC6清0NOPNOPINCALOUT0D6H,AL;PC6置位
第88頁,共118頁,2024年2月25日,星期天89練習:8255作為打印機的接口,工作于方式0。GCG2AG2BACSY2BPC0A0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印機驅動第89頁,共118頁,2024年2月25日,星期天90當主機要往打印機輸出字符時,先查詢打印機的忙信號(BUSY),如果打印機忙,則BUSY信號為1,否則為0。當查詢到BUSY為0時,可通過8255A往打印機輸出一個字符,此時,要將置為低電平,然后再使為高電平,相當于在端輸出一個負脈沖(初始狀態為高電平),此負脈沖作為打印機的選通信號。現將B端口作為傳送字符的通道,工作于方式0;A端口未用;C端口中,PC7作為BUSY信號輸入端,PC0作為信號輸出端。第90頁,共118頁,2024年2月25日,星期天91MOVAL,88H
;(100×1000B)OUT96H,ALMOVAL,01H;(0×××0001B)OUT96H,ALMOVSI,OFFSETBUF;打印字符內存首地址MOVCX,100;打印字符個數LPST:INAL,94H
ANDAL,80HJNZLPST2)設在BUF開始的內存緩沖區存放著100個待打印字符,完成8255A初始化程序及把待打印字符送打印機打印的程序。1)寫出8255各端口的地址8255各端口的地址:90H,92H,94H,96H
第91頁,共118頁,2024年2月25日,星期天92MOVAL,[SI]OUT92H,ALMOVAL,00H;0×××0000BOUT96H,ALNOPNOPINCALOUT96H,ALINCSI;內存地址加1DECCX;字符數減1JNZLPST;未完,繼續第92頁,共118頁,2024年2月25日,星期天93二、方式1
1、工作特點
1)可提供一個或兩個選通的端口。2)每一選通的端口含一8位數據端口,
三條控制線。3)可輸出,可輸入。4)C口部分位作為A、B聯絡信號,
剩余位可做數據位用。第93頁,共118頁,2024年2月25日,星期天942、方式1輸入有關信號規定(A端口)數據選通信號表示外設已經準備好數據輸入緩沖器滿信號表示A口已經接收數據中斷請求信號請求CPU接收數據PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBAPC6PC7作I/O口中斷允許觸發器PC4置1,INTEA=1,A口處于中斷允許狀態,當STBA=1,IBFA=1時,INTRA有效,向CPU申請中斷。PC4復位,INTEA=0,A口處于中斷屏蔽狀態,INTRA無效。第94頁,共118頁,2024年2月25日,星期天952、方式1輸入有關信號規定(B端口)數據選通信號表示外設已經準備好數據輸入緩沖器滿信號表示B口已經接收數據中斷請求信號請求CPU接收數據PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中斷允許觸發器
PC2置1,INTEB=1,B口處于中斷允許狀態,當STBB=1,IBFB=1時,INTRB有效,向CPU申請中斷。PC2復位,INTEB=0,B口處于中斷屏蔽狀態,INTRB無效。第95頁,共118頁,2024年2月25日,星期天962、方式1輸入有關信號規定STB:選通信號,低電平有效。外設
8255A的聯絡信號。
有效時,將輸入設備送來的數據鎖存至8255A的輸入鎖存器。IBF:輸入緩沖器滿信號,高電平有效。
8255A
CPU的聯絡信號。
有效時,表示數據已鎖存在輸入鎖存器。STB使該信號置位,RD的后沿即上升沿使其復位。第96頁,共118頁,2024年2月25日,星期天97INTE:中斷允許信號,控制中斷的允許和屏蔽注:PC4控制A口中斷允許與外設來的STBA信號無關,由內部
電路決定。
即將PC4置位,即INTEA=1不等于把STBA置為高電平;
外設使STBA=0不等于INTEA復位。INTR:中斷請求信號,高電平有效
8255A
CPU。
可用于向CPU提出中斷請求,要求CPU讀取外設數據。STB、IBF均為高電平時該信號置位,RD的下降沿使其復位。PC2控制B口中斷允許與外設來的STBB信號無關。第97頁,共118頁,2024年2月25日,星期天983、方式1輸入時序第98頁,共118頁,2024年2月25日,星期天994、方式1輸出有關信號規定(A端口)外設響應信號表示外設已經接收到數據輸出緩沖器滿信號表示CPU已經輸出了數據中斷請求信號請求CPU再次輸出數據PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許觸發器PC6置1,INTEA=1(不等于ACKA=1),A口處于中斷允許狀態;PC6復位,INTEA=0(不等于ACKA=0),A口處于中斷屏蔽狀態,INTRA無效。第99頁,共118頁,2024年2月25日,星期天1004、方式1輸出有關信號規定(B端口)外設響應信號表示外設已經接收到數據輸出緩沖器滿信號表示CPU已經輸出了數據中斷請求信號請求CPU再次輸出數據PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB中斷允許觸發器PC2置1,INTEB=1(不等于ACKB=1),B口處于中斷允許狀態;PC2復位,INTEB=0(不等于ACKB=0),B口處于中斷屏蔽狀態,INTRB無效。第100頁,共118頁,2024年2月25日,星期天1014、方式1輸出有關信號規定OBF:輸出緩沖器滿信號,低有效。
8255A
外設的控制信號。有效時,表示CPU已把數據輸出給指定的端口,外設可取走。該信號由WR的上升沿置成有效電平,ACK的有效信號使之恢復為高電平。ACK:外設響應信號,低電平有效。外設
8255A的響應信號。
表8255A的端口數據已由外設接收。第101頁,共118頁,2024年2月25日,星期天102INTE:中斷允許信號,控制中斷的允許和屏蔽INTR:中斷請求信號,高電平有效8255A
CPU。當輸出設備已接收數據后,8255A輸出此信號向CPU提出中斷
請求,要求CPU繼續提供數據。ACK、OBF均為高電平時該信號置位,WR的下降沿使其復位。注:PC6控制A口中斷允許,與外設來的ACKA信號無關。PC2控制B口中斷允許,與外設來的ACKB信號無關。PC4和
PC5可作I/O口用。第102頁,共118頁,2024年2月25日,星期天1034、方式1輸出時序5、方式1的使用場合
與外設有聯絡信號,與CPU有中斷請求信號,適于查詢傳送和中斷傳送。第103頁,共118頁,2024年2月25日,星期天104例:8255A作為打印機的接口,工作于方式1。8255A的PC3連8259A的中斷請求輸入端IR3,對應的中斷類型號為0BH,中斷處理子程序的入口地址為1000H:2000H。設待打印的字符放在DI所指向的內存緩沖區。8255A的端口地址為00C0H~00C6H。第104頁,共118頁,2024年2月25日,星期天105主程序:MAIN:MOVAL,0A0H;1010×0×0BMOVDX,00C6HOUTDX,AL;設置控制字
MOVAL,01HOUTDX,AL;將PC0置1,選通無效
XORAX,AXMOVDS,AXMOVBX,002CHMOVAX,2000HMOV[BX],AXMOVAX,1000H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新人教版部編本六班級語文上冊教學方案附教學進度支配表
- 2025年幼兒園教務工作方案
- 出鏡記者與主持人實務 課件 第十一章 融合現場
- 2025年一班級語文教學工作方案
- 2025年有創意美食節活動策劃方案
- 介紹會計行業
- 山西省太原市2024-2025學年高三上學期期末學業診斷英語試卷 含解析
- 2023年工作總結與方案
- 經內鏡染色檢查護理配合
- 配電箱產品知識培訓課件
- 內科學肺炎(課件)
- 左拉精選課件
- 國際外貿模板:裝箱單
- LY/T 1831-2009人造板飾面專用裝飾紙
- 檢驗科標本采集手冊(新版)
- 人力資源開發與管理-自考課件
- 第7課《大雁歸來》課件(共41張PPT) 部編版語文八年級下冊
- 農業面源污染進展課件
- DB44-T 2267-2021《公共機構能源資源消耗限額》-(高清現行)
- 廣東省韶關市各縣區鄉鎮行政村村莊村名明細
- 挖掘機使用臺班記錄表
評論
0/150
提交評論