版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023/2/3微型計(jì)算機(jī)接口技術(shù)1第4章定時(shí)/計(jì)數(shù)技術(shù)本章主要內(nèi)容
微機(jī)系統(tǒng)中的定時(shí)系統(tǒng)
外部定時(shí)方法及硬件定時(shí)器計(jì)數(shù)器的計(jì)數(shù)初值計(jì)算及裝入定時(shí)/計(jì)數(shù)器的應(yīng)用2023/2/314.1定時(shí)/計(jì)數(shù)技術(shù)1.定時(shí)例如:
①一天24小時(shí)的計(jì)時(shí)(稱為日時(shí)鐘)。②在監(jiān)測系統(tǒng)中,對(duì)被測點(diǎn)的定時(shí)取樣。③在讀鍵盤時(shí),為去抖,一般延遲一段時(shí)間,再讀。④在步進(jìn)電機(jī)速度控制程序中,利用時(shí)間間隔來控制步進(jìn)電機(jī)的
轉(zhuǎn)速。2.計(jì)數(shù)例如:①對(duì)零件和產(chǎn)品的計(jì)數(shù);②對(duì)大橋和高速公路上車流量的統(tǒng)計(jì),等等。22023/2/34.2微機(jī)系統(tǒng)中的定時(shí)系統(tǒng)
微機(jī)中的定時(shí)分為內(nèi)部定時(shí)和外部定時(shí)兩個(gè)定時(shí)系統(tǒng)1.內(nèi)部定時(shí)
內(nèi)部定時(shí)產(chǎn)生運(yùn)算器、控制器等CPU內(nèi)部的控制時(shí)序,如取指周期、讀/寫周期、中斷周期等,主要用于CPU內(nèi)部指令執(zhí)行過程的定時(shí)。2.外部定時(shí)
外部定時(shí)是外設(shè)在實(shí)現(xiàn)某種功能時(shí)所需要的一種時(shí)序關(guān)系。例如,打印機(jī)接口標(biāo)準(zhǔn)Centronics,就規(guī)定了打印機(jī)與CPU之間傳輸信息應(yīng)遵守的工作時(shí)序。
內(nèi)部定時(shí)和外部定時(shí)是彼此獨(dú)立的兩個(gè)定時(shí)系統(tǒng),各按自身的規(guī)律進(jìn)行定時(shí)操作。內(nèi)部定時(shí)是由CPU硬件決定的,固定不變。在實(shí)際應(yīng)用中,外部定時(shí)與用戶的關(guān)系比內(nèi)部定時(shí)更密切。32023/2/34.3外部定時(shí)方法及硬件定時(shí)器4.3.1定時(shí)方法
1.軟件定時(shí)
軟件定時(shí)是運(yùn)用軟件編程,循環(huán)執(zhí)行一段程序而產(chǎn)生的等待延時(shí)。
優(yōu)點(diǎn):不需增加硬設(shè)備,只需編制相應(yīng)的延時(shí)程序以備調(diào)用。
缺點(diǎn):CPU執(zhí)行延時(shí)待時(shí)間增加了CPU的時(shí)間開銷,延時(shí)時(shí)間越長,
這種等待開銷越大,而且延時(shí)與主機(jī)的工作頻率有關(guān),定時(shí)程序的通用性很差。
2.硬件定時(shí)
硬件定時(shí)是采用可編程的定時(shí)/計(jì)數(shù)器或單穩(wěn)延時(shí)電路產(chǎn)生定時(shí)或延時(shí)。
優(yōu)點(diǎn):不占用CPU的時(shí)間,定時(shí)時(shí)間長,使用靈活;定時(shí)準(zhǔn)確,定時(shí)時(shí)間不受主機(jī)頻率影響,定時(shí)程序具有通
用性,故得到廣泛應(yīng)用。
缺點(diǎn):設(shè)置定時(shí)電路,增加額外硬件開銷。
42023/2/34.3.2定時(shí)器
硬件定時(shí)器有不可編程定時(shí)器和可編程定時(shí)器兩種。1.不可編程定時(shí)器
不可編程定時(shí)器的定時(shí)間隔和定時(shí)范圍固定,采用中小規(guī)模集成電路器件構(gòu)成的定時(shí)電路。常見的定時(shí)器件有單穩(wěn)觸發(fā)器和555、556定時(shí)器等,利用其外接電阻、電容的組合,可實(shí)現(xiàn)一定范圍的定時(shí)。
2.可編程定時(shí)器
可編程定時(shí)器的定時(shí)間隔和定時(shí)范圍可由程序進(jìn)行設(shè)定和改變,使用方便靈活??删幊潭〞r(shí)電路一般都是采用可編程定時(shí)/計(jì)數(shù)器外圍支持芯片,如Intel82C54A來實(shí)現(xiàn)的。52023/2/34.4實(shí)現(xiàn)外部定時(shí)/計(jì)數(shù)的解決方案
采用可編程定時(shí)/計(jì)數(shù)器82C54A實(shí)現(xiàn)外部定時(shí)的方案。82C54A是微處理器處理實(shí)時(shí)事件的重要支持芯片,在實(shí)時(shí)時(shí)鐘、事件計(jì)數(shù)以及速度控制等方面都非常有用。4.4.1定時(shí)/計(jì)數(shù)器82C54A的外部特性1.外部特性82C54A的外部引腳如圖4.1所示。62023/2/3圖4.18253引腳82C54A的引腳可分為面向CPU和面向I/O設(shè)備兩側(cè)
1)面向CPU的信號(hào)線①數(shù)據(jù)總線D0~D7:為三態(tài)輸出/輸入線。用于將8253與系統(tǒng)數(shù)據(jù)總線相連。②片選線CS:為輸入信號(hào),低電平有效。③讀信號(hào)RD:為輸入信號(hào),低電平有效。④寫信號(hào)WR:為輸入信號(hào),低電平有效。地址線A1A0:這兩根線接到系統(tǒng)地址總路線的A1A上。
2)面向I/O設(shè)備的信號(hào)線⑥計(jì)數(shù)器時(shí)鐘信號(hào)CLK:CLK為輸入信號(hào)。⑦計(jì)數(shù)器門控選通信號(hào)GATE(0-2):為輸入信號(hào)。⑧計(jì)數(shù)器輸出信號(hào)OUT(0-2);為輸出信號(hào)。72023/2/3
4.4.2定時(shí)/計(jì)數(shù)器82C54A的工作方式
為了滿足不同的應(yīng)用要求,82C54A設(shè)置了6種工作方式,其中,2方式和3方式比較常用,應(yīng)重點(diǎn)掌握。1.
0方式:事件計(jì)數(shù)器方式,其波形如圖4.2所示。82023/2/3圖4.2方式00方式特點(diǎn):
0方式的典型應(yīng)用是做事件計(jì)數(shù)器,計(jì)數(shù)器的大小就是計(jì)數(shù)初值,改變計(jì)數(shù)初值就可以改變計(jì)數(shù)器的大小。
0方式當(dāng)寫入計(jì)數(shù)初值后,啟動(dòng)計(jì)數(shù)器開始計(jì)數(shù),OUT信號(hào)變?yōu)榈碗娖?,并維持低電平至減法計(jì)數(shù)器的內(nèi)容減到0時(shí),停止工作,OUT信號(hào)變?yōu)楦唠娖?,并維持高電平到再次寫入新的計(jì)數(shù)值,可見,0方式輸出單次波。
0方式的計(jì)數(shù)過程由寫信號(hào)軟啟動(dòng),寫入計(jì)數(shù)初值后開始計(jì)數(shù),不需外加啟動(dòng)信號(hào);計(jì)數(shù)結(jié)束,自動(dòng)停止,不需外加停止信號(hào)。92023/2/32.
1方式:可重觸發(fā)單穩(wěn)觸發(fā)器方式1方式波形如圖4.3所示。102023/2/3圖4.3方式一輸出波形1方式特點(diǎn):
1方式的典型應(yīng)用是作可編程單穩(wěn)態(tài)觸發(fā)器,單穩(wěn)延遲時(shí)間=計(jì)數(shù)初值×?xí)r鐘脈寬,延時(shí)期間輸出的是低電平,低電平的寬度可以由程序控制,即改變計(jì)數(shù)初值就可以改變延時(shí)時(shí)間。
1方式在寫入計(jì)數(shù)初值后,再由GATE門信號(hào)硬啟動(dòng)計(jì)數(shù),OUT變?yōu)榈碗娖?,每來一個(gè)CLK,計(jì)數(shù)器減l直到計(jì)數(shù)值減到0時(shí),停止工作,OUT輸出高電平,并維持高電平到GATE門信號(hào)再次啟動(dòng)。
1方式由GATE門信號(hào)每觸發(fā)1次僅輸出一個(gè)波形,故1方式也是輸出單次波。112023/2/33.
2方式:分頻器方式
2方式是一種具有自動(dòng)裝入時(shí)間常數(shù)的分頻器,其波形如圖4.4所示。122023/2/3圖4.4方式二2方式特點(diǎn):
2方式的典型應(yīng)用是做分頻器,分頻系數(shù)就是計(jì)數(shù)初值。改變計(jì)數(shù)初值就可以改變輸出負(fù)脈沖波形的頻率。
2方式在寫入計(jì)數(shù)初值后,由寫信號(hào)軟啟動(dòng)計(jì)數(shù)器開始減l計(jì)數(shù),直到減到l時(shí),OUT輸出一個(gè)寬度為時(shí)鐘CLK周期的低電平,接著又變?yōu)楦唠娖?,軟啟?dòng)計(jì)數(shù)開始且計(jì)數(shù)初值自動(dòng)重裝,開始下一輪計(jì)數(shù),如此往復(fù),不停地工作。
2方式具有自動(dòng)重裝計(jì)數(shù)初值功能,故2方式能夠連續(xù)輸出負(fù)脈沖波形。132023/2/34.3方式:方波發(fā)生器方式
3方式具有自動(dòng)裝入時(shí)間常數(shù)(計(jì)數(shù)初值)的功能。3方式的波形如圖4.5所示。142023/2/33方式的波形圖如下。152023/2/3圖4.5方式三3方式特點(diǎn):
3方式的典型應(yīng)用是做方波發(fā)生器,方波的周期=計(jì)數(shù)初值×?xí)r鐘脈沖的周期。改變計(jì)數(shù)初值就可以改變輸出方波的頻率。
3方式在寫入計(jì)數(shù)初值后,由寫信號(hào)軟啟動(dòng)計(jì)數(shù)器開始計(jì)數(shù),OUT輸出占空比為1∶1或近似1∶1的連續(xù)方波。當(dāng)計(jì)數(shù)初值為偶數(shù)時(shí),輸出波形的占空比為1∶1,如圖4.10(a)所示。當(dāng)計(jì)數(shù)初值為奇數(shù)時(shí),輸出波形的占空比為近似1∶1,如圖4.10(b)所示。
計(jì)數(shù)結(jié)束后,計(jì)數(shù)初值自動(dòng)重裝,開始下一輪計(jì)數(shù),如此往復(fù),不停的工作,因此,3方式連續(xù)輸出方波。而2方式連續(xù)輸出的是負(fù)脈沖波。162023/2/35.4方式:單次負(fù)脈沖發(fā)生器方式
4方式的輸出波形如圖4.6所示。172023/2/3圖4.6方式四4方式特點(diǎn):
4方式的典型應(yīng)用是單次負(fù)脈沖發(fā)生器,負(fù)脈沖寬度等于時(shí)鐘脈沖的周期。改變計(jì)數(shù)初值就可以改變選通脈沖產(chǎn)生的時(shí)間。
4方式計(jì)數(shù)從寫入計(jì)數(shù)初值后開始,OUT輸出高電平,減1計(jì)數(shù)直到計(jì)數(shù)值減到0時(shí),在OUT端輸出一個(gè)寬度等于時(shí)鐘CLK脈沖周期的負(fù)脈沖,并停止工作。顯然,4方式的計(jì)數(shù)過程由寫信號(hào)軟啟動(dòng)。
4方式不具備計(jì)數(shù)初值重裝能力,故輸出單次波形。182023/2/3192023/2/36.5方式:單次負(fù)脈沖發(fā)生器方式5方式的輸出波形如圖4.7所示圖4.7方式五2023/2/3205方式特點(diǎn):
5方式的典型應(yīng)用是做單次負(fù)脈沖發(fā)生器,選通脈沖寬度等于時(shí)鐘脈沖的周期。改變計(jì)數(shù)初值就可以改變選通脈沖產(chǎn)生的時(shí)間。
5方式的計(jì)數(shù)開始是由GATE門信號(hào)硬啟動(dòng),OUT輸出高電平,開始減1計(jì)數(shù)直到計(jì)數(shù)值減到0時(shí),在OUT端輸出一個(gè)寬度等于時(shí)鐘CLK脈沖周期的負(fù)脈沖,并停止工作。
5方式不具備計(jì)數(shù)初值重裝能力,也是輸出單次波形。5方式與4方式不同之處是計(jì)數(shù)啟動(dòng)信號(hào)不同,5方式是GATE信號(hào)硬啟動(dòng),4方式是寫信號(hào)軟啟動(dòng)。2023/2/321小結(jié):6種工作方式的比較
0方式和1方式,這兩種方式的輸出波形類似,均為單次波。區(qū)別在于計(jì)數(shù)啟動(dòng)方式不同,前者為軟啟動(dòng),后者是硬啟動(dòng)。
2方式和3方式,這兩種方式共同的特點(diǎn)是具有自動(dòng)再加載(裝入)功能能力。二者的區(qū)別在于:2方式連續(xù)輸出寬度為1個(gè)TCLK的負(fù)脈沖。3方式連續(xù)輸出占空比為1:1的方波或近似方波。
4方式和5方式。這兩種方式的OUT輸出波形相同,兩者的區(qū)別是計(jì)數(shù)啟動(dòng)的觸發(fā)信號(hào)不同,前者由寫信號(hào)啟動(dòng)計(jì)數(shù),后者由GATE信號(hào)啟動(dòng)計(jì)數(shù)。
2023/2/3222023/2/323
4.4.3定時(shí)/計(jì)數(shù)器82C54A的編程模型
82C54A的編程模型包括內(nèi)部可訪問的寄存器及其端口地址、工作方式、命令字。用戶可利用這個(gè)編程模型對(duì)82C54A進(jìn)行編程。
1.82C54A內(nèi)部寄存器 2C54A內(nèi)部寄存器有1個(gè)命令寄存器和3個(gè)獨(dú)立的計(jì)數(shù)器(0~2),也叫做計(jì)數(shù)器通道。3個(gè)獨(dú)立的計(jì)數(shù)器中,每個(gè)計(jì)數(shù)器內(nèi)部又包含3個(gè)不同功能的16位寄存器:計(jì)數(shù)初值寄存器、減法計(jì)數(shù)器和當(dāng)前計(jì)數(shù)值鎖存器。2C54A內(nèi)部邏輯結(jié)構(gòu)如圖4.8所示。242023/2/3圖4.882C54A的內(nèi)部寄存器下面介紹82C54A的3個(gè)獨(dú)立計(jì)數(shù)器內(nèi)部寄存器的作用。3個(gè)獨(dú)立計(jì)數(shù)通道(計(jì)數(shù)器)如圖4.9所示。2023/2/325圖4.9計(jì)數(shù)器通道的3個(gè)寄存器2023/2/326
每個(gè)計(jì)數(shù)通道包含計(jì)數(shù)初值寄存器、減1計(jì)數(shù)器和當(dāng)前計(jì)數(shù)值鎖存器
計(jì)數(shù)初值寄存器(16位):用于存放計(jì)數(shù)初值(定時(shí)常數(shù)、分頻系數(shù)),最大計(jì)數(shù)值為65536(64KB)。計(jì)數(shù)初值寄存器的計(jì)數(shù)初值,在計(jì)數(shù)器計(jì)數(shù)過程中保持不變。當(dāng)需要重復(fù)計(jì)數(shù)時(shí),取出計(jì)數(shù)初值重裝到減1計(jì)數(shù)器。
減1計(jì)數(shù)器(16位):在初始化時(shí)同時(shí)一起裝入的計(jì)數(shù)初值,用于進(jìn)行減1計(jì)數(shù)操作,每來一個(gè)時(shí)鐘脈沖,它就作減1運(yùn)算,直至將計(jì)數(shù)初值減為零。
當(dāng)前計(jì)數(shù)值鎖存器(16位):用于鎖存減1計(jì)數(shù)器的內(nèi)容,以供讀出和查詢。2023/2/3272.82C54A的編程命令
82C54A有3個(gè)命令,其中方式命令最重要,應(yīng)重點(diǎn)學(xué)習(xí)。
(1)方式命令
方式命令的作用是對(duì)82C54A進(jìn)行初始化,初始化的內(nèi)容見4.6節(jié)。方式命令的格式如圖4.10所示。
圖4.1082C54A工作方式命令格式2023/2/328(2)鎖存命令:
鎖存命令的作用是將當(dāng)前計(jì)數(shù)值先鎖存起來再讀。鎖存命令只有當(dāng)要求讀取當(dāng)前計(jì)數(shù)值時(shí)才使用。鎖存命令的格式如圖4.11所示。圖4.11鎖存命令格式2023/2/329
鎖存命令字8位分兩個(gè)字段:
計(jì)數(shù)器選擇字段(D7D6);
鎖存命令特征位字段(D5D4)。當(dāng)D5D4=00時(shí),就是鎖存命令;當(dāng)D5D4≠00時(shí),就是方式命令的讀/寫指示位。
其余位(D3~D0)與鎖存命令無關(guān)。2023/2/330(3)讀回命令:
讀回命令與前面的鎖存命令不同,它既能鎖存計(jì)數(shù)值又能鎖存狀態(tài)信息,而且讀回命令可以鎖存與讀回單個(gè)或3個(gè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值和狀態(tài)。其格式如圖4.12所示。圖4.11讀回命令格式例如:讀取計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值,則讀回命令=11011000B;讀取計(jì)數(shù)器2的當(dāng)前狀態(tài),則讀回命令=11101000B;讀取計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值和狀態(tài),則讀回命令=11001000B;讀取全部3個(gè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值和狀態(tài),則讀回命令=11001110B。4.5實(shí)現(xiàn)外部定時(shí)的計(jì)數(shù)初值計(jì)算4.5.1計(jì)數(shù)初值的計(jì)算
計(jì)數(shù)初值分兩種情況:若作計(jì)數(shù)器用時(shí),則無須計(jì)算,將計(jì)數(shù)的次數(shù)直接裝入;若作定時(shí)器用時(shí),則計(jì)數(shù)初值需要經(jīng)過換算才能得到。其換算方法如下。(1)要求產(chǎn)生定時(shí)時(shí)間間隔的定時(shí)常數(shù)TC
(4-1)(2)要求產(chǎn)生頻率為f的信號(hào)波形的定時(shí)常數(shù)TC
(4-2)312023/2/34.5.2計(jì)數(shù)初值的裝入
由于82C54A內(nèi)部的減法計(jì)數(shù)器和計(jì)數(shù)初值寄存器是16位,而82C54A外部引腳數(shù)據(jù)信號(hào)線只有8位,故16位計(jì)數(shù)初值要分兩次裝入,并且按先裝低8位、后裝高8位的順序?qū)懭胗?jì)數(shù)器的數(shù)據(jù)口。只有2方式和3方式具有自動(dòng)重裝計(jì)數(shù)初值的功能,其他方式都需要用戶通過程序人工重裝計(jì)數(shù)初值。
4.5.3計(jì)數(shù)初值的范圍
由于計(jì)數(shù)初值寄存器和減法計(jì)數(shù)器是16位,故計(jì)數(shù)初值的范圍以二進(jìn)制數(shù)表示為0000H~FFFFH;以十進(jìn)制數(shù)(BCD)表示為0000~9999。322023/2/34.6外部定時(shí)/計(jì)數(shù)器的初始化82C54A初始化有兩個(gè)工作要做:
1.向命令寄存器寫入方式命令字,包括選擇計(jì)數(shù)器(3個(gè)計(jì)數(shù)器之一),確定工作方式(6種方式之一),指定計(jì)數(shù)器計(jì)數(shù)初值的長度和裝入順序以及計(jì)數(shù)值的碼制(BCD或二進(jìn)制碼)。
2.向已選定的計(jì)數(shù)器按方式命令的要求寫入計(jì)數(shù)初值。
寫入計(jì)數(shù)初
值的順序如下:
當(dāng)RW1RW0=01時(shí),只寫入低8位,高8位自動(dòng)置0;
當(dāng)RW1RW0=10時(shí),只寫入高8位,低8位自動(dòng)置0;
當(dāng)RW1RW0=11時(shí),寫入16位,先寫低8位,后寫高8位。332023/2/3例如,選擇2號(hào)計(jì)數(shù)器,工作在3方式,計(jì)數(shù)初值
為533H(2個(gè)字節(jié)),采用二進(jìn)制計(jì)數(shù)。
匯變語言初始化程序段如下。
MOVDX,307H ;命令口
MOVAL,10110110B ;2號(hào)計(jì)數(shù)器的方式命令字
OUTDX,AL
MOVDX,306H ;2號(hào)計(jì)數(shù)器數(shù)據(jù)口
MOVAX,533H ;計(jì)數(shù)初值
OUTDX,AL ;先送低字節(jié)到2號(hào)計(jì)數(shù)器
MOVAL,AH ;取高字節(jié)送AL
OUTDX,AL ;后送高字節(jié)到2號(hào)計(jì)數(shù)器
2023/2/3344.7定時(shí)/計(jì)數(shù)器的應(yīng)用4.7.1系統(tǒng)配置的定時(shí)/計(jì)數(shù)器應(yīng)用1.系統(tǒng)配置的82C54A應(yīng)用設(shè)置如圖4.13所示。其中:OUT0用用作時(shí)鐘中斷OUT1用要用做存儲(chǔ)器動(dòng)態(tài)定時(shí)刷新OUT2用用作揚(yáng)聲器發(fā)聲控制0號(hào)計(jì)數(shù)器=40H(端口地址)1號(hào)計(jì)數(shù)器=41H(端口地址)2號(hào)計(jì)數(shù)器=42H(端口地址)方式命令寄存器=43H(端口地址)。以上用途設(shè)置及地址的分配用戶不能更改。系統(tǒng)提供個(gè)時(shí)鐘脈沖頻率為1.19318MHz。352023/2/3圖4.13微機(jī)系統(tǒng)配置的82C54A應(yīng)用362023/2/32.微機(jī)系統(tǒng)配置的82C54A初始化程序段(1)計(jì)數(shù)器0:用于定時(shí)中斷(約55ms申請(qǐng)1次中斷)MOVAL,00110110B ;初始化方式命令OUT43H,ALMOVAX,00H ;初值為0000H(最大值)OUT40H,AL ;先寫低字節(jié)MOVAL,AHOUT40H,AL ;再寫高字節(jié)
(2)計(jì)數(shù)器1:用于DRAM定時(shí)刷新(每隔15μs請(qǐng)求1次DMA傳輸)MOVAL,01010100B ;初始化方式命令OUT43H,ALMOVAL,12H ;初值為12HOUT41H,AL ;只寫低字節(jié)(3)計(jì)數(shù)器2:用于產(chǎn)生約900Hz的方波使揚(yáng)聲器發(fā)聲MOVAL,10110110B ;初始化方式命令OUT43H,ALMOVAX,533H ;初值為533HOUT42H,AL ;先寫低字節(jié)MOVAL,AHOUT42H,AL ;再寫高字節(jié)4.8.1定時(shí)/計(jì)數(shù)器用作測量脈沖寬度例4.1用82C54A測量脈沖寬度1.要求
某應(yīng)用系統(tǒng)中,要求測量脈沖的寬度。系統(tǒng)提供的輸入時(shí)鐘CLK=1MHz,采用二進(jìn)制計(jì)數(shù)。2.分析
在軟啟動(dòng)時(shí),門控信號(hào)GATE的作用是允許或禁止計(jì)數(shù)。例如,0方式就有這種特點(diǎn),因此可以利用GATE門進(jìn)行脈沖寬度測量,把被測的脈沖作為GATE門信號(hào)來控制計(jì)數(shù)器的計(jì)數(shù)過程,即控制計(jì)數(shù)的啟/停。在被測脈沖信號(hào)為低電平時(shí),裝計(jì)數(shù)初值,當(dāng)被測脈沖信號(hào)變高電平時(shí),開始計(jì)數(shù),直至被測脈沖信號(hào)再次變低電平,停止計(jì)數(shù),并鎖存。然后讀出計(jì)數(shù)器1的當(dāng)前值n,最后得到被測脈沖寬度是(65536-n)μs。4.8定時(shí)/計(jì)數(shù)器的應(yīng)用設(shè)計(jì)舉例2023/2/3373.設(shè)計(jì)選擇計(jì)數(shù)器通道1,工作方式為0方式。如圖4.14所示。
從波形圖中可以看出,當(dāng)GATE1門信號(hào)也就是被測信號(hào)為低電平時(shí),即使寫入計(jì)數(shù)初值也不開始計(jì)數(shù),只有當(dāng)GATE1門信號(hào)也就是被測信號(hào)變?yōu)楦唠娖綍r(shí)才開始計(jì)數(shù)操作,并且直到GATE1門信號(hào)也就是被測信號(hào)再次變?yōu)榈碗娖綍r(shí)才結(jié)束。于是把這一段計(jì)數(shù)過程中所累積的時(shí)鐘計(jì)數(shù)脈沖的個(gè)數(shù)乘以脈沖的周期就得到被測信號(hào)的寬度。2023/2/338圖4.14脈沖寬度測量原理圖脈寬測量匯編語言程序段如下。MOVDX,307H ;82C54A的命令口MOVAL,70H ;方式命令OUTDX,ALMOVDX,305H ;1號(hào)計(jì)數(shù)器的數(shù)據(jù)口MOVAX,0000H;定時(shí)常數(shù)
OUTDX,AL ;定時(shí)常數(shù)低字節(jié)MOVAL,AH ;定時(shí)常數(shù)高字節(jié)OUTDX,ALMOVDX,307H ;82C54A的命令口MOVAL,40H ;1號(hào)計(jì)數(shù)器的鎖存命令MOVDX,305HINAL,DX ;從1號(hào)計(jì)數(shù)器讀當(dāng)前計(jì)數(shù)值,保存MOVBL,ALINAL,DXMOVBH,ALMOVAX,0000H
SUBAX,BX ;65536-BX,可得被測脈沖的寬度2023/2/3394.8.2定時(shí)/計(jì)數(shù)器用作定時(shí)例4.2用82C54A定時(shí)
1.要求
某應(yīng)用系統(tǒng)中,要求定時(shí)器每隔5ms發(fā)出一個(gè)掃描負(fù)脈沖,系統(tǒng)提供的時(shí)鐘CLK為20kHz,使用十進(jìn)制計(jì)數(shù)。試寫出定時(shí)器的初始化程序。2.分析
(1)選擇工作方式
為了產(chǎn)生每隔5ms一次的連續(xù)的定時(shí)脈沖,選擇82C54A的2方式是合適的。為此,利用82C54A的計(jì)數(shù)器2,將它的OUT2作為定時(shí)脈沖輸出。
(2)計(jì)算定時(shí)常數(shù)
因?yàn)槭亲龆〞r(shí)器,故需要進(jìn)行定時(shí)常數(shù)計(jì)算。將系統(tǒng)提供的CLK作為通道2的輸入時(shí)鐘CLK2,其周期T=1/20kHz=0.05ms,按照要求定時(shí)時(shí)間為5ms,根據(jù)式(4-1),可得定時(shí)常數(shù)為 TC=5ms/0.05ms=1002023/2/3403.初始化程序定時(shí)器匯編語言初始化程序段如下。MOVDX,307H ;82C54A的命令口MOVAL,95H ;方式命令OUTDX,ALMOVDX,306H ;計(jì)數(shù)器2的數(shù)據(jù)口MOVAL,100 ;定時(shí)常數(shù)OUTDX,AL2023/2/3414.8.3定時(shí)/計(jì)數(shù)器用作分頻
例4.3用82C54A進(jìn)行分頻
1.要求
某應(yīng)用系統(tǒng)中,要求方波發(fā)生器產(chǎn)生f=1000Hz的方波,系統(tǒng)提供的輸入時(shí)鐘CLK=1.19318MHz,采用二進(jìn)制計(jì)數(shù)。試寫出分頻器的初始化程序。2.分析
(1)選擇工作方式
為了產(chǎn)生方波,選擇82C54A的3方式是合適的。為此,利用82C54A的計(jì)數(shù)器0,將它的OUT0作為方波輸出。
(2)計(jì)算計(jì)數(shù)初值
將系統(tǒng)提供的CLK作為計(jì)數(shù)器0的輸入時(shí)鐘CLK0,按照要求輸出OUT0=1000Hz的方波,根據(jù)式(4-2),可得定時(shí)常數(shù)為 TC=CLK0/OUT0=1.19318MHz/1000Hz=1193=4A9H2023/2/3423.初始化程序分頻器匯編語言初始化程序段如下。MOVDX,307H ;82C54A的命令口MOVAL,36H ;方式命令OUTDX,ALMOVDX,304H ;計(jì)數(shù)器0的數(shù)據(jù)口MOVAX,4A9H;定時(shí)常數(shù)OUTDX,AL ;裝入定時(shí)常數(shù)低字節(jié)MOVAL,AHOUTDX,AL ;裝入定時(shí)常數(shù)高字節(jié)2023/2/3432023/2/3444.8.4定時(shí)/計(jì)數(shù)器同時(shí)用作計(jì)時(shí)和分頻
例4.4利用82C54A在生產(chǎn)線進(jìn)行計(jì)數(shù)與定時(shí)
1.要求
某罐頭包裝流水線,一個(gè)包裝箱能裝24罐,要求每通過24罐,流水線要暫停5s,等待封箱打包完畢,然后重啟流水線,繼續(xù)裝箱。按Esc鍵則停止生產(chǎn)。2.分析
為了實(shí)現(xiàn)上述要求,有兩個(gè)工作要做:一是對(duì)24罐計(jì)數(shù);二是對(duì)5s停頓定時(shí)。并且,兩者之間又是相互關(guān)聯(lián)的。為此,選用82C54A的計(jì)數(shù)器0作計(jì)數(shù)器,計(jì)數(shù)器1作定時(shí)器,并且把計(jì)數(shù)器0的計(jì)數(shù)已到(24)的輸出信號(hào)OUT0,連到計(jì)數(shù)器1的GATE1線上,作為外部硬件啟動(dòng)信號(hào)觸發(fā)計(jì)數(shù)器1的5s定時(shí),去控制流水線的暫停與重啟。其工作流程中的計(jì)數(shù)與定時(shí)之間的關(guān)系如圖4.15所示。2023/2/345圖4.15工作流程中的計(jì)數(shù)與定時(shí)之間的關(guān)系3.設(shè)計(jì)(1)硬件設(shè)計(jì)
電路結(jié)構(gòu)原理如圖4.16所示。
檢測原理是罐頭從光源和光敏電阻(R)之間通過時(shí),在晶體管(T)發(fā)射極上會(huì)產(chǎn)生罐頭的脈沖信號(hào),此脈沖信號(hào)作為計(jì)數(shù)脈沖,接到計(jì)數(shù)器0的CLK0,對(duì)罐頭進(jìn)行計(jì)數(shù)。計(jì)數(shù)器0作為計(jì)數(shù)器,工作在2方式。計(jì)數(shù)器1作為定時(shí)器,工作在1方式2023/2/346圖4.16包裝流水線計(jì)數(shù)-定時(shí)裝置電路原理(2)軟件設(shè)計(jì)包裝流水線匯編語言程序段(只寫出代碼段)如下。
codesegmentSTART:MOVDX,307H ;計(jì)數(shù)器0初始化MOVAL,15H;命令字OUTDX,ALMOVDX,304H ;寫計(jì)數(shù)器0計(jì)數(shù)初值MOVAL,24;計(jì)數(shù)器0計(jì)數(shù)初值OUTDX,ALMOVDX,307H ;計(jì)數(shù)器1初始化MOVAL,73H;命令字OUTDX,ALMOVAX,1F4H
;計(jì)數(shù)器1定時(shí)常數(shù)MOVDX,305H
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國太陽能空調(diào)項(xiàng)目可行性研究報(bào)告建議書
- 2025年度個(gè)人二手房定金買賣合同書標(biāo)準(zhǔn)化版2篇
- 2025年度個(gè)人借款聯(lián)保合同(附財(cái)產(chǎn)抵押)4篇
- 2025年山東國新抱犢食品有限公司招聘筆試參考題庫含答案解析
- 二零二五版苗木種植基地水資源利用與節(jié)水技術(shù)合同4篇
- 2025年寧夏昊陽資產(chǎn)管理有限公司招聘筆試參考題庫含答案解析
- 2025年度智能門禁系統(tǒng)與門禁卡管理系統(tǒng)采購合同4篇
- 2025年度鐵藝護(hù)欄新材料研發(fā)與市場推廣合同3篇
- 2025年度個(gè)人貨運(yùn)保險(xiǎn)代理合同范本大全4篇
- 二零二五版模具開模與模具材料創(chuàng)新合同3篇
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 禮品(禮金)上交登記臺(tái)賬
- 普通高中英語課程標(biāo)準(zhǔn)詞匯表
- 北師大版七年級(jí)數(shù)學(xué)上冊教案(全冊完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計(jì)算規(guī)則1994
評(píng)論
0/150
提交評(píng)論