畢業(yè)設(shè)計(jì)數(shù)字式頻率檢測裝置設(shè)計(jì)說明_第1頁
畢業(yè)設(shè)計(jì)數(shù)字式頻率檢測裝置設(shè)計(jì)說明_第2頁
畢業(yè)設(shè)計(jì)數(shù)字式頻率檢測裝置設(shè)計(jì)說明_第3頁
畢業(yè)設(shè)計(jì)數(shù)字式頻率檢測裝置設(shè)計(jì)說明_第4頁
畢業(yè)設(shè)計(jì)數(shù)字式頻率檢測裝置設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目 錄 前言 2摘要: 2關(guān)鍵字: 21 芯片介紹.211 10116.212 1161.313 74HC04.414 74HC14.415 74HC74.416 74HC164.517 74HC145.618 AT89C2051.619 562.92統(tǒng)概述.921頻率計(jì)定義.922系統(tǒng)的組成.823處理方法.83系統(tǒng)硬件設(shè)計(jì)931信號預(yù)處理931.1濾波、衰減、補(bǔ)償.931.2放大電路932 波形轉(zhuǎn)換電路.1033 形整形與分頻電路.1134 單片機(jī)復(fù)位電路1135顯示部分12351 顯示電路.12352 模擬串行通信原理.1236 整機(jī)工作原理.124系統(tǒng)軟件的組成.1341 系統(tǒng)軟件框圖

2、.1342 流程圖.1443 數(shù)據(jù)處理過程1445 單片機(jī)源程序.155對單片機(jī)的優(yōu)缺點(diǎn)進(jìn)行分析306 對本設(shè)計(jì)的心得體會.307 數(shù)字頻率計(jì)原理圖.398 參考文獻(xiàn)資料.41數(shù)字頻率計(jì)前 言數(shù)字頻率計(jì)在電子、通訊等領(lǐng)域中的實(shí)驗(yàn)、研究開發(fā)、生產(chǎn)用途非常的廣泛,它可以由邏輯 電組成,也可以用單片機(jī)控制。由邏輯電路組成的頻率計(jì),結(jié)構(gòu)復(fù)雜,組裝、調(diào)試比較麻煩;由單片機(jī)控制的頻率計(jì),數(shù)據(jù)采集、計(jì)算、譯碼與量程的自動轉(zhuǎn)換,都可以由CPU來完成,簡化了電路,提高了系統(tǒng)的可靠性。摘要:本設(shè)計(jì)是以89c2051為核心的單片機(jī)設(shè)計(jì),在單片機(jī)設(shè)計(jì)中應(yīng)用單片機(jī)的數(shù)字運(yùn)算和控制功能實(shí)現(xiàn)了量程的自動切換,滿足了時(shí)間要求

3、和精度要求。關(guān)鍵字:89C2051,頻率計(jì),分頻,1 芯片介紹11 1011610116是一個三運(yùn)算放大器,帶有正、反輸出端,邏輯圖與引腳功能如下:引腳圖12 11611161為基于微控器的系統(tǒng)提高了完整的存儲和監(jiān)控方案,運(yùn)用低功耗CMOSE技術(shù),在片集成了帶硬件存儲寫保護(hù)的串行EEPROM(16K),節(jié)能型系統(tǒng)電源監(jiān)控電路和一個看門狗定時(shí)電路。當(dāng)一個軟件或硬件的誤操作,一起系統(tǒng)的暫停和掛起時(shí),1.6秒的看門狗電路可將系統(tǒng)恢復(fù)到默認(rèn)狀態(tài),1161的定時(shí)監(jiān)控SDA線,這樣不需要增加PC板的跟蹤功能。第2腳輸出高電平的復(fù)位信號,第7腳輸 出低電平的復(fù)位信號WP 寫保護(hù)E2PRON 就實(shí)現(xiàn)寫保護(hù)只讀

