單片機課程設計報告-簡易頻率計設計_第1頁
單片機課程設計報告-簡易頻率計設計_第2頁
單片機課程設計報告-簡易頻率計設計_第3頁
單片機課程設計報告-簡易頻率計設計_第4頁
單片機課程設計報告-簡易頻率計設計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計報告簡 易 頻 率 計 設 計 學 院: 班 級: 姓 名: 學 號: 指導老師:羅光明 完成日期:2012-03-25目錄摘 要- 2 -第一章 頻率計設計概述- 3 -第二章 AT89C51單片機及其引腳說明- 3 -第三章 分頻電路- 5 -第四章 顯示電路- 6 -第五章 系統(tǒng)整體原理圖- 7 -第六章 系統(tǒng)軟件設計- 8 -1測頻軟件實現(xiàn)原理- 8 -2軟件流程圖- 9 -3程序設計- 9 -第七章 仿真測試結(jié)果- 11 -(1)復位操作- 11 -(2)頻率為9HZ- 12 -(3)頻率為99HZ- 12 -(4)頻率為999HZ- 13 -(5)頻率為9999HZ-

2、 13 -第八章 單片機課程設計原材料清單- 14 -結(jié)束語- 14 -1.結(jié)論- 14 -2.致謝- 15 -參考文獻- 15 -摘要隨著電子信息產(chǎn)業(yè)的不斷發(fā)展,信號頻率的測量在科技研究和實際應用中的作用日益重要。傳統(tǒng)的頻率計通常是用很多的邏輯電路和時序電路來實現(xiàn)的,這種電路一般運行較慢,而且測量頻率的范圍較小??紤]到上述問題,本文設計一基于單片機設計頻率計。本文從頻率計的原理出發(fā),介紹了基于單片機的頻率計的設計方案,選擇了實現(xiàn)系統(tǒng)的各種電路元器件,并對硬件電路進行了仿真,并焊制出了實際的電路板,測試表明與理論大體相符。關鍵字:單片機;頻率計;測量;AT89C51第一章 頻率計設計概述本頻率

3、計的設計以AT89C51單片機為核心,利用他內(nèi)部的定時計數(shù)器完成待測信號頻率的測量。單片機AT89C51內(nèi)部具有2個16位定時計數(shù)器,定時計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。設計將定時/計數(shù)器0設置工作在定時方式,定時/計數(shù)器1設置工作在計數(shù)方式。在定時器工作方式下,在被測時間間隔內(nèi),每來一個機器周期,計數(shù)器自動加1(使用12 MHz時鐘時,每1s加1),這樣以機器周期為基準可以用來測量時間間隔。在計數(shù)器工作方式下,加至外部引腳的待測信號發(fā)生從1到0的跳變時計數(shù)器加1,這樣在計數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測

4、一次從1到0的跳變至少需要2個機器周期(24個振蕩周期),所以最大計數(shù)速率為時鐘頻率的124(使用12 MHz時鐘時,最大計數(shù)速率為500 kHz)。第二章 AT89C51單片機及其引腳說明:89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器, 一個5中斷源兩個優(yōu)先級的中斷結(jié)構(gòu),一個雙工的串行口, 片上震蕩器和時鐘電路。引腳說明:VCC:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅(qū)動8個TTL邏輯門電路。當對0端口寫入1時,可以

5、作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設定成地址數(shù)據(jù)總線復用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。P1口:P1口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內(nèi)部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。P2口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅(qū)動4個TTL邏

6、輯門電路。當向P2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內(nèi)部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內(nèi)容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。P3口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P3口寫1

7、時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,具體如下表1所示:端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器都選通)表1 P3口的第二功能RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期的高電平將使單片機復位。ALE/:當訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖

8、存地址的低8位字節(jié)。當在Flash編程時還可以作為編程脈沖輸出()。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。:程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執(zhí)行外部程序存儲器的指令時,每個機器周期兩次有效,除了當訪問外部數(shù)據(jù)存儲器時,將跳過兩個信號。/VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指令,必須同GND相連接。需要主要的是,如果加密位1被編程,復位時EA端會自動內(nèi)部鎖存。當執(zhí)行內(nèi)部編程指令時,應該接到VCC端。XTAL1:振蕩器反相放大器

9、以及內(nèi)部時鐘電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。在本次設計中,采用89C51作為CPU處理器,充分利用其硬件資源,結(jié)合D觸發(fā)器CD4013,分頻器CD4060,模擬轉(zhuǎn)換開關CD4051,計數(shù)器74LS90等數(shù)字處理芯片,主要控制兩大硬件模塊,量程切換以及顯示模塊。第三章 分頻電路 本次設計采用的是脈沖定時測頻法,由于考慮到單片機的定時計數(shù)器得計數(shù)能力有限,無法對過高頻進行測量,所以我們對待測信號進行了分頻,這樣能提高測量頻率的范圍,還能相應的提高頻率測量的精度。所以我們需要把待測信號進行分頻。其原理圖如3.3 3.3 4040原理圖 第四章 顯示電路我們測量的頻率最終要顯示出來

10、八段LED 數(shù)碼管顯示器由8 個發(fā)光二極管組成?;? 個長條形的發(fā)光管排列成“日”字形,另一個圓點形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部份英文字母。LED 數(shù)碼管顯示器有兩種形式:一種是8 個發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED 數(shù)碼管顯示器;另一種是8 個發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED 數(shù)碼管顯示器。如下圖所示。共陰和共陽結(jié)構(gòu)的LED 數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當二極管導通時,對應的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段 h g f e d c b a 對應于一個字節(jié)(8 位)的D7、D6、D

