智能儀器課程設計——智能頻率計設計_第1頁
智能儀器課程設計——智能頻率計設計_第2頁
智能儀器課程設計——智能頻率計設計_第3頁
智能儀器課程設計——智能頻率計設計_第4頁
智能儀器課程設計——智能頻率計設計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 電子儀器綜合課程設計報告 題 目 智能數(shù)字頻率計 學院(部) 信 息 工 程 學 院 專 業(yè) 電 子 信 息 工 程 班 級 學生姓名 學 號 2021.02.20 至 2021.03.04 共 2 周 指導教師(簽字): 王選民、郭晨 一、課設題目:智能頻率計設計二技術指標: 測頻的范圍是1Hz1MHz三設計內(nèi)容本次設計的基于單片機的數(shù)字式頻率計包括波形整形電路、分頻電路、多路數(shù)據(jù)選擇器、單片機和顯示電路等幾個模塊。所以本次設計的數(shù)字式頻率計的電路由以下幾塊構(gòu)成:由施密特觸發(fā)器構(gòu)成的波形整形放大電路、由74LS90構(gòu)成的分頻電路、由74LS153四選一電路構(gòu)成的四選一電路、AT89C51單

2、片機以及由74LS138譯碼電路、74LS245上拉電路和八段數(shù)碼管顯示電路構(gòu)成的數(shù)碼顯示電路構(gòu)。其原理圖如圖1所示:放大整形電路分頻電路多路數(shù)據(jù)選擇器單片機顯示電路待測信號 圖1 系統(tǒng)框圖 控制電路在數(shù)字頻率計中起至關重要的作用。采用什么樣的控制電路,直接決定了數(shù)字頻率計的性能。為了得到一個高性能的數(shù)字頻率計,本次設計采用單片機來做為數(shù)字頻率計的核心控制電路,輔之于少數(shù)的外部控制電路。本系統(tǒng)讓被測信號經(jīng)過放大整形后,進入單片機開始計數(shù),利用單片機內(nèi)部定時計數(shù)器定時,在把所記得的數(shù)經(jīng)過相關處理后送到顯示電路中顯示?;趩纹瑱C的數(shù)字頻率計的設計,包括一個由放大整形電路、分頻電路、多路數(shù)據(jù)選擇器、

3、AT89C51以及顯示電路,其系統(tǒng)總電路圖如圖2所示: 圖2 總電路圖1.1放大整形電路因為在單片機計數(shù)中只能對脈沖波進行計數(shù),而實際中需要測量頻率的信號是多種多樣的,有脈沖波、還有可能有正弦波、三角波等,所以需要一個電路。把待測信號轉(zhuǎn)化為可以進行計數(shù)的脈沖波。 矩形脈沖波的整形電路有兩種:施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器。而這兩種電路都可以有門電路或是555定時器構(gòu)成。由于本次設計的基于單片機的數(shù)字頻率計的放大整形電路局部需求比擬簡單,所以我們選擇由555定時器構(gòu)成的施密特觸發(fā)器來作為信號波形整形電路, 施密特觸發(fā)器常見的邏輯符號如圖3所示。 圖3 施密特觸發(fā)器的邏輯符號集成施密特觸發(fā)器,常用TT

4、L電路集成施密特觸發(fā)器有7413等。常用CMOS電路集成施密特觸發(fā)器有CC40106等。本次設計采用的是脈沖定時測頻法,由于考慮到單片機的定時計數(shù)器得計數(shù)能力有限,無法對過高頻進行測量,所以我們對待測信號進行了分頻,這樣能提高測量頻率的范圍,還能相應的提高頻率測量的精度。所以我們需要把待測信號進行分頻。在本次設計中,因為我們要進行的是十分頻、一百分頻和一千分頻,所以我們選用74LS90電路,經(jīng)過正確的連接后就可以進行十分頻,進行三次十分頻就可以得到分頻一千次的信號。其引腳圖和功能表分別如圖4和表1所示。 圖4 74LS90引腳圖 表1 74LS90功能表 信號經(jīng)過分頻電路74LS90,其頻率將