4、將該管腳接地或懸空可以對器件進(jìn)行讀寫操作串行時(shí)鐘串行輸入輸出資料時(shí)該 腳 用于輸入時(shí)鐘。SCL:串行時(shí)鐘,串行輸入輸出數(shù)據(jù)時(shí),該腳 用于時(shí)鐘。REST:復(fù)位I/O口。該 腳為開漏輸出腳。可用作復(fù)位觸發(fā)輸入。SDA:串行數(shù)據(jù)地址,用于所以數(shù)據(jù)得發(fā)送和接受。SDA還可以作為看門狗定時(shí)器控制器。VCC:電源GND:接地NC:空腳13 74HC0474HC04為六反相器Y=/A引腳圖14 74HC1474HC14是六反相器(施密特觸發(fā)器)Y=/A引腳如上圖。15 74HC7474HC74是一雙D型正 沿觸發(fā)器,帶預(yù)和清除端,其引腳與功能如下:功能表輸入輸出PR CLR CLK DQ /QL H X X

5、 H L X XL L X XH H HH H LH H L XH LL HH* H*H LL HQ0 /Q0說明:*為不穩(wěn)定引腳圖D觸發(fā)器在這里主要是分頻,它的這種接法是一種二分頻的接法,對經(jīng)過562分頻的信號再一次分頻,進(jìn)一步降低它的頻率,提高單片機(jī)的測量圍。16 74HC1641.引出端排列圖和邏輯功能示意圖圖338所示是8位單相移位積存器74LS164的引出端排列圖和功能示意圖 。 (a)引出端排列圖 (b)邏輯功能示意圖 圖3-3 8位單向移位積存器74LS164Ds=Dsa*Dsr是數(shù)碼串行輸入端,/CR是清零端,Q0Q7是數(shù)據(jù)并行輸出端,CP是時(shí)鐘脈沖移位操作信號。2.邏輯功能

6、表3.1所示是74LS164狀態(tài)表,由表可知,74LS164具有下列功能;(1)清零功能當(dāng)/CR=0時(shí),移位寄存器異步清零。(2)保持功能當(dāng)/CR=1、CP=0時(shí)。移位寄存器保持狀態(tài)不變,Qi n+1=Qin(i=07)。(3)送數(shù)功能當(dāng)/CR=1時(shí),CP上升沿將加在Ds=Dsa*Dsb端的二進(jìn)制數(shù)碼依次送入移位寄存器中。狀態(tài)方程為 Q0n+1=Qsa*Qsb Q1n+1=Q0n Q2n+1=Q1n Q3n+1=Q2n Q4n+1=Q3n CP 上升沿時(shí)刻有效 (5.3.7) Q5n+1=Q4n Q6n+1=Q5n Q7n+1=Q6n17 74HC14574HC145是一個BCD十進(jìn)制譯碼器/

7、驅(qū)動器(OC),用于驅(qū)動燈、繼電器或MOS電路;能吸收80m電流,LS145典型功耗為35mW;耐壓15V18 AT89C2051單片機(jī)的管腳排列圖,各管腳的功能,關(guān)于此單片機(jī)的介紹AT89c2051與Intel的51系列兼容,沒有P0口、P2口,所以不能擴(kuò)充外部程序存儲器、外部數(shù)據(jù)存儲器,有些指不能使用或受到一定的限制,如MOVX,MOVC。部集成一個A/D轉(zhuǎn)換器。它是一個帶有2KB可編程只讀存儲器(EEPROM)的低壓高性能8位CMOSE微型計(jì)算機(jī)。它用ATMEL的高密非易失存儲技術(shù)制造,并和工業(yè)標(biāo)準(zhǔn)MCS51指令集和引腳結(jié)構(gòu)兼容。通過在單塊芯片上組合通用的CPL1和Flash存儲器,使A

8、T89C2051成為一強(qiáng)勁的微型計(jì)算機(jī)。它為許多嵌入式控制應(yīng)用提供了高度靈活和成本低的解決辦法。1. 主要性能和MCS-51產(chǎn)品兼容。2KB可重編程Flash存儲器。耐久性:1000次寫/擦除。2.76V的操作圍。全靜態(tài)操作:0Hz24MHz。2級加密程序存儲器。128*8位部RAM。15條可編程I/O引線。2個16位定時(shí)器/計(jì)數(shù)器。6個中斷源??删幊檀蠻ART通道。直接LED驅(qū)動輸出。片模擬比較器。低功耗空載和掉電方式。2. 引腳功能說明AT89C2051的引腳結(jié)構(gòu)89C2051引腳(1) Vcc電源端。(2) GND:接地端。(3) P1口:P1口是一8位雙向I/O口。引腳P1.2P1.

