![課設報告范文(正文部分必須達到15頁以上)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/c6cb131a-d3d4-40f1-a074-b19cd27ed7b7/c6cb131a-d3d4-40f1-a074-b19cd27ed7b71.gif)
![課設報告范文(正文部分必須達到15頁以上)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/c6cb131a-d3d4-40f1-a074-b19cd27ed7b7/c6cb131a-d3d4-40f1-a074-b19cd27ed7b72.gif)
![課設報告范文(正文部分必須達到15頁以上)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/c6cb131a-d3d4-40f1-a074-b19cd27ed7b7/c6cb131a-d3d4-40f1-a074-b19cd27ed7b73.gif)
![課設報告范文(正文部分必須達到15頁以上)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/c6cb131a-d3d4-40f1-a074-b19cd27ed7b7/c6cb131a-d3d4-40f1-a074-b19cd27ed7b74.gif)
![課設報告范文(正文部分必須達到15頁以上)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/c6cb131a-d3d4-40f1-a074-b19cd27ed7b7/c6cb131a-d3d4-40f1-a074-b19cd27ed7b75.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計報告課程名稱: 單片機課程設計 題 目: 多功能電子表 學 院: 環(huán)境與化學工程 系:過程裝備與測控工程 專 業(yè): 測控技術與儀器 班 級: 測儀103 學 號: 5801210114 學生姓名: 汪 超 起訖日期: 2012-12-282013-1-7 指導教師: 楊大勇、楊俊清、熊劍 摘要單片機就是微控制器,是面向應用對象設計、突出控制功能的芯片。單片機接上晶振、復位電路和相應的接口電路,裝載軟件后就可以構成單片機應用系統(tǒng)。將它嵌入到形形色色的應用系統(tǒng)中,就構成了眾多產(chǎn)品、設備的智能化核心。本設計就是應用單片機制作多功能電子表,該電子表包含四個部分:電子時鐘、電子日歷、電子秒表、鬧
2、鐘。本設計采用的是STC89S52單片機,該單片機采用的MCU51內(nèi)核,具有很好的兼容性,內(nèi)部帶有8KB的ROM,能夠存儲大量的程序,采用STC_ISP軟件給單片機燒寫程序。除單片機外其他主要部件有12MHz的晶振、3×3矩陣鍵盤、四位八段共陽極數(shù)碼管、無源蜂鳴器。根據(jù)晶振的頻率設置單片機定時器的特殊功能寄存器TH0/TH1和TL0/TL1從而實現(xiàn)高精度的定時,本設計定時器T0用作時鐘計時,T1用作秒表及蜂鳴器的頻率發(fā)生器;矩陣鍵盤則是用來實現(xiàn)功能的切換及時間、日期、鬧鐘的設置等操作,所有需要顯示的內(nèi)容均在數(shù)碼管上顯示。關鍵詞:電子表 日歷 鬧鐘 秒表 多功能第 1 頁 共 48 頁
3、目錄一、設計任務、要求11.1、設計任務:11.2、設計要求:1二、方案總體設計22.1、顯示模塊22.2、實時時間計算模塊22.3、按鍵控制模塊22.4、聲音報警模塊22.5、總體設計:2三、硬件設計43.1、單片機最小系統(tǒng)43.1.1、時鐘信號的產(chǎn)生43.1.2、復位電路43.2、數(shù)碼管顯示模塊53.2.1、數(shù)碼管引腳圖53.2.2、數(shù)碼管連線電路53.3、矩陣鍵盤63.4、蜂鳴器電路63.5、整體電路原理圖63.6、Lochmaster硬件電路7四、程序流程圖9五、 系統(tǒng)仿真與調(diào)試115.1、Proteus仿真原理圖115.2、實物圖135.3、使用說明14六、設計總結及心得體會15附錄
4、一:源程序代碼16附錄二:主要參考資料45第 1 頁 共 48 頁一、設計任務、要求1.1、設計任務:利用單片機、3×3矩陣鍵盤、數(shù)碼管、無源蜂鳴器實現(xiàn)具有日期、時間、秒表、鬧鐘功能的多功能電子表。1.2、設計要求:1、準確計時,以數(shù)字形式顯示月、日、時、分、秒。2、小時以24小時計時形式,分秒計時為60進位,日期按平年計算 3、采用3×3矩陣鍵盤對電子表進行控制,可進行功能切換、控制及時間日期的設定。4、鬧鐘功能,可任意設定鬧鐘時間,一旦走時到該時間,能以聲或光的形式告警提示。5、日歷功能,可任意設定日期,通過按鍵可進入日期顯示界面。 6、秒表功能,計時精度為0.01s,
5、可任意時刻暫停、繼續(xù),同時應具有秒表清零功能。7、復位電路采用按鍵復位電路。二、方案總體設計本次設計多功能電子表,使用了STC89C52單片機芯片控制電路,單片機控制電路簡單,電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整電子表的月、日、時、分及秒表的開始、暫停、繼續(xù)、清零,用一蜂鳴器來進行定時提醒,編程采用Keil C,編程簡單便捷且調(diào)試方便,這樣通過四個模塊:鍵盤、芯片、蜂鳴器、數(shù)碼管即可滿足設計要求。2.1、顯示模塊數(shù)碼管是利用發(fā)光二極管的特性組合而成數(shù)字顯示器件,通過控制相應的二極管的狀態(tài)顯示相應的數(shù)字。要使數(shù)碼管正常顯示就得有驅(qū)動電路驅(qū)動相應的段碼,數(shù)碼管的現(xiàn)實方式可分為靜態(tài)顯示和動態(tài)顯示,
6、靜態(tài)顯示方式只適合顯示單個的數(shù)字。本設計采用的數(shù)碼管為四位八段共陽極數(shù)碼管,故此采用動態(tài)顯示。2.2、實時時間計算模塊AT89S52單片機內(nèi)部帶有定時/計數(shù)功能,此定時功能是通過對外部晶振的脈沖進行計數(shù),從而達到計時功能,使用12MHz的晶振就能實現(xiàn)高精度的計時,因此可以利用此功能實現(xiàn)計時。2.3、按鍵控制模塊本設計用到的鍵盤有9個按鍵,由于按鍵數(shù)目較多,若采用獨立按鍵的連接方式需要用到一個以上的I/O口,故此將鍵盤連接成3×3矩陣鍵盤,由P3口控制,共占六個端口。2.4、聲音報警模塊此模塊采用無源蜂鳴器實現(xiàn),通過編寫相應的程序,當滿足一要求時,給蜂鳴器提供不同頻率的方波,使其發(fā)出不
7、同頻率的聲音,把不同頻率的聲音按一定的時序輸出,從而發(fā)出音樂。2.5、總體設計:總體框架如圖2-1所示:圖2-1總體硬件框架圖總體構思如圖2-2所示:圖2-2總體構思框架圖三、硬件設計3.1、單片機最小系統(tǒng)3.1.1、時鐘信號的產(chǎn)生89C52芯片內(nèi)部有一個高增益法相放大器,用于構成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個電容就可以構成穩(wěn)定的自己振蕩器,電路如圖3-1所示。圖3-1晶振電路3.1.2、復位電路復位操作有上電自動復位和按鍵手動復位兩種方式,本設計采用按鍵電平復位,結構如圖3-2所示。圖3-2復位電路3.2、數(shù)碼管顯示模塊3.2.1、數(shù)碼管引
8、腳圖圖3-3四維八段共陽極數(shù)碼管3.2.2、數(shù)碼管連線電路本設計中是用P1口控制數(shù)碼管的段選,用P2口的高四位控制數(shù)碼管的位選。連線電路圖:圖3-4數(shù)碼管連線電路圖3.3、矩陣鍵盤本設計采用3×3矩陣鍵盤,通過對行列掃描來確定那個按鍵按下,按鍵序號及接線圖如下圖所示:圖3-5矩陣鍵盤連線電路圖3.4、蜂鳴器電路本課程設計使用的蜂鳴器是無源蜂鳴器,通過對給蜂鳴器一定頻率的方波,驅(qū)動蜂鳴器蜂鳴器發(fā)出相應頻率的聲音,其中方波可對端口進行連續(xù)取反實現(xiàn),取反頻率由定時器控制,驅(qū)動電路如下圖所示:圖3-6蜂鳴器連線電路圖3.5、整體電路原理圖整體電路原理圖如圖3-7所示:圖3-7總體電路原理圖3
9、.6、Lochmaster硬件電路圖3-8硬件電路正面視圖圖3-9硬件電路背面視圖四、程序流程圖程序主要流程如圖4-1所示,時間、日期設置部分流程如圖4-2所示。圖4-1程序流程圖圖4-2程序流程圖時間、日期設置部分5、 系統(tǒng)仿真與調(diào)試5.1、Proteus仿真原理圖Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)
10、了從概念到產(chǎn)品的完整設計。它是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺。以下是用Proteus仿真調(diào)試圖:圖5-1實時時間顯示圖5-2日期顯示圖5-3秒表界面圖5-4鬧鐘設置5.2、實物圖圖5-5實物正面視圖圖5-6實物圖簡介5.3、使用說明圖5-7按鍵功能映射圖按鍵序號及對應功能如圖5-7所示所示,具體功能為:按鍵1:秒表進入與退出鍵按鍵2、8:上下調(diào)整功能鍵按鍵3:鬧鐘時間設定界面進入退出鍵按鍵4、6:左右項目切換功能鍵按鍵5:設置界面為確定返回,秒表界面為運行與暫停功能鍵按鍵7:時間及日期設置界面進入及切換鍵按鍵9:日歷顯示與退出功能鍵六、設計總結及
11、心得體會通過此次課程設計,第一次將理論用于實際應用,第一次脫離書本自己動手設計并制作一個實物,這使得自己對過去所學知識有了更加深刻的掌握。當理論應用于實際時,總會有一系列的問題需要解決,而這些問題的解決過程中,自己的動手能力得到的非常好的鍛煉,與此同時也深化自身對許多相關知識的掌握,知識的廣度也得到一定程度的擴充。本次課程設計對自己即使一次檢驗,同時也是一次鍛煉。從最開始的選題,到之后電路設計、電路焊接、編程、調(diào)試等等,一步步走過來,從一開始的知之甚少,到后來制作完成,如果用一句來概括,那就是自己一直在實踐中成長。經(jīng)過這次系統(tǒng)性的課程設計,讓自己得到一次綜合性的鍛煉,對設計的流程有了大體的掌握
12、,為今后自身的發(fā)展提供了寶貴的經(jīng)驗。設計的每一個過程對自己都有很大的啟發(fā),以往自己幾乎不曾接觸過硬件電路,對硬件電路設計的一些意識幾乎為零,而在電路設計及焊接的過程中,自己的硬件知識得到了擴充,設計意識也得到了一定的訓練。在軟件編程方面,可以說這次編寫的程序是自己到目前為止寫過的最長的程序了,不得不說編程是一項累人的活,需要細心和耐心,簡單的結構錯誤容易發(fā)現(xiàn),而一些其他各種各樣的錯誤可能極為隱晦,有時一個小錯誤花上一天也難以找到。在本次編程及調(diào)試過程中,自己對編程和調(diào)試有了較為深刻的認識,通過不斷地發(fā)現(xiàn)問題解決問題,感覺到基本上所有不合理都是可以優(yōu)化的,所有的錯誤都是可以理解的,編程和調(diào)試的時
13、候切記不能急躁,出現(xiàn)問題時,應認真分析問題產(chǎn)生的原因,而當你真正發(fā)現(xiàn)問題的根源時,就會發(fā)現(xiàn)問題和原因之間的聯(lián)系時非常有邏輯,而認真分析問題的出現(xiàn)的前因后果是解決問題最有效的途徑。此次編程也讓自己對自身編程水平有了一定的了解,認識到自己在編程上存在非常多的欠缺,以前學的C語言的知識有很大一部分不熟練甚至陌生,在整體上自己不能對編程有很規(guī)范的整體把握,編寫的程序存在諸多不夠合理。總而言之,本次課程設計對自己而言是一次非常有意義的經(jīng)歷,希望自己能吸取經(jīng)驗,在以后逐步完善自己目前的不足。附錄一:源程序代碼#include <reg52.h>#define uchar unsigned ch
14、ar#define uint unsigned intuchar num=50,numb=100,numf=0,stnum=100;tnum=0,keyhold1=0x00,keyhold2=0x00,works=0,stworks=0,knum,wnum,knum1=0,knum2,mnum1,mnum2=0,mnum3=3,t1works,mtime,timer1h,timer1l; /worksituation工作狀態(tài):0時鐘顯示,1設置uchar mon1=0,mon2=1,day1=0,day2=1,hour1=1,hour2=2,min1=0,min2=0,alhour1=0,al
15、hour2=6,almin1=0,almin2=0,sec1=0,sec2=0,sts1=0,sts2=0,stms1=0,stms2=0;/定義全局變量uchar code table1=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/P1口 點滅uchar code table2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/P1口 點亮code unsigned char skycity=6,1,4, 7,1,4, 1,2,12, 7,1,4, 1,2,8, 3,2,8, 7,1
16、,20, 3,1,4, 3,1,4, 6,1,12, 5,1,4, 6,1,8, 1,2,8, 5,1,20, 3,1,4, 3,1,4, 4,1,12, 3,1,4, 4,1,4, 1,2,12, 3,1,20, 1,2,4, 1,2,4, 1,2,4, 7,1,12, 4,1,4, 4,1,8, 7,1,8, 7,1,20, 6,1,4, 7,1,4, 1,2,12, 7,1,4, 1,2,8, 3,2,8, 7,1,20, 3,1,4, 3,1,4, 6,1,12, 5,1,4, 6,1,8, 1,2,8, 5,1,32, 3,1,4, 4,1,8, 1,2,4, 7,1,6, 1,2,
17、8, 2,2,4, 2,2,4, 3,2,4, 1,2,16, 1,2,4, 7,1,4, 6,1,4, 6,1,4, 7,1,6, 5,1,8, 6,1,24, 1,2,4, 2,2,4, 3,2,12, 2,2,4, 3,2,8, 5,2,8, 2,2,24, 5,1,4, 5,1,4, 1,2,4, 7,1,4, 1,2,8, 3,2,8, 3,2,32, 6,1,4, 7,1,4, 1,2,8, 7,1,8, 2,2,6, 1,2,12, 5,1,4, 5,1,16, 4,2,8, 3,2,8, 2,2,8, 1,2,8, 3,2,30, 3,1,20, 3,2,8, 6,2,16,
18、5,2,8, 5,2,8, 3,2,4, 2,2,4, 1,2,8, 1,2,4, 2,2,16, 2,2,8, 1,2,4, 2,2,4, 2,2,8, 5,2,8, 3,2,20, 3,2,8, 6,2,16, 5,2,16, 3,2,4, 2,2,20, 1,2,8, 2,2,8, 1,2,4, 2,2,4, 2,2,4, 7,1,8, 6,1,20, 6,1,4, 7,1,4, 6,1,32, ;code unsigned char freqh= 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, / 音階頻率表 高八位 0xF9,0xF9,0xFA,0xFA,0x
19、FB,0xFB,0xFC,0xFC, /1,2,3,4,5,6,7,8,i 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, ; code unsigned char freql= / 音階頻率表 低八位 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, /1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0x
20、FA,0x16, ; sbit P2_0 = 0xA0;sbit P2_1 = 0xA1;sbit P2_2 =0xA2;sbit P2_3 = 0xA3;sbit P2_4 = 0xA4;sbit P2_5 = 0xA5;sbit P2_6 = 0xA6;sbit P2_7 = 0xA7;void time(); void sec(); /秒void timem1(); /分加void timem2(); /分減void timeh1(); /時加void timeh2(); /時減void timeday1(); /日加 void timeday2();/日減void timemon1()
21、;/月加void timemon2();/月減void stsec();/計時器void stmsec();void display(); /顯示void stopwatch(); /秒表顯示void calendar(); /日歷void set(); void setcal(); void alarm(); /鬧鐘void alarmm1();void alarmm2();void alarmh1();void alarmh2();void buzzer(); /蜂鳴器服務子程序uchar keycheck(); /按鍵檢測uchar line(uchar x); /按鍵檢測 行掃描voi
22、d delay(); /掃描延時void delay1(); /穩(wěn)定顯示延時void song(); /鬧鈴void mdelay();/鬧鈴延時子程序 void main ()TMOD=0x11; /設置定時器t0,t1工作模式1TH0=(65536-20000)/256;TL0=(65536-20000)%256; /t0計時器初值EA=1;ET0=1;ET1=1;TR0=1;P2=0x00;display();void display() works=0; /時鐘運行while(1) if(num>=25) /時鐘顯示狀態(tài)P2_7=0;delay1();P1=table1hour1
23、;P2_4=1;delay();P2_4=0;delay1();P1=table2hour2;P2_5=1;delay();P2_5=0;delay1();P1=table1min1;P2_6=1;delay();P2_6=0;delay1();P1=table1min2;P2_7=1;/后keycheck 出現(xiàn)delay() 故此不用elseP2_7=0;delay1();P1=table1hour1;P2_4=1;delay();P2_4=0;delay1();P1=table1hour2;P2_5=1;delay();P2_5=0;delay1();P1=table1min1;P2_6=1;delay();P2_6=0;delay1();P1=table1min2;P2_7=1;/后keycheck 出現(xiàn)delay() 故此不用if(mnum1!=min2) mnum2=0;/min2改變 開放鬧鈴if(knum1>0) knum1-;/防止回跳keycheck();if(knum2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科學技術職業(yè)學院《建筑給水排水》2023-2024學年第一學期期末試卷
- 廣東酒店管理職業(yè)技術學院《社會工作基礎》2023-2024學年第一學期期末試卷
- 廣東金融學院《動物微生物與免疫學》2023-2024學年第一學期期末試卷
- 廣東建設職業(yè)技術學院《國際金融管理》2023-2024學年第一學期期末試卷
- 廣東工業(yè)大學《道路與橋梁工程實訓》2023-2024學年第一學期期末試卷
- 廣東東軟學院《高級日語(I)》2023-2024學年第一學期期末試卷
- 廣東創(chuàng)新科技職業(yè)學院《導向信息媒體設計》2023-2024學年第一學期期末試卷
- 上海中醫(yī)藥基礎醫(yī)學免疫學課件緒論
- 廣東白云學院《計算機繪圖CAD》2023-2024學年第一學期期末試卷
- 共青科技職業(yè)學院《西方音樂史與欣賞Ⅰ》2023-2024學年第一學期期末試卷
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應用實踐指導材料之14:“6策劃-6.3變更的策劃”(雷澤佳編制-2025B0)
- 2024年特厚板行業(yè)現(xiàn)狀分析:中國特厚板市場占總銷售量45.01%
- 2025年中國地質(zhì)調(diào)查局烏魯木齊自然資源綜合調(diào)查中心招聘19人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2024版影視制作公司與演員經(jīng)紀公司合作協(xié)議3篇
- 2024年上海市初三語文二模試題匯編之記敘文閱讀
- 2024年度上海市嘉定區(qū)工業(yè)廠房買賣合同2篇
- 2023-2024學年廣東省廣州市海珠區(qū)九年級(上)期末化學試卷(含答案)
- 音樂老師年度總結5篇
- SAP WM模塊前臺操作詳解(S4版本)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設計規(guī)范
- 《中華民族共同體概論》考試復習題庫(含答案)
評論
0/150
提交評論