基于單片機(jī)方波發(fā)生器課程設(shè)計報告_第1頁
基于單片機(jī)方波發(fā)生器課程設(shè)計報告_第2頁
基于單片機(jī)方波發(fā)生器課程設(shè)計報告_第3頁
基于單片機(jī)方波發(fā)生器課程設(shè)計報告_第4頁
基于單片機(jī)方波發(fā)生器課程設(shè)計報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河池科技大學(xué)河池科技大學(xué)單單 片片 機(jī)機(jī) 課課 程程 設(shè)設(shè) 計計 題題 目目 _姓姓 名名 _學(xué)學(xué) 院院 _專專 業(yè)業(yè) _學(xué)學(xué) 號號 _ 指導(dǎo)教師指導(dǎo)教師 _成成 績績 _二一二年五月二十二日制湖南科技大學(xué)本科生課程設(shè)計(論文)i摘 要本課程設(shè)計設(shè)計的是一種 AT89C51 單片機(jī)構(gòu)成的波形發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點。文章給出了源代碼,通過仿真測試,其性能指標(biāo)達(dá)到了設(shè)計要求。關(guān)鍵詞:關(guān)鍵詞:單片機(jī);DAC;信號發(fā)生器湖南科技大學(xué)本科生課程設(shè)計(論文)- 1 -目 錄

2、第一章第一章 系統(tǒng)功能系統(tǒng)功能要求:要求:.21.1、設(shè)計內(nèi)容.21.2 設(shè)計原理 .2第二章第二章 方波發(fā)生器設(shè)計方案論證方波發(fā)生器設(shè)計方案論證.32.1 方案的設(shè)計與選擇 .3第三章第三章 系統(tǒng)的硬件電路的設(shè)計系統(tǒng)的硬件電路的設(shè)計.43.1 系統(tǒng)硬件原理 .43.2 芯片端口資源分配表 .4第四章第四章 軟件設(shè)計軟件設(shè)計.54.1 主程序 .54.2 系統(tǒng)初始化子程序 .54.3 鍵盤中斷子程序 .54.4 定時器中斷子程序 .6第五章、第五章、 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.7第六章、第六章、 結(jié)果分析結(jié)果分析.9參考文獻(xiàn)參考文獻(xiàn).10附件附件 1.11附錄附錄 2 基于單片機(jī)方波發(fā)生器的器件清單基

3、于單片機(jī)方波發(fā)生器的器件清單.16湖南科技大學(xué)本科生課程設(shè)計(論文)- 2 -第一章第一章 系統(tǒng)功能系統(tǒng)功能要求:要求: 用單片機(jī)產(chǎn)生頻率可調(diào)的方波信號。輸出方波的頻率范圍為1Hz-200Hz,頻率誤差比小于0.5%。要求用4 個按鈕改變方波給定頻率,按鈕每按下一次,給定頻率改變一次。用示波器觀察方波波形。1.11.1、設(shè)計內(nèi)容、設(shè)計內(nèi)容 本課程設(shè)計是設(shè)計一個方波發(fā)生器,用 4 個按鈕控制方波的頻率以及占空比。1.21.2 設(shè)計原理設(shè)計原理 AT89C51單片機(jī)具有組成微型計算機(jī)的各部分部件:CPU、RAM、I/O定時器/計數(shù)器以及串行通訊接口等。只要將AT89C51的ROM,接口電路,再配置

4、鍵盤及其接口,顯示器及其接口,數(shù)模轉(zhuǎn)換及波形輸出,指示燈及其接口等四部分,即可構(gòu)成所需波形發(fā)生器。其信號發(fā)生器構(gòu)成原理框圖如圖1所示。 圖1 方波信號發(fā)生器設(shè)計原理框圖 在信號發(fā)生器中,只用到片內(nèi)中斷請求,即是在AT89C51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產(chǎn)生中斷之前,AT89C51等待,直到定時器計時結(jié)束,產(chǎn)生中斷請求,AT89C51響應(yīng)中斷,接著輸出下一個信號波形,如此循環(huán)。當(dāng)有按鍵按下時,產(chǎn)生外部中斷請求信號,CPU暫停當(dāng)前工作,處理中斷請求,重新裝入定時初值,開始定時。 湖南科技大學(xué)本科生課程設(shè)計(論文)- 3 -第二章第二章 方波發(fā)生器設(shè)計方案方波發(fā)生器設(shè)計方案

