基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)方案設(shè)計(jì)書_第1頁(yè)
基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)方案設(shè)計(jì)書_第2頁(yè)
基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)方案設(shè)計(jì)書_第3頁(yè)
基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)方案設(shè)計(jì)書_第4頁(yè)
基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)方案設(shè)計(jì)書_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 單片機(jī)的簡(jiǎn)易頻率計(jì)設(shè)計(jì)基于: AT89C52選題名稱 系(院): 業(yè): 計(jì))專 班 級(jí): : 號(hào)學(xué)姓 名: : 指導(dǎo)教師 學(xué)年學(xué)期: 2009 2010 學(xué)年 第 2 學(xué)期 日 30 5 月 2010 年 摘要: 在電子技術(shù)中,頻率是一個(gè)經(jīng)常用到的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。本工程主要闡述了以AT89C52單片機(jī)作為核心器件,采用模塊化布局,設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字頻率計(jì),以達(dá)到測(cè)量頻率并進(jìn)行顯示的目的。本工程利用單片機(jī)的內(nèi)部定時(shí)器溢出產(chǎn)生中斷來(lái)實(shí)現(xiàn)定時(shí),把單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器0作為定時(shí)器,實(shí)現(xiàn)2.5ms定時(shí)。外部待測(cè)脈沖從單片

2、機(jī)的TI(第15引腳)輸入,以定時(shí)/計(jì)數(shù)器1作為計(jì)數(shù)器,利用中斷方式來(lái)達(dá)到間接測(cè)量的目的。最后采用四位數(shù)碼管顯示。本設(shè)計(jì)采用C語(yǔ)言進(jìn)行軟件編程,用keil軟件進(jìn)行調(diào)試。最后把調(diào)試成功后的程序固化到AT89C52單片機(jī)中,接到預(yù)先 焊好的電路板上,接上待測(cè)脈沖,通電運(yùn)行,數(shù)碼管成功顯示待測(cè)脈沖頻率。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);頻率計(jì);AT89C52 目 錄 程1 工綜述.0 11 設(shè)計(jì)要求. 0 12 系統(tǒng)設(shè)計(jì). 0 2 硬件設(shè)計(jì).1 2.1 電路原理圖. 1 2.2 元件清單. 1 2.3 主要芯片引腳說(shuō)明 . 2 3 軟件設(shè)計(jì).3 3.1 程序流程圖. 3 3.2 軟件設(shè)計(jì)簡(jiǎn)述 . 4 3.3 程序清

3、單. 5 4 系統(tǒng)仿真及調(diào)試.8 4.1 硬件調(diào)試. 9 4.2 軟件調(diào)試. 9 5 結(jié)果分析.9 總結(jié).9 11 .參考文獻(xiàn)1 工程綜述 在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。本工程主要闡述了選擇AT89C52單片機(jī)作為核心器件,采用模塊化布局,設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字頻率計(jì)測(cè)量頻率并進(jìn)行顯示。 11 設(shè)計(jì)要求 單片機(jī)簡(jiǎn)易頻率計(jì)的設(shè)計(jì)要求如下:AT89C52 基于(1) 1Hz1MHz.5V;頻率:測(cè)量范圍。幅度:0.5(2) 。測(cè)試誤差0.1%(3) 位數(shù)碼管顯示。當(dāng)頻率變化時(shí),能通過(guò)數(shù)碼管及時(shí)看到變化后的信號(hào)頻

4、率。4用12 系統(tǒng)設(shè)計(jì) 121 框圖設(shè)計(jì) 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)的電路主要由數(shù)碼管顯示電路、復(fù)位電路、晶振電路、 所示。電源電路等幾部分組成,系統(tǒng)框圖如圖3.1 圖3.1 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)系統(tǒng)框圖 123 知識(shí)點(diǎn) 本工程需要通過(guò)學(xué)習(xí)和查閱資料,掌握和了解如下知識(shí):1) 電源原理及設(shè)計(jì)。+5V2) 單片機(jī)復(fù)位電路工作原理及設(shè)計(jì)。3) 單片機(jī)晶振電路工作原理及設(shè)計(jì)。4) 頻率信號(hào)發(fā)生器的特性及使用。5) 的特性及使用。驅(qū)動(dòng)電路74LS2446) 單片機(jī)引腳結(jié)構(gòu)及功能。AT89C527) 語(yǔ)言程序設(shè)計(jì)方法。單片機(jī)C2 硬件設(shè)計(jì) 2.1 電路原理圖 所示。單片機(jī)簡(jiǎn)易頻率計(jì)

