版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第 8 8 章章常用接口技術(shù)常用接口技術(shù)8.1 8.1 定時(shí)控制接口定時(shí)控制接口8.2 8.2 并行接口并行接口8.3 8.3 異步串行通信接口異步串行通信接口8.4 8.4 模擬接口模擬接口8.1 8.1 定時(shí)控制接口定時(shí)控制接口定時(shí)控制具有極為重要的作用定時(shí)控制具有極為重要的作用微機(jī)控制系統(tǒng)中常需要定時(shí)中斷、定時(shí)檢測、定時(shí)掃描等微機(jī)控制系統(tǒng)中常需要定時(shí)中斷、定時(shí)檢測、定時(shí)掃描等實(shí)時(shí)操作系統(tǒng)和多任務(wù)操作系統(tǒng)中要定時(shí)進(jìn)行進(jìn)程調(diào)度實(shí)時(shí)操作系統(tǒng)和多任務(wù)操作系統(tǒng)中要定時(shí)進(jìn)行進(jìn)程調(diào)度PCPC機(jī)的日時(shí)鐘計(jì)時(shí)、機(jī)的日時(shí)鐘計(jì)時(shí)、DRAMDRAM刷新定時(shí)和揚(yáng)聲器音調(diào)控制都采刷新定時(shí)和揚(yáng)聲器音調(diào)控制都采用了定
2、時(shí)控制技術(shù)用了定時(shí)控制技術(shù)可編程定時(shí)器芯片可編程定時(shí)器芯片軟硬件相結(jié)合、方便靈活的定時(shí)電路軟硬件相結(jié)合、方便靈活的定時(shí)電路軟件延時(shí)方法軟件延時(shí)方法處理器執(zhí)行延時(shí)子程序處理器執(zhí)行延時(shí)子程序8.1.1 8.1.1 定時(shí)器定時(shí)器8253/82548253/8254定時(shí)器計(jì)數(shù)器):由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,記錄輸定時(shí)器計(jì)數(shù)器):由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,記錄輸入脈沖的個(gè)數(shù)入脈沖的個(gè)數(shù)脈沖信號具有一定隨機(jī)性,往往通過脈沖的個(gè)數(shù)可以獲知外脈沖信號具有一定隨機(jī)性,往往通過脈沖的個(gè)數(shù)可以獲知外設(shè)的狀態(tài)變化次數(shù)計(jì)數(shù))設(shè)的狀態(tài)變化次數(shù)計(jì)數(shù))脈沖信號的周期固定脈沖信號的周期固定( (使用高精度晶振產(chǎn)生脈沖信號使
3、用高精度晶振產(chǎn)生脈沖信號) ),個(gè)數(shù),個(gè)數(shù)乘以周期就是時(shí)間間隔定時(shí))乘以周期就是時(shí)間間隔定時(shí))Intel 8253/8254Intel 8253/8254可編程間隔定時(shí)器可編程間隔定時(shí)器3 3個(gè)獨(dú)立的個(gè)獨(dú)立的1616位計(jì)數(shù)器通道位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器有每個(gè)計(jì)數(shù)器有6 6種工作方式種工作方式1. 1. 內(nèi)部結(jié)構(gòu)和引腳內(nèi)部結(jié)構(gòu)和引腳與計(jì)算機(jī)系統(tǒng)總線的接口與計(jì)算機(jī)系統(tǒng)總線的接口3 3個(gè)相互獨(dú)立的計(jì)數(shù)器通道個(gè)相互獨(dú)立的計(jì)數(shù)器通道, ,結(jié)構(gòu)完全相同結(jié)構(gòu)完全相同計(jì)數(shù)器計(jì)數(shù)器0 0計(jì)數(shù)器計(jì)數(shù)器1 1計(jì)數(shù)器計(jì)數(shù)器2 2每個(gè)計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器通道1616位減法計(jì)數(shù)器位減法計(jì)數(shù)器1616位預(yù)置寄存器位預(yù)置寄存器
4、輸出鎖存器輸出鎖存器預(yù)置寄存器預(yù)置寄存器GATECLKOUT減減1計(jì)數(shù)器計(jì)數(shù)器輸出鎖存器輸出鎖存器定時(shí)器外設(shè)引腳定時(shí)器外設(shè)引腳CLKCLK時(shí)鐘輸入信號時(shí)鐘輸入信號在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號下降沿),在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號下降沿),計(jì)數(shù)器的計(jì)數(shù)值減計(jì)數(shù)器的計(jì)數(shù)值減1 1GATEGATE門控輸入信號門控輸入信號控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類型控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUTOUT計(jì)數(shù)器輸出信號計(jì)數(shù)器輸出信號當(dāng)一次計(jì)數(shù)過程結(jié)束計(jì)數(shù)值減為當(dāng)一次計(jì)數(shù)過程結(jié)束計(jì)數(shù)值減為0 0),),OUTOUT引腳上將產(chǎn)生引腳上將產(chǎn)生一個(gè)輸出信號一
5、個(gè)輸出信號連接處理器引腳連接處理器引腳l D7D7D0D0數(shù)據(jù)線數(shù)據(jù)線l A1A1A0A0地址線地址線留意,當(dāng)在留意,當(dāng)在80868086,IA-32IA-32構(gòu)架上使用,構(gòu)架上使用,一般通過系統(tǒng)數(shù)據(jù)總線一般通過系統(tǒng)數(shù)據(jù)總線D7D0D7D0傳送數(shù)據(jù),這時(shí)應(yīng)該使用偶傳送數(shù)據(jù),這時(shí)應(yīng)該使用偶數(shù)地址數(shù)地址A0=0A0=0)l RDRD* *讀信號讀信號l WRWR* *寫信號寫信號l CSCS* *片選信號,假設(shè)片選信號,假設(shè)A15A3A15A3為為0000 0000 0100 00000 0000 0100 0* * *0 0奇數(shù)地址有誤可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器功能定時(shí)器功能功能體現(xiàn)在兩個(gè)
6、方面:功能體現(xiàn)在兩個(gè)方面:一是:作為計(jì)數(shù)器。一是:作為計(jì)數(shù)器。即在設(shè)置好計(jì)數(shù)初值后,便開始減即在設(shè)置好計(jì)數(shù)初值后,便開始減1計(jì)數(shù),減到計(jì)數(shù),減到0時(shí),輸時(shí),輸出一個(gè)信號出一個(gè)信號二是:作為定時(shí)器。二是:作為定時(shí)器。即在設(shè)置好定時(shí)時(shí)間常數(shù)后,便開始減一計(jì)數(shù),并按定即在設(shè)置好定時(shí)時(shí)間常數(shù)后,便開始減一計(jì)數(shù),并按定時(shí)時(shí)間常數(shù)不斷地輸出時(shí)鐘周期整數(shù)倍的定時(shí)信號。時(shí)時(shí)間常數(shù)不斷地輸出時(shí)鐘周期整數(shù)倍的定時(shí)信號。兩者之間的差別:兩者之間的差別:計(jì)數(shù)器只輸出一個(gè)信號,除非沖服觸發(fā)計(jì)數(shù)器只輸出一個(gè)信號,除非沖服觸發(fā)定時(shí)器輸出連續(xù)信號減到定時(shí)器輸出連續(xù)信號減到0后,自動(dòng)回復(fù)時(shí)間常數(shù)初值并重新后,自動(dòng)回復(fù)時(shí)間常數(shù)初
7、值并重新開始計(jì)數(shù))。開始計(jì)數(shù))。典型用處典型用處 在多任務(wù)的分時(shí)系統(tǒng)中作為中斷信號實(shí)現(xiàn)程序的在多任務(wù)的分時(shí)系統(tǒng)中作為中斷信號實(shí)現(xiàn)程序的切換。切換。 可往可往I/O設(shè)備輸出精確的定時(shí)信號。設(shè)備輸出精確的定時(shí)信號。 作為一個(gè)可編程的波特率發(fā)生器。作為一個(gè)可編程的波特率發(fā)生器。 實(shí)現(xiàn)時(shí)間延遲。實(shí)現(xiàn)時(shí)間延遲。基本結(jié)構(gòu)原理基本結(jié)構(gòu)原理原理就是可預(yù)置初值的減法計(jì)數(shù)器。原理就是可預(yù)置初值的減法計(jì)數(shù)器。主要組成包括:主要組成包括:(1初值寄存器初值寄存器接收并保存接收并保存CPU送來的初值送來的初值(2計(jì)數(shù)寄存器計(jì)數(shù)寄存器從初值寄存器接收計(jì)數(shù)初值從初值寄存器接收計(jì)數(shù)初值,減法計(jì)數(shù)器。減法計(jì)數(shù)器。 計(jì)數(shù)脈沖就是
8、時(shí)鐘輸入信號,在門控信號有效時(shí)開始計(jì)數(shù)。計(jì)數(shù)脈沖就是時(shí)鐘輸入信號,在門控信號有效時(shí)開始計(jì)數(shù)。(3控制寄存器控制寄存器接收接收CPU的控制信號,選擇不同的工作模的控制信號,選擇不同的工作模式等式等(4狀態(tài)寄存器狀態(tài)寄存器保存計(jì)數(shù)器的狀態(tài)保存計(jì)數(shù)器的狀態(tài)基本原理圖如下圖基本原理圖如下圖2. 2. 工作方式工作方式82538253有有6 6種工作方式,由方式控制字確定種工作方式,由方式控制字確定每種工作方式的過程類似:每種工作方式的過程類似: 設(shè)定工作方式設(shè)定工作方式 設(shè)定計(jì)數(shù)初值設(shè)定計(jì)數(shù)初值 硬件啟動(dòng)硬件啟動(dòng) 計(jì)數(shù)初值進(jìn)入減計(jì)數(shù)初值進(jìn)入減1 1計(jì)數(shù)器計(jì)數(shù)器 每輸入一個(gè)時(shí)鐘計(jì)數(shù)器減每輸入一個(gè)時(shí)鐘計(jì)數(shù)
9、器減1 1的計(jì)數(shù)過程的計(jì)數(shù)過程 計(jì)數(shù)過程結(jié)束計(jì)數(shù)過程結(jié)束(1)(1)定時(shí)器方式定時(shí)器方式0 0:計(jì)數(shù)結(jié)束中斷:計(jì)數(shù)結(jié)束中斷GATEOUTCLK 031244方式方式0WR設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)計(jì)數(shù)數(shù)初初值值計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束方式方式0 0的波形如圖所示的波形如圖所示. .當(dāng)控制字寫入控制字寄存器后,輸出當(dāng)控制字寫入控制字寄存器后,輸出OUTOUT就變低,當(dāng)計(jì)數(shù)值寫就變低,當(dāng)計(jì)數(shù)值寫入計(jì)數(shù)器后開始計(jì)數(shù),在整個(gè)計(jì)數(shù)過程中,入計(jì)數(shù)器后開始計(jì)數(shù),在整個(gè)計(jì)數(shù)過程中,OUTOUT保持為低,當(dāng)保持為低,當(dāng)計(jì)數(shù)到計(jì)數(shù)到0 0后,后,OUTOUT變高;變
10、高;GATEGATE的高低電平控制計(jì)數(shù)過程是否進(jìn)的高低電平控制計(jì)數(shù)過程是否進(jìn)行。行。寫控制字寫控制字寫計(jì)數(shù)初值寫計(jì)數(shù)初值GATE=1計(jì)數(shù)計(jì)數(shù)工作方式工作方式0 0有如下特點(diǎn):有如下特點(diǎn): 計(jì)數(shù)器只計(jì)一遍,當(dāng)計(jì)數(shù)到計(jì)數(shù)器只計(jì)一遍,當(dāng)計(jì)數(shù)到0 0時(shí),不重新開始計(jì)數(shù)保持為時(shí),不重新開始計(jì)數(shù)保持為高,直到輸入一新的計(jì)數(shù)值,高,直到輸入一新的計(jì)數(shù)值,OUTOUT才變低,開始新的計(jì)數(shù);才變低,開始新的計(jì)數(shù); 計(jì)數(shù)值是在寫計(jì)數(shù)值命令后經(jīng)過一個(gè)輸入脈沖,才裝入計(jì)計(jì)數(shù)值是在寫計(jì)數(shù)值命令后經(jīng)過一個(gè)輸入脈沖,才裝入計(jì)數(shù)器的,下一個(gè)數(shù)器的,下一個(gè) 脈沖開始計(jì)數(shù),因此,如果設(shè)置計(jì)數(shù)器脈沖開始計(jì)數(shù),因此,如果設(shè)置計(jì)數(shù)器初
11、值為初值為N N,則輸出,則輸出OUTOUT在在N N1 1個(gè)個(gè) 脈沖后才能變高;脈沖后才能變高; 在計(jì)數(shù)過程中,可由在計(jì)數(shù)過程中,可由GATEGATE信號控制暫停。信號控制暫停。 當(dāng)當(dāng)GATEGATE0 0時(shí),暫停計(jì)數(shù);時(shí),暫停計(jì)數(shù); 當(dāng)當(dāng)GATEGATE1 1時(shí),繼續(xù)計(jì)數(shù);時(shí),繼續(xù)計(jì)數(shù); 在計(jì)數(shù)過程中可以改變計(jì)數(shù)值,且這種改變是立即有效的,在計(jì)數(shù)過程中可以改變計(jì)數(shù)值,且這種改變是立即有效的,分成兩種情況:分成兩種情況: 若是若是8 8位計(jì)數(shù),則寫入新值后的下一個(gè)脈沖按新值計(jì)數(shù);位計(jì)數(shù),則寫入新值后的下一個(gè)脈沖按新值計(jì)數(shù);若是若是1616位計(jì)數(shù),那么位計(jì)數(shù),那么 在寫入第一個(gè)字節(jié)后,停止計(jì)數(shù)
12、,寫在寫入第一個(gè)字節(jié)后,停止計(jì)數(shù),寫入第二個(gè)字節(jié)后的下一個(gè)脈沖按新值計(jì)數(shù)。入第二個(gè)字節(jié)后的下一個(gè)脈沖按新值計(jì)數(shù)。(2 2定時(shí)器方式定時(shí)器方式1 1:可編程單穩(wěn)脈沖:可編程單穩(wěn)脈沖設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)計(jì)數(shù)數(shù)初初值值硬硬件件啟啟動(dòng)動(dòng)計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束GATEOUTCLK 031244方式方式1WR方式方式1 1的波形如圖所示,的波形如圖所示,CPUCPU向向82538253寫入控制字后寫入控制字后OUTOUT變高,變高,并保持,寫入計(jì)數(shù)值后并不立即計(jì)數(shù),只有當(dāng)外界并保持,寫入計(jì)數(shù)值后并不立即計(jì)數(shù),只有當(dāng)外界GATEGATE信號啟信號啟動(dòng)后
13、一個(gè)正脈沖的下一個(gè)脈沖才開始計(jì)數(shù),動(dòng)后一個(gè)正脈沖的下一個(gè)脈沖才開始計(jì)數(shù),OUTOUT變低,計(jì)變低,計(jì)數(shù)到數(shù)到0 0后,后,OUTOUT才變高,此時(shí)再來一個(gè)才變高,此時(shí)再來一個(gè)GATEGATE正脈沖,計(jì)數(shù)器又正脈沖,計(jì)數(shù)器又開始重新計(jì)數(shù),輸出開始重新計(jì)數(shù),輸出OUTOUT再次變低,再次變低,. .因此輸出為一負(fù)脈沖,脈沖寬度受計(jì)數(shù)初值控制,由因此輸出為一負(fù)脈沖,脈沖寬度受計(jì)數(shù)初值控制,由GATE信號觸發(fā)。信號觸發(fā)。特點(diǎn)特點(diǎn)輸出輸出OUTOUT寬度為計(jì)數(shù)初值的單脈沖;寬度為計(jì)數(shù)初值的單脈沖;輸出受門控信號輸出受門控信號GATEGATE的控制,分三種情況:的控制,分三種情況:計(jì)數(shù)到計(jì)數(shù)到0 0后,再
14、來后,再來GATEGATE脈沖,則重新開始計(jì)數(shù),脈沖,則重新開始計(jì)數(shù),OUTOUT變低;變低;在計(jì)數(shù)過程中來在計(jì)數(shù)過程中來GATEGATE脈沖,則從下一脈沖,則從下一CLKCLK脈沖開始重新計(jì)脈沖開始重新計(jì)數(shù),數(shù),OUTOUT保持為低;保持為低;改變計(jì)數(shù)值后,只有當(dāng)改變計(jì)數(shù)值后,只有當(dāng)GATEGATE脈沖啟動(dòng)后,才按新值計(jì)數(shù),脈沖啟動(dòng)后,才按新值計(jì)數(shù),否則原計(jì)數(shù)過程不受影響,仍繼續(xù)進(jìn)行,即新值的改變是否則原計(jì)數(shù)過程不受影響,仍繼續(xù)進(jìn)行,即新值的改變是從下一個(gè)從下一個(gè)GATEGATE開始的。開始的。計(jì)數(shù)值是多次有效的,每來一個(gè)計(jì)數(shù)值是多次有效的,每來一個(gè)GATEGATE脈沖,就自動(dòng)裝入脈沖,就自
15、動(dòng)裝入計(jì)數(shù)值開始從頭計(jì)數(shù),因此在初始化時(shí),計(jì)數(shù)值寫入一次計(jì)數(shù)值開始從頭計(jì)數(shù),因此在初始化時(shí),計(jì)數(shù)值寫入一次即可。即可。(3 3方式方式2 2 分頻器分頻器方式方式2 2的波形如圖所示。在這種方式下,的波形如圖所示。在這種方式下,CPUCPU輸出控制字后,輸輸出控制字后,輸出出OUTOUT就變高,寫入計(jì)數(shù)值后的下一個(gè)就變高,寫入計(jì)數(shù)值后的下一個(gè)CLKCLK脈沖開始計(jì)數(shù),計(jì)脈沖開始計(jì)數(shù),計(jì)數(shù)到數(shù)到1 1后,輸出后,輸出OUTOUT變低,經(jīng)過一個(gè)變低,經(jīng)過一個(gè)CLKCLK以后,以后,OUTOUT恢復(fù)為高,恢復(fù)為高,計(jì)數(shù)器重新開始計(jì)數(shù)。因此在這種方式下,只需寫入一次計(jì)數(shù)計(jì)數(shù)器重新開始計(jì)數(shù)。因此在這種方
16、式下,只需寫入一次計(jì)數(shù)值,就能連續(xù)工作,輸出連續(xù)相同間隔的負(fù)脈沖前提:值,就能連續(xù)工作,輸出連續(xù)相同間隔的負(fù)脈沖前提:GATEGATE保持為高),即周期性地輸出,保持為高),即周期性地輸出,特點(diǎn)特點(diǎn)通道可以連續(xù)工作;通道可以連續(xù)工作;GATEGATE可以控制計(jì)數(shù)過程,當(dāng)可以控制計(jì)數(shù)過程,當(dāng)GATEGATE為低時(shí)暫停計(jì)數(shù),恢為低時(shí)暫停計(jì)數(shù),恢復(fù)為高后重新從初值;(留意:該方式與方式復(fù)為高后重新從初值;(留意:該方式與方式0 0不同,方不同,方式式0 0是繼續(xù)計(jì)數(shù))是繼續(xù)計(jì)數(shù))重新設(shè)置新的計(jì)數(shù)值即在計(jì)數(shù)過程中改變計(jì)數(shù)值,則新的重新設(shè)置新的計(jì)數(shù)值即在計(jì)數(shù)過程中改變計(jì)數(shù)值,則新的計(jì)數(shù)值是下次有效的,同
17、方式計(jì)數(shù)值是下次有效的,同方式1 1。(4 4定時(shí)器方式定時(shí)器方式3 3:方波發(fā)生器:方波發(fā)生器03124GATEOUTCLK 4方式方式3031240312403124WR方式方式3 3的波形如圖所示,這種方式下的輸出與方式的波形如圖所示,這種方式下的輸出與方式2 2都是周期性都是周期性的,不同的是:輸出的是方波。的,不同的是:輸出的是方波。當(dāng)計(jì)數(shù)值當(dāng)計(jì)數(shù)值N N是偶數(shù),輸出正負(fù)脈沖寬度是偶數(shù),輸出正負(fù)脈沖寬度 N/2N/2的方波的方波當(dāng)計(jì)數(shù)值當(dāng)計(jì)數(shù)值N N是奇數(shù),正脈沖寬度是奇數(shù),正脈沖寬度 (N+1)/2N+1)/2, 負(fù)脈沖寬度負(fù)脈沖寬度N-1)/2N-1)/2。特點(diǎn)特點(diǎn) 通道可以連續(xù)
18、工作;通道可以連續(xù)工作; 關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電平各為平各為N/2N/2個(gè);若為奇數(shù),則正脈沖寬度個(gè);若為奇數(shù),則正脈沖寬度N N1 1)/2/2個(gè)個(gè)CLKCLK周期,負(fù)脈沖寬度周期,負(fù)脈沖寬度N N1 1)/2/2個(gè)個(gè)CLKCLK周期;周期; GATE GATE信號能使計(jì)數(shù)過程重新開始,當(dāng)信號能使計(jì)數(shù)過程重新開始,當(dāng)GATEGATE0 0時(shí),停止時(shí),停止計(jì)數(shù),當(dāng)計(jì)數(shù),當(dāng)GATEGATE變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),尤其是當(dāng)尤其是當(dāng)GATEGATE0 0時(shí),若時(shí),若OUTOU
19、T此時(shí)為低,則立即變高,此時(shí)為低,則立即變高,其它動(dòng)作同上;其它動(dòng)作同上;在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過程,一般情況在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過程,一般情況下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若中間遇到有中間遇到有GATEGATE脈沖,則在此脈沖后即裝入新值開始計(jì)脈沖,則在此脈沖后即裝入新值開始計(jì)數(shù)。數(shù)。(5 5定時(shí)器方式定時(shí)器方式4 4:軟件觸發(fā)選通信號:軟件觸發(fā)選通信號GATEOUTCLK031244方式方式4223331 0WR方式方式4 4的波形如圖所示。的波形如圖所示。CPUCPU寫入控制字后,寫入控制字
20、后,OUTOUT立即變高,立即變高,寫入計(jì)數(shù)值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到寫入計(jì)數(shù)值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到0 0后,后,OUTOUT變低,經(jīng)過一個(gè)變低,經(jīng)過一個(gè)CLKCLK脈沖后,脈沖后,OUTOUT變高,這種計(jì)數(shù)是一次性的與方式變高,這種計(jì)數(shù)是一次性的與方式0 0有有相似之處),只有當(dāng)寫入新的計(jì)數(shù)值后才開始下一次計(jì)數(shù)。相似之處),只有當(dāng)寫入新的計(jì)數(shù)值后才開始下一次計(jì)數(shù)。當(dāng)計(jì)數(shù)值為當(dāng)計(jì)數(shù)值為N N時(shí),則間隔時(shí),則間隔N N1 1個(gè)個(gè)CLKCLK脈沖輸出一個(gè)負(fù)脈沖脈沖輸出一個(gè)負(fù)脈沖計(jì)數(shù)一次有效);計(jì)數(shù)一次有效);GATEGATE0 0時(shí),禁止計(jì)數(shù),時(shí),禁止計(jì)數(shù),GATEGATE1 1時(shí),恢復(fù)繼續(xù)計(jì)數(shù);時(shí),恢復(fù)
21、繼續(xù)計(jì)數(shù);在計(jì)數(shù)過程中重新裝入新的計(jì)數(shù)值,則該值是立即有效的在計(jì)數(shù)過程中重新裝入新的計(jì)數(shù)值,則該值是立即有效的若為若為1616位計(jì)數(shù)值,則裝入第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),裝入位計(jì)數(shù)值,則裝入第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),裝入第二個(gè)字節(jié)后開始按新值計(jì)數(shù))。第二個(gè)字節(jié)后開始按新值計(jì)數(shù))。(6 6定時(shí)器方式定時(shí)器方式5 5:硬件觸發(fā)選通信號:硬件觸發(fā)選通信號GATEOUTCLK031244方式方式52233311 0WR當(dāng)控制字寫入后,當(dāng)控制字寫入后,OUTOUT立刻變高,寫入計(jì)數(shù)值后并不立即開始立刻變高,寫入計(jì)數(shù)值后并不立即開始計(jì)數(shù),而是由計(jì)數(shù),而是由GATEGATE的上升沿觸發(fā)啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到的上升沿觸發(fā)
22、啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到0 0時(shí),時(shí),輸出變低,經(jīng)過一個(gè)輸出變低,經(jīng)過一個(gè)CLKCLK之后,輸出恢復(fù)為高,計(jì)數(shù)停止,之后,輸出恢復(fù)為高,計(jì)數(shù)停止,若再有若再有GATEGATE脈沖來,則重新裝入計(jì)數(shù)值開始計(jì)數(shù),上述過脈沖來,則重新裝入計(jì)數(shù)值開始計(jì)數(shù),上述過程重復(fù)。程重復(fù)。 特點(diǎn)特點(diǎn)在這種方式下,若設(shè)置的計(jì)數(shù)值是在這種方式下,若設(shè)置的計(jì)數(shù)值是N N,則在,則在GATEGATE脈沖后,脈沖后,經(jīng)過經(jīng)過N N1 1個(gè)個(gè)CLKCLK才一個(gè)負(fù)脈沖;才一個(gè)負(fù)脈沖;若在計(jì)數(shù)過程中又來一個(gè)若在計(jì)數(shù)過程中又來一個(gè)GATEGATE脈沖,則重新裝入初值開脈沖,則重新裝入初值開始計(jì)數(shù),輸出不變,即計(jì)數(shù)值多次有效;始計(jì)數(shù),輸
23、出不變,即計(jì)數(shù)值多次有效;若在計(jì)數(shù)過程中修改計(jì)數(shù)值,則該計(jì)數(shù)值在下一個(gè)若在計(jì)數(shù)過程中修改計(jì)數(shù)值,則該計(jì)數(shù)值在下一個(gè)GATEGATE脈沖后裝入開始按此值計(jì)數(shù)。脈沖后裝入開始按此值計(jì)數(shù)。3. 8253/82543. 8253/8254的編程的編程82538253是可編程接口芯片是可編程接口芯片8253/82548253/8254需要處理器對他進(jìn)行初始化編程,才能正確工作。需要處理器對他進(jìn)行初始化編程,才能正確工作。編程指的是編程指的是設(shè)置控制字設(shè)置控制字設(shè)置時(shí)間常數(shù)設(shè)置時(shí)間常數(shù)等等(1 1控制寄存器與控制字控制寄存器與控制字有兩個(gè)有兩個(gè)模式設(shè)置寄存器和讀出控制寄存器模式設(shè)置寄存器和讀出控制寄存器
24、模式設(shè)置控制字模式設(shè)置控制字(a aBCDBCD計(jì)數(shù)初值格式,計(jì)數(shù)初值格式,=0=0,二進(jìn)制,二進(jìn)制 =1=1,BCDBCD碼碼地址:最高端口地址:最高端口控制端口控制端口(b bM2M2,M1M1,M0M0模式選擇模式選擇000 000 模式模式0 0001001模式模式1 1X10X10模式模式2 2X11X11模式模式3 3100100模式模式4 4101101模式模式5 5(c cWR1WR1,WR0WR0讀讀/ /寫指示位。寫指示位。0000對計(jì)數(shù)器進(jìn)行鎖存,以便讀出對計(jì)數(shù)器進(jìn)行鎖存,以便讀出0101只讀只讀/ /寫低寫低8 8位位1010只讀只讀/ /寫高寫高8 8位位1111先讀
25、先讀/ /寫低寫低8 8位,后讀位,后讀/ /寫高寫高8 8位位(d dSC1SC1,SC0 SC0 計(jì)數(shù)器選擇計(jì)數(shù)器選擇0000選擇計(jì)數(shù)器選擇計(jì)數(shù)器0 00101選擇計(jì)數(shù)器選擇計(jì)數(shù)器1 11010選擇計(jì)數(shù)器選擇計(jì)數(shù)器2 21111讀出控制字的標(biāo)識碼讀出控制字的標(biāo)識碼, ,只要該只要該2 2位位=0=0,寫入的是,寫入的是讀出模式控制字讀出模式控制字控制字寫入控制字控制字寫入控制字I/OI/O地址:地址:A1A0A1A0111100 計(jì)數(shù)器計(jì)數(shù)器001 計(jì)數(shù)器計(jì)數(shù)器110 計(jì)數(shù)器計(jì)數(shù)器211 非法非法 (8253)11 讀回命令讀回命令 (8254)00 計(jì)數(shù)器鎖存命計(jì)數(shù)器鎖存命令令 01 只
26、讀寫低字節(jié)只讀寫低字節(jié)10 只讀寫高字節(jié)只讀寫高字節(jié)11 先讀寫低字節(jié)先讀寫低字節(jié) 后讀寫高字節(jié)后讀寫高字節(jié)000 方式方式0001 方式方式1*10 方式方式2*11 方式方式3100 方式方式4101 方式方式50 二進(jìn)制二進(jìn)制1 十進(jìn)制十進(jìn)制設(shè)置模式設(shè)置控制字舉例設(shè)置模式設(shè)置控制字舉例假設(shè)假設(shè)8253端口:端口:80H,82H,84H,86H,通道,通道0使用二進(jìn)制計(jì)數(shù),工作使用二進(jìn)制計(jì)數(shù),工作在模式在模式0,通道,通道1使用使用BCD計(jì)數(shù),模計(jì)數(shù),模式式1,通道,通道2使用二進(jìn)制計(jì)數(shù),模式使用二進(jìn)制計(jì)數(shù),模式2,全部通道全部通道16位計(jì)數(shù)器,先寫低位計(jì)數(shù)器,先寫低8位,位,后寫高后寫高
27、8位。位。通道通道0模式控制字:模式控制字: 00110000B通道通道1模式控制字:模式控制字: 01110011B通道通道2模式控制字:模式控制字: 10110110BMOV DX,86H;MOV AL,30H;控制字;控制字OUTDX,ALMOV AL,73H;OUTDX,ALMOV AL,0B6HOUTDX,AL. 讀出控制字讀出控制字D7,D6,=11,為讀出模式控制字,這時(shí),為讀出模式控制字,這時(shí)D0=0D5:=0,將所選定的計(jì)數(shù)器當(dāng)前計(jì)數(shù)值鎖存,以便后面讀取,將所選定的計(jì)數(shù)器當(dāng)前計(jì)數(shù)值鎖存,以便后面讀取D4:=0,將所選定的計(jì)數(shù)器的狀態(tài)進(jìn)行鎖存,將所選定的計(jì)數(shù)器的狀態(tài)進(jìn)行鎖存,D
28、3,D2,D1:分別對應(yīng):分別對應(yīng)3個(gè)計(jì)數(shù)通道,個(gè)計(jì)數(shù)通道,=1,選中通道被鎖存,選中通道被鎖存可以同時(shí)鎖存多個(gè)通道的計(jì)數(shù)器的計(jì)數(shù)值可以同時(shí)鎖存多個(gè)通道的計(jì)數(shù)器的計(jì)數(shù)值但不能同時(shí)鎖存多個(gè)計(jì)數(shù)器的狀態(tài)但不能同時(shí)鎖存多個(gè)計(jì)數(shù)器的狀態(tài)地址:最高端口地址:最高端口控制端口控制端口 寫寫(2) 狀態(tài)寄存器狀態(tài)寄存器只有只有8254有狀態(tài)端口,有狀態(tài)端口,8253無該端口。無該端口。D7: 輸出端輸出端OUT的狀態(tài)的狀態(tài)D6: 表示初值是否已裝入計(jì)數(shù)器,表示初值是否已裝入計(jì)數(shù)器,=0:已裝入,:已裝入,=1未裝入未裝入D5D0:與模式寄存器含義相同:與模式寄存器含義相同(3) 編程命令與初始化編程編程命令
29、與初始化編程編程原則:編程原則: 設(shè)置初值前必須先寫模式控制字設(shè)置初值前必須先寫模式控制字 初值設(shè)置要符合控制字中的格式規(guī)定初值設(shè)置要符合控制字中的格式規(guī)定 要讀取計(jì)數(shù)器的當(dāng)前值或讀取狀態(tài)字),必須用控制字先要讀取計(jì)數(shù)器的當(dāng)前值或讀取狀態(tài)字),必須用控制字先鎖定,再讀取。鎖定,再讀取。編程命令有兩類:編程命令有兩類: 寫入命令寫入命令 讀出命令讀出命令 寫入命令寫入命令3個(gè)個(gè)有三個(gè)有三個(gè)(1設(shè)置模式控制字命令設(shè)置模式控制字命令 設(shè)置工作模式等。設(shè)置工作模式等。(2設(shè)置初始值命令設(shè)置初始值命令 (3鎖存命令鎖存命令 與讀出命令配合,在讀出前,要先鎖存與讀出命令配合,在讀出前,要先鎖存 讀出命令讀
30、出命令2個(gè)個(gè)(1讀取計(jì)數(shù)器當(dāng)前的值。讀取計(jì)數(shù)器當(dāng)前的值。要先鎖定,然后再讀出。要先鎖定,然后再讀出。(2對對8254,還可讀取狀態(tài)字,還可讀取狀態(tài)字 要先鎖定,然后再讀出。要先鎖定,然后再讀出。例如要讀出通道例如要讀出通道2的計(jì)數(shù)值,先向讀出控制寄存器寫鎖定命令的計(jì)數(shù)值,先向讀出控制寄存器寫鎖定命令端口地址:端口地址:70H70H,72H72H,74H74H,76H76H例如要讀出通道例如要讀出通道2 2的的 11 0 1 1 0 0 0 11 0 1 1 0 0 0 讀出控制字讀出控制字D7,D6,=11,為讀出模式控制字,這時(shí),為讀出模式控制字,這時(shí)D0=0D5:=0,將所選定的計(jì)數(shù)器當(dāng)前
31、計(jì)數(shù)值鎖存,以便后面讀取,將所選定的計(jì)數(shù)器當(dāng)前計(jì)數(shù)值鎖存,以便后面讀取D4:=0,將所選定的計(jì)數(shù)器的狀態(tài)進(jìn)行鎖存,將所選定的計(jì)數(shù)器的狀態(tài)進(jìn)行鎖存,D3,D2,D1:分別對應(yīng):分別對應(yīng)3個(gè)計(jì)數(shù)通道,個(gè)計(jì)數(shù)通道,=1,選中通道被鎖存,選中通道被鎖存可以同時(shí)鎖存多個(gè)通道的計(jì)數(shù)器的計(jì)數(shù)值可以同時(shí)鎖存多個(gè)通道的計(jì)數(shù)器的計(jì)數(shù)值但不能同時(shí)鎖存多個(gè)計(jì)數(shù)器的狀態(tài)但不能同時(shí)鎖存多個(gè)計(jì)數(shù)器的狀態(tài)地址:最高端口地址:最高端口控制端口控制端口 寫寫方式控制字編程示例方式控制字編程示例; 8253; 8253的計(jì)數(shù)器的計(jì)數(shù)器0 0、1 1、2 2端口和控制端口地址:端口和控制端口地址: 40H 40H43H43H; ;設(shè)
32、置其中計(jì)數(shù)器設(shè)置其中計(jì)數(shù)器0 0為方式為方式0 0; ;采用二進(jìn)制計(jì)數(shù),先低后高寫入計(jì)數(shù)值采用二進(jìn)制計(jì)數(shù),先低后高寫入計(jì)數(shù)值mov al,30hmov al,30h; ;方式控制字:方式控制字:30H30H00 11 000 0B00 11 000 0Bout 43h,alout 43h,al; ;寫入控制端口:寫入控制端口:43H43H3. 3. 編程:寫入計(jì)數(shù)值編程:寫入計(jì)數(shù)值選擇二進(jìn)制時(shí)選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:0000HFFFFH0000H是最大值,代表是最大值,代表65536選擇十進(jìn)制選擇十進(jìn)制BCD碼)碼)計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:000099990000代表最大值代表最大
33、值10000計(jì)數(shù)值寫入計(jì)數(shù)器各自的計(jì)數(shù)值寫入計(jì)數(shù)器各自的I/O地址地址按方式控制字規(guī)定的讀寫格式進(jìn)行按方式控制字規(guī)定的讀寫格式進(jìn)行計(jì)數(shù)值編程示例計(jì)數(shù)值編程示例; 8253; 8253的計(jì)數(shù)器的計(jì)數(shù)器0 0、1 1、2 2端口和控制端口地址:端口和控制端口地址:40H40H43H43H; ;設(shè)置計(jì)數(shù)器設(shè)置計(jì)數(shù)器0 0采用二進(jìn)制計(jì)數(shù)采用二進(jìn)制計(jì)數(shù); ;寫入計(jì)數(shù)初值:寫入計(jì)數(shù)初值:10241024(400H400H)mov ax,1024mov ax,1024; ;計(jì)數(shù)初值:計(jì)數(shù)初值:10241024(400H400H); ;寫入計(jì)數(shù)器寫入計(jì)數(shù)器0 0地址:地址:40H40Hout 40h,alou
34、t 40h,al; ;寫入低字節(jié)計(jì)數(shù)初值寫入低字節(jié)計(jì)數(shù)初值mov al,ahmov al,ahout 40h,alout 40h,al; ;寫入高字節(jié)計(jì)數(shù)初值寫入高字節(jié)計(jì)數(shù)初值8.1.2 8.1.2 定時(shí)器的應(yīng)用定時(shí)器的應(yīng)用(1 1方波脈沖方波脈沖要求利用要求利用8253在在OUT2輸出輸出2KHZ方波方波編寫相應(yīng)的程序編寫相應(yīng)的程序地址:地址:1000 000 1000 000 * * * * * * XX0 XX0( (沒有使用的地址信號,沒有使用的地址信號,0 0和和1 1都可以,這里使用都可以,這里使用0 0比較方便比較方便) )通道通道0 0數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8000H8000
35、H通道通道1 1數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8002H8002H通道通道2 2數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8004H8004H控制寄存器控制寄存器 :8006H8006H方波:通道方波:通道3 3選擇方式選擇方式3 3,2MHz-2KHz2MHz-2KHz分頻系數(shù)分頻系數(shù)10001000,使,使用二進(jìn)制,控制字:用二進(jìn)制,控制字:10 11 011 010 11 011 0其它通道不用其它通道不用 時(shí)間常數(shù):時(shí)間常數(shù):1000100003E8H03E8H如果要求輸出脈沖寬度為如果要求輸出脈沖寬度為1 1個(gè)時(shí)鐘周期的分頻脈沖而不是方個(gè)時(shí)鐘周期的分頻脈沖而不是方波脈沖,就選用方式波脈沖,就選用方式2 2C
36、ODE SEGMENTCODE SEGMENT ASSUME CS: CODE,DS:DATA ASSUME CS: CODE,DS:DATASTART:START:MOVMOV DX, 8006HDX, 8006H ;控制字端口;控制字端口MOVMOV AL, 0B6HAL, 0B6H;控制字;控制字OUTOUT DX, ALDX, ALMOVMOV DX, 8004HDX, 8004H ;通道;通道2 2時(shí)間常數(shù)端口時(shí)間常數(shù)端口MOVMOV AL, 0E8HAL, 0E8H;低;低8 8位時(shí)間常數(shù)位時(shí)間常數(shù)OUTOUT DX, ALDX, ALMOVMOV AL, 03HAL, 03H;高
37、;高8 8 位時(shí)間常數(shù)位時(shí)間常數(shù)OUTOUT DX, ALDX, ALJMP $JMP $; ;沒有其他工作,只產(chǎn)生脈沖,故沒有其他工作,只產(chǎn)生脈沖,故;完成設(shè)置后,在此死循環(huán);完成設(shè)置后,在此死循環(huán)CODE ENDSCODE ENDSEND STARTEND START(2 2) 定時(shí)中斷定時(shí)中斷mov al,36hmov al,36h; ; 計(jì)數(shù)器計(jì)數(shù)器0 0為方式為方式3 3,二進(jìn)制計(jì)數(shù),二進(jìn)制計(jì)數(shù); ; 先低后高寫入計(jì)數(shù)值先低后高寫入計(jì)數(shù)值out 43h,alout 43h,al; ; 寫入方式控制字寫入方式控制字mov al,0mov al,0 ; ; 計(jì)數(shù)值為計(jì)數(shù)值為0 0out
38、40h,alout 40h,al; ; 寫入低字節(jié)計(jì)數(shù)值寫入低字節(jié)計(jì)數(shù)值out 40h,alout 40h,al; ; 寫入高字節(jié)計(jì)數(shù)值寫入高字節(jié)計(jì)數(shù)值計(jì)數(shù)器計(jì)數(shù)器0 0:方式:方式3 3,計(jì)數(shù)值:,計(jì)數(shù)值:6553665536,輸出方波,輸出方波頻率:頻率:1.19318MHz1.19318MHz655366553618.206Hz18.206Hz,不斷產(chǎn)生,不斷產(chǎn)生OUT0OUT0端接端接8259A8259A的的IRQ0IRQ0,每秒產(chǎn)生,每秒產(chǎn)生18.20618.206次中斷請求,次中斷請求,或說每隔或說每隔55ms55ms54.925493ms54.925493ms申請一次中斷申請一次中斷DOSDOS系統(tǒng)利用計(jì)數(shù)器系統(tǒng)利用計(jì)數(shù)器0 0的這個(gè)特點(diǎn),通過的這個(gè)特點(diǎn),通過0808號中斷服務(wù)程序號中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工行為規(guī)范制度
- 企業(yè)調(diào)休制度
- 交通擁堵監(jiān)測與評估制度
- 2026湖南海利高新技術(shù)產(chǎn)業(yè)集團(tuán)有限公司國家危險(xiǎn)化學(xué)品應(yīng)急救援湖南海利隊(duì)人員招聘31人備考題庫附答案
- 2026年及未來5年市場數(shù)據(jù)中國調(diào)味水產(chǎn)干制品行業(yè)發(fā)展全景監(jiān)測及投資前景展望報(bào)告
- 2026福建福州市閩江學(xué)院附屬中學(xué)招聘1人參考題庫附答案
- 2026西安高新區(qū)第九初級中學(xué)招聘教師考試備考題庫附答案
- 2026貴州黔東南州民族醫(yī)藥研究院招聘編外合同制醫(yī)師參考題庫附答案
- 2026重慶醫(yī)科大學(xué)附屬第一醫(yī)院人員(編制外)招聘4人備考題庫附答案
- 2026年及未來5年市場數(shù)據(jù)中國航空制造行業(yè)市場全景監(jiān)測及投資策略研究報(bào)告
- GB/T 33091-2016聚氨酯篩板
- 2023年電大當(dāng)代中國政治制度機(jī)考拼音排版絕對好用按字母排序
- GB 39669-2020牙刷及口腔器具安全通用技術(shù)要求
- 精益生產(chǎn)試題與答案
- 醫(yī)院關(guān)于主治醫(yī)師晉升前到急診科、重癥醫(yī)學(xué)科輪轉(zhuǎn)鍛煉工作的管理規(guī)定
- L1會(huì)計(jì)研究方法論簡介課件
- 防治水培訓(xùn)課件
- 按摩穴位保健養(yǎng)生課件
- 食材配送投標(biāo)服務(wù)方案
- 大學(xué)生心理健康教育全套課件
- 《數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)導(dǎo)論》完整版課件(全)
評論
0/150
提交評論