5、減小到原信號的十分之一。本次設計需要用到一個四選一電路,用來選擇輸入單片機進行計數(shù)的待測信號。74LS153就是其中比擬好用和常用的一種四選一電路元件。所以這次采用很常見的74LS153集成電路,其電路圖如以下圖5所示: 圖5 74LS153電路原理圖 數(shù)據(jù)選擇器有多個輸入,一個輸出。其功能類似于單刀多擲開關,故又稱為多路開關(MUX)。在控制端的作用下可從多路并行數(shù)據(jù)中選擇一路送輸出端。TTL中規(guī)模數(shù)據(jù)選擇器是根據(jù)多位數(shù)據(jù)的編碼情況將其中一路數(shù)據(jù)由輸出端 送出的電路,74LS153是雙四選一數(shù)據(jù)選擇器,其中有兩個四選一數(shù)據(jù)選擇器,它們各有四個數(shù)據(jù)輸入端:1D3、1D2、1D1、1D0和2D3

6、、2D2、2D1、2D0。一個輸出端1Y、2Y和一個控制許可端S。系統(tǒng)控制端S為低電平有效。當控制許可端S=1時,傳輸通道被封鎖,芯片被禁止,Y=0,輸入的數(shù)據(jù)不能傳送出去;當控制許可端S=0時,傳輸通道翻開,芯片被選中,處于工作狀態(tài),輸入的數(shù)據(jù)被傳送出去A1、A0是地址選擇端,兩路選擇器共用。74LS153邏輯功能見表。從功能表可看出,當S端輸入為低電平時,四選一數(shù)據(jù)選擇器處于工作狀態(tài),它有4位并行數(shù)據(jù)輸入D0D3,單項選擇擇地址輸入A1、A0的二進制碼依次由00遞增至11時,4個通道的并行數(shù)據(jù)便依次傳送到輸出端W。 表2 74LS153的功能表A1A0/SW10000D0010D1100D

7、2110D3單片機作為控制系統(tǒng)和計數(shù)器,是本次設計的最重要的局部,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器FPEROMFalsh Programmable and Erasable Read Only Memory的低電壓,高性能CMOS8位微406%25u5668&s= %3A/ picavr /news/2021-02/4133.htm&rn=74898&v=1&ref= %3A/ picavr /news/c38/defaultp3.htm&province=%25u4E91%25u5357&city=%25u6606%25u660E t _blank 處理器,俗稱單片機

8、。該器件采用ATMEL高密度非易失存儲器制造ck/click.php?cpid=12&ads_id=12&pid=99002440&cid=2447&url= %3A/pc.toshiba /product/minisite/minisite_L100_M500_A100_M100.html&k=%25u6280%25u672F&s= %3A/ picavr /news/2021-02/4133.htm&rn=926749&v=1&ref= %3A/ picavr /news/c38/defaultp3.htm&province=%25u4E91%25u5357&city=%25u6606%2

9、5u660E t _blank 技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個/news/2021-02/4133.htm&rn=284362&v=1&ref= %3A/ picavr /news/c38/defaultp3.htm&province=%25u4E91%25u5357&city=%25u6606%25u660E t _blank 芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。所以本次設計采用AT89C51單片機。本次設計采用的是89C51單片機, 89C51是一種

10、高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供以下標準特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器,,一個5中斷源兩個優(yōu)先級的中斷結(jié)構(gòu),一個雙工的串行口,片上震蕩器和時鐘電路。 我們測量的頻率最終要顯示出來。八段LED數(shù)碼管顯示器根本電路如圖6所示。 圖6 八段LED數(shù)碼管顯示器八段LED數(shù)碼管顯示器由8個發(fā)光二極管組成?;?個長條形的發(fā)光管排列成“日字形,另一個圓點形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部份英ttp%3A/ picavr /news/c38/defaultp4.htm&province=%2

11、5u91CD%25u5E86&city=%25u91CD%25u5E86 t _blank 文字母。LED數(shù)碼管顯示器有兩種形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED數(shù)碼管顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED數(shù)碼管顯示器。如以下圖所示。共陰和共陽結(jié)構(gòu)的LED數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當二極管導通時,對應的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段hgfedcba對應于一個字節(jié)8位的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二進制碼就能表示欲顯示字符的字形代碼。在單片機應用系統(tǒng)中,數(shù)碼管顯示器顯

12、示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開銷小,能供應單獨鎖存的I/O接口電路很多。在單片機系統(tǒng)中動態(tài)掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個筆劃段a-h同名端連在一起,而每一個顯示器的公共極COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,那么取決于COM

