定時計數(shù)控制接口_第1頁
定時計數(shù)控制接口_第2頁
定時計數(shù)控制接口_第3頁
定時計數(shù)控制接口_第4頁
定時計數(shù)控制接口_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第9 9章章 定時計數(shù)控制接口定時計數(shù)控制接口教學(xué)重點(diǎn)n 8253的引腳和的引腳和6種工作方式種工作方式n 8253的編程的編程n 8253在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用定時器和計數(shù)器定時控制在微機(jī)系統(tǒng)中極為重要定時控制在微機(jī)系統(tǒng)中極為重要n定時器由數(shù)字電路中的計數(shù)電路構(gòu)成,定時器由數(shù)字電路中的計數(shù)電路構(gòu)成,通過記錄高精度晶振脈沖信號的個數(shù),通過記錄高精度晶振脈沖信號的個數(shù),輸出準(zhǔn)確的時間間隔輸出準(zhǔn)確的時間間隔n計數(shù)電路如果記錄外設(shè)提供的具有一定計數(shù)電路如果記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號時,它主要反映脈沖隨機(jī)性的脈沖信號時,它主要反映脈沖的個數(shù)(進(jìn)而獲知外設(shè)的某種狀態(tài))

2、,的個數(shù)(進(jìn)而獲知外設(shè)的某種狀態(tài)),常又稱為計數(shù)器常又稱為計數(shù)器定時功能的實(shí)現(xiàn)方法n軟件延時軟件延時利用微處理器執(zhí)行一個延利用微處理器執(zhí)行一個延時程序段實(shí)現(xiàn)時程序段實(shí)現(xiàn)n不可編程的硬件定時不可編程的硬件定時采用分頻器、采用分頻器、單穩(wěn)電路或簡易定時電路控制定時時間單穩(wěn)電路或簡易定時電路控制定時時間n可編程的硬件定時可編程的硬件定時軟件硬件相結(jié)合、軟件硬件相結(jié)合、用可編程定時器芯片構(gòu)成一個方便靈活用可編程定時器芯片構(gòu)成一個方便靈活的定時電路的定時電路9.1 8253/8254定時計數(shù)器n3個獨(dú)立的個獨(dú)立的16位計數(shù)器通道位計數(shù)器通道n每個計數(shù)器有每個計數(shù)器有6種工作方式種工作方式n按二進(jìn)制或十進(jìn)

3、制(按二進(jìn)制或十進(jìn)制(BCD碼)計數(shù)碼)計數(shù)8254是是8253的改進(jìn)型的改進(jìn)型9.1.1 8253/8254的內(nèi)部結(jié)構(gòu)和引腳D7D0計數(shù)器0控制字寄存器計數(shù)器1計數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2計數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器預(yù)置寄存器GATECLKOUT減減1計數(shù)器計數(shù)器輸出鎖存器輸出鎖存器計數(shù)初值存于計數(shù)初值存于預(yù)置寄存器預(yù)置寄存器;在計數(shù)過程中,在計數(shù)過程中,減法計數(shù)器減法計數(shù)器的值不斷遞減,的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器輸出鎖存器用于寫

4、入鎖存命令時,用于寫入鎖存命令時,鎖定當(dāng)前計數(shù)值鎖定當(dāng)前計數(shù)值計數(shù)器的3個引腳nCLK時鐘輸入信號時鐘輸入信號在計數(shù)過程中,在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減沿),計數(shù)器的計數(shù)值減1nGATE門控輸入信號門控輸入信號控制計數(shù)器工控制計數(shù)器工作,可分成電平控制和上升沿控制兩種作,可分成電平控制和上升沿控制兩種類型類型nOUT計數(shù)器輸出信號計數(shù)器輸出信號當(dāng)一次計數(shù)過當(dāng)一次計數(shù)過程結(jié)束(計數(shù)值減為程結(jié)束(計數(shù)值減為0),),OUT引腳上引腳上將產(chǎn)生一個輸出信號將產(chǎn)生一個輸出信號2. 與處理器接口nD0 D7數(shù)據(jù)線數(shù)據(jù)線A0 A1地址線