5、論證論證在電子技術(shù)領(lǐng)域中,實現(xiàn)方波發(fā)生器的方法有很多種,可以采用不同的原理及器件構(gòu)成不同的電路,但可以實現(xiàn)相同的功能。2.12.1 方案的設(shè)計與選擇方案的設(shè)計與選擇 實現(xiàn)方波發(fā)生器的方法很多, 但主要有三個方案: 采用單片函數(shù)發(fā)生器 8038, 采用鎖相式頻率合成器,采用單片機(jī)編程。方案優(yōu)點缺點單片函數(shù)發(fā)生器 8038簡單易行, 可實現(xiàn)數(shù)控,調(diào)整頻率信號頻率穩(wěn)定度不高鎖相式頻率合成器性能良好難以達(dá)到輸出頻率覆蓋系數(shù)單片機(jī)編程信號精度較高 需求軟硬件結(jié)合 通過對比, 決定采用單片機(jī)編程的方法來實現(xiàn)。 該方法可以通過編程的方法來控制信號波形的頻率和幅度, 而且在硬件電路不變的情況下, 通過改編程序

6、來實現(xiàn)頻率的變換。此外,由于通過編程方法產(chǎn)生的是數(shù)字信號,所以信號的精度可以做得很高。 本設(shè)計用到一個AT89C51微處理器,4個按鍵,一個四與門。AT89C51用到兩個定時器,定時器0和定時器1。其中定時器0工作在定時方式1下,決定方波頻率;定時器1工作在定時方式1下,用來設(shè)定占空比。按鍵1與2控制方波信號頻率。按下按鍵1或2時,進(jìn)行頻率的調(diào)節(jié),占空比不變。1鍵按下時,頻率增加100Hz,若2鍵按下時,頻率增加10Hz。頻率最大值為500Hz,當(dāng)頻率大于最大值時,重新賦值為50Hz。另外兩個按鍵控制方波信號占空比。當(dāng)按鍵3和4按下時,進(jìn)行占空比調(diào)節(jié),頻率不變。3鍵按下時,占空比進(jìn)行增加10%

7、,4鍵按下時,占空比增加1%。占空比最大值為100%,當(dāng)占空比大于100%時,重新賦值為0%。 湖南科技大學(xué)本科生課程設(shè)計(論文)- 4 -第三章第三章 系統(tǒng)的硬件電路的設(shè)計系統(tǒng)的硬件電路的設(shè)計3.13.1系統(tǒng)硬件原理系統(tǒng)硬件原理 系統(tǒng)硬件原理圖如圖2。本次設(shè)計中,采用內(nèi)部時鐘方式。 AT89C51單片機(jī)的P1.0、P1.1、P1.2、P1.3口分別連接四個按鍵,對輸出方波的頻率、占空比進(jìn)行控制。P2.0口作為方波輸出口,可以通過示波器來觀察波形。四個鍵盤口連接一個四與門,與INT0口連接,將鍵盤中斷請求信號送入CPU。 圖2 系統(tǒng)硬件原理圖 3.23.2芯片端口資源分配表芯片端口資源分配表

8、表2 74LS21芯片端口資源分配表 芯片端口 作用說明 1 連接按鍵1,判斷按鍵1是否按下 2 連接按鍵2,判斷按鍵2是否按下 3連接按鍵3,判斷按鍵3是否按下 4連接按鍵4,判斷按鍵4是否按下 5發(fā)送鍵盤中斷請求信號 表3 AT89C51 芯片端口資源分配表 芯片端口 作用說明 P1.0 連接按鍵1,控制輸出方波頻率 P1.1 連接按鍵2,控制輸出方波頻率 P1.2 連接按鍵3,控制輸出方波占空比 P1.3 連接按鍵4,控制輸出方波占空比 湖南科技大學(xué)本科生課程設(shè)計(論文)- 5 -P2.0 輸出方波波形 P3.2 接收鍵盤中斷請求信號 第四章第四章 軟件設(shè)計軟件設(shè)計方波發(fā)生器的軟件設(shè)計包