13、端,而這一端是由I/O控制的,所以我們就能自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。 在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的約1ms,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。綜合以上內(nèi)容,我們在這次設計中采用LED數(shù)碼管,采用單片機靜態(tài)顯示計數(shù)來顯示。采用一個74LS138譯碼器來控制各個數(shù)碼管,采用一個74LS245來做上拉電路,使數(shù)碼顯示管有足夠的電壓進行顯示。顯示電路由數(shù)碼管和74LS1

14、38組成,數(shù)碼管已經(jīng)介紹過了,現(xiàn)在介紹顯示電路組成的另一重要電路:74LS138。在本次設計中,由74LS138連接數(shù)碼管的接地端,由此來控制數(shù)碼管的亮和滅。其引腳圖和功能表分別如圖7和表3所示。 圖7 74LS153引腳圖 表3 74LS138功能表G1G2CBAY0Y1Y2Y3Y4Y5Y6Y711111111101111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110由圖和功能表可以看出,74LS138譯碼器有三個地址輸入端

15、A、B、C和八個譯碼輸出端Y0Y7,當輸入為000時,Y0輸出端為0,其他輸出端都為1;同理可推出其他輸出狀態(tài),即只有輸出變量下標對應的二進制代碼與輸入代碼相等的輸出端為0,其他的輸出端都為1。另外,該譯碼器還有三個使能端:G1、/G2A、/G2B,只有當G1=1、/G2A=0、/G2B=0同時滿足,才能譯碼。三個條件中任何一個不滿足就禁止譯碼。其中譯碼選通端/G2B也被稱作數(shù)據(jù)輸入端,主要指它用于數(shù)據(jù)分配時所起的作用。設置多個使能端使得該譯碼器能被靈活組成各種電路。由于單片機輸出的顯示數(shù)據(jù)電壓不夠高,無法直接送到數(shù)碼管上直接顯示,因此需要用一個上拉電路來提高輸出數(shù)據(jù)的電壓值,以便送到數(shù)碼管顯

16、示。在本次設計中我們選用DM74LS245N。其電路圖如圖8所示。 圖8 DM74LS245N測頻軟件實現(xiàn)原理測頻軟件的實現(xiàn)是基于電路系統(tǒng)來進行設計的。本次設計采用的是脈沖定時測頻法,所以在軟件實現(xiàn)上根本遵照系統(tǒng)的設計原理,進行測頻。本次軟件設計語言采用匯編語言,在電腦上編譯通過后即可下載到電路上的實際電路中,即可實現(xiàn)頻率的測量。軟件設計的根本思路是:1、把要用到的內(nèi)部存儲器的地址運用偽指令標號,方便后面設計中運用;2、跳轉(zhuǎn)到中斷程序進行初步數(shù)據(jù)采集;3、開始主程序,首先判斷是否有待測信號,無信號就等待信號,有信號那么進行下一步;4、判斷是否認時到1S,假設沒有到達1S定時,那么執(zhí)行下面的5和

17、6步得操作,假設到達1S,那么執(zhí)行第6步以后的操作;5、判斷是否第一次,假設是,那么判斷當前的檔位是否設置適宜,假設適宜那么直接跳轉(zhuǎn)到返回主程序,假設不適宜,那么進入第6步;6、調(diào)整檔位,重新進入中斷開始初步計數(shù);7、判斷檔位是否適宜,適宜那么把測得的數(shù)據(jù)轉(zhuǎn)換為十進制數(shù)據(jù),根據(jù)當前的檔位相應的調(diào)整數(shù)位,并取表找到相應的顯示數(shù)據(jù),然后執(zhí)行第10步操作;8、假設上一步中判斷出檔位不適宜,那么根據(jù)頻率進行相應的檔位調(diào)整。9、恢復初值,重新開始計數(shù);10、返回主程序。 數(shù)碼轉(zhuǎn)換開始次數(shù)加1調(diào)整檔位,重新設置計時返回主程序判斷是否有信號判斷是定時到1s判斷是否適合顯示 返回否否是是是是否第一次檔位是否適