9、7提供部上拉電阻。P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片精密模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流,并能直接驅(qū)動LED顯示。當(dāng)P1口引腳寫入“1”時(shí),可用作輸入端。當(dāng)引腳P1.2P1.7用作輸入端并被外部拉低時(shí),將因部的上拉電阻而輸出電流(IIL)。P1口還在Flash編程和程序效驗(yàn)期間接收代碼數(shù)據(jù)。(4) 3口:P3口的P3.0P3.5,P3.7是帶有部上拉電阻的7個雙向I/O引腳。P3.6用于固定輸入片比較器的輸出信號,并且作為一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。當(dāng)P3口引腳寫入“1”時(shí)

10、,它們被部上拉電阻拉高并可用作輸入端。用表2-6 P3口的功能口引腳功能P3.0RXD(串行輸入端口)P3.1TXD(串行輸出端口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)(5) 作輸入端時(shí),被外部拉低的P3口引腳將用上拉電阻而輸出電流(IIL)。P3口還用于實(shí)現(xiàn)AT89C2051的各種功能,如表2-6所列。P3口還接收一些用于Flash存儲器編程和程序效驗(yàn)的控制信號。(6) RST:復(fù)位輸入。RST一旦變成高電平,所有的I/O引腳就復(fù)位到“1”。當(dāng)振蕩器正在運(yùn)行時(shí),持續(xù)給出RST引腳兩個機(jī)器周期的高電平便可完成復(fù)

11、位。每一個機(jī)器周期需12個振蕩器或時(shí)鐘周期。(7) XTAL1:作為振蕩器反相放大器的輸入和部時(shí)鐘發(fā)生器的輸入。(8) 器正在運(yùn)行時(shí),持續(xù)給出RST引腳兩個機(jī)器周期的高電平便可完成復(fù)位。每一個機(jī)器周期需12個振蕩器或時(shí)鐘周期。(9) XTAL1:作為振蕩器反相放大器的輸入和部時(shí)鐘發(fā)生器的輸入。(10) XTAL2:作為振蕩器反相放大器的輸出。19 562在本計(jì)數(shù)計(jì)中,562主要用于構(gòu)成64分頻的分頻器,原理如下圖:2統(tǒng)概述21 頻率計(jì)定義頻率計(jì)為一秒時(shí)間信號變化的次數(shù)。數(shù)字頻率計(jì)就是在一秒標(biāo)準(zhǔn)時(shí)間測出信號變化的次數(shù),然后以數(shù)字的形式顯示出來。22系統(tǒng)的組成頻率計(jì)是以89c2051 、信號預(yù)處理

12、電路、波形轉(zhuǎn)換電路、波形整形與分頻電路、復(fù)位看門狗電路、CPU電路、顯示電路和系統(tǒng)軟件所組成,其號預(yù)處理電路包含衰減、低通濾波、高頻補(bǔ)償、其作用是對強(qiáng)信號的衰減;測量低頻信號時(shí),對高頻進(jìn)行濾除;測量高頻時(shí)進(jìn)行補(bǔ)償;對待測信號的放大,降低對待測信號的幅度要求。波形轉(zhuǎn)換電路主要由10116與外圍元件組成,實(shí)現(xiàn)把正負(fù)交替的信號波形變換成可被單片機(jī)接受的TTL/ CMOS兼容信號;波形整形與分頻由74HC04、562、74HC74、74HC14與外圍元件等組成,分頻電路用于擴(kuò)展單片機(jī)的頻率測量圍。復(fù)位電路由1161組成,用于保證系統(tǒng)的可靠運(yùn)行。CPU用Atmel公司的At89c2051芯片。顯示電路由