5、電路原理圖如圖2-1基于AT89C52 圖2-1 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)電路原理圖 2.2 元件清單 所示。2-1基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)元件清單如表表2-1 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)元件清單 用途個(gè) 型號(hào) 數(shù)量/元件名稱 1 AT89C52 控制核心單片機(jī)12MHz 1 晶振 晶振電路 30pF 2 電容 晶振電路 10uF/10V 1 電解電容 復(fù)位電路 10k? 1 電阻 復(fù)位電路 74LS244 1 驅(qū)動(dòng)器 LED驅(qū)動(dòng) 74LS04 1 非門 位選信號(hào) 1 數(shù)碼管 4位共陰 顯示電路 1 按鍵 復(fù)位電路 +5V/0.5A 1 電源 提供+5V 2.3 主

6、要芯片引腳說(shuō)明 2.3.1 AT89C52引腳說(shuō)明 AT89C52為40腳雙列直插封裝8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。AT89C52 共有6 個(gè)中斷向量:兩個(gè)外中斷(INT0 和 )和串行口中斷。21、),3 個(gè)定時(shí)器中斷(定時(shí)器0、INT1 引腳圖如下:AT89C52 圖2-2 AT89C52引腳圖 主要管腳有: 腳)為振蕩器輸入輸出端口。18 腳)和

7、19 XTAL2(XTAL1( 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。9RST/Vpd( 電源的正負(fù)端。腳)為供電端口,分別接+5V(40 腳)和VSS20 (VCC 數(shù)據(jù)總線復(fù)用口。/位漏極開(kāi)路型雙向I/O 口,也即地址8 P0 口是一組 口。I/O 是一組帶有內(nèi)部上拉電阻的P38 位雙向,P1P2 2.3.2 74HC244引腳說(shuō)明 可以讓輸入的數(shù)據(jù)保持比較長(zhǎng)的時(shí)間,簡(jiǎn)單輸入接口擴(kuò)展通常使用的典型芯片為74HC24474HC244,由該芯片可構(gòu)成三態(tài)數(shù)據(jù)緩沖器。74HC244芯片的引腳排列如下圖所示: 圖2-3 74HC244引腳圖 74HC244芯片內(nèi)部共有兩個(gè)四位三態(tài)緩沖器,

8、使用時(shí)可分別以1C和2G作為它們的選通工作信號(hào)。當(dāng)1/OE和2/OE都為低電平時(shí),輸出端Y和輸入端A狀態(tài)相同;當(dāng)1/OE和2/OE都為高電 平時(shí),輸出呈高阻態(tài)。3 軟件設(shè)計(jì) 本工程利用單片機(jī)的內(nèi)部定時(shí)器溢出產(chǎn)生中斷來(lái)實(shí)現(xiàn)定時(shí)。待測(cè)信號(hào)由單片機(jī)的TI中斷來(lái)間接測(cè)量。定時(shí)/計(jì)數(shù)器0定時(shí)2.5ms中斷并對(duì)中斷次數(shù)進(jìn)行計(jì)數(shù),當(dāng)2.5ms中斷次數(shù)計(jì)到40次即0.1s時(shí),查看定時(shí)/計(jì)數(shù)器1上的計(jì)得的數(shù)值,經(jīng)過(guò)計(jì)算得到的待測(cè)信號(hào)的頻率值,放入顯示緩 沖區(qū),由數(shù)碼管進(jìn)行顯示。3.1 程序流程圖 所示。3-1主程序流程圖如圖 圖3-1 主程序流程圖 3.2 軟件設(shè)計(jì)簡(jiǎn)述 )利用單片機(jī)的內(nèi)部定時(shí)器溢出產(chǎn)生中斷來(lái)實(shí)

9、現(xiàn)定時(shí)。1 引腳)中斷來(lái)間接測(cè)量。15TI2)待測(cè)信號(hào)由單片機(jī)的(第 1us晶振,機(jī)器周期為3)采用12MHz 。2.5ms1,每次定時(shí)工作方式:定時(shí)方式,工作方式4)定時(shí)/計(jì)數(shù)器0 定時(shí)算法:2.5ms 實(shí)現(xiàn)16?6?310?2.5(2?X)10X?(63036) (3-1) D1111011000111100? TL0=0x3c TH0=0xf6, 即5)定時(shí)/計(jì)數(shù)器1工作方式:計(jì)數(shù)方式,工作方式1。當(dāng)2.5ms中斷次數(shù)計(jì)到40次即0.1s 。 計(jì)數(shù)器1上的計(jì)得的數(shù)值時(shí),查看定時(shí)/計(jì)數(shù)值?脈沖頻率 (3-2)通過(guò)公式:6 40?0.25 可以計(jì)算出脈沖頻率。 單位,采用四舍五入的方法保留一