5、地址線nRD*讀信號讀信號WR*寫信號寫信號nCS*片選信號片選信號CS* A1 A0I/O地址地址讀操作讀操作RD*寫操作寫操作WR*0 0 00 0 10 1 00 1 140H41H42H43H讀計數(shù)器讀計數(shù)器0讀計數(shù)器讀計數(shù)器1讀計數(shù)器讀計數(shù)器2無操作無操作寫計數(shù)器寫計數(shù)器0寫計數(shù)器寫計數(shù)器1寫計數(shù)器寫計數(shù)器2寫控制字寫控制字9.1.2 8253/8254的工作方式n8253有有6種工作方式,由方式控制字確定種工作方式,由方式控制字確定n熟悉每種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問題,熟悉每種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問題,選擇正確的工作方式選擇正確的工作方式n每種工作方式的過程類似:

6、每種工作方式的過程類似: 設(shè)定工作方式設(shè)定工作方式 設(shè)定計數(shù)初值設(shè)定計數(shù)初值 硬件啟動硬件啟動 計數(shù)初值進(jìn)入減計數(shù)初值進(jìn)入減1計數(shù)器計數(shù)器 每輸入一個時鐘計數(shù)器減每輸入一個時鐘計數(shù)器減1的計數(shù)過程的計數(shù)過程 計數(shù)過程結(jié)束計數(shù)過程結(jié)束方式0 計數(shù)結(jié)束中斷GATEOUTCLK 031244方式方式0WR設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計計數(shù)數(shù)初初值值計計數(shù)數(shù)值值送送入入計計數(shù)數(shù)器器計計數(shù)數(shù)過過程程計計數(shù)數(shù)結(jié)結(jié)束束方式1 可編程單穩(wěn)脈沖設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計計數(shù)數(shù)初初值值硬硬件件啟啟動動計計數(shù)數(shù)值值送送入入計計數(shù)數(shù)器器計計數(shù)數(shù)過過程程計計數(shù)數(shù)結(jié)結(jié)束束GATEOUTCLK 031244方式

7、方式1WR方式2 頻率發(fā)生器(分頻器)03124GATEOUTCLK 4方式方式2031240312403124WR方式3 方波發(fā)生器03124GATEOUTCLK 4方式方式3031240312403124WR方式4 軟件觸發(fā)選通信號GATEOUTCLK031244方式方式4223331 0WR方式5 硬件觸發(fā)選通信號GATEOUTCLK031244方式方式52233311 0WR各種工作方式的輸出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1討論:討論:計數(shù)開始的時刻計數(shù)開始的時刻計數(shù)開

8、始的時刻n需要注意:需要注意:n處理器寫入處理器寫入8253的計數(shù)初值只是寫入了預(yù)置的計數(shù)初值只是寫入了預(yù)置寄存器,之后到來的第一個寄存器,之后到來的第一個CLK輸入脈沖輸入脈沖(需(需先由低電平變高,再由高變低先由低電平變高,再由高變低)才將預(yù))才將預(yù)置寄存器的初值送到減置寄存器的初值送到減1計數(shù)器。計數(shù)器。n從第二個從第二個CLK信號的下降沿,計數(shù)器才真正信號的下降沿,計數(shù)器才真正開始減開始減1計數(shù)。計數(shù)。出處:教材第出處:教材第217頁第頁第15行行實(shí)驗(yàn):實(shí)驗(yàn):計數(shù)開始的時刻計數(shù)開始的時刻實(shí)驗(yàn)1計數(shù)開始計數(shù)開始感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果感謝山西省太原理工大學(xué)常曉明教授提

9、供實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)1計數(shù)開始計數(shù)開始計數(shù)開始計數(shù)開始感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)2計數(shù)開始計數(shù)開始問題討論n通過本例,請大家通過本例,請大家n思考理論(原理)與實(shí)踐(工程)的關(guān)系思考理論(原理)與實(shí)踐(工程)的關(guān)系n體會教學(xué)實(shí)踐環(huán)節(jié)(上機(jī)、實(shí)驗(yàn))的重要體會教學(xué)實(shí)踐環(huán)節(jié)(上機(jī)、實(shí)驗(yàn))的重要性性n同時,還請大家注意同時,還請大家注意n大學(xué)的常規(guī)教學(xué)側(cè)重理論(原理)的掌握大學(xué)的常規(guī)教學(xué)側(cè)重理論(原理)的掌握n大家需要加強(qiáng)實(shí)踐(實(shí)驗(yàn))、積累實(shí)際經(jīng)大家需要加強(qiáng)實(shí)踐(實(shí)驗(yàn))、積累實(shí)際經(jīng)驗(yàn)驗(yàn)?zāi)氵€能提供這樣的實(shí)例嗎?你還能提供這樣的實(shí)例嗎?9.1.3

