




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第9章可編程接口芯片及應用9.1可編程接口芯片概述9.2可編程計數(shù)/定時器82539.3可編程并行接口芯片8255A第9章可編程接口芯片及應用9.1可編程接口芯片概述CPU要與外設交換信息,必須通過接口電路,在接口電路中一般具有如下電路單元:⑴輸入/輸出數(shù)據(jù)緩沖器和鎖存器,以實現(xiàn)數(shù)據(jù)的I/O。⑵控制命令和狀態(tài)寄存器,用以存放對外設的控制命令,以及外設的狀態(tài)信息。⑶地址譯碼器,用來選擇接口電路中的不同端口(寄存器)。⑷讀寫控制邏輯。⑸中斷控制邏輯。
9.1可編程接口芯片概述CPU要與外設交換信息,必須通過接口電路,在接口電9.19.2可編程計數(shù)器/定時器8253計數(shù)/定時的工作原理計數(shù):對外部事件發(fā)生次數(shù)進行計數(shù)定時和計數(shù)本質(zhì)上是相同的,它們都是對一個輸入脈沖進行計數(shù),如果輸入脈沖的頻率一定,那么記錄脈沖的個數(shù)與所需的時間是一一對應的關(guān)系。例如:輸入脈沖頻率為2MHz,那么計數(shù)2106
定時1秒因此,使用同一個芯片,既能計數(shù),又能定時——定時器/計數(shù)器9.2可編程計數(shù)器/定時器8253計數(shù)/定時的工作原理。
9.2.18253功能及結(jié)構(gòu)
Intel8253具有3個獨立的16位計數(shù)器,使用單一+5V電源,采用NMOS工藝,24腳雙排直插式封裝的大規(guī)模集成電路1.8253主要功能⑴每片有3個獨立的16位計數(shù)通道。⑵每個計數(shù)器可按二進制或十進制來計數(shù),時鐘脈沖下降沿使計數(shù)器進行減1操作。⑶每個計數(shù)器最高計數(shù)速率可達2.6MHZ。⑷每個計數(shù)器可編程設定6種工作方式之一。⑸所有輸入、輸出均與TTL電平兼容,便于與外圍接口電路相連。。9.2.18253功能及結(jié)構(gòu)2.8253的內(nèi)部結(jié)構(gòu)和引腳特性2.8253的內(nèi)部結(jié)構(gòu)和引腳特性9.2.28253控制字1.8253控制字格式
9.2.28253控制字1.8253控制字格式2.8253端口地址
A1A0=00-------計數(shù)器001-------計數(shù)器110-------計數(shù)器211-------控制口3.編程步驟先寫控制字(到控制口)再寫計數(shù)器初值(到相應的通道端口)2.8253端口地址9.2.38253工作方式與工作時序
1.方式0(單脈沖發(fā)生器)計數(shù)器只計一遍??刂谱謱懭牒螅琌UT端為低;當計數(shù)初值寫入后,在下一個CLK脈沖的下降沿將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,然后計數(shù)器開始減1計數(shù),在計數(shù)期間,當減1計數(shù)器回0之前,輸出端OUT維持低電平。當計數(shù)值回0時,OUT輸出端變?yōu)楦唠娖?,并保持到重新寫入新的控制字或新的計?shù)值為止??勺鳛橹袛嗾埱笮盘枴T谟嫈?shù)過程中,若GATE信號變?yōu)榈碗娖剑瑒t在低電平期間暫停計數(shù),減1計數(shù)寄存器值保持不變。在計數(shù)過程中,若重新寫入新的計數(shù)初值,則在下一個CLK脈沖的下降沿,減1計數(shù)寄存器以新的計數(shù)初值重新開始計數(shù)過程。9.2.38253工作方式與工作時序1.方式0(單脈沖發(fā)8253方式0
三種情況時序波形:
8253方式0
三種情況時序波形:2.方式1(可重觸發(fā)單穩(wěn)態(tài)方式)
輸出單個負脈沖信號,脈沖的寬度可通過編程來設定。當寫入控制字后,輸出端OUT變?yōu)楦唠娖?,并保持高電平狀態(tài)。然后寫入計數(shù)初值,只有在GATE信號的上升沿之后的下一個CLK脈沖的下降沿,才將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,同時OUT端變?yōu)榈碗娖健H缓笥嫈?shù)器開始減1計數(shù),當計數(shù)值減到0時,OUT端變?yōu)楦唠娖健?/p>
在OUT端輸出低電平期間,又來一個門控信號上升沿觸發(fā),則在下一個CLK脈沖的下降沿,重新將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并開始計數(shù),OUT端保持低電平,直至計數(shù)值減到0時,OUT端變?yōu)楦唠娖?。在計?shù)期間CPU又送來新的計數(shù)初值,不影響當前計數(shù)過程。一直等到下一次GATE信號的觸發(fā),才會將新的計數(shù)初值裝入,并以新的計數(shù)初值開始計數(shù)過程。2.方式1(可重觸發(fā)單穩(wěn)態(tài)方式)輸出單個負脈沖信號,脈沖的8253方式1三種情況時序波形:8253方式13.方式2(周期脈沖發(fā)生器)
可產(chǎn)生周期性的負脈沖信號,負脈沖寬度為一個時鐘周期。寫入控制字后,OUT端變?yōu)楦唠娖剑鬐ATE為高電平,當寫入計數(shù)初值后,在下一個CLK的下降沿將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并開始減1計數(shù)。當減1計數(shù)寄存器的值為1時,OUT端輸出低電平;減1計數(shù)寄存器回0時OUT端輸出高電平,并開始一個新的計數(shù)過程。在減1計數(shù)寄存器未減到1時,GATE信號由高變低,則停止計數(shù)。但當GATE由低變高時,則重新將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并重新開始計數(shù)。GATE信號保持高電平,但在計數(shù)過程中重新寫入計數(shù)初值,則當正在計數(shù)的一輪結(jié)束并輸出一個CLK周期的負脈沖后,將以新的初值進行計數(shù)。3.方式2(周期脈沖發(fā)生器)可產(chǎn)生周期性的負脈沖信號,負脈8253方式2三種情況時序波形:8253方式24.方式3(方波發(fā)生器)
當控制字寫入后,OUT輸出高電平。寫入計數(shù)初值后,下一個CLK的下降沿將計數(shù)初值裝入減1計數(shù)器,并開始減1計數(shù),當計數(shù)到一半時,OUT端變?yōu)榈碗娖?。減1計數(shù)寄存器繼續(xù)作減1計數(shù),計數(shù)到0時,OUT端變?yōu)楦唠娖健V?,周而復始地自動進行計數(shù)過程。當計數(shù)初值為偶數(shù)時,OUT輸出對稱方波;當計數(shù)初值為奇數(shù)時,OUT輸出不對稱方波。在計數(shù)過程中,若GATE變?yōu)榈碗娖剑瑒t停止計數(shù);當GATE由低變高時,則重新啟動計數(shù)過程。如果在輸出為低電平時,門控信號GATE變?yōu)榈碗娖?,減1計數(shù)器停止,而OUT輸出立即變?yōu)楦唠娖?。在GATE又變成高電平后,下一個時鐘脈沖的下降沿,減1計數(shù)器重新得到計數(shù)初值,又開始新的減1計數(shù)。在計數(shù)過程中,如果寫入新的計數(shù)值,那么,將不影響當前輸出周期。但是,如果在寫入新的計數(shù)值后,又受到門控上升沿的觸發(fā),那么,就會結(jié)束當前輸出周期,而在下一個時鐘脈沖的下降沿,減1計數(shù)器重新得到計數(shù)初值,又開始新的減1計數(shù)。
4.方式3(方波發(fā)生器)當控制字寫入后,OUT輸出高電平。8253方式3三種情況時序波形:
8253方式35.方式4(軟件觸發(fā)的選通信號發(fā)生器)
采用方式4,可產(chǎn)生單個負脈沖信號,負脈沖寬度為一個時鐘周期。寫入控制字后,OUT端變?yōu)楦唠娖?,若GATE為高電平,當寫入計數(shù)初值后,在下一個CLK的下降沿將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并開始減1計數(shù),當減1計數(shù)寄存器的值為0時,OUT端輸出低電平,經(jīng)過一個CLK時鐘周期,OUT端輸出高電平。
如果在計數(shù)時,又寫入新的計數(shù)值,則在下一個CLK的下降沿此計數(shù)初值被寫入減1計數(shù)寄存器,并以新的計數(shù)值作減1計數(shù)。5.方式4(軟件觸發(fā)的選通信號發(fā)生器)采用方式4,可產(chǎn)生單8253方式4三種情況時序波形:
8253方式46.方式5(硬件觸發(fā)的選通信號發(fā)生器)
方式5的計數(shù)過程由GATE的上升沿觸發(fā)。當控制字寫入后,OUT端輸出高電平,并保持高電平狀態(tài)。然后寫入計數(shù)初值,只有在GATE信號的上升沿之后的下一個CLK脈沖的下降沿,才將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并開始減1計數(shù),當計數(shù)值減到0時,OUT端變?yōu)榈碗娖剑⒊掷m(xù)一個CLK周期,然后自動變?yōu)楦唠娖健T谟嫈?shù)過程中,若GATE端又來一個上升沿觸發(fā),則在下一個CLK脈沖的下降沿,減1計數(shù)寄存器將重新獲得計數(shù)初值,并按新的初值作減1計數(shù),直至減為0為止。在計數(shù)過程中,若寫入新的計數(shù)值,但沒有觸發(fā)脈沖,則當前輸出周期不受影響。當前周期結(jié)束后,在再觸發(fā)的情況下,將按新的計數(shù)初值開始計數(shù)。若在計數(shù)過程中,寫入新的計數(shù)值,并在當前周期結(jié)束前又受到觸發(fā),則在下一個CLK脈沖的下降沿,減1計數(shù)寄存器將獲得新的計數(shù)初值,并按此值作減1計數(shù)操作。
6.方式5(硬件觸發(fā)的選通信號發(fā)生器)方式5的計數(shù)過程由G8253方式5三種情況時序波形:8253方式59.2.48253的初始化編程1.寫入控制字
以便選擇計數(shù)器和規(guī)定計數(shù)器的工作方式,任一計數(shù)通道的控制字都要從8253的控制端口寫入。2.寫入計數(shù)初值
計數(shù)初值(TC)的計算公式為:t=TC/f,其中t為定時時間,TC為計數(shù)初值,f為輸入時鐘頻率。
注意:如果在方式控制字中的BCD位為1,則寫入的計數(shù)初值應為十六進制數(shù)。例如:計數(shù)初值為50,采用BCD碼計數(shù),則指令中的50必須寫為50H。9.2.48253的初始化編程1.寫入控制字3.讀計數(shù)值
在計數(shù)過程中,若要讀取當前的計數(shù)值,則需采用以下方法:
先寫入一個方式控制字,該方式控制字的SC1SC0指明要讀取的計數(shù)通道,RW1RW0設為00即鎖定計數(shù)值;然后再按照初始化該計數(shù)器時的讀寫方法讀取計數(shù)值。
3.讀計數(shù)值9.2.58253應用
【例1】8253在IBMPC機中的應用。IBMPC機系統(tǒng)板上8253的接口電路如圖9.9所示,3個計數(shù)器的時鐘輸入頻率為1.1932MHZ。系統(tǒng)分配給8253的端口地址為40H~43H。9.2.58253應用【例1】8253在IBMPCIBM-PC機系統(tǒng)板上8253接口電路
F=1.1932MHZ
IBM-PC機系統(tǒng)板上8253接口電路F=1.1932MH計數(shù)器0為方式3,先寫低字節(jié),后寫高字節(jié),二進制計數(shù),計數(shù)初值為0。輸出端OUT0接至中斷控制器8259A的IR0,OUT0輸出的脈沖周期約為55ms(65536÷1193200),即計數(shù)器0每隔55ms產(chǎn)生一次中斷請求。
計數(shù)器1為方式2,只寫低字節(jié),二進制計數(shù),計數(shù)初值為18。輸出端OUT1接至DMA控制器8237A通道0的DMA請求DREQ0,作為定時(15.08μs)刷新動態(tài)存儲器的啟動信號。計數(shù)器0為方式3,先寫低字節(jié),后寫高字節(jié),二進制計數(shù),計數(shù)初IBM-PC機BIOS對CNT0的初始化程序:
MOVAL,00110110BOUT43H,ALMOVAL,0OUT40H,ALOUT40H,ALIBM-PC機BIOS對CNT1的初始化程序:
MOVAL,01010100BOUT43H,ALMOVAL,12HOUT41H,ALIBM-PC機BIOS對CNT0的初始化程序:MOVA
BIOS中BEEP子程序,功能為使CNT2輸出方波到揚聲器。計數(shù)器2為方式3,先寫低字節(jié),后寫高字節(jié),二進制計數(shù),計數(shù)初值為0533H。GATE2由8255A的PB0控制,當GATE2為高電平時,OUT2輸出頻率為896HZ的方波,經(jīng)功率放大器和濾波后驅(qū)動揚聲器發(fā)聲。
MOVAL,10110110BOUT43H,ALMOVAX,0533HOUT42H,ALMOVAL,AHOUT42H,ALIN61H,ALMOVAH,ALORAL,03HOUT61H,ALMOVBX,100;延時
MOVCX,0G7:LOOPG7DECBXJNZG7MOVAL,AHOUT61H,ALRETBIOS中BEEP子程序,功能為使CNT2輸出方波【例2】利用8253的通道0和通道1,設計并產(chǎn)生周期為1HZ的方波。設通道0的輸入時鐘頻率為2MHz,8253所占端口地址為80H~83H。方案:
8253通道0工作于方式2(周期脈沖發(fā)生器),輸出脈沖周期為10ms,則通道0的計數(shù)值為20000。周期為10ms的脈沖作為通道1的輸入,要求輸出端OUT1的波形為方波且周期為1s,則通道1工作于方式3,計數(shù)值為100?!纠?】利用8253的通道0和通道1,設計并產(chǎn)生周期為1HZ電路圖:電路圖:8253初始化程序如下:MOVAL,34H;通道0控制字OUT83H,ALMOVAX,20000;通道0時間常數(shù)OUT80H,ALMOVAL,AHOUT80H,ALMOVAL,56H;通道1控制字OUT83H,ALMOVAL,100;通道1時間常數(shù)OUT81H,AL8253初始化程序如下:MOVAL,34H;【例3】
8253應用(鍵盤演奏音樂程序)【例3】8253應用(鍵盤演奏音樂程序)初值之間的關(guān)系:
(fin=1.1932MHz=1193200Hz)(fin=1193200=1234F0H)給定fout在DI寄存器中,DX和AX存放1.1932MHz的十六進制值1234F0H,則產(chǎn)生fout輸出的計數(shù)初值的程序段:(初值存于AX中)MOVDX,12HMOVAX,34F0H;DX和AX存放finDIVDI;DI存放fout結(jié)果在AX中1234567262294330349392440494頻率表頻率表(輸出頻率fout)初值之間的關(guān)系:12345672622943303410ms秒軟件延時程序:MOVCX,2801DELAY:LOOPDELAY如產(chǎn)生1秒的程序:MOVBX,100WAIT:MOVCX,2801DELAY:LOOPDELAYDECBXJNZWAIT10ms秒軟件延時程序:datasegmentfreqdw262,294,330,349,392,440,494dataendscodesegmentassumeds:data,cs:codemainprocfarstart:pushdsmovax,0pushaxmovax,datamovds,axmoval,0b6hout43h,alinal,61horal,03hout61h,alagain:movah,1int21hcmpal,1bh;jzexitleasi,freqandax,0fhshlax,1subax,2addsi,axmovdi,[si]movdx,12hmovax,34f0hdivdi;out42h,almoval,ahout42h,aljmpagainexit:inal,61handal,0fchout61h,alretmainendpcodeendsendstartdatasegmentleasi,freq【例4】現(xiàn)有一個高精密晶體振蕩電路,輸出信號是脈沖波,頻率為1MHz。要求將1MHz信號做輸入信號,利用8253做一個秒信號發(fā)生器,其輸出接一發(fā)光二極管,以0.5秒點亮,0.5秒熄滅的方式閃爍指示。設8253的通道地址為80H~86H(偶地址)解:1、時間常數(shù)計算這個例子要求用8253作一個分頻電路,而且其輸出應該是方波,否則發(fā)光二極管不可能等間隔閃爍指示。頻率為1MHz信號的周期為1微妙,而1Hz信號的周期為1秒,所以分頻系數(shù)N可按下式進行計算:【例4】現(xiàn)有一個高精密晶體振蕩電路,輸出信號是脈沖波,頻率為
由于8253一個通道最大的計數(shù)值是65536,所以對于N=1000000這樣的大數(shù),一個通道是不可能完成上述分頻要求的。由于
即取兩個計數(shù)器,采用級聯(lián)方式可達到目的。
2、電路由于8253一個通道最大的計數(shù)值是65536,所以對8253OUT1GATE1CLK1OUT0GATE0CLK0+5V+5V1MHz1KHz1Hz驅(qū)動LED8253OUT1GATE1CLK1OUT0GATE0CLK0
3、工作方式選擇由于通道1要輸出方波信號推動發(fā)光二極管,所以通道1應選工作方式3。對于通道0,只要能起分頻作用就行,對輸出波形不做要求,方式2或方式3選用。
對于通道0,取工作方式2,BCD計數(shù);對于通道1,取工作方式3,二進制計數(shù)(當然也可選BCD計數(shù))
3、工作方式選擇
4、程序
moval,00110101b ;通道0控制字
out86h,al moval,00
;通道0初始計數(shù)值
out80h,al moval,10h
;初值1000,以16進格式
out80h,al moval,01110110b ;通道1控制字
out86h,almoval,0e8h ;通道1初始計數(shù)值, ;03E8H=1000BCD out82h,al moval,03h out82h,al4、程序可編程接口芯片及應用課件【例5】計件系統(tǒng)。計件系統(tǒng)的功能就是記錄脈沖的個數(shù)。一個脈沖代表一個事件,比如交通道路檢測系統(tǒng)中通過檢測點的車輛,工業(yè)控制系統(tǒng)中流水線上已加工好的工件。要求在計件過程中,PC機可以顯示當前計數(shù)器的內(nèi)容,當完成10000個工件記錄后,系統(tǒng)發(fā)出1KHz信號推動喇叭發(fā)音通知用戶?!纠?】計件系統(tǒng)。計件系統(tǒng)的功能就是記錄
解:1、電路。需要兩個通道,一個作為計數(shù),選用通道0。另一個產(chǎn)生1KHz信號,選用通道1。工作原理如下,傳感器電路把物理事件轉(zhuǎn)換為脈沖信號輸入到通道0計數(shù),當記錄10000個事件后,通道0計數(shù)器溢出,GATE端輸出高電平,這時通道1開始工作,產(chǎn)生1KHz信號推動喇叭發(fā)音。解:1、電路。
2、工作方式選擇對于通道1,由于要產(chǎn)生1KHz信號,故選用工作方式3。對于通道0,要求初始計數(shù)值寫入計數(shù)通道后,計數(shù)器就可以工作,則通道0的啟動方式應是軟件啟動。另外由于要求計數(shù)溢出后產(chǎn)生一個信號來啟動一個事件,即喇叭發(fā)音,故可選的工作方式為方式0和方式4,對于圖所示方案,通道1的GATE信號由通道0的OUT信號產(chǎn)生,這個OUT信號應該是電平型的,所以通道0應選用方式0。
2、工作方式選擇3、時間常數(shù)
N0=10000=2710H4、程序3、時間常數(shù)
movdx,306H;控制端口
moval,01110111b ;通道1控制字,bcd計數(shù)
outdx,al
movdx,302H ;通道1端口
moval,00outdx,al
moval,10h
outdx,al
movdx,306H;控制端口
moval,00110000b ;通道0控制字,二進制計數(shù)
outdx,almovdx,300H
;通道0端口
moval,10h , outdx,al
moval,27h
outdx,al4、程序8253地址:300H-306H movdx,306H;控制端口4、Getdat:calldelay movdx,306H;通道0鎖存計數(shù)值Moval,00000000BOutdx,al;讀通道0計數(shù)值Movdx,300hInal,dxMovcl,alInal,dxMovch,al;數(shù)據(jù)存入CXCalldisplayCmpcx,0JnzGetdatGetdat:calldelay【例4】利用PC機內(nèi)部定時器0,設計并實現(xiàn)一個數(shù)字式計時時鐘。顯示格式為hh:mm:ss(hh代表時,mm代表分,ss代表秒)。分析:PC機內(nèi)部定時器0初始設定為每隔55ms中斷一次,即1秒中斷18.2(1000÷55)次,若按初始設定,無法實現(xiàn)1s精確定時。需重新設定定時器0的時間常數(shù),讓其每隔10ms中斷一次;再設定一個軟件計數(shù)器,初始值為100。每中斷一次,軟件計數(shù)器減1,當軟件計數(shù)器減為0,則定時1s。在PC機系統(tǒng)中,定時器0的中斷類型號為08H,但在中斷向量表中,存放08H中斷服務程序入口地址的單元中實際存放的是INT1CH指令,因此,當定時器0中斷時,實際是轉(zhuǎn)至INT1CH的中斷服務程序入口處。其程序如下:
【例4】利用PC機內(nèi)部定時器0,設計并實現(xiàn)一個數(shù)字式計時時鐘datasegmentcountdb100;軟件計數(shù)器
tenhdb'0'hourdb'0',':'tenmdb'0'minudb'0',':'tensdb'0'secodb'0'dataendscodesegmentmainprocfarassumecs:code,ds:datastart:pushdsmovax,0pushaxmovax,datamovds,axdatasegmentcli;關(guān)中斷
movax,351chint21h;取中斷類型號為1ch的原系統(tǒng)中斷服務程序入口地址
pushes;保存中斷服務程序入口地址的段地址
pushbx;保存中斷服務程序入口地址的偏移地址
pushdsmovdx,offsettimer;設置用戶中斷服務程序偏移地址
movax,segtimer;設置用戶中斷服務程序段地址
movds,axmovax,251ch;設置中斷向量
int21hpopdscli;關(guān)中斷moval,36h;重設8253定時器0控制字
out43h,al movax,11932;重寫8253定時器0時間常數(shù)
out40h,al moval,ah out40h,al sti;開中斷
fore:movah,1;檢測鍵盤按鍵
int16hcmpal,1bh;是按下“Esc”鍵嗎?
jzexit;是,退出moval,36h;重movbx,offsettenh;顯示hh:mm:ssmovcx,8dispclk:moval,[bx]calldisp incbx loopdispclk moval,0dh;顯示回車
calldisp moval,seco;取秒計數(shù)單元值
wait1:cmpal,seco;秒計數(shù)單元變化否?
jzwait1;無變化,等待
jmpshortfore;有變化,顯示新時間movbx,offsettenh
exit:climoval,36h;恢復定時器0的初始設定值
out43h,al movax,0 out40h,al moval,ah out40h,al popdx;恢復中斷類型號1cH的系統(tǒng)初始值
popds movax,251ch int21h sti retmainendpexit:cli
dispprocnear;顯示字符子程序
pushbxmovbx,0 movah,0eh int10h popbx retdispendptimerprocnear pushax
movax,datamovds,ax deccount;軟件計數(shù)器減1 jnzreturn;軟件計數(shù)器不為0,中斷返回
movcount,100
dispprocnearincseco;秒加1 cmpseco,'9' jlereturn movseco,'0' inctens cmptens,'6' jlreturn movtens,'0' incminu;分加1 cmpminu,'9' jlereturn movminu,'0' inctenm cmptenm,'6' jlreturn movtenm,'0'incsecoinchour;小時加1 cmphour,'9' jaadjhour cmphour,'4';判斷是否計時到24時?
jnzreturn cmptenh,'2' jnzreturn movhour,'0';若計時到24時,則回到00時
movtenh,'0'jmpshortreturnadjhour:inctenh movhour,'0'inchour;小時加1return:moval,20h;送中斷結(jié)束命令
out20h,al popax iret;中斷返回
timerendpcodeendsendstartreturn:moval,20h9.3可編程并行接口芯片8255A
9.3.18255A內(nèi)部結(jié)構(gòu)及引腳功能
1.8255A內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)如圖所示,它由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、B、C,A組控制和B組控制,讀/寫控制邏輯四部分組成。
9.3可編程并行接口芯片8255A9.3.18255A可編程接口芯片及應用課件8255A的管腳分配
1
40
8255A20
218255A的管腳分配140⑴數(shù)據(jù)總線緩沖器
數(shù)據(jù)總線緩沖器是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,8255A通過它與系統(tǒng)總線相連。輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU發(fā)給8255A的控制字都是通過這個緩沖器進行的。
⑵數(shù)據(jù)端口:PA、PB、PC
端口A對應一個8位數(shù)據(jù)輸入鎖存器和一個8位數(shù)據(jù)輸出鎖存器/緩沖器。用端口A作為輸入或輸出時,數(shù)據(jù)均受到鎖存。端口B和端口C均對應一個8位輸入緩沖器和一個8位數(shù)據(jù)輸出鎖存器/緩沖器。⑴數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個雙向三態(tài)的8位數(shù)
⑶A組控制和B組控制
這兩組控制電路一方面接收CPU發(fā)來的控制字并決定8255A的工作方式;另一方面接收來自讀/寫控制邏輯電路的讀/寫命令,完成接口的讀/寫操作。
A組控制電路控制端口A和端口C的高4位的工作方式和讀/寫操作。
B組控制電路控制端口B和端口C的低4位的工作方式和讀/寫操作。
⑶A組控制和B組控制這兩組控制電路一方面接收
⑷讀/寫控制邏輯
讀/寫控制邏輯負責管理8255A的數(shù)據(jù)傳輸過程。它接收譯碼電路的和來自地址總線的A1,A0信號,以及控制總線的RESET,,信號,將這些信號進行組合后,得到對A組控制部件和B組控制部件的控制命令,并將命令發(fā)給這兩個部件,以完成對數(shù)據(jù)信息、狀態(tài)信息和控制信息的傳輸。
⑷讀/寫控制邏輯讀/寫控制邏輯負責管理8255A的2.8255與CPU連接
D0-D7、A0、A1、/CS、/RD、/WR2.8255與CPU連接
3.8255的端口地址
A1A0=00-------PA(可讀/寫)
01-------PB(可讀/寫)
10-------PC(可讀/寫)
11-------控制口(可寫)
1.`方式選擇控制字
9.3.28255A控制字
1.`方式選擇控制字9.3.28255A控制字2.端口C置位/復位控制字
2.端口C置位/復位控制字
1.方式0——基本輸入輸出
在方式0下,每一個端口都作為基本的輸入或輸出口,端口C口的高4位和低4位以及端口A口、端口B都可獨立地設置為輸入口或輸出口。
CPU可以隨時對它們進行讀或?qū)憽?/p>
PA口可工作于方式0、方式1、方式2;
PB口可工作于方式0、方式1;
PC口只能工作于方式0。9.3.38255A工作方式
1.方式0——基本輸入輸出PA口可工作于方2.方式1——選通輸入輸出
方式1下三個端口分為A、B兩組,端口A、端口B仍作為輸入或輸出口,端口C分成兩部分,一部分作為端口A和端口B的聯(lián)絡信號,另一部分仍可作為基本的輸入輸出口。2.方式1——選通輸入輸出(1)方式1輸入
(1)方式1輸入信號說明:/STB(Strobe):選通輸入,低電平有效。該信號有效時,輸入數(shù)據(jù)被送入鎖存端口A或端口B的輸入鎖存器/緩沖器中。
IBF(InputBufferFull):輸入緩沖器滿。當外設把數(shù)據(jù)寫入端口,IBF變?yōu)?。
INTR:中斷請求信號,高電平有效。當IBF變?yōu)?且INTE=1時,INTR變?yōu)楦唠娖健.擟PU取數(shù)據(jù),/RD的下降沿使INTR復位,上升沿又使IBF復位。
INTE:中斷允許信號。端口A用PC4的置位/復位控制,端口B用PC2的置位/復位控制。信號說明:/STB(Strobe):選通輸入,低電平(2)方式1輸出
(2)方式1輸出信號說明:/OBF(OutBufferFull):輸出緩沖器滿。當CPU將數(shù)據(jù)寫入到數(shù)據(jù)端口,/OBF變0,通知外設可讀取。
/ACK(Acknowledge):外設的響應信號。由外設發(fā)給8255A,有效時,表示外設已取走8255A的端口數(shù)據(jù)。8255A收到/ACK后/OBF變?yōu)?,且“可能”產(chǎn)生中斷。
INTR:中斷請求信號,高電平有效。當收到/ACK,中斷允許INTE=1時,INTR變?yōu)楦唠娖?。INTR信號可作為CPU的查詢信號,或作為向CPU發(fā)出中斷請求的信號。/WR的下降沿使INTR復位。
INTE:中斷允許信號。端口A用PC6的置位/復位控制,端口B用PC2的置位/復位控制。
信號說明:/OBF(OutBufferFull)3.方式2——雙向選通輸入輸出
8255A的方式2可使8255A與外設進行雙向通信,既能發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)??刹捎貌樵兎绞胶椭袛喾绞竭M行傳輸。方式2只適用于端口A
,端口C的PC7~PC3配合端口A的傳輸,其聯(lián)絡信號如圖所示。3.方式2——雙向選通輸入輸出8255A的方式2可8255A方式2的控制信號和時序:8255A方式2的控制信號和時序:【例】方式0(P156)設8255A的A口和B口工作在方式0,A口作為輸入端口,接有四個開關(guān),且每一開關(guān)接一上拉電阻。B口為輸出端,經(jīng)一8路反相驅(qū)動器,接有一個發(fā)光二極管(LED)組成的七段數(shù)碼管,連接電路如圖所示。試編一程序,要求數(shù)碼管顯示開關(guān)所撥通的二進制編碼對應的16進制數(shù)字(字符)。9.3.48255A應用
【例】方式0(P156)設8255A的A口和B口工作在方式0數(shù)碼管的字型與段碼段碼hgfedcba
hh字型LED顯示段碼hgfedcbahh字型LED顯示0111000171’F’0000011107’7’0111100179’E’011111017d’6’010111105e’d’011011016b’5’0011100139’C’0110011066’4’01111100
7c’b’010011114f’3’0111011177’A’010110115b’2’011011116f
’9’0000011006’1’011111117f’8’001111113f’0’返回數(shù)碼管的字型與段碼段碼字型LED顯示段碼字型LED顯示011+5VA15M/IOA6A5A4A3
G1G2AG2BCBAA0Y4
A1A0CSRDWRRESETPA0PA1PA2PA3PB0PB1PB2PB3PB4PB5PB6PB7RDRWRESETA2A1+5V74LS1388255AKa
b
c
d
e
f
g
DPadecbfgDP顯示的字符0123456789AbCdEFLED段碼(H)3F065B4F666D7D077F6F777C395E7971段碼表
LED數(shù)碼管電路+5VA15G1A0PA0RDA2+5V74LS138825地址
A口:8020H,B口:8022H, C口:8024H,控制口:8026H.A口方式0輸入,B口方式0輸出,C口設為輸出.方式控制字
10010000B=90H
地址a_portequ8020hb_portequ8022hctrl_portequ8026h……moval,90h ;設置8255方式字movdx,ctrl_portoutdx,almovdx,a_portinal,dx ;讀取開關(guān)(鍵盤)信息andal,0fh ;屏蔽高4位movbx,offsettab1;取段碼表首地址xlat ;開關(guān)值→段碼變換movdx,b_port ;輸出顯示outdx,ala_portequ8020h8255A應用
【例題】掃描鍵盤按鍵,并保存相應鍵值,硬件圖如圖所示。設8255A的端口地址為300H~303H,接收100個按鍵后結(jié)束。
分析:檢測鍵盤輸入過程如下:PC4~PC7送全“0”,再讀取PC0~PC3,若全為“1”,則表示無鍵閉合。若有鍵閉合,則進行鍵掃描。鍵掃描方法如下:使PC4為0,PC5~PC7為高電平,讀取PC0~PC3,如果是全“1”,表示該列無鍵閉合;否則閉合鍵在該列上,再進一步判斷讀取的數(shù)據(jù)中哪一位為“0”,從而確定閉合鍵。若該列無鍵閉合,則依次使PC5,PC6,PC7進行上述操作。
8255A應用【例題】掃描鍵盤按鍵,并保存相應鍵值,硬件
在鍵盤設計時,除了對鍵碼識別外,還有抖動和重鍵兩個問題需要解決。對機械按鍵就是當用手按下一個鍵時,往往會出現(xiàn)按鍵在閉合和斷開位置位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個鍵時,也會出現(xiàn)類似的情況,這就是抖動。抖動持續(xù)時間一般為10ms左右。利用硬件,也可通過軟件延時來消除抖動。所謂重鍵就是指兩個或多個鍵同時閉合。通常情況,則是只承認先識別出來的鍵,對同時按下的其它鍵均不作識別,直到所有鍵都釋放以后,才讀下一個鍵。
在鍵盤設計時,除了對鍵碼識別外,還有抖動和重鍵兩個問題需可編程接口芯片及應用課件DATASEGMENTBUFFERDB100DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,BUFFERMOVCL,100;初始化按鍵次數(shù)
MOVAL,81H;8255A控制字
MOVDX,303HOUTDX,AL;8255A初始化
KS1:CALLKS;讀取按鍵
CMPAL,0FH;判有無鍵閉合
JZKS1;無鍵閉合,循環(huán)等待
CALLDELAY;延時12ms,消除抖動
CALLKSDATASEGMENT
CMPAL,0FH;再次判有無鍵閉合
JZKS1MOVBL,0EFH;初始化列碼
MOVBH,0;初始化列計數(shù)器
AGAIN:MOVDX,302HMOVAL,BLOUTDX,AL;輸出列碼
INAL,DX;讀取行碼
ANDAL,0FHCMPAL,0FHJZNEXT;該列無鍵閉合,準備下一列掃描
CMPAL0EH;判該列是否第一個鍵閉合?
JNZTWOMOVAL,0JMPFREETWO:CMPAL,0DH;判該列是否第二個鍵閉合?
JNZTHREEMOVAL,4JMPFREECMPAL,0FH
THREE:CMPAL,0BH;判該列是否第三個鍵閉合?
JNZFOURMOVAL,8JMPFREEFOUR:CMPAL,07H;判該列是否第四個鍵閉合?
JNZNEXTMOVAL,0CHFREE:PUSHAXWAIT1:CALLKSCMPAL,0FHJNZWAIT1;鍵未釋放,則等待
POPAXADDAL,BH;按鍵鍵值=掃描鍵值+列計數(shù)值
MOV[SI],AL;保存相應按鍵鍵值
INCSIDECCLJZEXIT;判是否接收到100個按鍵?
JMPKS1THREE:CMPAL,0BH;
NEXT:INCBH;列計數(shù)值加1ROLBL,1;列碼循環(huán)左移一位
CMPBL,0FEH;判該輪鍵掃描是否結(jié)束?
JNZAGAINJMPKS1EXIT:MOVAH,4CH;返回DOSINT21H
KSPROCNEARMOVDX,302HMOVAL,0FHOUTDX,AL;使所有列線為低電平
INAL,DX;讀取行值
ANDAL,0FH;屏蔽高4位
RETKSENDPNEXT:INCBH
DELAYPROCNEAR;延時子程序
PUSHBXPUSHCXMOVBX,2000DEL1:MOVCX,0DEL2:LOOPDEL2DECBXJNZDEL1POPCXPOPBXRETDELAYENDPCODEENDPENDSTARTDELAYPROCNEAR【例題】試編程實現(xiàn)采用動態(tài)掃描方法在LED數(shù)碼管上顯示0000~9999,硬件圖如圖所示。設8255A的端口地址為300H~303H。共陰極數(shù)碼管【例題】試編程實現(xiàn)采用動態(tài)掃描方法在LED數(shù)碼管上顯示000LED(LightEmittingDiode)數(shù)碼管的主要部分是發(fā)光二極管,如圖所示。這七段發(fā)光管按順時針分別稱為a、b、c、d、e、f、g,有的產(chǎn)品還附帶小數(shù)點h。LED數(shù)碼管有共陰極和公陽極兩種結(jié)構(gòu)。通過7個發(fā)光段的不同組合,可顯示0~9和A~F以及某些特殊字符。LED(LightEmittingDiode)數(shù)碼管由于發(fā)光二極管發(fā)光時,通過的平均電流為10mA~20mA,而通常的輸出鎖存器不能提供這么大的電流,所以LED各段必須接驅(qū)動電路。點亮數(shù)碼管有靜態(tài)和動態(tài)兩種方法。所謂靜態(tài)顯示,就是當數(shù)碼管顯示某一個字符時,相應的發(fā)光二極管恒定地導通或截止。這種顯示方式每一個數(shù)碼管都需要有一個8位輸出口控制,而當系統(tǒng)中數(shù)碼管較多時,用靜態(tài)顯示所需的I/O口太多,一般采用動態(tài)顯示方法。
由于發(fā)光二極管發(fā)光時,通過的平均電流為10mA~20mA,而
所謂動態(tài)顯示就是一位一位地輪流點亮各位數(shù)碼管(掃描),對于每一位數(shù)碼管來說,每隔一段時間點亮一次。數(shù)碼管的亮度既與導通電流有關(guān),也與點亮時間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。這種顯示方法需有兩類控制端口,即位控制端口和段控制端口。位控制端口控制哪個數(shù)碼管顯示,段控制端口決定顯示代碼。此端口所有數(shù)碼管公用,因此,當CPU輸出一個顯示代碼時,各數(shù)碼管的輸入段都收到此代碼。但是,只有位控制碼中選中的數(shù)碼管才得到導通而顯示。
所謂動態(tài)顯示就是一位一位地輪流點亮各位數(shù)碼管(掃描),對DATASEGMENTOUTBUFFDB4DUP(?)LEDTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOUNTDB100DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,80HMOVDX,303HOUTDX,AL;8255A初始化
MOVBX,0;初始化顯示值字型表DATASEGMENT字型表NEXT:LEASI,OUTBUFFMOVAX,BX;將顯示值轉(zhuǎn)換為十進制數(shù)并保存
MOVDX,0MOVCX,1000DIVCXMOV[SI],ALINCSIMOVAX,DXMOVCL,100DIVCLMOV[SI],ALINCSIMOVAL,AHMOVAH,0MOVCL,10DIVCLNEXT:LEASI,OUTBUFF
MOV[SI],ALINCSIMOV[SI],AHAGAIN:MOVCH,08H;初始化位選碼
LEASI,OUTBUFFLEDDISP:MOVAL,[SI];取顯示值
MOVAH,0LEADI,LEDTABADDDI,AXMOVAL,[DI];轉(zhuǎn)換為段碼
MOVDX,300HOUTDX,AL;輸出段碼
MOVDX,302HMOVAL,CHOUTDX,AL;輸出位選碼
CALLDELAY;延時2msMOV[SI],AL
INCSIRORCH,1;指向下一個數(shù)碼管
CMPCH,80HJNZLEDDISP;判該輪是否顯示結(jié)束?
DECCOUNT;重復顯示某數(shù)100次,便于看清
JNZAGAINMOVCOUNT,100INCBX;顯示數(shù)值加1CMPBX,10000JZEXITJMPNEXTEXIT:MOVAH,4CH;返回DOSINT21HINCSIDELAYPROCNEAR;延時子程序
PUSHBXPUSHCXMOVBX,10;初值隨不同型號計算機應作調(diào)整
DEL1:MOVCX,0;初值隨不同型號計算機應作調(diào)整
DEL2:LOOPDEL2DECBXJNZDEL1POPCXPOPBXRETDELAYENDPCODEENDSENDSTARTDELAYPROCNEAR;延時子程序【例題】采用8255A作為與打印機接口的電路,CPU與8255A利用查詢方式輸出數(shù)據(jù),硬件如圖所示,試編程實現(xiàn)將若干個字節(jié)數(shù)據(jù)送打印機打印。設8255A的端口地址為90H~93H。分析:打印機一般有3個主要信號,BUSY表示打印機是否處于“忙”狀態(tài),高電平表示打印機處于忙狀態(tài)。為選通信號,低電平有效,該信號有效時,CPU輸出的數(shù)據(jù)被鎖存到打印機內(nèi)部數(shù)據(jù)緩沖器。為打印機應答信號,當打印機處理好輸入數(shù)據(jù)后發(fā)出該信號,同時撤銷忙信號。CPU可利用BUSY信號或信號決定是否輸出下一個數(shù)據(jù)?!纠}】采用8255A作為與打印機接口的電路,CPU與825
當CPU通過打印接口要求打印機打印數(shù)據(jù)時,一般先查詢BUSY信號,BUSY為低電平時,輸出數(shù)據(jù)至打印口,再發(fā)送信號。
當CPU通過打印接口要求打印機打印數(shù)據(jù)時,一般先查詢BUDATASEGMENTBUFFERDB‘45A……’COUNTDW$-BUFFERDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,BUFFERMOVCX,COUNTMOVAL,81H;8255A初始化
OUT93H,ALMOVAL,0FH;使PC7=“1”O(jiān)UT93H,ALDATASEGMENTNEXT:INAL,92H;讀PC端口WAIT1:TESTAL,01H;測試BUSY信號
JNZWAIT1MOVAL,[SI];讀取一個數(shù)據(jù),送入PA端口
OUT90H,ALMOVAL,0EH;輸出選通脈沖
OUT93H,ALNOPNOPMOVAL,0FHOUT93H,ALINCSILOOPNEXTMOVAH,4CH;返回DOSINT21HCODEENDSENDSTARTNEXT:INAL,92H;讀PC【例題】在兩臺計算機之間利用8255A的端口A實現(xiàn)并行數(shù)據(jù)傳送。如圖所示,A機8255A工作于方式1輸出,B機8255A工作于方式0輸入。兩機的CPU與8255A接口之間均采用查詢方式交換數(shù)據(jù)。試編程實現(xiàn)將A機緩沖區(qū)0300:0000H開始的1024個字節(jié)數(shù)據(jù)發(fā)送至B機,并存放于B機從0400:0000開始的緩沖區(qū)中。設兩機8255A的端口地址均為300H~303H?!纠}】在兩臺計算機之間利用8255A的端口A實現(xiàn)并行數(shù)可編程接口芯片及應用課件A機發(fā)送程序段:
MOVDX,303HMOVAL,0A0HOUTDX,AL;8255A初始化,端口A方式1輸出
MOVAL,0DHOUTDX,AL;使PC6(INTEA)=1,允許中斷
MOVAX,0300HMOVDS,AXMOVBX,0MOVCX,1024NEXT:MOVDX,302HWAIT1:INAL,DX;查詢PC3(INTRA)=1?
TESTAL,08HJZWAIT1MOVDX,300H;發(fā)送數(shù)據(jù)
MOVAL,[BX]OUTDX,ALINCBXLOOPNEXTA機發(fā)送程序段:B機接收程序段:
MOVDX,303HMOVAL,98HOUTDX,AL;PA方式0輸入
MOVAL,01HOUTDX,AL;使PC0()=1MOVAX,0400HMOVDS,AXMOVBX,0MOVCX,1024NT:MOVDX,302HWT:INAL,DX;讀PC口
TESTAL,10H;查詢PC4()JNZWTMOVDX,300H;接收數(shù)據(jù)
INAL,DXMOV[BX],ALINCBXMOVDX,303H;產(chǎn)生信號
MOVAL,00OUTDX,ALNOPNOPMOVAL,01HOUTDX,ALLOOPNTB機接收程序段:JNZWT第9章可編程接口芯片及應用9.1可編程接口芯片概述9.2可編程計數(shù)/定時器82539.3可編程并行接口芯片8255A第9章可編程接口芯片及應用9.1可編程接口芯片概述CPU要與外設交換信息,必須通過接口電路,在接口電路中一般具有如下電路單元:⑴輸入/輸出數(shù)據(jù)緩沖器和鎖存器,以實現(xiàn)數(shù)據(jù)的I/O。⑵控制命令和狀態(tài)寄存器,用以存放對外設的控制命令,以及外設的狀態(tài)信息。⑶地址譯碼器,用來選擇接口電路中的不同端口(寄存器)。⑷讀寫控制邏輯。⑸中斷控制邏輯。
9.1可編程接口芯片概述CPU要與外設交換信息,必須通過接口電路,在接口電9.19.2可編程計數(shù)器/定時器8253計數(shù)/定時的工作原理計數(shù):對外部事件發(fā)生次數(shù)進行計數(shù)定時和計數(shù)本質(zhì)上是相同的,它們都是對一個輸入脈沖進行計數(shù),如果輸入脈沖的頻率一定,那么記錄脈沖的個數(shù)與所需的時間是一一對應的關(guān)系。例如:輸入脈沖頻率為2MHz,那么計數(shù)2106
定時1秒因此,使用同一個芯片,既能計數(shù),又能定時——定時器/計數(shù)器9.2可編程計數(shù)器/定時器8253計數(shù)/定時的工作原理。
9.2.18253功能及結(jié)構(gòu)
Intel8253具有3個獨立的16位計數(shù)器,使用單一+5V電源,采用NMOS工藝,24腳雙排直插式封裝的大規(guī)模集成電路1.8253主要功能⑴每片有3個獨立的16位計數(shù)通道。⑵每個計數(shù)器可按二進制或十進制來計數(shù),時鐘脈沖下降沿使計數(shù)器進行減1操作。⑶每個計數(shù)器最高計數(shù)速率可達2.6MHZ。⑷每個計數(shù)器可編程設定6種工作方式之一。⑸所有輸入、輸出均與TTL電平兼容,便于與外圍接口電路相連。。9.2.18253功能及結(jié)構(gòu)2.8253的內(nèi)部結(jié)構(gòu)和引腳特性2.8253的內(nèi)部結(jié)構(gòu)和引腳特性9.2.28253控制字1.8253控制字格式
9.2.28253控制字1.8253控制字格式2.8253端口地址
A1A0=00-------計數(shù)器001-------計數(shù)器110-------計數(shù)器211-------控制口3.編程步驟先寫控制字(到控制口)再寫計數(shù)器初值(到相應的通道端口)2.8253端口地址9.2.38253工作方式與工作時序
1.方式0(單脈沖發(fā)生器)計數(shù)器只計一遍??刂谱謱懭牒?,OUT端為低;當計數(shù)初值寫入后,在下一個CLK脈沖的下降沿將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,然后計數(shù)器開始減1計數(shù),在計數(shù)期間,當減1計數(shù)器回0之前,輸出端OUT維持低電平。當計數(shù)值回0時,OUT輸出端變?yōu)楦唠娖?,并保持到重新寫入新的控制字或新的計?shù)值為止??勺鳛橹袛嗾埱笮盘?。在計數(shù)過程中,若GATE信號變?yōu)榈碗娖?,則在低電平期間暫停計數(shù),減1計數(shù)寄存器值保持不變。在計數(shù)過程中,若重新寫入新的計數(shù)初值,則在下一個CLK脈沖的下降沿,減1計數(shù)寄存器以新的計數(shù)初值重新開始計數(shù)過程。9.2.38253工作方式與工作時序1.方式0(單脈沖發(fā)8253方式0
三種情況時序波形:
8253方式0
三種情況時序波形:2.方式1(可重觸發(fā)單穩(wěn)態(tài)方式)
輸出單個負脈沖信號,脈沖的寬度可通過編程來設定。當寫入控制字后,輸出端OUT變?yōu)楦唠娖?,并保持高電平狀態(tài)。然后寫入計數(shù)初值,只有在GATE信號的上升沿之后的下一個CLK脈沖的下降沿,才將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,同時OUT端變?yōu)榈碗娖?。然后計?shù)器開始減1計數(shù),當計數(shù)值減到0時,OUT端變?yōu)楦唠娖健?/p>
在OUT端輸出低電平期間,又來一個門控信號上升沿觸發(fā),則在下一個CLK脈沖的下降沿,重新將計數(shù)初值寄存器內(nèi)容裝入減1計數(shù)寄存器,并開始計數(shù),OUT端保持低電平,直至計數(shù)值減到0時,OUT端變?yōu)楦唠娖?。在計?shù)期間CPU又送來新的計數(shù)初值,不影響當前計數(shù)過程。一直等到下一次GATE信號的觸發(fā),才會將新的計數(shù)初值裝入,并以新的計數(shù)初值開始計數(shù)過程。2.方式1(可重觸發(fā)單穩(wěn)態(tài)方式)輸出單個負脈沖信號,脈沖的8253方式1三種情況時序波形:8253方式13.方式2(周期脈沖發(fā)生器)
可產(chǎn)生周期性的負脈沖信號,負脈沖寬度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育小孩拒絕偷竊行為-教室演講
- 哈林花式籃球項目介紹
- 房地產(chǎn)項目投資策劃營銷
- 廈門工學院《Unty游戲開發(fā)》2023-2024學年第二學期期末試卷
- 遺傳病防范知識培訓課件
- 成都農(nóng)業(yè)科技職業(yè)學院《最優(yōu)化方法(專業(yè)大類)》2023-2024學年第一學期期末試卷
- 2025年河南省許昌市初三下學期段考(第二次月考)化學試題含解析
- 燕山大學《對話經(jīng)典》2023-2024學年第二學期期末試卷
- 廣東省東莞市智升校2025年初三下學期期初聯(lián)考化學試題含解析
- 內(nèi)科護理慢性阻塞性肺疾病
- 2025年北京市房山區(qū)高三一模政治試卷(含答案)
- 2025 年深入貫徹中央八項規(guī)定精神學習教育實施方案
- 《Python程序設計》全套教學課件
- 2025年空壓機行業(yè)發(fā)展戰(zhàn)略研究及投資潛力預測評估報告
- 2024年廣東惠州仲愷高新區(qū)招聘中學教師筆試真題
- 馬化騰的創(chuàng)業(yè)故事
- 院科兩級人員緊急替代程序與替代方案
- 高中主題班會 心懷感恩志存高遠課件-高一上學期感恩教育主題班會
- 2024年晉城市城區(qū)城市建設投資經(jīng)營有限公司招聘考試真題
- 社工證筆試題庫及答案
- 2025年湖北省初中學業(yè)水平考試數(shù)學模擬卷(二)(原卷版+解析版)
評論
0/150
提交評論