10、位小數(shù)。KHz 最后的數(shù)據(jù)以7)顯示采用四位共陰LED數(shù)碼管,用單片機(jī)P0口的8位控制數(shù)碼管的8段二極管的明 位數(shù)碼管的選通信號(hào),采用從低到高逐位掃描的方法。作為4暗。用P2口的P2.0P2.3 3.3 程序清單 單片機(jī)簡(jiǎn)易頻率計(jì)程序清單如下:基于AT89C52 #include<reg52.h> 。bit timeint0,timeint1 。unsigned char dispbuf4 。unsigned int period 。unsigned int timecount=0 。unsigned int count_1s unsigned char code table=0x

11、3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 段數(shù)碼管代碼表 /70x39,0x5e,0x79,0x71。 碼子程序,BCDHEX_TO_BCD(unsigned int n) /十六進(jìn)制數(shù)轉(zhuǎn) 碼送至顯示緩存數(shù)組將/BCD 報(bào)錯(cuò)當(dāng)顯示的頻率超出范圍,顯示EEEE unsigned char i。 / if (n>9361) i+) 。i<4 for(i=0 dispbufi=0x0e。 else 取出千位字節(jié)。 / dispbuf3=n/1000 取出百位字節(jié) / dispbuf2=(n/100)_x001

12、0_。 取出十位字節(jié)。dispbuf1=(n/10)_x0010_ / 取出個(gè)位字節(jié) /。 dispbuf0=n_x0010_ 顯示子程序,void scandisp(void) / 碼掃描并顯示在數(shù)碼管上BCD/將顯示緩存數(shù)組中的 。 unsigned char posi=0x01 。 unsigned char i,j,temp 個(gè)數(shù)碼管依次選中4。i<4。i+) / for(i=0 。 temp=dispbufi 查出字碼 / 。 temp=tabletemp 第三位顯示小數(shù)點(diǎn)/ if(i=1) j+) 。 。j<200for(j=0 。 P2=posi 。 P0=temp|

13、0x80 else j+) j<200 。for(j=0。 。P2=posi 。 P0 =temp 依次點(diǎn)亮字位 / 。posi<<=1 定時(shí)器初始化了程序,定義了兩種void INIT_TMR1INT(void) / 工作在計(jì)數(shù)器方式1工作定時(shí)器方式,定時(shí)0/計(jì)數(shù)器 /定時(shí)/計(jì)數(shù)器 。 TMOD=0x51 。ET1=1 開(kāi)中斷0 /中斷 。 ET0=1 開(kāi)中斷 /CPU 。 EA=1 。 count_1s=0 開(kāi)始定時(shí)計(jì)數(shù)器0/ /啟動(dòng)定時(shí) 。 TR0=1 。TR1=1 中斷服務(wù)程序,系統(tǒng)自動(dòng)調(diào)用,定時(shí)器0void time0(void) interrupt 1 / 執(zhí)行一

14、次2.5ms/每 。TH0=0xf6 。 TH1=0x3c 0.1s2.5 ms, 40 次即/每次定時(shí)是 if(+count_1s>40) 。 count_1s=0 所計(jì)數(shù)值進(jìn)行統(tǒng)計(jì)1對(duì)計(jì)數(shù)器 /每0.1s 。 timecount=TH1*256+TL1 。TH1=0 。TL1=0 為單位KHz精確到小數(shù)點(diǎn)后1位,以 / 。 period=timecount/10 四舍五入顯示 / if(timecount_x0010_)>4) 。period+ 。 timecount=0 。 HEX_TO_BCD(period) 中斷服務(wù)程序,溢出后中斷定時(shí)器1void timer1(void

15、) interrupt 3 / 。 TH1=0x00 。 TL1=0x00 主函數(shù)void main(void) / 初始化 / 。INIT_TMR1INT() while(1) 顯示子程序/ 。 scandisp() 4 系統(tǒng)仿真及調(diào)試 應(yīng)用系統(tǒng)設(shè)計(jì)完成之后,就要進(jìn)行硬件調(diào)試和軟件調(diào)試,軟件調(diào)試可以利用開(kāi)發(fā)及仿真系 統(tǒng)進(jìn)行。4.1 硬件調(diào)試 硬件調(diào)試的調(diào)試主要是把電路各種參數(shù)調(diào)整到符合設(shè)計(jì)要求。先排除硬件電路故障,包括 設(shè)計(jì)性錯(cuò)誤和工藝性故障。一般原則是先靜態(tài)后動(dòng)態(tài)。 利用萬(wàn)用表或邏輯測(cè)試儀器,檢查電路中各器件以及引腳是否連接正確,是否有短路故 障。芯片取下,對(duì)電路板進(jìn)行通電檢查,通過(guò)觀察看

