版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
浙江工業(yè)大學(xué)計算機學(xué)院1內(nèi)容回顧鍵盤接口鍵盤的分類:按結(jié)構(gòu)、按接口、按編碼方式。鍵盤的工作原理:線性鍵盤、矩陣鍵盤(行掃描法、行列反轉(zhuǎn)法、行列掃描法)。去抖和重鍵問題。鼠標(biāo)接口鼠標(biāo)的工作原理。鼠標(biāo)的分類。鼠標(biāo)的接口。鼠標(biāo)接口的編程。2內(nèi)容回顧LED接口LED顯示器的結(jié)構(gòu):七段、共陰極/共陽極。LED顯示器的工作原理:靜態(tài)顯示、動態(tài)顯示。打印機接口打印機的組成與分類。打印機接口標(biāo)準(zhǔn):Centronics接口。打印機接口的編程:直接編程、BOIS/DOS功能調(diào)用。音頻設(shè)備接口音頻處理技術(shù):采樣、量化。聲卡的組成和接口。34第八章串口通信接口可編程串口芯片8251A4串行通信協(xié)議2串行通信接口標(biāo)準(zhǔn)3PC機中的串口應(yīng)用5串行通信基本概念1
8.1串口通信基本概念5并行傳送方式以字長為單位進(jìn)行傳送,用多根線一次傳送多位數(shù)據(jù)。特點:傳送速度快。但使用信號線多,成本高;且信號線間電容會引起串?dāng)_,不適合遠(yuǎn)距離傳送。一般用于外設(shè)與微機間近距離、大量和快速的傳輸。串行傳送方式通過一根線一位一位順序傳輸數(shù)據(jù)。缺點:速度慢。但傳輸線少,成本低。適合于遠(yuǎn)距離、低速率的數(shù)據(jù)傳輸。單工方式
只允許在一個方向上傳送數(shù)據(jù)。半雙工方式雙方均具備發(fā)送、接收能力,但同一時刻只能進(jìn)行一個方向的傳送。全雙工方式收發(fā)雙方可同時進(jìn)行雙向的數(shù)據(jù)傳送。6
(1)串行通信的數(shù)據(jù)傳送方式TRRTTTRRTR比特率與波特率比特率:每秒傳送的二進(jìn)制位數(shù),單位:bit/s。波特率:每秒傳送的N進(jìn)制位數(shù),單位:bout/s。兩者的關(guān)系:比特率=波特率×log2N。例:傳16進(jìn)制數(shù)時,比特率=4×波特率。計算機內(nèi)部均采用二進(jìn)制,故比特率=波特率。7
(2)通信速率【例8-1】某通信系統(tǒng)每秒傳輸50個字符,每個字符包含8位八進(jìn)制數(shù),計算其比特率。
解:比特率為50×8×3=1200bit/s。收/發(fā)時鐘與波特率因子串行通信時,收發(fā)雙方需用時鐘信號來同步。收/發(fā)時鐘直接決定了通信線路上的數(shù)據(jù)傳輸速率。發(fā)送端在TxClk↓使數(shù)據(jù)送入移位寄存器串行輸出。接收端在RxClk↑將傳輸線上的數(shù)據(jù)逐位打入移位寄存器。8國際上規(guī)定了標(biāo)準(zhǔn)的波特率系列,常用的標(biāo)準(zhǔn)值為110、300、600、2400、4800、9600和19200波特。為提高抗干擾能力,往往用多個時鐘來調(diào)制一位二進(jìn)制數(shù)。調(diào)制一位二進(jìn)制數(shù)的時鐘個數(shù)稱為波特因子(Factor)。收/發(fā)時鐘頻率與波特率的關(guān)系為:TxClk/RxClk=Factor×Baud.Factor一般取1,16,32或64。異步通信時常取16;同步通信則必須1。9調(diào)制與解調(diào)原因:數(shù)字信號包含很多直流和低頻成分,直接傳輸時會嚴(yán)重衰減,從而在接收端產(chǎn)生嚴(yán)重畸變和失真。解決辦法:發(fā)送方使用調(diào)制器
(Modulator),把要傳送的數(shù)字信號轉(zhuǎn)換為適合在線路上傳輸?shù)哪M信號。接收方則使用解調(diào)器(Demodulator)將模擬信號還原為數(shù)字信號。雙工和半雙工通信設(shè)備,既要發(fā)送數(shù)據(jù)又要接收數(shù)據(jù),故可將調(diào)制器和解調(diào)器做在一起,形成調(diào)制解調(diào)器(Modem)。10
(3)信號的調(diào)制與解調(diào)11調(diào)制解調(diào)器類型幅移鍵控(ASK)、頻移鍵控(FSK)和相移鍵控(PSK)。12一般采用頻移鍵控(FSK)的方法。當(dāng)信號為1時,開關(guān)1閉合,開關(guān)2斷開,經(jīng)放大器輸出頻率1的信號;當(dāng)信號為0時,開關(guān)1斷開,開關(guān)2閉合,經(jīng)放大器輸出頻率2的信號。13如何自動控制?補充:電子開關(guān)控制方法——繼電器定義:是一種當(dāng)輸入量達(dá)到一定值時,輸出量將發(fā)生跳躍式變化的自動控制器件。用途:能夠以較小電流控制大電流的導(dǎo)通和切斷,相當(dāng)于一種“自動開關(guān)”,在電路中起自動調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。分類:普通、干簧管式繼電器14普通繼電器15干簧繼電器組成:干簧管+線圈。干簧管由2或3片鐵鎳臺金“舌”簧片構(gòu)成,舌簧片的觸點部分鍍有貴金屬(金、銠、鈀等),以使其接通后良好的導(dǎo)電性能。舌簧片被密封在充有氮氣等惰性氣體的玻璃管內(nèi),防外界塵埃、污染和腐蝕,可靠性高,壽命長。1617
未通電時所處的狀態(tài)、外形展示18內(nèi)容概要可編程串口芯片8251A4串行通信協(xié)議2串行通信接口標(biāo)準(zhǔn)3PC機中的串口應(yīng)用5串行通信基本概念1數(shù)據(jù)傳送方式:單工、雙工、半雙工通信速率:比特率、波特率信號的調(diào)制與解調(diào)
8.2串口通信協(xié)議19通信協(xié)議:為使通信能順利進(jìn)行,數(shù)據(jù)收發(fā)雙方必須共同遵守的通信規(guī)程,稱為通信協(xié)議。通信協(xié)議的基本內(nèi)容:波特率:雙方約定的數(shù)據(jù)收/發(fā)速率。數(shù)據(jù)格式:雙方約定的幀格式及控制信息的定義等。幀同步:接收方獲知一批數(shù)據(jù)開始和結(jié)束的方法。位同步:接收方從數(shù)據(jù)流中正確采樣到每位數(shù)據(jù)的方法。差錯校驗方式:接收方判斷收到數(shù)據(jù)正確性的方法。串行通信協(xié)議的分類:異步串行通信協(xié)議同步串行通信協(xié)議特點以字符為單位進(jìn)行信息傳送。字符間異步,字符內(nèi)各位之間同步。字符與字符之間沒有嚴(yán)格的定時要求,其間隙任意。一旦開始傳輸一個字符,收發(fā)雙方必須按照約定的速率,在時鐘的作用下,一位一位地進(jìn)行同步傳輸。幀格式數(shù)據(jù)格式包括:同步信息(數(shù)據(jù)的開始與結(jié)束)、數(shù)據(jù)信息和校驗信息。20
(1)異步串行通信協(xié)議采用極性相反的起始位和停止位提供準(zhǔn)確的時間基準(zhǔn)。一次傳送1個字符。具有信息校驗,可靠性高。傳輸速率較慢,效率低(≤80%)。一般用于數(shù)據(jù)量較小、傳輸率較低的場合。21可為任意多位起止式的異步串行通信【例8-2】異步傳輸ASCII碼,每個字符7位,如果數(shù)據(jù)傳輸速率為240字符/秒,使用1位奇偶校驗位和1位停止位,問:(1)波特率為多少?(2)有效數(shù)據(jù)位傳輸率是多少?(3)傳輸效率是多少?
解題分析:
(1)波特率:(1+7+1+1)×240=2400bout/s(2)有效數(shù)據(jù)位傳輸率:7×240=1680bout/s(3)傳輸效率是:1680/2400=70%(7/10=70%)22【例8-3】某計算機采用異步串行通信方式,數(shù)據(jù)格式為:8位數(shù)據(jù)位,奇校驗,2位停止位。試畫出傳送字符“A”時通信線路上的波形。解題分析:字符A的ASCII碼為01000001,按照先低位后高位的順序。前面加1位起始位“0”,后加奇校驗位“1”和2位停止位“11”。231010特點字符與字符間同步,字符內(nèi)各位之間也同步。不使用起始位和停止位來標(biāo)識字符的開始和結(jié)束,而是用一串特定的二進(jìn)制序列(同步字符),來通知接收方串行數(shù)據(jù)的第一位何時到達(dá)。傳輸效率高,速度快,但其技術(shù)復(fù)雜,硬件開銷大。一般用于高速數(shù)據(jù)傳輸場合。分類面向字符的同步通信:一幀數(shù)據(jù)由若干個字符組成。面向比特的同步通信:一幀數(shù)據(jù)由任意位bit組成,主要用于二進(jìn)制的傳輸。24
(2)同步串行通信協(xié)議面向字符的同步通信數(shù)據(jù)塊由字符組成,字符連續(xù),其間不留空隙。要求收發(fā)雙方時鐘完全同頻同相,不能有一點誤差。近距離傳送時,可在傳輸線上增加一條時鐘線,以確保收發(fā)雙方使用同一時鐘。遠(yuǎn)距離傳送時,可通過Modem從數(shù)據(jù)流中提取同步信號。25分類根據(jù)對同步信號的檢測方式,可分為:內(nèi)同步:對同步信號的檢測和同步控制在串行接口芯片內(nèi)部進(jìn)行。單同步:只有一個字節(jié)的同步字符。雙同步:有兩個字節(jié)的同步字符。外同步:對同步信號的檢測在串行接口芯片的外部進(jìn)行。當(dāng)外部硬件電路檢測到同步字符時,向串行接口發(fā)一個同步信號SYNC。串行接口收到同步信號后,立即開始接收信息。2627典型的面向字符的同步通信協(xié)議——IBMBSCBSC:BinarySynchronousCommunication。一幀傳輸由若干字符組成,比異步起止式傳輸效率高。規(guī)定了10個通信控制字符,作為數(shù)據(jù)塊的開始和結(jié)束標(biāo)志以及整個傳輸過程的控制信息,增強了通信控制能力和校驗功能。28幀格式29SYNSYNSOH標(biāo)題STX數(shù)據(jù)塊ETB/ETX塊校驗面向比特的同步通信一幀數(shù)據(jù)可由任意位組成??考s定的位組合模式來標(biāo)志幀的開始和結(jié)束。308位8位8位≥0位16位8位01111110ACIFC01111110開始標(biāo)志地址域控制域信息域校驗域結(jié)束標(biāo)志典型的面向比特的同步通信協(xié)議IBM的SDLC(同步數(shù)據(jù)鏈路控制,SynchronousDataLinkControl)。ISO的HDLC(高級數(shù)據(jù)鏈路控制,HighLevelDataLinkControl)。ANSI的ADCCP(高級數(shù)據(jù)通信控制規(guī)程,AdvancedDataCommunicationsControlProcedure)。31SDLC/HDLC協(xié)議的幀格式標(biāo)志域:開始和結(jié)束標(biāo)志,提供了每幀信息的邊界。標(biāo)志字符為01111110。地址域
(A:Address):規(guī)定了與之通信的目標(biāo)地址。控制域
(C:Control):規(guī)定了若干個命令。信息域
(I:Information):包含要傳送的數(shù)據(jù)。數(shù)據(jù)域為0時表示該幀為控制命令。幀校驗域(FC:FrameCheck):采用16位CRC校驗。328位8位8位≥0位16位8位01111110ACIFC01111110開始標(biāo)志地址域控制域信息域校驗域結(jié)束標(biāo)志SDLC/HDLC實際應(yīng)用時的2個技術(shù)問題:“0”位插入/刪除技術(shù):信息域中可能存在和標(biāo)志字節(jié)01111110相同的字符,為了區(qū)別,發(fā)送端在發(fā)送除標(biāo)志字節(jié)外的信息時,當(dāng)遇到連續(xù)5個“1”時,就自動插入一個“0”。接收端若連續(xù)接收到5個“1”時,就自動刪除其后的一個“0”,恢復(fù)信息。SDLC/HDLC異常結(jié)束:發(fā)送過程若出現(xiàn)錯誤,用異常結(jié)束字符使本幀作廢。在HDLC規(guī)程中,失效字符為7個連續(xù)的“1”,在SDLC中為8個連續(xù)的“1”。異常結(jié)束字符中不使用“0”位插入/刪除技術(shù)。338位8位8位≥0位16位8位01111110ACIFC01111110開始標(biāo)志地址域控制域信息域校驗域結(jié)束標(biāo)志34內(nèi)容概要可編程串口芯片8251A4串行通信協(xié)議2串行通信接口標(biāo)準(zhǔn)3PC機中的串口應(yīng)用5串行通信基本概念1異步串行通信協(xié)議(起止式)同步串行通信協(xié)議:內(nèi)同步、外同步
8.3串口通信接口標(biāo)準(zhǔn)35常用的串行通信接口標(biāo)準(zhǔn)RS-232C標(biāo)準(zhǔn):最常用的標(biāo)準(zhǔn),是基礎(chǔ)。全稱:EIA-RS-232C標(biāo)準(zhǔn)(ElectronicIndustrialAssociate-RecommendedStandard-232C)。由美國電子工業(yè)協(xié)會(EIA)于1969年頒布。最初用于遠(yuǎn)距離通信。適合數(shù)據(jù)速率在0~20Kb/s范圍內(nèi)通信。RS-422A標(biāo)準(zhǔn)RS-485標(biāo)準(zhǔn)數(shù)據(jù)終端設(shè)備DTE(DataTerminalEquipment):通常指計算機或I/O設(shè)備。代表數(shù)據(jù)源和目的地。數(shù)據(jù)通信設(shè)備DCE(DataCommunicationEquipment):又稱數(shù)據(jù)裝置(DataSet),通常為Modem。作用:使數(shù)據(jù)符合線路要求。36
(1)RS-232C標(biāo)準(zhǔn)的設(shè)備類型串行通信系統(tǒng)RS-232C標(biāo)準(zhǔn)規(guī)定了22根控制信號線,實際常常只用到3~9根,多采用9針或25針的D型頭來連接。37
(2)RS-232C標(biāo)準(zhǔn)的信號功能38DB-25型連接器DB-9型連接器實際異步通信時,只需9個信號:2個數(shù)據(jù)信號、6個控制信號、1個信號地線。信號線含義(從數(shù)據(jù)終端角度來定義):TxD:串行數(shù)據(jù)發(fā)送端,輸出。RxD:串行數(shù)據(jù)接收端,輸入。RTS:請求發(fā)送信號,輸出。為高時表示終端要向Modem或其它通信設(shè)備發(fā)送數(shù)據(jù)。CTS:清除發(fā)送信號,輸入。是對RTS的響應(yīng)。當(dāng)Modem或外設(shè)準(zhǔn)備好接收來自終端的數(shù)據(jù)時,該信號有效。DTR:終端準(zhǔn)備就緒信號,輸出。為高時表明終端準(zhǔn)備好接收來自Modem或外設(shè)的數(shù)據(jù)。DSR:數(shù)據(jù)裝置準(zhǔn)備就緒信號,輸入。為高時表明Modem或外設(shè)準(zhǔn)備好發(fā)送數(shù)據(jù)。DCD:接收信號檢測,輸入。為高時表明Modem收到通信線路另一端Modem送來的正常載波信號。RI:振鈴提示,輸入。當(dāng)高時表明Modem收到交換臺送來的振鈴信號。39RS-232C電平:負(fù)邏輯邏輯“1”:-3V~-15V邏輯“0”:+3V~+15VTTL電平:正邏輯邏輯“1”:>2.4V邏輯“0”:<0.4VRS-232C電平與TTL電平的轉(zhuǎn)換電平轉(zhuǎn)換芯片:MAX232/MAX232A、MC1488/MC1489MC1488:TTL電平→RS-232C電平MC1489:RS-232C電平→TTL電平40
(3)RS-232C信號的電平特性一般使用±12V使用Modem時(距離>15米時)41
(4)RS-232C的連接方式不使用Modem時(距離<15米時)42RS-422A接口標(biāo)準(zhǔn):傳輸距離更遠(yuǎn)平衡方式傳輸:發(fā)送端平衡發(fā)送,接收端差分接收。兩條傳輸線間的電位差決定電平值:AA’-BB’≥200mV表示邏輯“1”;AA’-BB’≤200mV表示邏輯“0”。最大傳輸率:10Mbps;傳輸距離:15m(10Mbps)~1200m(90Kbps)。43
(5)其它串行通信標(biāo)準(zhǔn)RS-422A平衡式接口電路44四路差動線路驅(qū)動器
具有三態(tài)輸出的四路差動線路接收器RS-485接口標(biāo)準(zhǔn)是一種多發(fā)送器、平衡式傳輸?shù)拇薪涌跇?biāo)準(zhǔn)。與RS-422A兼容,但擴充了RS-422A的功能。采用差分發(fā)送和差分接收,抗干擾能力強。傳輸距離:在沒有Modem的情況下使用雙絞線直接連接時,傳輸距離為15m(10Mbps)
~1200m(100Kbps)。采用共線結(jié)構(gòu),實現(xiàn)多個收發(fā)器共用一條傳輸線的多點應(yīng)用。允許在平衡電纜上連接32對收發(fā)器,能實現(xiàn)多點對點的通信,容易聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng)。4546內(nèi)容概要可編程串口芯片8251A4串行通信協(xié)議2串行通信接口標(biāo)準(zhǔn)3PC機中的串口應(yīng)用5串行通信基本概念1RS-232C標(biāo)準(zhǔn)的設(shè)備類型RS-232C標(biāo)準(zhǔn)的信號功能RS-232C標(biāo)準(zhǔn)的電平特性RS-232C標(biāo)準(zhǔn)的連接方式其它串口標(biāo)準(zhǔn):RS-422A/RS-485
8.4可編程串口芯片8251A47Intel8251A是一款可編程的通用同步/異步接收發(fā)送器(USART:UniversalSynchronousAsynchronousReceiverandTransmitter)?;拘阅埽嚎晒ぷ髟谕交虍惒椒绞健M椒绞綍r,波特率為0~64Kbout/s。字符5~8位可選,支持內(nèi)、外同步,可自動插入同步字符。異步方式時,波特率為0~19.2Kbout/s。字符5~8位可選,波特率因子可選為1,16,64。具有獨立的發(fā)送器和接收器,能以單工、半雙工和全雙工方式進(jìn)行通信。提供基本的控制信號,能方便地與Modem相連。48
(1)內(nèi)部結(jié)構(gòu)49數(shù)據(jù)總線緩沖器8位三態(tài)雙向緩沖區(qū),用于在CPU與8251之間傳送數(shù)據(jù)、狀態(tài)和控制信息。讀/寫控制邏輯對CS,RD,WR,C/D等信號進(jìn)行譯碼,以確定8251的操作。50調(diào)制解調(diào)器控制遠(yuǎn)距離通信時,提供與Modem聯(lián)絡(luò)的信號。近距離串行通信時,提供與外設(shè)聯(lián)絡(luò)的信號。51發(fā)送器發(fā)送緩沖器
+發(fā)送移位寄存器
+發(fā)送控制電路。發(fā)送控制電路用來控制和管理發(fā)送過程。在其控制下,發(fā)送緩沖器將來自CPU的并行數(shù)據(jù)串行化,通過TxD發(fā)送出去。異步方式:控制電路在數(shù)據(jù)幀中加上起始、校驗和停止位。同步方式:控制電路在數(shù)據(jù)幀中插入同步字符和校驗位。同步方式發(fā)送過程中,兩字符間不允許有間隔。若CPU未及時提供新字符,則控制電路自動補上同步字符。52接收器接收緩沖器
+接收移位寄存器
+接收控制電路。接收控制電路用來控制和管理接收過程。在其管理下,接收器從RxD上接收串行數(shù)據(jù),并行化后存入接收緩沖器。異步方式:8251監(jiān)視RxD線。當(dāng)發(fā)現(xiàn)↓時,開始接收一幀數(shù)據(jù)。經(jīng)校驗后剔除起始位和停止位等,將有效信息轉(zhuǎn)換為并行數(shù)據(jù)存入接收緩沖器。同步方式:8251監(jiān)視RxD線,依次對數(shù)據(jù)移位。每收到一位,都將接收寄存器與同步字符比較。若不等,則移入下一位繼續(xù)比較;若相等,則表示搜索到同步字符,SYNDET=1。這時在RxC的同步下移位RxD上的數(shù)據(jù),并將其組裝成并行數(shù)據(jù),送入接收緩沖器。53
(2)外部引腳28引腳的DIP封裝。信號分為4組:發(fā)送器信號接收器信號讀寫控制邏輯信號Modem控制信號54TxRDY:發(fā)送器準(zhǔn)備就緒。為1表CPU可寫入新的數(shù)據(jù)??勺髦袛嗾埱笮盘?。TxEmpty:發(fā)送器空閑。為1表發(fā)送移位寄存器為空。RxRDY:接收器就緒。若已接收到數(shù)據(jù)并將其變?yōu)椴⑿袝r,RxRDY變高,通知CPU來取數(shù)據(jù)??勺髦袛嗾埱笮盘?。SYNDET:同步檢測信號。內(nèi)同步時,輸出。外同步時輸入。55發(fā)送器引腳TxRDY:發(fā)送器準(zhǔn)備就緒。為1時CPU可將數(shù)據(jù)寫入8251A。中斷方式時,可作為中斷請求信號。TxC:發(fā)送時鐘。同步方式下,其頻率等于發(fā)送數(shù)據(jù)的波特率;在異步方式下,
其頻率是發(fā)送波特率的1、16或64倍,具體的倍數(shù)可編程設(shè)定。TxD:數(shù)據(jù)發(fā)送端,輸出串行數(shù)據(jù)。TxEMPTY:發(fā)送器空。為1表發(fā)送移位寄存器空。56接收器引腳RxD:數(shù)據(jù)接收端,用來接收外部輸入的數(shù)據(jù)。RxC:接收時鐘,輸入。同步方式下,其頻率等于接收數(shù)據(jù)的波特率;異步方式下,其頻率是接收波特率的1、16或64倍。57SYNDET/BRKDET:同步檢測/間斷檢測信號。
同步方式下,用于同步檢測(SYNDET)。內(nèi)同步時,8251內(nèi)部搜索到同步字符時,SYNDET輸出1。外同步時,外部電路找到同步字符后,向SYNDET引腳輸入高電平,則8251開始接收數(shù)據(jù)。
異步方式下,用于間斷檢測(BRKDET)。為1表示收到對方發(fā)來的間斷碼。RxRDY:接收器準(zhǔn)備好信號。當(dāng)接收緩沖器接收到串行數(shù)據(jù)且并行化后,RxRDY=1,通知CPU讀取數(shù)據(jù)。CPU讀取后,RxRDY變?yōu)?。中斷方式時,該信號可作為中斷請求信號。58讀/寫控制邏輯引腳Reset:復(fù)位。使線路處于空閑狀態(tài)。CLK:時鐘輸入。同步方式:頻率要大于波特率的30倍;異步方式:頻率要大于波特率的4.5倍。CS、RD、WR:RD有效時,CPU讀取接收緩沖器的數(shù)據(jù);WR有效時,CPU將數(shù)據(jù)寫入發(fā)送緩沖器。C/D:控制/數(shù)據(jù)信號,輸入。當(dāng)C/D=1時,數(shù)據(jù)總線上傳送的是控制字、命令字或狀態(tài)字。當(dāng)C/D=0時,數(shù)據(jù)總線上傳送的是數(shù)據(jù)。59Modem控制信號引腳RTS:請求發(fā)送信號,輸出。有效時,表CPU已準(zhǔn)備好發(fā)送數(shù)據(jù)。CTS:清除發(fā)送信號,輸入。它是RTS的應(yīng)答信號,有效時表Modem或外設(shè)已做好接收數(shù)據(jù)準(zhǔn)備。DTR:數(shù)據(jù)終端就緒信號,輸出。有效時,表示CPU準(zhǔn)備好進(jìn)行數(shù)據(jù)接收。DSR:數(shù)據(jù)裝置就緒信號,輸入。它是DTR的應(yīng)答信號,有效時表Modem或外設(shè)已準(zhǔn)備好發(fā)送數(shù)據(jù)。60
(3)8251編程8251A內(nèi)部有2個命令字和1個狀態(tài)字。方式命令字:指定8251A的通信方式(同步、異步)及其約定的數(shù)據(jù)幀格式。初始化時使用。操作命令字:①指定8251A進(jìn)行何種操作(發(fā)送、接收、內(nèi)部復(fù)位等);②設(shè)置某種工作狀態(tài),以便接收和發(fā)送數(shù)據(jù)。狀態(tài)字:報告8251A何時可發(fā)送和接收數(shù)據(jù),以及接收的數(shù)據(jù)有無錯誤。61方式命令字1:奇偶校驗0:不用S2S1EPPENL2L1B1B0D7D6D5D4D3D2D1D000:同步方式01:異步(×1)10:異步(×16)11:異步(×64)00:長度5位01:6位10:7位11:8位1:偶校驗0:奇校驗同步方式:SYN/內(nèi)/外00:2個SYN,內(nèi)同步01:2個SYN,外同步10:1個SYN,內(nèi)同步11:1個SYN,外同步異步方式:停止位00:無效01:1個停止位10:1.5個停止位11:2個停止位【例8-3】某異步通信的數(shù)據(jù)格式為:1位起始位,2位停止位,奇校驗,8位數(shù)據(jù),波特率因子為16。設(shè)8251A控制端口地址為309H,試寫出初始化代碼段。
62MOVDX,309H MOVAL,11
01
11
10B;異步方式字OUTDX,AL【例8-4】某同步通信的數(shù)據(jù)格式為:雙同步字符、內(nèi)同步方式,奇校驗,字符長度8位。設(shè)8251A地址端口為309H,試寫出初始化代碼段。
MOVDX,309H MOVAL,00
01
11
00B;同步方式字OUTDX,AL63操作命令字EHIRRTSERSBRKRxEDTRTxEND7D6D5D4D3D2D1D0發(fā)送允許1:允許0:禁止1:數(shù)據(jù)終端準(zhǔn)備就緒(使DTR有效)接收允許1:允許0:禁止送間斷字符1:TxD為低0:正常工作1:錯誤標(biāo)志復(fù)位1:請求發(fā)送(使RTS有效)1:內(nèi)部復(fù)位,回到初始狀態(tài)1:啟動搜索同步字符【例8-5】要使8251A內(nèi)部復(fù)位,請寫出代碼段。(設(shè)8251地址端口為309H)
64MOVDX,309H MOVAL,01000000B;內(nèi)部復(fù)位OUTDX,AL【例8-6】某異步通信,若同時允許發(fā)送和接收。試寫出代碼段。(設(shè)8251地址端口為309H)
MOVDX,309H MOVAL,0000
0101B;允許發(fā)送和接收OUTDX,AL65狀態(tài)字:存放在狀態(tài)寄存器中,供CPU讀取。DSRSYNDETTEOEPETxEmptyRxRDYTxRDYD7D6D5D4D3D2D1D0發(fā)送緩沖器就緒奇偶校驗錯溢出錯校驗錯無停止數(shù)據(jù)裝置準(zhǔn)備好和相應(yīng)引腳的定義完全相同【例8-6】串行通信中,發(fā)送時需查詢發(fā)送器是否準(zhǔn)備好。其程序段為:
66L:MOVDX,309HINAL,DXTESTAL,01H
;查詢發(fā)送器是否準(zhǔn)備好JZ L ;未準(zhǔn)備好則繼續(xù)查詢【例8-7】串行通信中,接收時需查詢接收器是否準(zhǔn)備好。其程序段為:
L:MOVDX,309HINAL,DXTESTAL,02H
;查詢發(fā)送器是否準(zhǔn)備好JZ L ;未準(zhǔn)備好則繼續(xù)查詢678251A初始化編程8251A的方式命令字和操作命令字寫入同一控制端口地址,采用順序?qū)懭敕?。系統(tǒng)復(fù)位后,必須先寫入方式命令字,再寫入操作命令字。68編程順序接通電源時硬件自動復(fù)位。為確保寫方式字和命令字之前已正確復(fù)位,應(yīng)向8251A控制口連續(xù)寫入3個0,然后再寫入復(fù)位字(D6=1)?!纠?-8】已知串行通信中,
8251為同步傳送,有2個同步字符,內(nèi)同步,偶校驗,7位數(shù)據(jù)位,同步字符為16H。設(shè)8251控制口地址為1F2H,試寫出初始化程序段。
69MOVDX,1F2H;控制口地址MOVBL,3 ;設(shè)置發(fā)送0的次數(shù)MOVAL,00HLL:OUTDX,AL ;連續(xù)發(fā)送3個0DECBLJNZLLMOVAL,40H;送復(fù)位命令字OUTDX,AL70MOV AL,38H;方式命令字:2個同步字符,內(nèi)同步,OUT DX,AL;偶校驗,7位數(shù)據(jù)位MOV AL,16H;第1個同步字符,同步字符為16HOUT DX,ALOUT DX,AL;第2個同步字符,同步字符為16HMOV AL,15H;操作命令字:錯誤復(fù)位、允許發(fā)送、OUT DX,AL;允許接收【例8-9】已知某系統(tǒng)使用
8251異步串行通信,波特因子為64,偶校驗,1位停止位,7位數(shù)據(jù)位。8251與外設(shè)有握手信號,采用查詢方式傳送。CPU地址線的A1接8251的C/D端,8251兩個端口地址為1F2H和1F0H,試編寫發(fā)送字符‘A’的程序段。71MOVDX,1F2H;控制口地址MOVBL,3 ;設(shè)置發(fā)送0的次數(shù)MOVAL,00HLL:OUTDX,AL ;連續(xù)發(fā)送3個0DECBLJNZLLMOVAL,40H;送復(fù)位命令字OUTDX,AL72MOV AL,7BH;方式字:異步,波特因子64,偶校驗,MOVDX,AL;1位停止位,7位數(shù)據(jù)位MOV AL,11H;操作命令字:允許發(fā)送、錯誤復(fù)位OUTDX,AL ;WAIT:INAL,DX ;讀取狀態(tài)字
TESTAL,01H
JZWAIT ;TxRDY=0,則繼續(xù)等待 MOVDX,1F0H
;發(fā)送數(shù)據(jù)到數(shù)據(jù)端口 MOVAL,’A’ OUTDX,AL【例8-10】設(shè)A、B兩臺PC機利用8251通過RS-232串口進(jìn)行通信。要求將A機內(nèi)存緩沖區(qū)Tx_buf的100個字符發(fā)送到通信線上,B機接收線路上的字符,存放至接收緩沖區(qū)Rx_buf中。設(shè)兩機之間采用查詢方式異步傳送,8位數(shù)據(jù)位,1位停止位,奇校驗,波特率因子為16。8251兩端口地址為1F0H和1F2H,CPU地址線A1接其C/D引腳。試編程實現(xiàn)以上串行傳輸過程。7374近距離通信時,不使用Modem,多采用三線零調(diào)制法MC1488:TTL→RS232MC1489:TTL←RS232CPU的CLK經(jīng)過8253分頻得到TxCLK和RxCLKA機的發(fā)送程序:75MOVDX,1F2H;控制口地址MOVBL,3 ;設(shè)置發(fā)送0的次數(shù)MOVAL,00HLL:OUTDX,AL ;連續(xù)發(fā)送3個0DECBLJNZLLMOVAL,40H;復(fù)位命令字OUTDX,ALMOVAL,5EH ;方式字:異步,8位數(shù)據(jù),1位
OUTDX,AL;停止位,奇校驗,波特因子16MOVAL,11H ;操作命令字:允許發(fā)送,錯誤復(fù)位OUTDX,AL76 LEASI,Tx_buf ;發(fā)送緩沖區(qū)首址送SIMOVCX,100 ;設(shè)置計數(shù)初值WAIT1:MOVDX,1F2H INAL,DX ;讀取狀態(tài)字 TESTAL,01H JZWAIT1 ;發(fā)送器未就緒,則繼續(xù)等待 MOVAL,[SI] MOVDX,1F0H ;發(fā)送字符 OUTDX,AL INCSI LOOPWAIT1 ;未發(fā)送完100個字符,則繼續(xù)B機的接收程序:77MOVDX,1F2H;控制口地址MOVBL,3 ;設(shè)置發(fā)送0的次數(shù)MOVAL,00HLL:OUTDX,AL ;連續(xù)發(fā)送3個0DECBLJNZLLMOVAL,40H;復(fù)位命令字OUTDX,ALMOVAL,5EH ;方式字:異步,8位數(shù)據(jù),1位
OUTDX,AL;停止位,奇校驗,波特因子16MOVAL,14H ;操作命令字:允許接收,錯誤復(fù)位OUTDX,AL78 LEADI,Rx_buf ;接收緩沖區(qū)首址送DIMOVCX,100 ;設(shè)置計數(shù)初值WAIT2:MOVDX,1F2H INAL,DX ;讀取狀態(tài)字
TESTAL,02H JZWAIT2 ;接收緩沖器未就緒,繼續(xù)等待
TESTAL,38H
;檢查是否有錯
JNZERROR MOVDX,1F0H ;接收字符INAL,DXMOV[DI],AL INCDI LOOPWAIT2 ;未接收完100個字符,則繼續(xù)79內(nèi)容概要可編程串口芯片8251A4串行通信協(xié)議2串行通信接口標(biāo)準(zhǔn)3PC機中的串口應(yīng)用5串行通信基本概念1內(nèi)部結(jié)構(gòu)與外部引腳8251編程:方式命令字、控制命令字、狀態(tài)字,初始化編程8251的應(yīng)用舉例
8.5PC機中的串口應(yīng)用80PC機支持COM1~COM44個串口,一般使用COM1和COM2。COM1端口地址為3F8H~3FFH,使用IRQ4中斷請求;COM2端口地址為2F8H~2FFH,使用I
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吸脂瘦臀部病因介紹
- 商業(yè)辦公樓項目合同范例
- 合作開發(fā)礦業(yè)合同范例
- 過戶房子定金合同范例
- 檳榔合同范例簡易
- 邀請合作協(xié)議合同范例
- 合肥奔馳銷售合同范例
- 飯?zhí)脪炜繀f(xié)議合同范例
- 中鐵電料合同范例
- 租房續(xù)租 合同范例
- 2024年高考政治選必二《法律與生活》重要知識問題梳理總結(jié)
- 孕早期nt檢查課件
- 期末復(fù)習(xí)(試題)-2024-2025學(xué)年三年級上冊數(shù)學(xué)蘇教版
- 檢驗科新進(jìn)人員崗前培訓(xùn)
- 小紅書種草營銷師模擬題及答案(單選+多選+判斷)
- 2024年家裝家居行業(yè)解決方案-淘天集團
- 2022年新高考I卷讀后續(xù)寫David's run公開課課件-高三英語一輪復(fù)習(xí)
- 《論語》導(dǎo)讀(復(fù)旦版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 民生銀行社招在線測評題
- 杰士德在線測評題
- 糧油食材配送投標(biāo)方案(大米食用油食材配送服務(wù)投標(biāo)方案)(技術(shù)方案)
評論
0/150
提交評論