18、宜適否否是是否 1、控制程序:本文設計的是基于單片機的數(shù)字頻率計的設計,用單片機來做為數(shù)字頻率計的控制局部。因此,單片機的控制程序在本次設計中顯得非常重要。經(jīng)過設計,我們得到了如下的控制程序。;*;- MAIN -;* MAIN: NOP CALL DISPLAY0;LED動態(tài)顯示刷新 CALL DELAY100 JNB B_T1IF,MAIN;每50ms處理一次。;= CLR B_T1IF MOV A,TIMES_50MS CJNE A,#20,NO_1S JMP YES_1S; 滿20次即為一秒鐘;=NO_1S:MOV A,TIMES_50MSCJNE A,#1,NO_1S_END ;TI

19、MES_50MS不為1,返回;當TIMES_50MS為1時,判斷當前所選檔位是否過高或者過低;假設計數(shù)器BUF大于100,那么說明滿1秒時必然大于2000,那么提前調(diào)高頻率衰減檔位,;并清零各計數(shù)值,重新在新檔位測量MOV A,COUNTER_BUF_H JNZ NO_1S_1;計數(shù)器高位不為0,說明超100 MOV A,COUNTER_BUF_LCJNE A,#100,NO_1S_0NO_1S_0:JC NO_1S_LOW;計數(shù)器BUF小于100,繼續(xù)跳轉(zhuǎn)到NO_1S_LOW判斷是否需要調(diào)低檔位NO_1S_1:MOV A,FREQ_LOSS;超量程,判斷當前頻率衰減檔位,假設小于3那么加一檔

20、CJNE A,#3,NO_1S_2JMP NO_1S_ENDNO_1S_2:JC NO_1S_3MOV A,#3MOV FREQ_LOSS,A;檔位大于3,那么修正為3NO_1S_3:INC FREQ_LOSS;頻率衰減檔位加1MOV A,FREQ_LOSSCJNE A,#1,NO_1S_4SETB P153_B;FREQ_LOSS=1CLR P153_AJMP NO_1S_20NO_1S_4:CJNE A,#2,NO_1S_5CLR P153_B;FREQ_LOSS=2SETB P153_AJMP NO_1S_20NO_1S_5:CLR P153_B;FREQ_LOSS=3CLR P153_

21、AJMP NO_1S_20;=NO_1S_LOW:MOV A,COUNTER_BUF_LCJNE A,#10,NO_1S_10NO_1S_10:JNC NO_1S_END;偏低,那么判斷是否需要降低頻率衰減檔位MOV A,FREQ_LOSS;JZ NO_1S_END;已經(jīng)是最低檔,無需調(diào)整DEC FREQ_LOSS;減一檔MOV A,FREQ_LOSSCJNE A,#0,NO_1S_11SETB P153_B;FREQ_LOSS=0SETB P153_AJMP NO_1S_20NO_1S_11:CJNE A,#1,NO_1S_12SETB P153_B;FREQ_LOSS=1CLR P153_

22、AJMP NO_1S_20NO_1S_12:CLR P153_B;FREQ_LOSS=2SETB P153_AJMP NO_1S_20NO_1S_20:;調(diào)整檔位后,重新計數(shù)CLR AMOV TIMES_50MS,AMOV COUNTER_BUF_L,AMOV COUNTER_BUF_H,ANO_1S_END:JMP MAIN;=;=YES_1S:;把計數(shù)器的數(shù)轉(zhuǎn)換成10進制,并根據(jù)當前檔位設定好要顯示的6個數(shù)字,;存放在DISPLAY_DATA1-DISPLAY_DATA6中。MOV A,COUNTER_BUF_HMOV R7,AMOV A,COUNTER_BUF_LMOV R6,ACALL

23、 CHANGE16_10;=;在頻率衰減控制下,計數(shù)器數(shù)據(jù)不會超出2000多少,因此只取轉(zhuǎn)換后的低4位轉(zhuǎn)換成數(shù)據(jù)顯示MOV A,R3ANL A,#0FHMOV TEMP1,AMOV A,R3ANL A,#0F0HSWAP AMOV TEMP2,A MOV A,R4ANL A,#0FHMOV TEMP3,A MOV A,R4ANL A,#0F0HSWAP AMOV TEMP4,A;=;根據(jù)頻率衰減檔位調(diào)整數(shù)位MOV A,FREQ_LOSSCJNE A,#0,LOSS_1CLR AMOV DATA4,AMOV DATA5,AJMP LOSS_ENDLOSS_1:CJNE A,#1,LOSS_2MO