9、括主程序、延時子程序、系統(tǒng)初始化程序、鍵盤中斷子程序、定時器中斷子程序。 4.14.1 主程序主程序 主程序包括系統(tǒng)初始化,和一個死循環(huán)系統(tǒng)。當(dāng)有中斷請求信號產(chǎn)生時,跳出循環(huán), 執(zhí)行中斷程序。流程圖如圖3 所示。 圖 3 主程序流程圖 4.24.2系統(tǒng)初始化子程序系統(tǒng)初始化子程序 在此程序中,給所有變量賦初值:鍵盤掃描口、初始頻率與占空比及定時、開中斷、定時器0與定時器1的工作方式等。初始化時啟動了定時器0和定時器1.其中初始頻率為50Hz,占空比為50%。鍵盤中斷處理子程序流程圖如圖4所示 4.34.3鍵盤中斷子程序鍵盤中斷子程序 鍵盤用外中斷 0 實現(xiàn)。當(dāng)有鍵按下時,產(chǎn)生低電平送入 INT

10、0 口,形成中斷請求信號,CUP 轉(zhuǎn)去執(zhí)行鍵盤中斷子程序,進(jìn)行頻率調(diào)節(jié)或占空比調(diào)節(jié)。 (1)頻率調(diào)節(jié) 按下按鍵 1 或 2 時,進(jìn)行頻率的調(diào)節(jié),占空比不變。1 鍵按下時,頻率增加 100Hz,若2 鍵按下時,頻率增加 10Hz。頻率最大值為 500Hz,當(dāng)頻率大于最大值時,重新賦值為50Hz。 (2)占空比調(diào)節(jié) 當(dāng)按鍵 3 和 4 按下時,進(jìn)行占空比調(diào)節(jié),頻率不變。3 鍵按下時,占空比進(jìn)行增加 10%,4 鍵按下時,占空比增加 1%。占空比最大值為 99%,當(dāng)占空比大于 99%時,重新賦值為 1%。 開始 系統(tǒng)初始化 空循環(huán) 湖南科技大學(xué)本科生課程設(shè)計(論文)- 6 -N YN Y 圖 4 鍵

11、盤中斷處理子程序流程圖4.44.4 定時器中斷子程序定時器中斷子程序 定時器中斷子程序中有定時器 0 與定時器 1 中斷, 頻率定時器 0 中斷流程圖與占空比定時器 1 流程圖分別如圖 5、圖 6 所示。定時器 0 中斷執(zhí)行的操作有:復(fù)位,啟動自身進(jìn)行頻率定時,同時啟動定時器 1, 開始 關(guān)中斷 延時消抖是否有鍵按下 判斷按鍵號 鍵處理 頻率和占空比 范圍是否超界 賦初值計算定時初值鍵盤口初始化關(guān)中斷湖南科技大學(xué)本科生課程設(shè)計(論文)- 7 -進(jìn)行占空比定時,輸出高電平。定時器 1 中斷,停止自身的計時,輸出低電平。第五章、第五章、 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 在本次課程設(shè)計中, 使用 Proteus

12、軟件進(jìn)行仿真調(diào)試。調(diào)試內(nèi)容主要為軟硬件的協(xié)同,觀察波形輸出結(jié)果是否能夠與設(shè)計方案所設(shè)計的那樣達(dá)到要求。調(diào)試結(jié)果如下: 1) 在 Proteus 軟件中運行仿真,示波器窗口中出現(xiàn)方波波形,顯然波形頻率與占空比分別為 50Hz 和 50%,符合程序初始化的結(jié)果。 圖 7 Proteus 仿真 初始狀態(tài)2) 分別按下按鍵 1、 2 調(diào)節(jié)方波頻率??梢钥吹椒讲úㄐ晤l率不斷增加,一快一慢,而占空比依然為 50%未變。 圖 8 Proteus 仿真 調(diào)節(jié)方波頻率 3) 重新在初始狀態(tài)下進(jìn)行仿真。 分別按下按鍵 3、 4 調(diào)節(jié)方波占空比, 可以看到方波波形的占空比發(fā)生變化,而頻率未變。湖南科技大學(xué)本科生課程

13、設(shè)計(論文)- 8 - 圖 9 Proteus 仿真 調(diào)節(jié)方波占空比 湖南科技大學(xué)本科生課程設(shè)計(論文)- 9 -第六章、第六章、 結(jié)果分析結(jié)果分析 在本次設(shè)計中, 方波信號發(fā)生器的頻率和占空比都獨立可調(diào)。 輸出方波信號的占空比圍為 0%100%,調(diào)節(jié)精度為 1%;頻率范圍為 50Hz500Hz,調(diào)節(jié)精度為 10Hz。頻率和占空比之間的調(diào)節(jié)彼此獨立。 進(jìn)行頻率調(diào)節(jié)時, 每次可以增加 100Hz 或 10Hz, 超過 500Hz 輸出為 50Hz 的方波;進(jìn)行占空比調(diào)節(jié)時,每次可增加 1%或 10%, 超出 100%時輸出占空為 0%方波??傮w看來,設(shè)計成果達(dá)到了設(shè)計要求。 輸出方波的波形穩(wěn)定,