10、 8253/8254的編程n8253加電后的工作方式不確定加電后的工作方式不確定n8253必須初始化編程,才能正常工作必須初始化編程,才能正常工作n寫入控制字寫入控制字n寫入計數(shù)初值寫入計數(shù)初值n讀取計數(shù)值讀取計數(shù)值n8254新增讀回命令新增讀回命令D7D6D5D4D3D2D1D01 寫入方式控制字計數(shù)器計數(shù)器讀寫格式讀寫格式工作方式工作方式數(shù)制數(shù)制D7D6D5D4D3D2D1D000 計數(shù)器計數(shù)器001 計數(shù)器計數(shù)器110 計數(shù)器計數(shù)器211 非法非法00 計數(shù)器鎖存命計數(shù)器鎖存命令令 01 只讀寫低字節(jié)只讀寫低字節(jié)10 只讀寫高字節(jié)只讀寫高字節(jié)11 先讀寫低字節(jié)先讀寫低字節(jié) 后讀寫高字節(jié)后

11、讀寫高字節(jié)000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二進(jìn)制二進(jìn)制1 十進(jìn)制十進(jìn)制控制字寫入控制字控制字寫入控制字I/O地址(地址(A1A011)示例示例2 寫入計數(shù)值n選擇二進(jìn)制時選擇二進(jìn)制時n計數(shù)值范圍:計數(shù)值范圍:0000HFFFFHn0000H是最大值,代表是最大值,代表65536n選擇十進(jìn)制(選擇十進(jìn)制(BCD碼)碼)n計數(shù)值范圍:計數(shù)值范圍:00009999n0000代表最大值代表最大值10000計數(shù)值寫入計數(shù)器各自的計數(shù)值寫入計數(shù)器各自的I/O地址地址示例示例3 讀取計數(shù)值n對對8位數(shù)據(jù)線,讀取位數(shù)據(jù)線,讀取16

12、位計數(shù)值需分兩次位計數(shù)值需分兩次n計數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計數(shù)值先行計數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計數(shù)值先行鎖存,然后讀取:鎖存,然后讀取:n向控制字向控制字I/O地址:給地址:給8253寫入鎖存命令寫入鎖存命令n從計數(shù)器從計數(shù)器I/O地址:讀取鎖存的計數(shù)值地址:讀取鎖存的計數(shù)值讀取計數(shù)值,要注意讀寫格式和計數(shù)數(shù)制讀取計數(shù)值,要注意讀寫格式和計數(shù)數(shù)制9.2 8253在IBM PC系列機(jī)上的應(yīng)用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至揚(yáng)聲器驅(qū)動器接至揚(yáng)聲器驅(qū)動器PB0PB1IR

13、Q0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS9.2.1 定時中斷和定時刷新n從閱讀初始化程序段從閱讀初始化程序段n看看計數(shù)器計數(shù)器0作為定時中斷作為定時中斷的作用的作用n將將計數(shù)器計數(shù)器1作為定時刷新作為定時刷新n看如何編寫初始化程序段看如何編寫初始化程序段定時中斷mov al,36h;計數(shù)器計數(shù)器0為方式為方式3,采用二進(jìn)制計數(shù),采用二進(jìn)制計數(shù),;先低后高寫入計數(shù)值先低后高寫入計數(shù)值out 43h,al;寫入方式控制字寫入方式控制字mov al,0;計數(shù)值為計數(shù)值為0out 40h,al;寫入低字節(jié)計數(shù)值寫入低字節(jié)計數(shù)值out 40h,

14、al;寫入高字節(jié)計數(shù)值寫入高字節(jié)計數(shù)值8253初始化計數(shù)器0:定時中斷n計數(shù)器計數(shù)器0:方式方式3,計數(shù)值:計數(shù)值:65536,輸出頻率,輸出頻率為為1.19318MHz6553618.206Hz的方波的方波n門控為常啟狀態(tài),這個方波信號不斷產(chǎn)生門控為常啟狀態(tài),這個方波信號不斷產(chǎn)生nOUT0端接端接8259A的的IRQ0,用作中斷請求信號,用作中斷請求信號n每秒產(chǎn)生每秒產(chǎn)生18.206次中斷請求,或說每隔次中斷請求,或說每隔55ms(54.925493ms)申請一次中斷)申請一次中斷nDOS系統(tǒng)利用計數(shù)器系統(tǒng)利用計數(shù)器0的這個特點(diǎn),通過的這個特點(diǎn),通過08號號中斷服務(wù)程序?qū)崿F(xiàn)了日時鐘計時功能中