13、74hc164、74ls145、數(shù)顯、二極管等組成。系統(tǒng)硬件框圖如圖1 所示。圖1系統(tǒng)硬件框圖系統(tǒng)軟軟件用匯編語言編寫,包括測量初始化模塊、顯示模塊、信號頻率測量模塊、量程自動轉(zhuǎn)換模塊。23 處理方法 本頻率計(jì)的設(shè)計(jì)以AT89C2051單片機(jī)為核心,利用它部的定時(shí)/計(jì)數(shù)器完成待測信號頻率的測量。單片機(jī)AT89C2051部具有2個16位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器的工作可以由編程來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出中斷要求的功能。在構(gòu)成為定時(shí)器時(shí),每個機(jī)器周期加1(使用12MHz的時(shí)鐘時(shí),每1us加1),這樣以機(jī)器周期為基準(zhǔn)可以用來測量時(shí)間間隔。在構(gòu)成為計(jì)數(shù)器時(shí),在相應(yīng)的外部引腳發(fā)生從1到0的跳變時(shí)計(jì)數(shù)

14、器加1,這樣在計(jì)數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入每個機(jī)器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機(jī)器周期(24個振蕩周期),所以最大計(jì)數(shù)速率為時(shí)鐘頻率的1/24(使用12MHz的時(shí)鐘時(shí),最大計(jì)數(shù)速率為500kHz)。定時(shí)/計(jì)數(shù)器的工作由響應(yīng)的運(yùn)行控制位TR控制,當(dāng)TR置1,定時(shí)/計(jì)數(shù)器開始計(jì)數(shù);當(dāng)TR清0,停止計(jì)數(shù)。 為提高頻率穩(wěn)定度,本電路采用24M溫度補(bǔ)償晶振,其最大計(jì)數(shù)為1M,本頻率計(jì)測頻圍為1Hz到10M,以500kHz為分界,待測信號經(jīng)放大、變換、整形后,一路直接送AT89C2051的P3.5口,一路經(jīng)128:1(562為64:1,又經(jīng)74HC74二分

15、頻)的分頻電路后,送P3.4口,測頻時(shí),首先T0為計(jì)數(shù)器,T1為定時(shí)器,控制閘門時(shí)間為1秒,1S后,將寄存器數(shù)值128倍運(yùn)算后,判斷值大于500k時(shí),經(jīng)變換處理后送顯示,小于500k時(shí),變T0為定時(shí),T1為計(jì)數(shù),如此處理,即能提高測量圍,又提高了測量精度,且巧妙的實(shí)現(xiàn)量程的自動切換,閘門時(shí)間1S采用硬件與軟件結(jié)合方法實(shí)現(xiàn),計(jì)數(shù)值用三字節(jié)存放,經(jīng)十六進(jìn)制到BCD碼的變換后送顯示。3系統(tǒng)硬件設(shè)計(jì)31信號預(yù)處理信號預(yù)處理電路包括濾波、衰減、補(bǔ)償、放大。31.1濾波、衰減、補(bǔ)償待測信號經(jīng)0.47uF的隔直通交電容耦合過來,當(dāng)輸入的信號電壓較高時(shí)可按下琴鍵K1衰減,輸入的電壓信號可達(dá)到125V,當(dāng)輸入的

16、信號頻率較低時(shí),按下琴鍵K2,經(jīng)低通濾波減小干擾信號對后級的影響,信號經(jīng)高頻補(bǔ)償電路進(jìn)入放大電路。31.2 放大電路放大部分采用場效應(yīng)管,靜態(tài)功耗低,而且放大之前有穩(wěn)壓二極管保護(hù)電路,可以對輸入的電壓進(jìn)行嵌位,防止輸入到CMOS的電壓過高。由于采用零偏置,當(dāng)輸入信號為零或者為負(fù)時(shí),場效應(yīng)管夾斷,當(dāng)輸入信號為正電壓時(shí),場效應(yīng)管導(dǎo)通,零偏置放大器將正負(fù)交替的輸入信號變成單向脈沖信號,使得輸入信號在一個周期,產(chǎn)生一個脈沖信號,以便于對其計(jì)數(shù)。32 波形轉(zhuǎn)換電路采用差動輸入,提高輸入阻抗和共模抑制比,輸入端提供偏置,使信號預(yù)處理電路出來的脈沖信號通過,信號經(jīng)放大變?yōu)榉茸銐虼蟮姆讲}沖或近似于方波脈沖

