




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)系統(tǒng)開發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告選題名稱: 基于AT89C52單片機(jī)的簡(jiǎn)易頻率計(jì)設(shè)計(jì)系(院): 專 業(yè): 計(jì))班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 學(xué)年學(xué)期: 2009 2010 學(xué)年 第 2 學(xué)期2010年 5 月 30 日摘要: 在電子技術(shù)中,頻率是一個(gè)經(jīng)常用到的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。本項(xiàng)目主要闡述了以AT89C52單片機(jī)作為核心器件,采用模塊化布局,設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字頻率計(jì),以達(dá)到測(cè)量頻率并進(jìn)行顯示的目的。本項(xiàng)目利用單片機(jī)的內(nèi)部定時(shí)器溢出產(chǎn)生中斷來實(shí)現(xiàn)定時(shí),把單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器0作為定時(shí)器,實(shí)現(xiàn)2.5ms定
2、時(shí)。外部待測(cè)脈沖從單片機(jī)的TI(第15引腳)輸入,以定時(shí)/計(jì)數(shù)器1作為計(jì)數(shù)器,利用中斷方式來達(dá)到間接測(cè)量的目的。最后采用四位數(shù)碼管顯示。本設(shè)計(jì)采用C語言進(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 項(xiàng)目綜述.111 設(shè)計(jì)要求112 系統(tǒng)設(shè)計(jì)12 硬件設(shè)計(jì).22.1 電路原理圖22.2 元件清單22.3 主要芯片引腳說明33 軟件設(shè)計(jì).43.1 程序流程圖43.2 軟件設(shè)計(jì)簡(jiǎn)述53.3 程序清單64 系統(tǒng)仿真及調(diào)試.104.1 硬件
3、調(diào)試104.2 軟件調(diào)試105 結(jié)果分析.10總結(jié).11參考文獻(xiàn).121 項(xiàng)目綜述在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。本項(xiàng)目主要闡述了選擇AT89C52單片機(jī)作為核心器件,采用模塊化布局,設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)字頻率計(jì)測(cè)量頻率并進(jìn)行顯示。11 設(shè)計(jì)要求基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)的設(shè)計(jì)要求如下:(1) 測(cè)量范圍。幅度:0.55V;頻率:1Hz1MHz.(2) 測(cè)試誤差0.1%。(3) 用4位數(shù)碼管顯示。當(dāng)頻率變化時(shí),能通過數(shù)碼管及時(shí)看到變化后的信號(hào)頻率。12 系統(tǒng)設(shè)計(jì)121 框圖設(shè)計(jì)基于AT89C52單片機(jī)簡(jiǎn)
4、易頻率計(jì)的電路主要由數(shù)碼管顯示電路、復(fù)位電路、晶振電路、電源電路等幾部分組成,系統(tǒng)框圖如圖3.1所示。圖3.1 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)系統(tǒng)框圖123 知識(shí)點(diǎn)本項(xiàng)目需要通過學(xué)習(xí)和查閱資料,掌握和了解如下知識(shí):1) +5V電源原理及設(shè)計(jì)。2) 單片機(jī)復(fù)位電路工作原理及設(shè)計(jì)。3) 單片機(jī)晶振電路工作原理及設(shè)計(jì)。4) 頻率信號(hào)發(fā)生器的特性及使用。5) 驅(qū)動(dòng)電路74LS244的特性及使用。6) AT89C52單片機(jī)引腳結(jié)構(gòu)及功能。7) 單片機(jī)C語言程序設(shè)計(jì)方法。2 硬件設(shè)計(jì)2.1 電路原理圖基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)電路原理圖如圖2-1所示。圖2-1 基于AT89C52單片機(jī)簡(jiǎn)易頻率
5、計(jì)電路原理圖2.2 元件清單基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)元件清單如表2-1所示。表2-1 基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)元件清單元件名稱型號(hào)數(shù)量/個(gè)用途單片機(jī)AT89C521控制核心晶振12MHz1晶振電路電容30pF2晶振電路電解電容10uF/10V1復(fù)位電路電阻10k1復(fù)位電路驅(qū)動(dòng)器74LS2441LED驅(qū)動(dòng)非門74LS041位選信號(hào)數(shù)碼管4位共陰1顯示電路按鍵1復(fù)位電路電源+5V/0.5A1提供+5V2.3 主要芯片引腳說明2.3.1 AT89C52引腳說明AT89C52為40腳雙列直插封裝8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相
6、同,其主要用于會(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 和INT1),3 個(gè)定時(shí)器中斷(定時(shí)器0、1、2)和串行口中斷。AT89C52引腳圖如下:圖2-2 AT89C52引腳圖主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0 口是一
7、組8 位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。P1,P2,P3是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。2.3.2 74HC244引腳說明74HC244可以讓輸入的數(shù)據(jù)保持比較長(zhǎng)的時(shí)間,簡(jiǎn)單輸入接口擴(kuò)展通常使用的典型芯片為74HC244,由該芯片可構(gòu)成三態(tài)數(shù)據(jù)緩沖器。74HC244芯片的引腳排列如下圖所示:圖2-3 74HC244引腳圖74HC244芯片內(nèi)部共有兩個(gè)四位三態(tài)緩沖器,使用時(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ì)本項(xiàng)目利用單片機(jī)的內(nèi)部定時(shí)器
8、溢出產(chǎn)生中斷來實(shí)現(xiàn)定時(shí)。待測(cè)信號(hào)由單片機(jī)的TI中斷來間接測(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)過計(jì)算得到的待測(cè)信號(hào)的頻率值,放入顯示緩沖區(qū),由數(shù)碼管進(jìn)行顯示。3.1 程序流程圖主程序流程圖如圖3-1所示。圖3-1 主程序流程圖3.2 軟件設(shè)計(jì)簡(jiǎn)述1)利用單片機(jī)的內(nèi)部定時(shí)器溢出產(chǎn)生中斷來實(shí)現(xiàn)定時(shí)。2)待測(cè)信號(hào)由單片機(jī)的TI(第15引腳)中斷來間接測(cè)量。3)采用12MHz晶振,機(jī)器周期為1us4)定時(shí)/計(jì)數(shù)器0工作方式:定時(shí)方式,工作方式1,每次定時(shí)2.5ms。 實(shí)現(xiàn)2.5ms定時(shí)算法: (3-1
9、) 即TH0=0xf6,TL0=0x3c 5)定時(shí)/計(jì)數(shù)器1工作方式:計(jì)數(shù)方式,工作方式1。當(dāng)2.5ms中斷次數(shù)計(jì)到40次即0.1s時(shí),查看定時(shí)/計(jì)數(shù)器1上的計(jì)得的數(shù)值 。6)通過公式: (3-2) 可以計(jì)算出脈沖頻率。 最后的數(shù)據(jù)以KHz單位,采用四舍五入的方法保留一位小數(shù)。7)顯示采用四位共陰LED數(shù)碼管,用單片機(jī)P0口的8位控制數(shù)碼管的8段二極管的明暗。用P2口的P2.0P2.3作為4位數(shù)碼管的選通信號(hào),采用從低到高逐位掃描的方法。3.3 程序清單基于AT89C52單片機(jī)簡(jiǎn)易頻率計(jì)程序清單如下:#include<reg52.h>bit timeint0,timeint1;un
10、signed char dispbuf4;unsigned int period;unsigned int timecount=0;unsigned int count_1s;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /7段數(shù)碼管代碼表HEX_TO_BCD(unsigned int n) /十六進(jìn)制數(shù)轉(zhuǎn)BCD碼子程序,/將BCD碼送至顯示緩存數(shù)組unsigned char i; /當(dāng)顯示的頻率超出范圍,顯示EEEE報(bào)錯(cuò)if (
11、n>9361)for(i=0;i<4;i+) dispbufi=0x0e; else dispbuf3=n/1000; /取出千位字節(jié) dispbuf2=(n/100)%10; /取出百位字節(jié)dispbuf1=(n/10)%10; /取出十位字節(jié)dispbuf0=n%10; /取出個(gè)位字節(jié)void scandisp(void) /顯示子程序,/將顯示緩存數(shù)組中的BCD碼掃描并顯示在數(shù)碼管上 unsigned char posi=0x01; unsigned char i,j,temp; for(i=0;i<4;i+) /依次選中4個(gè)數(shù)碼管 temp=dispbufi; /查出
12、字碼 temp=tabletemp; /第三位顯示小數(shù)點(diǎn) if(i=1) for(j=0;j<200;j+) P2=posi;P0=temp|0x80; else for(j=0;j<200;j+) P2=posi;P0 =temp; /依次點(diǎn)亮字位 posi<<=1; void INIT_TMR1INT(void) /定時(shí)器初始化了程序,定義了兩種 /定時(shí)/計(jì)數(shù)器0工作定時(shí)器方式,定時(shí)/計(jì)數(shù)器1工作在計(jì)數(shù)器方式 TMOD=0x51; ET1=1; /中斷0開中斷 ET0=1; /CPU開中斷 EA=1; count_1s=0; /啟動(dòng)定時(shí)/計(jì)數(shù)器0開始定時(shí) TR0=1
13、; TR1=1;void time0(void) interrupt 1 /定時(shí)器0中斷服務(wù)程序,系統(tǒng)自動(dòng)調(diào)用,/每2.5ms執(zhí)行一次TH0=0xf6;TH1=0x3c;/每次定時(shí)是2.5 ms, 40次即0.1sif(+count_1s>40) count_1s=0; /每0.1s對(duì)計(jì)數(shù)器1所計(jì)數(shù)值進(jìn)行統(tǒng)計(jì) timecount=TH1*256+TL1; TH1=0; TL1=0; /精確到小數(shù)點(diǎn)后1位,以KHz為單位 period=timecount/10; /四舍五入顯示 if(timecount%10)>4) period+; timecount=0; HEX_TO_BCD(
14、period); void timer1(void) interrupt 3 /定時(shí)器1中斷服務(wù)程序,溢出后中斷 TH1=0x00; TL1=0x00;void main(void) /主函數(shù)/初始化INIT_TMR1INT();while(1) /顯示子程序 scandisp(); 4 系統(tǒng)仿真及調(diào)試應(yīng)用系統(tǒng)設(shè)計(jì)完成之后,就要進(jìn)行硬件調(diào)試和軟件調(diào)試,軟件調(diào)試可以利用開發(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)。利用萬用表或邏輯測(cè)試儀器,檢查電路中各器件以及引腳是否連接正確,是否
15、有短路故障。先將單片機(jī)AT89C52芯片取下,對(duì)電路板進(jìn)行通電檢查,通過觀察看是否有異常,是否有虛焊的情況,然后用萬用表測(cè)試各電源電壓,若這些都沒有問題,則接上仿真機(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)起來統(tǒng)調(diào)。當(dāng)程序調(diào)試無誤后,就可以用在系統(tǒng)編程器將程序固化到AT89C52的FLASH ROM中。5 結(jié)果分析把電路按要求接好,接上待測(cè)脈沖信號(hào),插上電源即可測(cè)量出待測(cè)脈沖信號(hào)的頻率。本設(shè)計(jì)
16、利用實(shí)驗(yàn)室提供的單片機(jī)實(shí)驗(yàn)箱上的脈沖信號(hào)進(jìn)行測(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)??偨Y(jié)經(jīng)過一個(gè)星期的努力和老師的耐心指導(dǎo),終于順利完成了此次的單片機(jī)課程設(shè)計(jì)。整個(gè)過程可以說就是一個(gè)不斷發(fā)現(xiàn)問題和解決問題的過程,雖然有點(diǎn)累,但收獲頗多。通過此次的單片機(jī)課程設(shè)計(jì),我學(xué)到了許多以前在課本上學(xué)不到的東西,同時(shí)也把以前學(xué)到的理論知識(shí)運(yùn)用到了此次的課程設(shè)計(jì)中,很好地加強(qiáng)了我在單片機(jī)方面的知識(shí),特別是在中斷處
17、理部分。整個(gè)調(diào)試程序的過程讓我對(duì)keil軟件有了更深一步的了解。并且,此次的課程設(shè)計(jì)也很好地鍛煉了我的動(dòng)手能力,讓我能夠發(fā)現(xiàn)問題,積極開動(dòng)腦筋去解決問題,同時(shí)也讓我對(duì)硬件有了進(jìn)一步的了解。課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決問題的實(shí)際能力,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考查過程。這次課程設(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ì)的過程中不免會(huì)遇到一些問題,通過老師和同學(xué)的
18、幫助,以及去圖書館查找資料,終于把問題都解決了,在解決問題的過程中,我發(fā)現(xiàn)自己的不足之處,同時(shí)也鞏固了所學(xué)的知識(shí)。總得來說,此次的課程設(shè)計(jì)很有意義,我從中學(xué)到了很多。過程雖苦,但結(jié)果很甜!參考文獻(xiàn)1 李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ).北京:北京航天航空大學(xué)出版社,2007.62 揚(yáng)居義.單片機(jī)課程設(shè)計(jì)指導(dǎo).北京:清華大學(xué)出版社,2009.93 張義和,陳敵北.例說8051.北京:人民郵電出版社,2006.14 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航.北京:人民郵電出版社,2004.55 周興華.手把手教你學(xué)單片機(jī)C程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2007.10指導(dǎo)教師評(píng)語學(xué)號(hào)姓名班級(jí)選題名
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 昌平區(qū)路燈維護(hù)服務(wù)委托協(xié)議
- 養(yǎng)老院院長(zhǎng)聘用合同范例
- 二零二五版英文聘用合同聘用外國人
- 龔姬的離婚協(xié)議書
- 投資合作協(xié)議書二
- 二零二五版銷售合同修訂流程
- 基礎(chǔ)會(huì)計(jì)授課教案-第一單元-入門
- 2025二手電子產(chǎn)品購買合同(合同范本)
- 2025中外設(shè)備租賃合同書范本
- 2025新版企業(yè)與企業(yè)之間的借款合同范本
- 《天潤乳業(yè)公司償債能力存在的問題及對(duì)策9000字》
- 電動(dòng)摩托車項(xiàng)目可行性實(shí)施報(bào)告
- 甲殼素、殼聚糖材料
- 菜鳥驛站招商加盟合同范本
- 2024年高考地理真題完全解讀(甘肅卷)
- DL∕T 806-2013 火力發(fā)電廠循環(huán)水用阻垢緩蝕劑
- 人教版 九年級(jí)上冊(cè)音樂 第二單元 鱒魚 教案
- 四年級(jí)美術(shù)測(cè)國測(cè)復(fù)習(xí)題答案
- 《寬容別人 快樂自己》班會(huì)課件
- 2024光伏電站索懸柔性支架施工方案
- GJB9001C-2017管理手冊(cè)、程序文件及表格匯編
評(píng)論
0/150
提交評(píng)論