版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1
第7章
常用數(shù)字接口電路2主要內(nèi)容:掌握兩種可編程接口芯片的應(yīng)用通信指計(jì)算機(jī)與外設(shè)、計(jì)算機(jī)與計(jì)算機(jī)間的信息交換通信的基本方法:并行通信和串行通信并行通信和串行通信并行通信和串行通信計(jì)算機(jī)1
GND計(jì)算機(jī)2
GND并行通信計(jì)算機(jī)1
GND計(jì)算機(jī)2
GND發(fā)送接收串行通信并行通信:數(shù)據(jù)的各位同時(shí)傳送;串行通信:數(shù)據(jù)一位一位順序傳送。數(shù)據(jù)的各位同時(shí)由源到達(dá)目的地→
快多根數(shù)據(jù)線
→
距離短、遠(yuǎn)程費(fèi)用高
并行通信
將數(shù)據(jù)的各位同時(shí)在多根并行傳輸線上進(jìn)行傳輸。01010110
D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源并行通信適于短距離、高速通信數(shù)據(jù)的各位依次由源到達(dá)目的地→
慢數(shù)據(jù)線少→
遠(yuǎn)程,費(fèi)用低
串行通信
將數(shù)據(jù)的各位按時(shí)間順序依次在一根傳輸線上傳輸。
01101010
RD目的TD源串行通信適于長距離、中低速通信并行接口的特點(diǎn)以數(shù)據(jù)字節(jié)或字為單位與I/O設(shè)備或被控對(duì)象傳輸數(shù)據(jù)。適用于近距離數(shù)據(jù)傳輸。一次同時(shí)傳送多位數(shù)據(jù),傳送速度快。8位或16位是同時(shí)傳輸?shù)?。并行傳送的信息不要求固定的格式,這與串行傳送的信息有固定格式的要求不同。并行接口的類型從并行接口數(shù)據(jù)傳送的方向看,可分為兩種,一是單向傳送(只作為輸入口或只作為輸出口),另一種是雙向傳送(既可作為輸入口,也可作為輸出口)從并行接口的電路結(jié)構(gòu)看,并行接口可分為硬接線接口和可編程接口??删幊探涌诳梢杂密浖幊绦虻姆椒ǜ淖兘涌诘墓ぷ鞣绞郊肮δ?,具有廣泛的適應(yīng)性和很高的靈活性。與并行通信相比,串行通信的優(yōu)勢(shì)傳輸距離長,可達(dá)到數(shù)千公里抗干擾能力強(qiáng),串行通信信號(hào)間的互相干擾完全可以忽略。費(fèi)用低。串行通信串行通信的分類:異步(Asynchronouscommunication)同步(SynchronousCommunication)
串行通信制式:單工(a)、半雙工(b)和全雙工(c)
(simplexhalfduplexfullduplex)發(fā)送器A站接收器B站單工通信(a)發(fā)收A站發(fā)收B站發(fā)收A站發(fā)收B站(b)(c)串行通信的通信方式異步通信方式:異步通信是指發(fā)送方和接收方采用獨(dú)立的時(shí)鐘,即雙方?jīng)]有一個(gè)相同的參考時(shí)鐘作為基準(zhǔn)。在異步通信中數(shù)據(jù)一般以一個(gè)字符為單位進(jìn)行傳送。用一幀來表示一個(gè)字符,一幀信息由起始位(為0信號(hào),占1位)、數(shù)據(jù)位(傳輸時(shí)低位在先,高位在后)、奇偶較驗(yàn)位(可要可不要)和停止位(為1信號(hào),可1位、1位半或2位)組成。同步通信方式:在同步通信中,每個(gè)數(shù)據(jù)塊的開頭以同步字符SYN加以指示,使發(fā)送與接受雙方取得同步。數(shù)據(jù)塊的各字符之間沒有起始位和停止位,提高了通信的速度。但為了能保持同步傳送,在同步通信中須用一個(gè)時(shí)鐘來協(xié)調(diào)收發(fā)器的工作,這就增加了設(shè)備的復(fù)雜性。1.字符格式
雙方要事先約定字符的編碼形式、奇偶校驗(yàn)形式及起始位和停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為7位,加一個(gè)奇偶校驗(yàn)位、一個(gè)起始位和一個(gè)停止位共10位。2.波特率波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間有以下關(guān)系:
波特率=1個(gè)字符的二進(jìn)制編碼位數(shù)×字符/秒注:在異步通信中,通信雙方必須事先約定字符格式和波特率.異步串行通信基礎(chǔ)異步串行通信協(xié)議串行通信的錯(cuò)誤校驗(yàn)奇偶校驗(yàn)代碼和校驗(yàn)循環(huán)冗余校驗(yàn)(CRC)可自動(dòng)糾錯(cuò)所謂誤碼率,是指數(shù)據(jù)經(jīng)傳輸后發(fā)生錯(cuò)誤的位數(shù)與總傳輸位數(shù)之比。在計(jì)算機(jī)通信中,一般要求誤碼率達(dá)到10-6數(shù)量級(jí)。誤碼率與通信線路質(zhì)量、干擾大小及波特率等因素有關(guān)差錯(cuò)控制誤碼率串行接口RS-232C標(biāo)準(zhǔn)串行通信系統(tǒng)數(shù)據(jù)終端設(shè)備DTE——數(shù)據(jù)源和目的地?cái)?shù)據(jù)通信設(shè)備DCE——使數(shù)據(jù)符合線路要求串行通信的接口標(biāo)準(zhǔn)1機(jī)械特性2常用的RS-232C信號(hào)線信號(hào)代號(hào)中第一個(gè)字母表示信號(hào)類型,A為地線,B為數(shù)據(jù)線,C為控制線,D為時(shí)鐘信號(hào)。3常用的RS-232C連接1).使用MODEM2).不使用MODEM3).最簡單連接定時(shí)與計(jì)數(shù)定時(shí)計(jì)數(shù)技術(shù)在計(jì)算機(jī)中具有極為重要的作用。微機(jī)控制系統(tǒng)中,常要按一定的采樣周期對(duì)處理對(duì)象進(jìn)行采樣或定時(shí)檢測(cè)某些參數(shù)等,用計(jì)數(shù)器對(duì)外部事件計(jì)數(shù),即記錄外設(shè)提供的脈沖個(gè)數(shù)。在實(shí)時(shí)操作系統(tǒng)和多任務(wù)操作系統(tǒng)中,可以利用定時(shí)器產(chǎn)生的定時(shí)中斷進(jìn)行進(jìn)程調(diào)度。
定時(shí)器和計(jì)數(shù)器都由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成。前者記錄高精度晶振脈沖信號(hào),因此可以輸出準(zhǔn)確的時(shí)間間隔,稱為定時(shí)器,而當(dāng)記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號(hào)時(shí),它主要反映脈沖的個(gè)數(shù),稱為計(jì)數(shù)器。
定時(shí)的方法有3種:軟件定時(shí)、不可編程的硬件定時(shí)和可編程的定時(shí)。1.軟件定時(shí)
根據(jù)CPU執(zhí)行每條指令需要一定的時(shí)間,重復(fù)執(zhí)行一些指令就會(huì)占用一段固定的時(shí)間,通過適當(dāng)?shù)剡x取指令和循環(huán)次數(shù)便很容易實(shí)現(xiàn)定時(shí)功能,這種方法不需要增加硬件,可通過編程來控制和改變定時(shí)時(shí)間,靈活方便,節(jié)省費(fèi)用。缺點(diǎn)是CPU重復(fù)執(zhí)行的這段程序的本身并沒有什么具體目的,僅為延時(shí),從而降低了CPU利用率。2.不可編程的硬件定時(shí)
這種方法采用數(shù)字電路中的分頻器將系統(tǒng)時(shí)鐘進(jìn)行適當(dāng)?shù)姆诸l產(chǎn)生需要的定時(shí)信號(hào);也可以采用單穩(wěn)電路或簡易定時(shí)電路(如常用的555定時(shí)器)由外接RC電路控制定時(shí)時(shí)間。但是,這種定時(shí)電路在硬件接好后,定時(shí)范圍不易由程序來改變和控制,使用不甚方便,而且定時(shí)精度也不高。3.可編程的定時(shí)
在微機(jī)系統(tǒng)中,常采用軟件、硬件相結(jié)合的方法,用可編程定時(shí)計(jì)數(shù)器芯片構(gòu)成一個(gè)方便靈活的定時(shí)計(jì)數(shù)電路。這種電路不僅定時(shí)值和定時(shí)范圍可用程序確定和改變,而且具有多種工作方式,可以輸出多種控制信號(hào),它由微處理器的時(shí)鐘信號(hào)提供時(shí)間基準(zhǔn),故計(jì)時(shí)也精確穩(wěn)定。如Intel8253。
26可編程定時(shí)器825327掌握:引線功能及計(jì)數(shù)啟動(dòng)方法6種工作方式及其輸出波形應(yīng)用:芯片與系統(tǒng)的連接芯片的初始化編程Intel8253可編程定時(shí)器/計(jì)數(shù)器8253的基本功能和內(nèi)部結(jié)構(gòu)(1)3個(gè)獨(dú)立的16位計(jì)數(shù)器,最大計(jì)數(shù)范圍為0~65535;(2)每個(gè)計(jì)數(shù)器均可以按二進(jìn)制或二—十進(jìn)制計(jì)數(shù);(3)計(jì)數(shù)器速率可達(dá)2MHz;(4)可編程6種不同的工作方式;(5)所有輸入和輸出都與TTL兼容。
8253具有較好的通用性和使用靈活性,幾乎適合于任何一種微處理器組成的系統(tǒng)。1.8253PIT的基本功能2.8253的內(nèi)部結(jié)構(gòu)
8253的內(nèi)部結(jié)構(gòu)如圖7.1所示,由數(shù)據(jù)總線緩沖器、控制寄存器、讀/寫控制邏輯和計(jì)數(shù)器等部分組成。
圖7.18253的內(nèi)部結(jié)構(gòu)示意圖(1)數(shù)據(jù)總線緩沖器
該緩沖器為8位雙向三態(tài)的緩沖器,可直接掛在數(shù)據(jù)總線上。CPU通過8位數(shù)據(jù)總線D0~D7傳送如下信息:
①向控制寄存器寫入控制字。②向某計(jì)數(shù)器寫入計(jì)數(shù)初值。③CPU通過緩沖器讀取計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值(2)讀/寫控制邏輯
決定三個(gè)計(jì)數(shù)器和控制字寄存器中哪一個(gè)能進(jìn)行工作,并控制內(nèi)部總線上數(shù)據(jù)傳送的方向。
①CS片選信號(hào),低電平有效(此時(shí)CPU才能對(duì)8253進(jìn)行讀寫操作),由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。②RD讀信號(hào),低電平有效,此時(shí)表示CPU正在讀取所選定的計(jì)數(shù)器通道中的內(nèi)容。③WR寫信號(hào),低電平有效,此時(shí)表示CPU正在將計(jì)數(shù)初值寫入所選中的計(jì)數(shù)通道中或?qū)⒖刂谱謱懭肟刂萍拇嫫髦小"蹵1A0端口選擇信號(hào),8253內(nèi)部有3個(gè)計(jì)數(shù)器通道和一個(gè)控制寄存器端口。當(dāng)A1A0=00,01,10時(shí)表示分別選中計(jì)數(shù)器通道0,1,2,當(dāng)A1A0=11時(shí)選中控制寄存器端口。(3)控制寄存器
接收從CPU來的控制字,并由控制字的D7、D6位的編碼決定該控制字寫入哪個(gè)計(jì)數(shù)器的控制寄存器,控制寄存器只能寫入,不能讀出。
(4)計(jì)數(shù)器當(dāng)8253用作計(jì)數(shù)器時(shí),加在CLK引腳上脈沖的間隔可以是不相等的;當(dāng)它用作定時(shí)器時(shí),則在CLK引腳應(yīng)輸入精確的時(shí)鐘脈沖,8253所能實(shí)現(xiàn)的定時(shí)時(shí)間,取決于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即:定時(shí)時(shí)間=時(shí)鐘脈沖周期Tc×預(yù)置的計(jì)數(shù)初值n。
對(duì)8253來講,外部輸入到CLK引腳上的時(shí)鐘脈沖頻率不能大于2MHZ,否則需分頻后才能送到CLK端。
計(jì)數(shù)器內(nèi)部邏輯圖控制單元初值寄存器減1計(jì)數(shù)器輸出鎖存器內(nèi)部總線CLKGATEOUT控制單元初值寄存器減1計(jì)數(shù)器輸出鎖存器內(nèi)部總線CLK8253的引腳信號(hào)8253PIT管腳圖計(jì)
數(shù)
器
0計(jì)
數(shù)
器
1計(jì)
數(shù)
器
2數(shù)
據(jù)
線控
制
線電
源
線
8253是一片具有3個(gè)獨(dú)立通道的16位計(jì)數(shù)器/定時(shí)器芯片,使用單一+5V電源,24引腳雙列直插式封裝,如右圖所示1.與CPU的接口信號(hào)(1)D0~D7——三態(tài)雙向數(shù)據(jù)線。與CPU數(shù)據(jù)總線相連,用于傳遞CPU與8253之間的數(shù)據(jù)信息、控制信息和狀態(tài)信息;(2)CS——片選信號(hào)(ChipSelect),輸入,低電平有效;(3)WR——寫信號(hào),輸入,低電平有效,用于控制CPU對(duì)8253的寫操作,可與A1,A0信號(hào)配合以決定是寫入控制字還是計(jì)數(shù)初值;(4)RD——讀信號(hào),輸入,低電平有效。用于控制CPU對(duì)8253的讀操作,可與A1,A0信號(hào)配合讀取某個(gè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值;(5)A0,A1-——地址輸入線。用于8253內(nèi)部尋址的4個(gè)端口,即3個(gè)計(jì)數(shù)器和一個(gè)控制字寄存器。一般與CPU低位的地址線相連
。A1A0寄存器選擇和操作000000001011110000×100001111×100110011××01010101××寫入計(jì)數(shù)器0寫入計(jì)數(shù)器1寫入計(jì)數(shù)器2寫入控制字寄存器讀計(jì)數(shù)器0讀計(jì)數(shù)器1讀計(jì)數(shù)器2無操作
禁止使用無操作CSRDWR表7.18253讀/寫操作邏輯表
2.與外部設(shè)備的接口信號(hào)(1)CLK0(CLK1,CLK2)——時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào)。CLK可以是系統(tǒng)時(shí)鐘脈沖,也可以是由其他脈沖源提供。8253規(guī)定加在CLK引腳的輸入時(shí)鐘周期不得小于380ns;(2)GATE0(GATE1,GATE2)——門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作。當(dāng)GATE為高電平時(shí),允許計(jì)數(shù)器工作,當(dāng)GATE為低電平時(shí),禁止計(jì)數(shù)器工作;(3)OUT0(OUT1,OUT2-)-——計(jì)數(shù)輸出端。在不同工作方式中,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0時(shí),OUT引腳上必輸出相應(yīng)的信號(hào)。
8253的控制字8253的控制字有4個(gè)主要功能:*
選擇計(jì)數(shù)器;*
確定計(jì)數(shù)器數(shù)據(jù)的讀寫格式;*
確定計(jì)數(shù)器的工作方式;*
確定計(jì)數(shù)器計(jì)數(shù)的數(shù)制。
控制字的格式如圖7.3所示圖7.38253控制字格式注:圖中×可以是0,也可以是1,一般取0D7D6D5D4D3D2D1
D0計(jì)數(shù)器讀/寫格式工作方式數(shù)制0—二進(jìn)制1—二―十進(jìn)制(BCD)000方式0001方式1×10方式2×11方式3100方式4101方式500計(jì)數(shù)器鎖存命令10只讀/寫高8位01只讀/寫低8位11首先寫低8位然后寫高8位00選擇計(jì)數(shù)器001選擇計(jì)數(shù)器110選擇計(jì)數(shù)器211非法選擇8253的工作方式8253是一種面向微機(jī)系統(tǒng)的專用接口芯片,它的每一個(gè)計(jì)數(shù)器都可以按照控制字的規(guī)定有6種不同的工作方式,每種工作方式中都有以下三種情況:*正常計(jì)數(shù)的波形圖;*正在計(jì)數(shù)過程中改變門控信號(hào)GATE后對(duì)整個(gè)計(jì)數(shù)工作的影響;*正在計(jì)數(shù)的過程中改變計(jì)數(shù)值對(duì)整個(gè)計(jì)數(shù)工作的影響。方式0——計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)方式0的工作時(shí)序如圖7.4(a)(b)(c)所示。工作方式0有如下特點(diǎn):a、門控信號(hào)GATE必須為1,計(jì)數(shù)器才能計(jì)數(shù);b、計(jì)數(shù)時(shí)通道輸出端OUT一直為0;c、通道計(jì)數(shù)器計(jì)數(shù)到0后,OUT由0到1,同時(shí)計(jì)數(shù)器停止工作。圖7.4(a)方式0正常計(jì)數(shù)CW=10LSB=3WRCLKGATEOUT322210FFCW=10LSB=3WRCLKGATEOUT322210FF圖7.4(b)方式0時(shí)GATE信號(hào)的作用圖7.4(c)方式0時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值例:設(shè)8253計(jì)數(shù)器通道0工作于方式0,用8位二進(jìn)制計(jì)數(shù),其計(jì)數(shù)值為50,二—十進(jìn)制,則它的初始化程序段如下:MOV AL,11H ;設(shè)置控制字OUT 43H,AL;寫入控制字寄存器MOV AL,50H;設(shè)置計(jì)數(shù)初值OUT 40H,AL ;寫入計(jì)數(shù)初值寄存器設(shè)8253占用端口地址40H~43H。注意8253寫計(jì)數(shù)值是由CPU的WR信號(hào)控制的,在WR信號(hào)的上升沿,計(jì)數(shù)值被送入對(duì)應(yīng)計(jì)數(shù)器的計(jì)數(shù)值寄存器,在WR信號(hào)上升沿之后的下一個(gè)CLK脈沖才開始計(jì)數(shù)。如果設(shè)置計(jì)數(shù)初值N,輸出OUT是在寫入命令執(zhí)行后,第N+1個(gè)CLK脈沖之后,才變?yōu)楦唠娖降摹:竺娴姆绞?、2、4、5也有同樣的特點(diǎn)。2.方式1——可編程的單穩(wěn)態(tài)觸發(fā)器(ProgrammableOneShort)方式1的工作波形如圖8.5(a)、(b)、(c)所示。方式1工作過程如下:a、門控信號(hào)GATE是觸發(fā)信號(hào),上升沿有效。即開始計(jì)數(shù)是由GATE的上升沿觸發(fā)的;b、
觸發(fā)后,通道計(jì)數(shù)器開始計(jì)數(shù),輸出端OUT由高變低;c、
計(jì)數(shù)器計(jì)數(shù)到0,OUT再由低變高。
圖7.5(a)方式1正常計(jì)數(shù)LSB=3WRCLKGATEOUT3210FF32CW=12LSB=3WRCLKGATEOUT3210FF32CW=12圖7.5(b)方式1時(shí)GATE信號(hào)的作用LSB=3WRCLK321321CW=120GATEOUT圖7.5(c)方式1時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=4LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=4例:設(shè)計(jì)數(shù)器通道1工作于方式1,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為4000H,它的初始化程序段為:MOV AL,62H ;工作方式控制字OUT 43H,AL MOV AL,40H ;送計(jì)數(shù)初值OUT 41H,AL設(shè)8253占用端口地址40H~43H。方式2的特點(diǎn)如下:a、
GATE門為1,計(jì)數(shù)器才能工作,對(duì)CLK端上的脈沖進(jìn)行計(jì)數(shù);b、
當(dāng)計(jì)數(shù)器“減”計(jì)數(shù)到1時(shí),輸出端由高變低,再經(jīng)過一個(gè)CLK周期,即計(jì)數(shù)器計(jì)數(shù)到0時(shí),輸出端OUT又跳變?yōu)楦?。所以方?輸出周期性負(fù)脈沖信號(hào),其寬度固定為一個(gè)CLK周期;c、
當(dāng)計(jì)數(shù)器的值減為0時(shí),自動(dòng)重新裝入計(jì)數(shù)初值,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。3.方式2——速率發(fā)生器(RateGenerator)方式2用門控信號(hào)達(dá)到同步計(jì)數(shù)的目的,波形圖如圖8.6(a)、(b)、(c)、(d)所示。圖7.6(a)方式2正常計(jì)數(shù)圖7.6(b)方式2時(shí)GATE信號(hào)的作用4CW=14LSB=5WRCLKGATEOUT3214534CW=14LSB=4LSB=5WRCLKGATEOUT321453圖7.6(c)方式2時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值例:設(shè)8253計(jì)數(shù)器0工作于方式2,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為0304H。MOV AL,00110100B ;設(shè)控制字,通道0,先讀/寫低8位
;再讀寫高8位,方式2,二進(jìn)制。OUT 43H,ALMOV AL,04H;送計(jì)數(shù)值低字節(jié)OUT 40H,ALMOV AL,03HOUT 40H,AL;送計(jì)數(shù)值高字節(jié)4.方式3——方波發(fā)生器(SquareWaveGenerator)方式3的工作過程同方式2,只是輸出的脈寬不同,波形如圖8.7(a)、(b)、(c)、(d)所示。圖7.7(a)方式3計(jì)數(shù)值為偶數(shù)時(shí)的波形圖7.7(b)方式3計(jì)數(shù)值為奇數(shù)時(shí)的波形圖7.7(c)方式3GATE信號(hào)的作用圖7.7(d)方式3計(jì)數(shù)過程中改變計(jì)數(shù)值例:設(shè)8253計(jì)數(shù)器2工作在方式3,按二—十進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為4,則它的初始化程序段如下:MOVAL,10010111B ;計(jì)數(shù)器2,只讀/寫低8位,工作方式3,二~十進(jìn)制OUT43H,AL ;控制字送控制字寄存器MOVAL,4 ;送計(jì)數(shù)初值OUT42H,AL設(shè)8253占用端口地址40H~43H。方式4在工作過程中有以下特點(diǎn):a、
門控信號(hào)GATE為高電平,計(jì)數(shù)器開始減1計(jì)數(shù),OUT維持高電平;b、
當(dāng)計(jì)數(shù)器減到0,輸出端OUT變低,再經(jīng)過一個(gè)CLK輸入時(shí)鐘周期,OUT輸出又變高。5.方式4——軟件觸發(fā)選通方式(SoftwareTriggeredStrobe)用方式4工作時(shí),GATE門控信號(hào)只是用來允許或不允許定時(shí)操作的,定時(shí)的執(zhí)行過程由裝入的初值決定,波形圖如圖8.8(a)、(b)、(c)所示。圖7.8(a)方式4正常計(jì)數(shù)圖7.8(b)方式4GATE信號(hào)的作用圖7.8(c)方式4計(jì)數(shù)過程中改變計(jì)數(shù)值例:設(shè)8253計(jì)數(shù)器1工作于方式4,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為3,則初始化程序段為:MOV AL,058H ;設(shè)置控制字寄存器OUT 43H,AL ;送控制字MOV AL,3 ;置計(jì)數(shù)初值OUT 41H,AL ;送計(jì)數(shù)初值設(shè)8253占用端口地址40H~43H。
這種工作方式同方式4很相似,當(dāng)控制字寫入控制寄存器后,輸出端OUT變高。同方式4不同的一點(diǎn)是當(dāng)計(jì)數(shù)值寫入通道計(jì)數(shù)器后,通道并未被觸發(fā),也就是計(jì)數(shù)器并不立即開始計(jì)數(shù)。只有當(dāng)GATE信號(hào)的上升沿觸發(fā)通道后,通道計(jì)數(shù)器才開始計(jì)數(shù)。6.方式5——硬件觸發(fā)選通方式(HardwareTriggeredStrobe)方式5為硬件觸發(fā)選通方式,完全由GATE端引入的觸發(fā)信號(hào)控制定時(shí)和計(jì)數(shù),波形圖如圖8.9(a)、(b)、(c)所示。圖7.9(a)方式5正常計(jì)數(shù)OUTLSB=3WRCLKGATECW=1A3210FF3圖7.9(b)方式5時(shí)GATE信號(hào)的作用圖7.9(c)方式5時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值8253的六種工作方式可歸為兩類:充當(dāng)頻率發(fā)生器主要是作計(jì)數(shù)器來使用下面就從這個(gè)角度來討論總結(jié)OUT和GATE門的作用
8253的工作方式小節(jié)8253有兩種方式與頻率發(fā)生器有關(guān),即方式2和發(fā)生3,
對(duì)OUT端方式2提供給用戶的是負(fù)脈沖方式3提供給用戶的是方波頻率發(fā)生器有關(guān)的工作方式在這個(gè)兩種方式下,GATE信號(hào)要始終保持為高對(duì)于計(jì)數(shù)器類,有方式0、1和方式4、5。啟動(dòng)計(jì)數(shù)器的方式有兩種軟啟動(dòng)方式CPU把時(shí)間常數(shù)寫入相應(yīng)通道后,計(jì)數(shù)器就開始工作,我們可以稱之為軟件啟動(dòng)方式,在這種啟動(dòng)方式下,GATE要始終保持為高電平,所以方式0和方式4可以稱為軟件啟動(dòng)方式。與計(jì)數(shù)器器有關(guān)的工作方式硬件啟動(dòng)計(jì)數(shù)器CPU把時(shí)間常數(shù)寫入計(jì)數(shù)器后,即使GATE為高電平,計(jì)數(shù)器并不工作。只有GATE發(fā)生跳變,其上升沿啟動(dòng)計(jì)數(shù)器工作,所以方式1和方式5就可以稱為硬件啟動(dòng)方式。計(jì)數(shù)器溢出時(shí),OUT有兩種輸出形式電平
方式0方式1負(fù)脈沖方式4和方式5
各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2
N/20/N0N01N01N01
剛接通電源時(shí),8253芯片通道都處于未定義狀態(tài),在使用之前,必須用程序把它們初始化為所需的特定模式,這個(gè)過程稱為初始化編程。
(1)寫入控制字
用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作方式和計(jì)數(shù)格式。
8253初始化編程(2)寫入計(jì)數(shù)初值
用輸出指令向選中的計(jì)數(shù)器端口地址中寫入一個(gè)計(jì)數(shù)初值,初值設(shè)置時(shí)要符合控制字中有關(guān)格式的規(guī)定。若是8位數(shù),只要用一條輸出指令就可完成初值的設(shè)置。如果是16位數(shù),則必須用兩條輸出指令來完成,而且規(guī)定先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。注意,計(jì)數(shù)初值為0時(shí),也要分成兩次寫入,因?yàn)樵诙M(jìn)制計(jì)數(shù)時(shí)它表示65536,在BCD計(jì)數(shù)時(shí)它表示10000。
8253工作過程中,CPU可用輸入指令讀取任一通道的計(jì)數(shù)值。CPU讀到的是執(zhí)行輸入指令瞬間計(jì)數(shù)器的當(dāng)前值。但8253的計(jì)數(shù)器是16位,所以要分2次讀至CPU。因此,若不鎖存的話,在前后兩次執(zhí)行輸入指令的過程中,計(jì)數(shù)值可能已經(jīng)變化了。鎖存當(dāng)前計(jì)數(shù)值有下面兩種方法:
①利用GATE信號(hào)使計(jì)數(shù)過程暫停。②向8253寫入一個(gè)方式控制字,
令8253通道的鎖存器鎖存。
例如,在某微機(jī)系統(tǒng)中,8253的3個(gè)計(jì)數(shù)器的端口地址分別為3F0H、3F2H和3F4H,控制字寄存器的端口地址為3F6H,要求8253的通道0工作于方式3,BCD計(jì)數(shù),并已知對(duì)它寫入的計(jì)數(shù)初值n=1234(十進(jìn)制數(shù)),則初始化程序?yàn)椋?/p>
MOVOUTMOVAL,00110111B;控制字:選擇通道0,先讀/寫低字節(jié),
;后高字節(jié),方式3,BCD計(jì)數(shù)MOVDX,3F6H;指向控制口OUTDX,AL;送控制字MOVAL,34H;計(jì)數(shù)值低字節(jié),代表00110100BCDMOVDX,3F0H;指向計(jì)數(shù)器0端口OUTDX,AL;先寫入低字節(jié)AL,12H;計(jì)數(shù)值高字節(jié),代表0001010BCDDX,AL;后寫入高字節(jié)例應(yīng)用舉例1.8253定時(shí)功能的應(yīng)用
在計(jì)算機(jī)應(yīng)用中,經(jīng)常會(huì)遇到隔一定時(shí)間重復(fù)某一個(gè)動(dòng)作的應(yīng)用。
設(shè)某應(yīng)用系統(tǒng)中,系統(tǒng)提供一個(gè)頻率為10kHz的時(shí)鐘信號(hào),要求每隔100ms采集一次數(shù)據(jù)。在系統(tǒng)中,采用8253定時(shí)器的通道0來實(shí)現(xiàn)這一要求。將8253芯片的CLK0接到系統(tǒng)的10kHz時(shí)鐘上,OUT0輸出接到CPU的中斷請(qǐng)求線上,8253的端口地址為10H~13H,如圖7.11所示。中斷請(qǐng)求信號(hào)CPU總線OUT0圖8.118253用于定時(shí)中斷(1)選擇工作方式
由于系統(tǒng)每隔100ms定時(shí)中斷一次,則采樣頻率為10Hz,可選用方式2來實(shí)現(xiàn)。當(dāng)8253定時(shí)器工作在方式2時(shí),在寫入控制字與計(jì)數(shù)初值后,定時(shí)器就啟動(dòng)工作,每到100ms時(shí)間,即計(jì)數(shù)器減到1時(shí),輸出端OUT0輸出一個(gè)CLK周期的低電平,向CPU申請(qǐng)中斷,CPU在中斷服務(wù)程序中完成數(shù)據(jù)采集,同時(shí)按原設(shè)定值重新開始計(jì)數(shù),實(shí)現(xiàn)了計(jì)數(shù)值的自動(dòng)重裝。
(2)確定計(jì)數(shù)初值已知
fCLK0=10kHz,則TCLK0=0.1ms,所以,計(jì)數(shù)初值
N=TOUT0/TCLK0=100ms/0.1ms=1000=03E8H
(3)初始化編程根據(jù)以上要求,可確定8253通道0的方式控制字為00110100B,即34H。
初始化程序段如下:
MOVAL,34H;通道0,16位計(jì)數(shù),方式2,二進(jìn)制計(jì)數(shù)OUT13H,AL;寫入方式控制字到控制字寄存器MOVAL,0E8H;計(jì)數(shù)初值低8位OUT10H,AL;寫入計(jì)數(shù)初值低8位到通道0MOVAL,03H;計(jì)數(shù)初值高8位OUT10H,AL;寫入計(jì)數(shù)初值高8位到通道0例2.8253計(jì)數(shù)功能的應(yīng)用
通過PC機(jī)系統(tǒng)總線在外部擴(kuò)展一個(gè)8253,利用其通道0記錄外部事件的發(fā)生次數(shù),每輸入一個(gè)高脈沖表示事件發(fā)生1次。當(dāng)事件發(fā)生100次后就向CPU提出中斷請(qǐng)求(邊沿觸發(fā)),假設(shè)8253片選信號(hào)的I/O地址范圍為200H~203H,如圖7.12。
外部事件產(chǎn)生A0A1A3~A9譯碼電路圖8.128253用于外部事件的計(jì)數(shù)
根據(jù)要求,可以選擇方式0來實(shí)現(xiàn),計(jì)數(shù)初值N=100。8253初始化程序段如下:
MOVDX,203H;設(shè)置方式控制字地址MOVAL,10H;設(shè)定通道0為工作方式0,二進(jìn)制計(jì)數(shù),只寫入
;低字節(jié)計(jì)數(shù)值OUTDX,AL
MOVDX,200H;設(shè)置計(jì)數(shù)器通道0的地址MOVAL,64H;計(jì)數(shù)初值為100OUTDX,AL
例33.8253計(jì)數(shù)通道的級(jí)聯(lián)應(yīng)用
已知某8253占用I/O空間地址為320H~323H,如圖7.13所示,輸入其CKL1端的脈沖頻率為1MHz,要求用8253連續(xù)產(chǎn)生10秒的定時(shí)信號(hào)。
分析:8253的一個(gè)通道的最大計(jì)數(shù)范圍為65536,本例中要求輸出10秒定時(shí)信號(hào),則計(jì)數(shù)初值N=10/10-6=107,超過了8253一個(gè)通道的最大計(jì)數(shù)值,此時(shí)可以使用2個(gè)8253通道級(jí)連方式來實(shí)現(xiàn)。若級(jí)連前2個(gè)通道的初值為N1和N2,則級(jí)連后作為一個(gè)整體的計(jì)數(shù)值為N=N1×N2。
通道1通道210秒定時(shí)輸出圖8.138253通道的級(jí)聯(lián)
設(shè)計(jì)數(shù)器初值N1=500=1F4H,N2=20000=4E20H,使用方式2,二進(jìn)制計(jì)數(shù),則通道1、2的初始化程序如下:MOVDX,323H
MOVAL,74H;01110100B,通道1,寫入16位初值,方式2,
;二進(jìn)制計(jì)數(shù)OUTDX,AL;寫入通道1方式字MOVDX,321HMOVAL,0F4HOUTDX,AL;寫入初值500的低8位入通道1MOVAL,01H
OUTDX,AL;寫入初值500的高8位入通道1MOVDX,323H
MOVAL,0B4H;10110100B,通道2,寫入16位初值,方式2,
;二進(jìn)制計(jì)數(shù)OUTDX,AL;寫入通道2方式字MOVDX,322H
MOVAL,20H
OUTDX,AL;寫入通道2初值20000的低8位MOVAL,4EH
OUTDX,AL;寫入通道2初值20000的高8位8253應(yīng)用舉例例:現(xiàn)有一個(gè)高精密晶體振蕩電路,輸出信號(hào)是脈沖波,頻率為1MHz。要求利用8253做一個(gè)秒信號(hào)發(fā)生器,其輸出接一發(fā)光二極管,以0.5秒點(diǎn)亮,0.5秒熄滅的方式閃爍指示。設(shè)8253的通道地址為80H~86H(偶地址)解:1、時(shí)間常數(shù)計(jì)算這個(gè)例子要求用8253作一個(gè)分頻電路,而且其輸出應(yīng)該是方波,否則發(fā)光二極管不可能等間隔閃爍指示。頻率為1MHz信號(hào)的周期為1微妙,而1Hz信號(hào)的周期為1秒,所以分頻系數(shù)N可按下式進(jìn)行計(jì)算:
由于8253一個(gè)通道最大的計(jì)數(shù)值是65536,所以對(duì)于N=1000000這樣的大數(shù),一個(gè)通道是不可能完成上述分頻要求的。由于即取兩個(gè)計(jì)數(shù)器,采用級(jí)聯(lián)方式。2、電路
3、工作方式選擇由于通道1要輸出方波信號(hào)推動(dòng)發(fā)光二極管,所以通道1應(yīng)選工作方式3。對(duì)于通道0,只要能起分頻作用就行,對(duì)輸出波形不做要求,所以方式2和方式3都可以選用。
這樣對(duì)于通道0,我們?nèi)」ぷ鞣绞?,BCD計(jì)數(shù);對(duì)于通道1,我們?nèi)」ぷ鞣绞?,二進(jìn)制計(jì)數(shù)(當(dāng)然也可選BCD計(jì)數(shù))4、程序 moval,00110101b ;通道0控制字 out86h,al moval,00 ;通道0初始計(jì)數(shù)值 out80h,al moval,10h out80h,al moval,01110110b ;通道1控制字 out86h,almoval,0e0h ;通道1初始計(jì)數(shù)值,03E8H=1000BCD out82h,al moval,03h out82h,al978253應(yīng)用例一采用8253作定時(shí)/計(jì)數(shù)器,其接口地址為0120H~0123H。輸入8253的時(shí)鐘頻率為2MH。要求:CNT0每10ms輸出一個(gè)CLK周期寬的負(fù)脈沖CNT1輸出10KHz的連續(xù)方波信號(hào)CNT2在定時(shí)5ms后產(chǎn)生輸出高電平畫線路連接圖,并編寫初始化程序.工作的計(jì)數(shù)器工作方式計(jì)數(shù)初值啟動(dòng)方式計(jì)數(shù)脈沖頻率988253應(yīng)用例計(jì)算計(jì)數(shù)初值:CNT0:10ms/0.5us=20000CNT1:2MHz/10KHz=200CNT2:5ms/0.5us=10000確定控制字:
CNT0:方式2,16位計(jì)數(shù)值CNT1:方式3,低8位計(jì)數(shù)值CNT2:方式0,16位計(jì)數(shù)值001101000101011010110000998253應(yīng)用例CLK0GATE0OUT1D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT21008253應(yīng)用例——初始化程序CNT0:MOVDX,0123HMOVAL,34HOUTDX,ALMOVDX,0120HMOVAX,20000OUTDX,ALMOVAL,AHOUTDX,ALCNT1:
……CNT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年程序員考試題及答案
- 2026年IT經(jīng)理崗位面試題及技術(shù)團(tuán)隊(duì)管理含答案
- 2026年培訓(xùn)效果評(píng)估考試題
- 手術(shù)器械裝配調(diào)試工安全強(qiáng)化測(cè)試考核試卷含答案
- 2026年導(dǎo)航工程師面試題及答案
- 2026年成功面試技術(shù)類工作面試題及應(yīng)答策略
- 液化氣體生產(chǎn)工誠信品質(zhì)能力考核試卷含答案
- 電子設(shè)備裝接工崗前沖突管理考核試卷含答案
- 羽絨加工及制品充填工崗前理論實(shí)操考核試卷含答案
- 空氣潛水員發(fā)展趨勢(shì)強(qiáng)化考核試卷含答案
- 購車合伙協(xié)議書模板
- 2025年《道路運(yùn)輸安全培訓(xùn)》知識(shí)考試題庫及答案解析
- 充電寶產(chǎn)品設(shè)計(jì)開發(fā)全流程
- 院內(nèi)感染暴發(fā)應(yīng)急響應(yīng)全流程
- caac機(jī)長證考試內(nèi)容
- 轉(zhuǎn)移性副神經(jīng)節(jié)瘤和嗜鉻細(xì)胞瘤診治專家共識(shí)2026
- 2025年秋小學(xué)音樂湘藝版四年級(jí)上冊(cè)期末測(cè)試卷含答案
- 2025年山東省考公務(wù)員面試題(監(jiān)獄警察)及解析
- 國家公園休閑管理
- 2025年教師招聘考試教育綜合知識(shí)6000題(主觀題含答案)
- 基于生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)與超分辨率-洞察及研究
評(píng)論
0/150
提交評(píng)論