17、的信號送波形整形電路 。33 形整形與分頻電路由波形轉(zhuǎn)換電路輸出的方波信號。從波形轉(zhuǎn)換出來的信號,一路經(jīng)74HC04整形后去除毛刺又經(jīng)施密特反相器74HC14整形變?yōu)榕c標(biāo)準(zhǔn)的TTL/CMOS電平兼容的方波。另一路經(jīng)128:1分頻后接入單片機(jī),562接成64:1的分頻電路,又經(jīng)74HC74二分頻,實(shí)現(xiàn)高于500K時(shí)的測量處理電路,擴(kuò)充了頻率計(jì)的測量圍。34 單片機(jī)復(fù)位電路 單片機(jī)復(fù)位電路 當(dāng)單片機(jī)死機(jī)或掛起的時(shí)候,在1.6秒以計(jì)算機(jī)就不會給1161脈沖,這時(shí)復(fù)位電路就會給單片機(jī)以復(fù)位信號,使單片機(jī)重新開始工作。35顯示部分351 顯示電路由于AT89C2051的I/O口較少,本電路采用特殊的顯示

18、方式-由P1.6(數(shù)據(jù)端)和P1.7(時(shí)鐘端)組成模擬串行通信口,單片機(jī)將要顯示的數(shù)據(jù)用模擬串口發(fā)送到74HC74164后,由74HC164轉(zhuǎn)換為并行數(shù)據(jù)控制數(shù)碼管顯示的數(shù)字,實(shí)現(xiàn)顯示數(shù)據(jù)的傳送,由單片機(jī)提供位選的BCD碼經(jīng)74LS145譯碼后控制每位數(shù)碼管的選通與消隱,并由兩個發(fā)光二極管做為Hz與KHz的指示。352模擬串行通信原理模擬串行通信口由P1.6和P1.7組成,其中P1.6作為數(shù)據(jù)發(fā)送端,P1.7作為時(shí)鐘端,發(fā)送數(shù)據(jù)之前,先用指令將時(shí)鐘P1.7清0(輸出低電平),然后將要發(fā)送的一幀數(shù)據(jù)(8位二進(jìn)制數(shù))的最高位(第7位)送到數(shù)據(jù)端P1.6,再將時(shí)鐘端置位(輸出高電平),延時(shí)一個機(jī)器周

19、期,再將時(shí)鐘端清0,完成一位二進(jìn)制數(shù)的傳送,接著將第6位發(fā)送到P1.6端,如此循環(huán),完成一幀數(shù)據(jù)的傳送。其時(shí)序圖如下串行通訊時(shí)序圖36 整機(jī)工作原理 待測信號經(jīng)預(yù)處理電路之后,變成直流脈沖信號,經(jīng)波形轉(zhuǎn)換電路變換,信號變成削頂?shù)拿}沖信號,此時(shí)的信號已近似于方波脈沖,從波形轉(zhuǎn)換早路出來的信號分成兩路,一路直接經(jīng)過整形,變成方波脈沖,送到89c2051的P3.5端;一路經(jīng)64分頻之后,再經(jīng)過74HC04整形,再經(jīng)過74HC74二分頻(64*2=128),送到89c2051的P3.4端。89c2051首先對P3.5端進(jìn)行計(jì)數(shù),如果頻率低500KHz,則直接將結(jié)果顯示出來,單位為Hz;若頻率高于500

