




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上頻率計(jì)實(shí)驗(yàn)報(bào)告一、 實(shí)驗(yàn)?zāi)康?掌握單片機(jī)、數(shù)字譯碼和顯示單元的組成和工作原理 學(xué)習(xí)及演示任務(wù),增強(qiáng)勸阻實(shí)驗(yàn)創(chuàng)新能力二、實(shí)驗(yàn)要求1、被測頻率fx小于110Hz采用測周法,顯示頻率XXX。XXX;fx大于110Hz采用測頻法,顯示頻率XXXXXX;2、可利用鍵盤分段測量和自動(dòng)分段測量;3、可完成單脈沖測量,輸入脈沖寬度范圍是100微秒-0.1秒;三、設(shè)計(jì)目的三、基本原理所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定的時(shí)間間隔T內(nèi)測得這個(gè)周期性信號(hào)的重復(fù)變化次數(shù)N,則其頻率可表示為f=T/N。其中脈沖形成電路的作用是將被測信號(hào)變成脈沖信號(hào)。其重復(fù)頻率等
2、于被測頻率f,時(shí)間基準(zhǔn)信號(hào)發(fā)生器提供基準(zhǔn)的時(shí)間脈沖信號(hào)。若其周期為1S,則門控電路的輸出信號(hào)持續(xù)時(shí)間也等于1S,門閘電路由標(biāo)準(zhǔn)秒信號(hào)進(jìn)行控制。當(dāng)秒信號(hào)來到時(shí),門閘開通,被測脈沖信號(hào)通過閘門送到計(jì)數(shù)譯碼顯示電路。秒信號(hào)結(jié)束時(shí),門閘關(guān)斷。計(jì)數(shù)器停止計(jì)數(shù),由于計(jì)數(shù)器計(jì)得的脈沖數(shù)N是在1S時(shí)間內(nèi)的累計(jì)數(shù),所以被測頻率等于N。四,實(shí)驗(yàn)設(shè)計(jì)分析 使用數(shù)碼管顯示 控制最簡單,根據(jù)設(shè)計(jì)要求顯示格式XXXX。可以準(zhǔn)確的顯示頻率大小,又由于數(shù)碼管簡單便宜且滿足設(shè)計(jì)要求,所以選著數(shù)碼管顯示比較合理。選擇AT89C51作為單片機(jī)芯片,選用兩位8段共陰極LED數(shù)碼管實(shí)現(xiàn)頻率顯示,利用8279作I/O口擴(kuò)展,連接數(shù)碼管和
3、鍵盤。通過定時(shí)器1計(jì)時(shí)方式,定時(shí)器0計(jì)數(shù)方式,定時(shí)每秒鐘對(duì)外部頻率計(jì)數(shù),單片機(jī)的時(shí)鐘一般需要多相時(shí)鐘,所以時(shí)鐘電路由振蕩器和分頻器組成。 AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的可控高增益反向放大器。兩個(gè)引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。在片外跨接一晶振和兩個(gè)匹配電容C1、C2如圖4.3所示,就構(gòu)成一個(gè)自激振蕩器。振蕩頻率根據(jù)實(shí)際要求的工作速度,從幾百千赫至24MHz可適當(dāng)選取某一頻率。匹配電容C1、C2要根據(jù)石英晶體振蕩器的要求選取。當(dāng)晶振頻率為12MHz時(shí),C1C2一般選30pF左右。上述電路是靠AT89C51單片機(jī)內(nèi)部電路產(chǎn)生振蕩的。也可以由外部振蕩器或時(shí)鐘直接驅(qū)
4、動(dòng)AT89C51。本設(shè)計(jì)采用內(nèi)部電路產(chǎn)生振蕩。 系統(tǒng)原理框圖選擇AT89C51作為單片機(jī)芯片,選用兩位8段共陰極LED數(shù)碼管實(shí)現(xiàn)頻率顯示,利用8279作I/O口擴(kuò)展,連接數(shù)碼管和鍵盤。通過定時(shí)器1計(jì)時(shí)方式,定時(shí)器0計(jì)數(shù)方式,定時(shí)每秒鐘對(duì)外部頻率計(jì)數(shù),把計(jì)數(shù)值通過8279芯片在數(shù)碼管上顯示。如圖4.1所示。四位位數(shù)碼管8279P3 P2P3.48051數(shù)據(jù)圖4.1 系統(tǒng)原理框圖啟動(dòng)鍵晶振電路復(fù)位電路 時(shí)鐘電路和復(fù)位電路1.時(shí)鐘電路單片機(jī)的時(shí)鐘一般需要多相時(shí)鐘,所以時(shí)鐘電路由振蕩器和分頻器組成。 AT89s52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的可控高增益反向放大器。兩個(gè)引腳XTAL1和XTAL2分別是該放
5、大器的輸入端和輸出端。在片外跨接一晶振和兩個(gè)匹配電容C1、C2如圖4.3所示,就構(gòu)成一個(gè)自激振蕩器。振蕩頻率根據(jù)實(shí)際要求的工作速度,從幾百千赫至24MHz可適當(dāng)選取某一頻率。匹配電容C1、C2要根據(jù)石英晶體振蕩器的要求選取。當(dāng)晶振頻率為12MHz時(shí),C1C2一般選30pF左右。上述電路是靠AT89s52單片機(jī)內(nèi)部電路產(chǎn)生振蕩的。也可以由外部振蕩器或時(shí)鐘直接驅(qū)動(dòng)AT89s52。本設(shè)計(jì)采用內(nèi)部電路產(chǎn)生振蕩。五,實(shí)驗(yàn)要求實(shí)現(xiàn) 基本電路設(shè)計(jì)單片機(jī)最小系統(tǒng)模塊包括主控單元和基本外圍電路,具體如圖3-2所示。采用外部5V電源, AT89C51為主控芯片,P0口采用74LS373驅(qū)動(dòng),采用11.0592HZ
6、晶振,手動(dòng)高電平復(fù)位方式。通過P3.4采集外部輸入頻率,實(shí)時(shí)掃描鍵盤輸入,控制輸出采集頻率。 數(shù)碼管顯示電路設(shè)計(jì)數(shù)碼管顯示電路由4位八段共陰數(shù)碼及8279芯片及74HS138芯片組成,共陰數(shù)碼管在應(yīng)用時(shí)將公共極COM接到地,當(dāng)某一字段發(fā)光二極管的陰極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為低電平時(shí),相應(yīng)字段就不亮。8279是專用鍵盤、顯示接口芯片,單個(gè)芯片就能完成鍵盤輸入和LED顯示控制兩種功能。可以為64鍵的接觸方式按鍵陣列提供掃描接口,能自動(dòng)消除按鍵抖動(dòng)以及n鍵同時(shí)按下的保護(hù)。通過數(shù)碼管顯示,可以簡單而準(zhǔn)確的實(shí)現(xiàn)顯示頻率。采用芯片不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)
7、省大量的I/O端口,而且功耗更低。 頻率發(fā)生電路設(shè)計(jì)頻率發(fā)生電路是由4個(gè)74LS393芯片以及晶振電路產(chǎn)生600HZ、300HZ、150HZ、75HZ、4種不同的頻率,電路設(shè)計(jì)簡單,產(chǎn)生頻率穩(wěn)定。 電源電路設(shè)計(jì) 本電源電路是通過變壓器,把外部接入的22V電源轉(zhuǎn)變?yōu)?V電源,采用7805使電源穩(wěn)定。 程序流程圖由于C語言編程容易,且Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件。Keil提供了包括C、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)(uVision)將這些部分組合在一起。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊
8、湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。所以我們使用Keil軟件進(jìn)行編程。根據(jù)設(shè)計(jì)項(xiàng)目所需功能,我們先進(jìn)行初始化,在待機(jī)狀態(tài)下,采集頻率。然后把采集的頻率進(jìn)行十進(jìn)制轉(zhuǎn)換,然后檢測是否有鍵按下,若鍵0按下,則數(shù)碼管顯示所采集的頻率,再按下鍵0時(shí)則不顯示。系統(tǒng)實(shí)現(xiàn)所有功能,其程序框圖如圖4-1所示。定時(shí)器8初始化采集頻率頻率轉(zhuǎn)換數(shù)碼管顯示YN鍵0按下開始 主程序、/*三:頻率計(jì)設(shè)計(jì)要求:1:被測頻率fx小于110Hz采用測周法,顯示頻率XXX。XXX;fx大于110Hz采用測頻法,顯示頻率XXXXXX;2:可利用鍵盤分段測量和自動(dòng)分段測量;3:可完成單脈沖測量,輸入脈沖寬度范圍是10
9、0微秒-0.1秒;4:自由發(fā)揮其他功能. */#include<reg52.h>#define uint unsigned int #define unchar unsigned charsbit enter=P34;sbit start=P30;unchar code table1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 ;unchar code table2=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uint t,a,b,
10、temp;float tt;long nn;/聲明函數(shù)void delay();void init();void display(long);void examf();void examt();void scan();/*主函數(shù)*/void main() init();while(1) examf(); examt(); if(nn<=110)display(tt); elsedisplay(nn);/*函數(shù)的定義*void delay()uint i,j;for(i=0;i+;i<10) for(j=0;j+;j<10);void init()t=0;TMOD=0x15;T
11、H1=(65536-50000)/256;TL1=(65536-50000)%256;TH0=0x00;TL0=0x00;EA=1;ET1=1;ET0=1;TR1=1;TR0=1;IE=0x8a;void timer0() interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;t+;void examf() if(t=20) t=0; a=TH0; b=TL0; TH0=0x00; TL0=0x00; nn=a*256+b; void examt() int x,y; if(TH0=0x00)&&(TL0=0x01) TH
12、0=0x00; TL0=0x00; x=TH1-(65536-50000)/256; y=TL1-(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; tt=0.*(256*x+y);/*float examt() if(t=20) t=0; a=TH0; b=TL0; TH0=0x00; TL0=0x00; nn=a*256+b; */void display(long h)uint sw,wan,qian,bai,shi,ge;sw=h/;wan=h%/10000;qian=h%10000/1000;bai=h%1
13、000/100;shi=h%100/10;ge=h%10;/if(sw!=0)P0=table1sw;P2=0xdf;delay();P2=0xff;P0=table1wan;P2=0xef;delay();P2=0xff;P0=table1qian;P2=0xf7;delay();P2=0xff;P0=table1bai;P2=0xfb;delay();P2=0xff;P0=table1shi;P2=0xfd;delay();P2=0xff;P0=table1ge;P2=0xfe;delay();P2=0xff;void scan()/檢查第四行鍵盤P1=0x7f; temp=P1;temp
14、=P1&0x0f; while(temp!=0x0f) delay(); temp=P1; temp=P1&0x0f; while(temp!=0x0f) temp=P1; switch(temp) case 0x7e:enter=1; /表示4,4按下 break; case 0x7d:enter=1; /表示4,3按下 break; case 0x7b:enter=1; /表示4,2按下 break; case 0x77:enter=1; /表示4,1按下 break; while(temp!=0x0f) temp=P1; temp=temp&0x0f; /檢查第三
15、排鍵盤/*P3=0xbf; temp=P3;temp=P3&0x0f; while(temp!=0x0f) delay(); temp=P3; temp=P3&0x0f; while(temp!=0x0f) temp=P3; switch(temp) case 0xbe: num=1;/表示3,4按下 break; case 0xbd:num=6;/表示3,3按下 break; case 0xbb:num=3;/表示3,2按下 break; case 0xb7:num=4;/表示3,1按下 break; while(temp!=0x0f) temp=P3; temp=temp&
16、amp;0x0f; /檢查第二行鍵盤P3=0xdf; temp=P3;temp=P3&0x0f; while(temp!=0x0f) delay(); temp=P3; temp=P3&0x0f; while(temp!=0x0f) temp=P3; switch(temp) case 0xde:num=1; /表示2,4按下 break; case 0xdd:num=6;/表示2,3按下 break; case 0xdb:num=3;/表示2,2按下 break; case 0xd7:num=4;/表示2,1按下 break; while(temp!=0x0f) temp=P
17、3; temp=temp&0x0f; /檢查第一行鍵盤P3=0xef; temp=P3;temp=P3&0x0f; while(temp!=0x0f) delay(); temp=P3; temp=P3&0x0f; while(temp!=0x0f) temp=P3; switch(temp) case 0xee:num=1; /表示1,4按下 break; case 0xed:num=6;/表示1,3按下 break; case 0xeb:num=3;/表示1,2按下 break; case 0xe7:num=4;/表示1,1按下 break; while(temp!
18、=0x0f) temp=P3; temp=temp&0x0f; */采集頻率采集頻率采集頻率采集頻率軟硬件調(diào)試數(shù)字頻率計(jì)是采用數(shù)字電路制成的實(shí)現(xiàn)對(duì)周期性變化信號(hào)的頻率的測量。數(shù)值頻率計(jì)是通信設(shè)備、音、視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用Verilog HDL編程設(shè)計(jì)實(shí)現(xiàn)的數(shù)字頻率計(jì)。除被測信號(hào)的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片F(xiàn)PGA芯片上實(shí)現(xiàn),整個(gè)系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定的時(shí)間間隔T內(nèi)測得這個(gè)周期性信號(hào)的重復(fù)變化次數(shù)N,則其頻率可表示為f=T/N。其中脈沖形成電路的作用是將被
19、測信號(hào)變成脈沖信號(hào)。其重復(fù)頻率等于被測頻率f,時(shí)間基準(zhǔn)信號(hào)發(fā)生器提供基準(zhǔn)的時(shí)間脈沖信號(hào)。若其周期為1S,則門控電路的輸出信號(hào)持續(xù)時(shí)間也等于1S,門閘電路由標(biāo)準(zhǔn)秒信號(hào)進(jìn)行控制。當(dāng)秒信號(hào)來到時(shí),門閘開通,被測脈沖信號(hào)通過閘門送到計(jì)數(shù)譯碼顯示電路。秒信號(hào)結(jié)束時(shí),門閘關(guān)斷。計(jì)數(shù)器停止計(jì)數(shù),由于計(jì)數(shù)器計(jì)得的脈沖數(shù)N是在1S時(shí)間內(nèi)的累計(jì)數(shù),所以被測頻率等于N明確頻率計(jì)工作原理以后,為了更清晰的對(duì)程序進(jìn)行編寫。還應(yīng)該做出程序的總體框圖,程序的主體可以分為四個(gè)模塊:定時(shí)計(jì)數(shù)、采集數(shù)據(jù)、進(jìn)制轉(zhuǎn)換和數(shù)碼顯示。務(wù)是利用開發(fā)工具進(jìn)行調(diào)試,發(fā)現(xiàn)和糾正程序的錯(cuò)誤,同時(shí)也能發(fā)現(xiàn)硬件的故障。軟件調(diào)試是一個(gè)模塊接一個(gè)模塊進(jìn)行的
20、。首先單獨(dú)調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常。最后調(diào)試整個(gè)程序。尤其注意的是各模塊間能否正確的傳遞參數(shù)。1. 檢查數(shù)碼管顯示模塊程序。觀察數(shù)碼管上是否能夠顯示相應(yīng)的字符。2. 檢查定時(shí)計(jì)數(shù)模塊程序。可以在硬件電路的輸入端P3.4輸入已知的4個(gè)頻率,分別觀察數(shù)碼管上是否顯示相應(yīng)的頻率值。3. 檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序。 程序可分為數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)轉(zhuǎn)換系統(tǒng)、顯示系統(tǒng),這三部分先獨(dú)立測試,然后整體調(diào)試。數(shù)據(jù)采集系統(tǒng):采用單片機(jī)內(nèi)部兩個(gè)定時(shí)器,定時(shí)器1定時(shí),定時(shí)器0計(jì)數(shù),采集輸入頻率,并轉(zhuǎn)換為用于顯示的代碼。 顯示系統(tǒng)的調(diào)試:要顯示的數(shù)據(jù)存放在71H、72H單元中,先在30H39H分單元中存放09的數(shù),運(yùn)行顯示程序,進(jìn)行查表指令,察看顯示的結(jié)果是否與存放值一樣。整體測試:把三部分進(jìn)行程序聯(lián)調(diào),編譯程序,看是否存在錯(cuò)誤。經(jīng)過多次的嘗試與查找相資料,最后做出并完善了整體的方案。系統(tǒng)功能分析 本課程設(shè)計(jì)是利用單片機(jī)設(shè)計(jì)一個(gè)頻率計(jì),能夠0HZ-9999HZ的頻率,四位位
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物藥品的疾病模型構(gòu)建與藥物篩選考核試卷
- 重癥肺炎合并ARDS個(gè)案護(hù)理 2
- 5-14順序脈沖信號(hào)發(fā)生器
- 2-2復(fù)合邏輯運(yùn)算
- AIGC應(yīng)用基礎(chǔ)課件
- 統(tǒng)編版語文五年級(jí)下冊(cè)第19課《牧場之國》精美課件
- 泰山職業(yè)技術(shù)學(xué)院《藥理學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蕪湖市新蕪區(qū)2024-2025學(xué)年小升初總復(fù)習(xí)數(shù)學(xué)精練含解析
- 蘭州文理學(xué)院《醫(yī)學(xué)概論實(shí)驗(yàn)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆和田地區(qū)2025年下學(xué)期高三年級(jí)二調(diào)考試數(shù)學(xué)試題試卷含解析
- 第24課《詩詞曲五首-南鄉(xiāng)子 登京口北固亭有懷》課件共34張
- 山東省濰坊市2023-2024 學(xué)年高二下學(xué)期期中質(zhì)量監(jiān)測化學(xué)試題+帶答案
- 鐵路少年-練習(xí)及答案
- 《隧道工程》課件
- DB-T29-111-2018埋地鋼質(zhì)管道陰極保護(hù)技術(shù)規(guī)程
- 2024年化糞池清理合同協(xié)議書范本
- 企業(yè)業(yè)務(wù)賬號(hào)管理辦法
- YY 0793.2-2023血液透析和相關(guān)治療用液體的制備和質(zhì)量管理第2部分:血液透析和相關(guān)治療用水
- 手術(shù)患者轉(zhuǎn)運(yùn)交接及注意事項(xiàng)
- 思維障礙的診斷與治療方法
- 產(chǎn)房人文關(guān)懷護(hù)理課件
評(píng)論
0/150
提交評(píng)論