15、斷服務(wù)程序?qū)崿F(xiàn)了日時鐘計時功能計數(shù)器1:定時刷新n需要重復(fù)不斷提出刷新請求需要重復(fù)不斷提出刷新請求門控總為高,選擇方式門控總為高,選擇方式2或或3n2ms內(nèi)刷新內(nèi)刷新128次,即次,即15.6 s刷新一次刷新一次計數(shù)初值為計數(shù)初值為18定時刷新mov al,54h;計數(shù)器計數(shù)器1為方式為方式2,采用二進(jìn)制計數(shù),只寫,采用二進(jìn)制計數(shù),只寫低低8位計數(shù)值位計數(shù)值out 43h,al;寫入方式控制字寫入方式控制字mov al,18;計數(shù)初值為計數(shù)初值為18out 41h,al;寫入計數(shù)值寫入計數(shù)值8253初始化9.2.2 揚(yáng)聲器控制n計數(shù)器計數(shù)器2的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)

16、n計數(shù)器計數(shù)器2只能工作在方式只能工作在方式3,才能,才能輸出一輸出一定頻率的方波,經(jīng)濾波后得到近似的正定頻率的方波,經(jīng)濾波后得到近似的正弦波,進(jìn)而推動揚(yáng)聲器發(fā)聲弦波,進(jìn)而推動揚(yáng)聲器發(fā)聲n揚(yáng)聲器還受控于并行接口(揚(yáng)聲器還受控于并行接口(8255芯片)芯片)n必須使必須使PB0和和PB1同時為高電平,揚(yáng)聲器同時為高電平,揚(yáng)聲器才能發(fā)出預(yù)先設(shè)定頻率的聲音才能發(fā)出預(yù)先設(shè)定頻率的聲音頻率設(shè)置speakerprocpush axmov al,0b6hout 43h,al;寫入控制字寫入控制字pop axout 42h,al;寫入低寫入低8位計數(shù)值位計數(shù)值mov al,ahout 42h,al;寫入高寫入

17、高8位計數(shù)值位計數(shù)值retspeakerendp揚(yáng)聲器控制揚(yáng)聲器開speakonprocpush axin al,61hor al,03h;D1D0PB1PB011B,其他位不變,其他位不變out 61h,alpop axretspeakonendp揚(yáng)聲器控制揚(yáng)聲器關(guān)speakoffprocpush axin al,61hand al,0fch;D1D0PB1PB000B,其他位不變,其他位不變out 61h,alpop axretspeakoffendp揚(yáng)聲器控制主程序;數(shù)據(jù)段數(shù)據(jù)段freqdw 1193180/600;代碼段代碼段mov ax,freqcall speaker;設(shè)置揚(yáng)聲器音