20、KHz,則對P3.4端進(jìn)行計(jì)數(shù),將計(jì)數(shù)結(jié)果*128倍之后,再進(jìn)行顯示,單位為KHz。單位的顯示由兩個二極管指示。4系統(tǒng)軟件的組成41 系統(tǒng)軟件框圖結(jié)構(gòu)框圖系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。整個系統(tǒng)由初始化模塊、顯示模塊和信號頻率測量模塊等各種功能模塊組成(見圖4) 。上電后,進(jìn)入系統(tǒng)初始化模塊,系統(tǒng)軟件開始運(yùn)行。在執(zhí)行過程中,根據(jù)運(yùn)行流程分別調(diào)用各個功能模塊完成頻率測量、量程自動切換、測量結(jié)果顯示。42 流程圖軟件流程圖43 數(shù)據(jù)處理過程計(jì)數(shù)值用三個字節(jié)來存儲,經(jīng)十六進(jìn)制到BCD碼的轉(zhuǎn)換,本頻率計(jì)測頻圍為1Hz到10M,以500kHz為分界,待測信號經(jīng)放大、變換、整形后,一路直接送AT89C20

21、51的P3.5口,一路經(jīng)128:1(562為64:1,又經(jīng)74HC74二分頻)的分頻電路后,送P3.4口,測頻時(shí),首先T0為計(jì)數(shù)器,T1為定時(shí)器,控制閘門時(shí)間為1秒,1S后,將寄存器數(shù)值128倍運(yùn)算后,判斷值大于500k時(shí),經(jīng)變換處理后送顯示,小于500k時(shí),變T0為定時(shí),T1為計(jì)數(shù),如此處理,即能提高測量圍,又提高了測量精度,且巧妙的實(shí)現(xiàn)量程的自動切換,閘門時(shí)間1S采用硬件與軟件結(jié)合方法實(shí)現(xiàn),計(jì)數(shù)值用三字節(jié)存放,經(jīng)十六進(jìn)制到BCD碼的變換后送顯示。45 單片機(jī)源程序DA4 EQU P1.2 ;顯示位選擇端DA3 EQU P1.3DA2 EQU P1.4DA1 EQU P1.5CLK EQU

22、P1.7;時(shí)鐘端DAT EQU P1.6 ;串行數(shù)據(jù)發(fā)送端SCL EQU P3.1 ;看門狗,E2ROMSDA EQU P3.0 PV EQU P3.4 ;計(jì)數(shù)通道定義BZ EQU P3.5MD EQU P3.7 ;門控信號A153A EQU P3.2 ;分頻器選通信號A153B EQU P3.3;RXD EQU P3.0 ;通訊口;TXD EQU P3.1BZDIG EQU 2FHDSPLA_ADD1 EQU 30H ; 顯示緩沖區(qū),最低位DSPLA_ADD2 EQU 31HDSPLA_ADD3 EQU 32HDSPLA_ADD4 EQU 33HDSPLA_ADD5 EQU 34HDSPLA

23、_ADD6 EQU 35H;最高位DSPLA_ADD7 EQU 36H;單位指示位TX_TIME EQU 50H ;沖斷次數(shù)計(jì)數(shù)器MOS_BZ EQU 51H ;通道選擇寄存器BZ2 EQU 52H ;大小判斷標(biāo)志LDBZ BIT 10H ;1Hz標(biāo)志位LD1HZ EQU 7BH JSQ3 EQU 53H ;計(jì)數(shù)值寄存區(qū)JSQ2 EQU 54HJSQ1 EQU 55HBCD1 EQU 60H ;壓縮BCD碼寄存區(qū)BCD2 EQU 61HBCD3 EQU 62HBCD4 EQU 63HCX EQU 64H HUANC1 EQU 65HHUANC2 EQU 66HHUANC3 EQU 67HHUA

24、NC4 EQU 68HWSA EQU 77hFDA EQU 78hFDS EQU 79hFDB EQU 7ahPPD EQU 7bh;=;主程序;= ORG 0000H LJMP MAIN ORG 000BH LJMP TIM0 ORG 001BH LJMP TIM1MAIN: LCALL RST_WDOG ;復(fù)位看門狗 LCALL SETUP ;初始化MAIN1: LCALL DSPLA ;顯示(“123456”) LJMP MAIN1 ;循環(huán),等待中斷;=DSPLA: NOP;顯示子程序DSPLATEMP: MOV R7,#7 MOV R0,#DSPLA_ADD1;取顯示區(qū)首地址 MOV