14、調(diào)節(jié)也較為簡單。湖南科技大學(xué)本科生課程設(shè)計(論文)- 10 -參考文獻(xiàn)參考文獻(xiàn) 1 皮大能.南光群.劉金華.單片機(jī)課程設(shè)計指導(dǎo)書.北京理工大學(xué)出版社,2010.7.2 李光飛.樓然苗.胡佳文.謝象佐.單片機(jī)課程設(shè)計實例指導(dǎo).北京航空航天大學(xué)出版社,2004.9.3 求是科技.單片機(jī)典型模塊設(shè)計實例導(dǎo)航.人民郵局出版社.2004.5.4 童詩白.模擬電路技術(shù)基礎(chǔ)M.北京:高等教育出版社,2000.5.5 方大千.鮑俏偉.實用電子控制電路.國防工業(yè)出版社,2003.4. 6 李朝青.單片機(jī)原理及接口技術(shù).北京航空航天大學(xué)出版社.2011.6湖南科技大學(xué)本科生課程設(shè)計(論文)- 11 -附件附件 1

15、 1基于單片機(jī)方波發(fā)生器的程序清單:基于單片機(jī)方波發(fā)生器的程序清單:#include#define uchar unsigned char#define uint unsigned intfloat fosc=12000000; /系統(tǒng)時鐘頻率sbit KEY1=P10; /控制頻率百位;sbit KEY2=P11; /控制頻率十位;sbit KEY3=P12; /控制占空比十位;sbit KEY4=P13; /控制占空比個位;sbit OUTPUT=P20; /方波輸出端口;uchar zkb;uint freq;uchar TIMER0_L,TIMER0_H,TIMER1_L,TIMER1

16、_H; /定/*延時子程序*/void delay(uchar n) /延時uchar i;while(n-)for(i=255;i0;i-)湖南科技大學(xué)本科生課程設(shè)計(論文)- 12 -/*系統(tǒng)初始化*/void chushihua(void)P1=0 x0f;freq=50;zkb=50;TIMER0_L=0 xe0;TIMER0_H=0 xb1;TIMER1_L=0 xf0;TIMER1_H=0 xd8;TL0=0 xe0; /初始頻率 50Hz 定時 20msTH0=0 xb1;TL1=0 xf0; /初始占空比 50%定時 10msTH1=0 xd8;TMOD=0 x11; /定時器

17、 1 和定時器 0 工作在方式 1IT0=1; /選擇 INT0 為下降沿觸發(fā)方式EX0=1; /外部中斷 0 允許ET0=1; /定時器 1 和定時器 0 中斷允許湖南科技大學(xué)本科生課程設(shè)計(論文)- 13 -ET1=1;EA=1; /系統(tǒng)中斷允許TR0=1; /定時器 1 和定時器 0 開始定時TR1=1;/*主函數(shù)*/void main(void)chushihua(); /系統(tǒng)初始化while(1) /*定時器中斷子程序*/void Timer0_freq() interrupt 1 /頻率定時器 0 中斷TR1=1; /啟動定時器 1,占空比定時TL0=TIMER0_L;TH0=TI

18、MER0_H;OUTPUT=1; /輸出高電平湖南科技大學(xué)本科生課程設(shè)計(論文)- 14 -void Timer1_zkb() interrupt 3 /占空比定時器 1 中斷TR1=0; /定時器 1 停止TL1=TIMER1_L;TH1=TIMER1_H;OUTPUT=0; /輸出低電平/*鍵盤掃描子程序*/void keyscan() interrupt 0 using 1 /外部中斷 0float TF0,TZ1;EX0=0; /關(guān)中斷delay(10); /延時消抖if(P1!=0 x0f) /判斷是否有鍵按下if(KEY1=0) freq+=100; /按鍵為 1 號,頻率加 100if(KEY2=0) freq+=10; /按鍵為 2 號,頻率加 10if(freq500) freq=50; /頻率大于 500Hz,重新賦值為 5if(KEY3=0) zkb+=10; /按鍵為 3 號,占空比加 10湖南科技大學(xué)本科生課程設(shè)計

溫馨提示

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

評論

0/150

提交評論