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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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頻率計定義.922系統(tǒng)的組成.823處理方法.83系統(tǒng)硬件設(shè)計931信號預處理931.1濾波、衰減、補償.931.2放大電路932 波形轉(zhuǎn)換電路.1033 形整形與分頻電路.1134 單片機復位電路1135顯示部分12351 顯示電路.12352 模擬串行通信原理.1236 整機工作原理.124系統(tǒng)軟件的組成.1341 系統(tǒng)軟件框圖

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

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

4、將該管腳接地或懸空可以對器件進行讀寫操作串行時鐘串行輸入輸出資料時該 腳 用于輸入時鐘。SCL:串行時鐘,串行輸入輸出數(shù)據(jù)時,該腳 用于時鐘。REST:復位I/O口。該 腳為開漏輸出腳。可用作復位觸發(fā)輸入。SDA:串行數(shù)據(jù)地址,用于所以數(shù)據(jù)得發(fā)送和接受。SDA還可以作為看門狗定時器控制器。VCC:電源GND:接地NC:空腳13 74HC0474HC04為六反相器Y=/A引腳圖14 74HC1474HC14是六反相器(施密特觸發(fā)器)Y=/A引腳如上圖。15 74HC7474HC74是一雙D型正 沿觸發(fā)器,帶預和清除端,其引腳與功能如下:功能表輸入輸出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分頻的信號再一次分頻,進一步降低它的頻率,提高單片機的測量圍。16 74HC1641.引出端排列圖和邏輯功能示意圖圖338所示是8位單相移位積存器74LS164的引出端排列圖和功能示意圖 。 (a)引出端排列圖 (b)邏輯功能示意圖 圖3-3 8位單向移位積存器74LS164Ds=Dsa*Dsr是數(shù)碼串行輸入端,/CR是清零端,Q0Q7是數(shù)據(jù)并行輸出端,CP是時鐘脈沖移位操作信號。2.邏輯功能

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

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

8、T89C2051成為一強勁的微型計算機。它為許多嵌入式控制應(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ù)器。6個中斷源。可編程串行UART通道。直接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顯示。當P1口引腳寫入“1”時,可用作輸入端。當引腳P1.2P1.7用作輸入端并被外部拉低時,將因部的上拉電阻而輸出電流(IIL)。P1口還在Flash編程和程序效驗期間接收代碼數(shù)據(jù)。(4) 3口:P3口的P3.0P3.5,P3.7是帶有部上拉電阻的7個雙向I/O引腳。P3.6用于固定輸入片比較器的輸出信號,并且作為一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。當P3口引腳寫入“1”時

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

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

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

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

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

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

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

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

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

19、期,再將時鐘端清0,完成一位二進制數(shù)的傳送,接著將第6位發(fā)送到P1.6端,如此循環(huán),完成一幀數(shù)據(jù)的傳送。其時序圖如下串行通訊時序圖36 整機工作原理 待測信號經(jīng)預處理電路之后,變成直流脈沖信號,經(jīng)波形轉(zhuǎn)換電路變換,信號變成削頂?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端進行計數(shù),如果頻率低500KHz,則直接將結(jié)果顯示出來,單位為Hz;若頻率高于500

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

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

22、P1.7;時鐘端DAT EQU P1.6 ;串行數(shù)據(jù)發(fā)送端SCL EQU P3.1 ;看門狗,E2ROMSDA EQU P3.0 PV EQU P3.4 ;計數(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ù)計數(shù)器MOS_BZ EQU 51H ;通道選擇寄存器BZ2 EQU 52H ;大小判斷標志LDBZ BIT 10H ;1Hz標志位LD1HZ EQU 7BH JSQ3 EQU 53H ;計數(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 ;復位看門狗 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;延時 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;=定時器初始化 MOV TMOD,#51H ;T1計數(shù),模式1 ;T0定時,模式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;啟動定時器 SETB TR1;啟動計數(shù)器 RET;=;以下為1161存儲芯片操作子程序;-RST_WDOG: CLRSDA ;復位看門狗 DB 0,0,0,0 SETB SDA RET;=DELAY10: NOP ;延時子程序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)閉計數(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計數(shù)),跳出中斷 MOV TH0,#63H MOV TL0,#0c0H DJNZ TX_T

33、IME,TIM0END ;若定時未到1s,則退出中斷 LDBZ,LDSJ ;若小于1, 轉(zhuǎn)1處理程序 MOV TX_TIME,#50;50*20=1000mS CLR TR1 ;關(guān)閉計數(shù)器 MOV A,TH1 MOV JSQ2,A ;計數(shù)高位送到JSQ2 MOV A,TL1 MOV JSQ3,A ;計數(shù)低位送JSQ3 ;= ;判斷是否小于1,如果小于1則再循環(huán)9次 MOV A,JSQ1 JNZ PY ;若T1已發(fā)生中斷,說明計數(shù)大于1 MOV A,JSQ2 ;計數(shù)器計數(shù)值是否大于1 JNZ PY MOV A,JSQ3 JNZ PY SETB LDBZ ;小于1,1標志位置位 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;中斷計數(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論