25、DPTR,#TAB;取表格指針DSP1: MOV A,R0;取數(shù)值 MOVC A,A+DPTR;查表DENG: CLR CLK;模擬串行輸出處理 CLR C RLC A MOV DAT,C ;1 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;2 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;3 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;4 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;5 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;6 SE

26、TB CLK NOP CLR CLK RLC A MOV DAT,C ;7 SETB CLK NOP CLR CLK RLC A MOV DAT,C ;8 SETB CLK NOP CLR CLK LCALL WAY;顯示位選擇 ;= LCALL DELAY10;延時(shí) CLR DA1;關(guān)閉 SETB DA2 CLR DA3 SETB DA4DSP2: INC R0;指向下一位 DJNZ R7,DSP1;顯示完否?DSPLAEND: RETTAB: DB 0F3H,90H,79H,0B9H,9AH,0ABH,0EBH,91H ;顯示數(shù)碼編碼表, DB 0FBH,0BBH;, DB 0F7H,94

27、H,7DH,0BDH,9EH,0AFH,0EFH,95H,0FFH,0BFH;0.7. DB 10H,01H;8.,9. DB 0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H DB 40H,73H,76H,00H,00H,00H,00H,00H,00H,00H; 初始化子程序WAY: MOV A,R7;第一位(最低位) CJNE A,#7,WAY1 SETB DA1 CLR DA2 CLR DA3 CLR DA4 RETWAY1: CJNE A,#6,WAY2;第二位 CLR DA1 CLR DA2 SETB DA3 CLR DA4 RETWAY2: CJNE

28、A,#5,WAY3;第三位 CLR DA1 SETB DA2 CLR DA3 CLR DA4 RETWAY3: CJNE A,#4,WAY4;第四位 SETB DA1 CLR DA2 SETB DA3 CLR DA4 RETWAY4: CJNE A,#3,WAY5;第五位 SETB DA1 SETB DA2 CLR DA3 CLR DA4 RETWAY5: CJNE A,#2,WAY6;第六位(最高位) CLR DA1 SETB DA2 SETB DA3 CLR DA4 RETWAY6: CJNE A,#1,WAY7;單位位 SETB DA1 SETB DA2 SETB DA3 CLR DA4

29、WAY7: RET;=SETUP: CLR TR0;初始化程序 CLR TR1 CLR LDBZ MOV MOS_BZ,#1 MOV LD1HZ,#10 CLR DA1 SETB DA2 CLR DA3 SETB DA4 MOV TX_TIME,#50;50*20ms MOV JSQ1,#0;=定時(shí)器初始化 MOV TMOD,#51H ;T1計(jì)數(shù),模式1 ;T0定時(shí),模式1 ;MOV SCON,#50H MOV TH0,#69H;20mS MOV TL0,#0ccH MOV TH1,#00H MOV TL1,#00H ; SETB TR0 ; SETB TR1 SETB ET0;充許T0中斷

30、SETB ET1;充許T1中斷 MOV BZDIG,#1 SETB EA ;開中斷 CLR ES;不許可串口 CLR EX1;不許可中斷1 CLR EX0;不許可中斷0 MOV WSA,#3 SETB TR0;啟動定時(shí)器 SETB TR1;啟動計(jì)數(shù)器 RET;=;以下為1161存儲芯片操作子程序;-RST_WDOG: CLRSDA ;復(fù)位看門狗 DB 0,0,0,0 SETB SDA RET;=DELAY10: NOP ;延時(shí)子程序DELAY5: MOV R6,#0FFH LCALL RST_WDOG DJNZ R6,$ RETTIM0END1: LJMP TIM0END;=LDSJ: MOV