11、5、。D4、D3、D2、D1、D0,于是用8 位二進制碼就能表示欲顯示字符的字形代碼。在單片機應用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O 接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種辦法單片機中CPU 的開銷小,能供給單獨鎖存的I/O 接口電路很多。在單片機系統(tǒng)中動態(tài)掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8 個筆劃段a-h 同名端連在一起,而每一個顯示器的公共極CO

12、M 是各自獨立地受I/O 線控制。CPU 向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取決于COM 端,而這一端是由I/O 控制的,所以我們就能自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的辦法,輪流控制各個顯示器的COM 端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。其原理圖3.43.4顯示電路原理圖第五章 系統(tǒng)整體原理圖第六章 系統(tǒng)軟件設計1

13、測頻軟件實現(xiàn)原理 測頻軟件的實現(xiàn)是基于電路系統(tǒng)來進行設計的。本次設計采用的是脈沖定時測頻法,所以在軟件實現(xiàn)上基本遵照系統(tǒng)的設計原理,進行測頻。本次軟件設計語言采用C語言,在電腦上編譯通過后即可下載到電路上的實際電路中,即可實現(xiàn)頻率的測量。2軟件流程圖 開始初始化T1定時,T0計數(shù)T0計數(shù)滿T1定時1秒滿 While(1)T0count+ 計算脈沖個數(shù)sum 送數(shù)碼管顯示 3 程序設計 #includebit int_flag;unsigned char volatile T0Count;unsigned char volatile T1Count;unsigned char code tabl

14、e =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char code temp = 0xfe,0xfd,0xfb,0xf7;unsigned long sum;unsigned char Led4;void delay(unsigned int num )while(-num);void init(void) TMOD=0x15;/TMOD=0x51; /T1定時,T0計數(shù) TH1=(65536-50000)/256;/TH0=(65536-50000)/256; /定時50ms TL1=(65536-50000)%25

15、6;/ TL0=(65536-50000)%256;TH0=0x00;/TH1=0x00;TL0=0x00;/TL1=0x00;void disp(void)unsigned char i;for(i=0;i4;i+)P2=tempi;/片選P0=tableLedi;/取數(shù)據(jù)顯示delay(100);/延時1毫秒void main(void)EA=1;init();TR0=1;TR1=1;ET1=1;ET0=1;while(1) if(int_flag=1) int_flag=0;sum=TL0+TH0*256+T0Count*65536; /計算脈沖個數(shù)Led3=sum%10000/1000

16、;/顯示千位Led2=sum%1000/100;/顯示百位Led1=sum%100/10;/顯示十位Led0=sum%10;/顯示個位T1Count=0x00;T0Count=0;TH0=0x00;TL0=0x00;TR0=1; disp();void int_t1(void) interrupt 3TH1=(65535-50000)/256;TL1=(65536-50000)%256;T1Count+;if(T1Count=20)TR0=0;int_flag=1;T1Count=0x00;void int_T0(void) interrupt 1 T0Count+;第七章 仿真測試結(jié)果(1)

17、 復位操作(2) 頻率為9HZ,頻率捕捉很準(3) 頻率為99HZ,頻率捕捉很準(4) 頻率為999HZ,頻率捕捉較準,產(chǎn)生一定誤差(5) 頻率為9999HZ,頻率捕捉較準,產(chǎn)生較大誤差第八章 單片機課程設計原材料清單結(jié)束語1.結(jié)論在單片機應用系統(tǒng)設計時,必須先確定該系統(tǒng)的技術要求,這是系統(tǒng)設計的依據(jù)和出發(fā)點,整個設計過程都必須圍繞這個技術要求來工作。在設計時遵循從整體到局部也即自上而下的原則。把復雜的問題分解為若干個比較簡單的、容易處理的問題,分別單個的加以解決。將總?cè)蝿辗纸獬煽梢元毩⒈磉_的子任務,這些子任務再向下分,直到每個子任務足夠簡單,能夠直接而容易的實現(xiàn)為止。在程序調(diào)試時應按各個功能

18、模塊分別調(diào)試。在程序設計時,正確合理的設計是非常重要的,正確的程序設計包括程序的結(jié)構(gòu)是否合理,一些循環(huán)結(jié)構(gòu)和循環(huán)指令的使用是否恰當,能否使用較少的循環(huán)次數(shù)或較快的指令,是否能把某些延遲等待的操作改為中斷申請服務,能否把某些計算方法和查表技術適當簡化等。另外程序的設計要具有可擴展性,程序的結(jié)構(gòu)要標準化,便于閱讀、修改和擴充。通過本次課程設計,我更加地了解和掌握單片機的基本知識和基本的編寫程序,也更加深入地了解單片機這么課程,掌握匯編語言的設計和調(diào)試方法。對于認識到自己在知識方面存在的不足,明確今后的學習方向是非常有益的。在設計過程中,得到了我的指導老師的悉心指導與幫助,在此一并表示衷心的感謝。2.致謝衷心感謝羅光明老師、曾段明老師的悉心指導,是你們的幫助讓我順利的完成了課程設計。同時也感謝給予我?guī)椭耐瑢W!謝謝你們!參考文獻1 李雷等編.集成電路應用實驗.國防工業(yè)出版社20032 李雷等編.電子技術應用實驗教程.電子科技大學出版社,20063 朱紅

溫馨提示

  • 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

提交評論