24、V A,DATA3MOV DATA4,AMOV A,DATA2MOV DATA3,AMOV A,DATA1MOV DATA2,AMOV A,DATA0MOV DATA1,ACLR AMOV DATA0,AMOV DATA5,AJMP LOSS_ENDLOSS_2:CJNE A,#2,LOSS_3MOV A,DATA3MOV DATA5,AMOV A,DATA2MOV DATA4,AMOV A,DATA1MOV DATA3,AMOV A,DATA0MOV DATA2,ACLR AMOV DATA0,AMOV DATA1,AJMP LOSS_ENDLOSS_3:MOV A,DATA2MOV DAT

25、A5,AMOV A,DATA1MOV DATA4,AMOV A,DATA0MOV DATA3,ACLR AMOV DATA0,AMOV DATA1,AMOV DATA2,ALOSS_END:;高位假設為0,那么置為11,取出顯示代碼為LED全滅MOV R0,#DATA5;取最高位數(shù)據(jù)地址MOV R2,#5LOOP_CLR:MOV A,R0JNZ DISCDMOV A,#11MOV R0,ADEC R0DJNZ R2,LOOP_CLR;=;取表找相應顯示代碼DISCD:MOV R0,#DATA_ADDR;MOV R1,#DISPLAY_DATA_ADDR;MOV R2,#6;MOV DPTR,#

26、TABDILP:MOV A,R0MOVC A,A+DPTRMOV R1,AINC R0INC R1DJNZ R2,DILP;=;重新計數(shù)CLR AMOV TIMES_50MS,AMOV COUNTER_BUF_L,AMOV COUNTER_BUF_H,AJMP MAINTAB: ;/顯示碼碼表/ DB 3FH,06H,5BH,4FH,66H; DB 6DH,7DH,07H,7FH,6FH,0FFH;2、數(shù)碼轉(zhuǎn)化程序:在本次設計中,單片機計數(shù)器所計得的數(shù)是二進制,以十六進制數(shù)的形式存放在存放器中,而我們需要顯示的是十進制數(shù)的頻率,因此需要進行轉(zhuǎn)化才能顯示。數(shù)碼轉(zhuǎn)化程序設計的原理:本次設計的單片機

27、數(shù)碼轉(zhuǎn)換是通過單片機的移位乘二特性和單片機的十進制調(diào)整功能來實現(xiàn)的。先把雙字節(jié)的十六進制數(shù)轉(zhuǎn)換為8421BCD碼,在控制顯示的時候通過位調(diào)整就可以得到計數(shù)所得頻率的十進制數(shù)據(jù),供應顯示。其具體的轉(zhuǎn)換程序如下。;*; - 16進制轉(zhuǎn)10進制 -;*;雙字節(jié)十六進制整數(shù)轉(zhuǎn)換成雙字節(jié)碼整數(shù);入口條件:待轉(zhuǎn)換的雙字節(jié)十六進制整數(shù)在R6、R7中。;出口信息:轉(zhuǎn)換后的三字節(jié)碼整數(shù)在R3、R4、R5中。;影響資源:PSW、A、R2R7 堆棧需求: 字節(jié)CHANGE16_10: CLR A ;碼初始化 MOV R3, A MOV R4, A MOV R5, A MOV R2, #10H ;轉(zhuǎn)換雙字節(jié)十六進制整

28、數(shù)CHANG_1: MOV A, R7 ;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中 RLC A MOV R7, A MOV A, R6 RLC A MOV R6, A MOV A, R5 ;碼帶進位自身相加,相當于乘 ADDC A, R5 DA A ;十進制調(diào)整 MOV R5, A MOV A, R4 ADDC A, R4 DA A MOV R4, A MOV A, R3 ADDC A, R3 MOV R3, A ;雙字節(jié)十六進制數(shù)的萬位數(shù)不超過,不用調(diào)整 DJNZ R2, CHANG_1 ;處理完 RET數(shù)碼顯示程序:單片機控制其內(nèi)部計數(shù)器得到的數(shù)據(jù)要送到8位數(shù)碼顯示管中顯示出來,才能被我們所看到,直接得到我們所測量的頻率。我們本次設計所采用的是數(shù)碼管靜態(tài)顯示,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論