16、是否有異常,是否先將單片機(jī)AT89C52 有虛焊的情況,然后用萬(wàn)用表測(cè)試各電源電壓,若這些都沒(méi)有問(wèn)題,則接上仿真機(jī)進(jìn)行聯(lián)機(jī)調(diào) 試,觀察各接口電路是否正常。4.2 軟件調(diào)試 軟件調(diào)試是利用仿真工具進(jìn)行在線仿真調(diào)試,除發(fā)現(xiàn)和解決程序錯(cuò)誤外,也可以發(fā)現(xiàn)硬件故障。本設(shè)計(jì)采用的調(diào)試軟件是keil。程序調(diào)試時(shí),先是一個(gè)模塊一個(gè)模塊地進(jìn)行,一個(gè)子程序一個(gè)子程序地調(diào)試,最后聯(lián)起來(lái)統(tǒng)調(diào)。當(dāng)程序調(diào)試無(wú)誤后,就可以用在系統(tǒng)編程器將程序固化到 中。的AT89C52FLASH ROM5 結(jié)果分析 把電路按要求接好,接上待測(cè)脈沖信號(hào),插上電源即可測(cè)量出待測(cè)脈沖信號(hào)的頻率。本設(shè)計(jì)利用實(shí)驗(yàn)室提供的單片機(jī)實(shí)驗(yàn)箱上的脈沖信號(hào)進(jìn)行

17、測(cè)試,當(dāng)接入的脈沖信號(hào)為0.25MHz時(shí),可以看到數(shù)碼管上的顯示值為259.4KHz;當(dāng)接入的脈沖信號(hào)為0.5MHz時(shí),可以看到數(shù)碼管上的顯示值為508.3KHz。經(jīng)計(jì)算,測(cè)量值都在誤差允許范圍內(nèi),因此符合設(shè)計(jì)要求,本設(shè)計(jì)成功完成預(yù) 期目標(biāo)。總結(jié) 經(jīng)過(guò)一個(gè)星期的努力和老師的耐心指導(dǎo),終于順利完成了此次的單片機(jī)課程設(shè)計(jì)。整個(gè)過(guò)程可以說(shuō)就是一個(gè)不斷發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的過(guò)程,雖然有點(diǎn)累,但收獲頗多。通過(guò)此次的單片機(jī)課程設(shè)計(jì),我學(xué)到了許多以前在課本上學(xué)不到的東西,同時(shí)也把以前學(xué)到的理論知識(shí)運(yùn)用到了此次的課程設(shè)計(jì)中,很好地加強(qiáng)了我在單片機(jī)方面的知識(shí),特別是在中斷處理部分。整個(gè)調(diào)試程序的過(guò)程讓我對(duì)keil

18、軟件有了更深一步的了解。并且,此次的課程設(shè)計(jì)也很好地鍛煉了我的動(dòng)手能力,讓我能夠發(fā)現(xiàn)問(wèn)題,積極開(kāi)動(dòng)腦筋去解決問(wèn)題,同時(shí)也讓我對(duì)硬件有了進(jìn)一步的了解。課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決問(wèn)題的實(shí)際能力,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考查過(guò)程。這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合的重要性,只掌握書上的理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,而應(yīng)該把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合,把理論運(yùn)用與實(shí)踐,從實(shí)踐中驗(yàn)證理論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,為以后踏入社會(huì)打下基礎(chǔ)。在設(shè)計(jì)的過(guò)程中不免會(huì)遇到一些問(wèn)題,通過(guò)老師和同學(xué)的幫助,以及去圖書館查找資料,終于把問(wèn)題都解決了,在解決問(wèn)題的過(guò)程中,我發(fā)現(xiàn)自己的不足之處,同時(shí) 也鞏固了所學(xué)的知識(shí)。 總得來(lái)說(shuō),此次的課程設(shè)計(jì)很有意義,我從中學(xué)到了很多。過(guò)程雖苦,但結(jié)果很甜!參考文獻(xiàn) 2007.6北京:北京航天航空大學(xué)出版社,單片機(jī)基礎(chǔ).1 李廣弟,朱月秀,冷祖祁 2009.9.北京:清華大學(xué)出版社,.2 揚(yáng)居義單片機(jī)課程設(shè)計(jì)指導(dǎo) 2006.1北京:人民郵電出版社,.張義和,陳敵北例說(shuō)8051.3 2004.5.北京:人民郵電出版社,.4 求是科技單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航 2007.10.C.5 周興華手把手教你學(xué)單片機(jī)程序設(shè)計(jì)北京:北京航空航天大學(xué)出版社, 指導(dǎo)教師評(píng)語(yǔ)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論