31、 TX_TIME,#50;1Hz數(shù)據(jù)處理程序 DJNZ LD1HZ,TIM0END1 CLR TR1;關(guān)閉計(jì)數(shù)器 MOV A,TH1 MOV JSQ2,A MOV A,TL1 MOV JSQ3,A ;= ;判斷是否大于10 MOV A,JSQ1 JNZ PY1 MOV A,JSQ2 JNZ PY1 MOV A,JSQ3 CLR C SUBB A,#10 JNC PY1 LCALL BMBCD ;調(diào)BCD轉(zhuǎn)換程序 MOV R0,#BCD1 MOV A,R0 ;取BCD碼 ANL A,#0FH ;化成有效BCD碼 MOV DSPLA_ADD6,A ;數(shù)值送到第一位(最低位) MOV DSPLA_A

32、DD1,#0 ;其它位清0 MOV DSPLA_ADD2,#0 MOV DSPLA_ADD3,#0 MOV DSPLA_ADD4,#0 MOV DSPLA_ADD5,#10 ;第二位顯示“0.” MOV DSPLA_ADD7,#21;單位Hz SETB LDBZ MOV LD1HZ,#10 LJMP TIM07;=PY1: CLR LDBZ LJMP TIM0END;=TIM0: PUSH PSW PUSH ACC MOV A,MOS_BZ ;判斷通道 CJNE A,#1,TIMJS ;若為PV通道(T0計(jì)數(shù)),跳出中斷 MOV TH0,#63H MOV TL0,#0c0H DJNZ TX_T

33、IME,TIM0END ;若定時(shí)未到1s,則退出中斷 LDBZ,LDSJ ;若小于1, 轉(zhuǎn)1處理程序 MOV TX_TIME,#50;50*20=1000mS CLR TR1 ;關(guān)閉計(jì)數(shù)器 MOV A,TH1 MOV JSQ2,A ;計(jì)數(shù)高位送到JSQ2 MOV A,TL1 MOV JSQ3,A ;計(jì)數(shù)低位送JSQ3 ;= ;判斷是否小于1,如果小于1則再循環(huán)9次 MOV A,JSQ1 JNZ PY ;若T1已發(fā)生中斷,說明計(jì)數(shù)大于1 MOV A,JSQ2 ;計(jì)數(shù)器計(jì)數(shù)值是否大于1 JNZ PY MOV A,JSQ3 JNZ PY SETB LDBZ ;小于1,1標(biāo)志位置位 MOV LD1HZ

34、,#10 ;=;是否大于500000PY: LCALL JSPD2 ;調(diào)判斷子程序 MOV A,BZ2 ;判斷是否小于500000 CJNE A,#0,KTR ;若大于500000,則換量程 ;= PPPTR: LCALL BMBCD ;調(diào)BCD碼轉(zhuǎn)換程序 LCALL BCDZH ;壓縮BCD碼轉(zhuǎn)為非壓縮BCD碼 MOV DSPLA_ADD7,#21 ;單位:HzTIM07: MOV TH1,#00H MOV TL1,#00H MOV JSQ1,#0 MOV WSA,#1TIM0END: POP ACC POP PSW SETB TR1 SETB TR0 RETIPPL: DEC BZDIG

35、MOV TH1,#00H MOV TL1,#00H MOV JSQ1,#0 LJMP TIM0END ;=TIMJS: MOV TH0,#00H MOV TL0,#00H INC JSQ1;中斷計(jì)數(shù)加1TIMJSEND: POP ACC POP PSW RETI ;=KTR: LCALL SETUP1 ;調(diào)初始化程序,轉(zhuǎn)換量程 POP ACC POP PSW RETI;=JSPD2: MOV A,JSQ1 CLR C SUBB A,#0ch JC Z2 MOV A,JSQ2 JNZ B2 CLR C SUBB A,#35H JC Z2 JNC B2 MOV A,JSQ3 CLR CSUBB A,#00H JC Z2 JNC B2Z2: MOV BZ2,#0 RETB2: MOV BZ2,#1 RET;= TIM1: PUSH PSW ;T1中斷處理程序 PUSH ACC MOV A,MOS_BZ CJNE A,#1,TIM1DS ;通道判斷 MOV TH1,#00H MOV TL1,#00H I

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論