18、調(diào)設(shè)置揚(yáng)聲器音調(diào)call speakon;打開揚(yáng)聲器聲音打開揚(yáng)聲器聲音mov ah,1;等待按鍵等待按鍵int 21hcall speakoff;關(guān)閉揚(yáng)聲器聲音關(guān)閉揚(yáng)聲器聲音揚(yáng)聲器控制9.2.3 可編程硬件延時n利用日時鐘每隔利用日時鐘每隔55ms中斷一次不變的中斷一次不變的特點(diǎn),可以編寫一段不隨系統(tǒng)時鐘頻率特點(diǎn),可以編寫一段不隨系統(tǒng)時鐘頻率變化的固定延時程序變化的固定延時程序n由于日時鐘中斷的時間單位是由于日時鐘中斷的時間單位是55ms,所以無法實(shí)現(xiàn)更短時間的延時所以無法實(shí)現(xiàn)更短時間的延時n這時只有利用實(shí)時時鐘中斷,不過它的這時只有利用實(shí)時時鐘中斷,不過它的最短延時約是最短延時約是1ms(9

19、76 s)日時鐘;延時開始延時開始mov ah,0int 1ahadd dx,90;加加5秒(秒(51890)mov bx,dx;期望值送期望值送bxrepeat:int 1ah;再讀日時鐘再讀日時鐘cmp bx,dx;與期望值比較與期望值比較jne repeat;不等,則循環(huán)不等,則循環(huán);相等,延時結(jié)束相等,延時結(jié)束可編程硬件延時實(shí)時時鐘;延時開始延時開始mov cx,0mov dx,1952;延時延時1.952ms2976 smov ah,86hint 15h;功能調(diào)用返回時,定時時間到功能調(diào)用返回時,定時時間到可編程硬件延時9.3 擴(kuò)充定時計數(shù)器的應(yīng)用n例題例題9.29.2利用擴(kuò)充定時計

20、數(shù)器對外部事件的計數(shù)利用擴(kuò)充定時計數(shù)器對外部事件的計數(shù)n例題例題9.39.3為為A/D轉(zhuǎn)換電路提供可編程的采樣信號轉(zhuǎn)換電路提供可編程的采樣信號例9.2A0A1 A0 A1外部事件產(chǎn)生源外部事件產(chǎn)生源8253OUT0GATE0CLK0200207HIRQD0D7D0D7譯碼譯碼電路電路AENA3A9+5VCSIORIOWRDWR初始化程序段mov dx,203h;設(shè)置方式控制字設(shè)置方式控制字mov al,10hout dx,al mov dx,200h;設(shè)置計數(shù)初值設(shè)置計數(shù)初值mov al,64h;計數(shù)初值為計數(shù)初值為100out dx,al例9.2輸出:輸出:明確向哪個明確向哪個端口端口輸出什

21、么輸出什么數(shù)據(jù)數(shù)據(jù)輸入:輸入:清楚從哪個清楚從哪個端口端口輸入什么輸入什么數(shù)據(jù)數(shù)據(jù)例9.38253OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2啟動轉(zhuǎn)換啟動轉(zhuǎn)換時鐘源時鐘源頻率頻率 F+5V計數(shù)值計數(shù)值MNLA0A1A1A2200H207HCS初始化計數(shù)器0mov al,14hmov dx,206hout dx,almov al,cnt0mov dx,200hout dx,al例9.3初始化計數(shù)器1mov al,52hmov dx,206hout dx,almov al,cnt1mov dx,202hout dx,al例9.3初始化計數(shù)器2mov al,96hm

22、ov dx,206hout dx,almov al,cnt2mov dx,204hout dx,al例9.3第第9 9章教學(xué)要求章教學(xué)要求1. 掌握掌握8253引腳,尤其是引腳,尤其是CLK、OUT、GATE引腳的功能引腳的功能2. 掌握掌握8253的六種工作方式、編程和的六種工作方式、編程和在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用習(xí)題習(xí)題9(第(第 227 頁)頁) 9.2 9.3 9.4 9.6 9.7實(shí)驗(yàn)實(shí)驗(yàn)3 3 計數(shù)器計數(shù)器/ /定時器實(shí)驗(yàn)定時器實(shí)驗(yàn)n 不用實(shí)驗(yàn)臺,就可以實(shí)現(xiàn)發(fā)聲不用實(shí)驗(yàn)臺,就可以實(shí)現(xiàn)發(fā)聲程序:參考例題程序:參考例題9.1n 如果要實(shí)現(xiàn)第如果要實(shí)現(xiàn)第項(xiàng)實(shí)驗(yàn)要求,項(xiàng)實(shí)驗(yàn)要求,應(yīng)該利用中斷實(shí)驗(yàn)的中斷服務(wù)程應(yīng)該利用中斷實(shí)驗(yàn)的中斷服務(wù)程序序 提示提示8253的控

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論