版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告課程名稱: 單片機(jī)課程設(shè)計(jì) 題 目: 多功能電子表 學(xué) 院: 環(huán)境與化學(xué)工程 系:過程裝備與測控工程 專 業(yè): 測控技術(shù)與儀器 班 級: 測儀103 學(xué) 號: 5801210114 學(xué)生姓名: 汪 超 起訖日期: 2012-12-282013-1-7 指導(dǎo)教師: 楊大勇、楊俊清、熊劍 摘要單片機(jī)就是微控制器,是面向應(yīng)用對象設(shè)計(jì)、突出控制功能的芯片。單片機(jī)接上晶振、復(fù)位電路和相應(yīng)的接口電路,裝載軟件后就可以構(gòu)成單片機(jī)應(yīng)用系統(tǒng)。將它嵌入到形形色色的應(yīng)用系統(tǒng)中,就構(gòu)成了眾多產(chǎn)品、設(shè)備的智能化核心。本設(shè)計(jì)就是應(yīng)用單片機(jī)制作多功能電子表,該電子表包含四個(gè)部分:電子時(shí)鐘、電子日歷、電子秒表、鬧
2、鐘。本設(shè)計(jì)采用的是STC89S52單片機(jī),該單片機(jī)采用的MCU51內(nèi)核,具有很好的兼容性,內(nèi)部帶有8KB的ROM,能夠存儲大量的程序,采用STC_ISP軟件給單片機(jī)燒寫程序。除單片機(jī)外其他主要部件有12MHz的晶振、3×3矩陣鍵盤、四位八段共陽極數(shù)碼管、無源蜂鳴器。根據(jù)晶振的頻率設(shè)置單片機(jī)定時(shí)器的特殊功能寄存器TH0/TH1和TL0/TL1從而實(shí)現(xiàn)高精度的定時(shí),本設(shè)計(jì)定時(shí)器T0用作時(shí)鐘計(jì)時(shí),T1用作秒表及蜂鳴器的頻率發(fā)生器;矩陣鍵盤則是用來實(shí)現(xiàn)功能的切換及時(shí)間、日期、鬧鐘的設(shè)置等操作,所有需要顯示的內(nèi)容均在數(shù)碼管上顯示。關(guān)鍵詞:電子表 日歷 鬧鐘 秒表 多功能第 1 頁 共 48 頁
3、目錄一、設(shè)計(jì)任務(wù)、要求11.1、設(shè)計(jì)任務(wù):11.2、設(shè)計(jì)要求:1二、方案總體設(shè)計(jì)22.1、顯示模塊22.2、實(shí)時(shí)時(shí)間計(jì)算模塊22.3、按鍵控制模塊22.4、聲音報(bào)警模塊22.5、總體設(shè)計(jì):2三、硬件設(shè)計(jì)43.1、單片機(jī)最小系統(tǒng)43.1.1、時(shí)鐘信號的產(chǎn)生43.1.2、復(fù)位電路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、實(shí)物圖135.3、使用說明14六、設(shè)計(jì)總結(jié)及心得體會15附錄
4、一:源程序代碼16附錄二:主要參考資料45第 1 頁 共 48 頁一、設(shè)計(jì)任務(wù)、要求1.1、設(shè)計(jì)任務(wù):利用單片機(jī)、3×3矩陣鍵盤、數(shù)碼管、無源蜂鳴器實(shí)現(xiàn)具有日期、時(shí)間、秒表、鬧鐘功能的多功能電子表。1.2、設(shè)計(jì)要求:1、準(zhǔn)確計(jì)時(shí),以數(shù)字形式顯示月、日、時(shí)、分、秒。2、小時(shí)以24小時(shí)計(jì)時(shí)形式,分秒計(jì)時(shí)為60進(jìn)位,日期按平年計(jì)算 3、采用3×3矩陣鍵盤對電子表進(jìn)行控制,可進(jìn)行功能切換、控制及時(shí)間日期的設(shè)定。4、鬧鐘功能,可任意設(shè)定鬧鐘時(shí)間,一旦走時(shí)到該時(shí)間,能以聲或光的形式告警提示。5、日歷功能,可任意設(shè)定日期,通過按鍵可進(jìn)入日期顯示界面。 6、秒表功能,計(jì)時(shí)精度為0.01s,
5、可任意時(shí)刻暫停、繼續(xù),同時(shí)應(yīng)具有秒表清零功能。7、復(fù)位電路采用按鍵復(fù)位電路。二、方案總體設(shè)計(jì)本次設(shè)計(jì)多功能電子表,使用了STC89C52單片機(jī)芯片控制電路,單片機(jī)控制電路簡單,電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整電子表的月、日、時(shí)、分及秒表的開始、暫停、繼續(xù)、清零,用一蜂鳴器來進(jìn)行定時(shí)提醒,編程采用Keil C,編程簡單便捷且調(diào)試方便,這樣通過四個(gè)模塊:鍵盤、芯片、蜂鳴器、數(shù)碼管即可滿足設(shè)計(jì)要求。2.1、顯示模塊數(shù)碼管是利用發(fā)光二極管的特性組合而成數(shù)字顯示器件,通過控制相應(yīng)的二極管的狀態(tài)顯示相應(yīng)的數(shù)字。要使數(shù)碼管正常顯示就得有驅(qū)動電路驅(qū)動相應(yīng)的段碼,數(shù)碼管的現(xiàn)實(shí)方式可分為靜態(tài)顯示和動態(tài)顯示,
6、靜態(tài)顯示方式只適合顯示單個(gè)的數(shù)字。本設(shè)計(jì)采用的數(shù)碼管為四位八段共陽極數(shù)碼管,故此采用動態(tài)顯示。2.2、實(shí)時(shí)時(shí)間計(jì)算模塊AT89S52單片機(jī)內(nèi)部帶有定時(shí)/計(jì)數(shù)功能,此定時(shí)功能是通過對外部晶振的脈沖進(jìn)行計(jì)數(shù),從而達(dá)到計(jì)時(shí)功能,使用12MHz的晶振就能實(shí)現(xiàn)高精度的計(jì)時(shí),因此可以利用此功能實(shí)現(xiàn)計(jì)時(shí)。2.3、按鍵控制模塊本設(shè)計(jì)用到的鍵盤有9個(gè)按鍵,由于按鍵數(shù)目較多,若采用獨(dú)立按鍵的連接方式需要用到一個(gè)以上的I/O口,故此將鍵盤連接成3×3矩陣鍵盤,由P3口控制,共占六個(gè)端口。2.4、聲音報(bào)警模塊此模塊采用無源蜂鳴器實(shí)現(xiàn),通過編寫相應(yīng)的程序,當(dāng)滿足一要求時(shí),給蜂鳴器提供不同頻率的方波,使其發(fā)出不
7、同頻率的聲音,把不同頻率的聲音按一定的時(shí)序輸出,從而發(fā)出音樂。2.5、總體設(shè)計(jì):總體框架如圖2-1所示:圖2-1總體硬件框架圖總體構(gòu)思如圖2-2所示:圖2-2總體構(gòu)思框架圖三、硬件設(shè)計(jì)3.1、單片機(jī)最小系統(tǒng)3.1.1、時(shí)鐘信號的產(chǎn)生89C52芯片內(nèi)部有一個(gè)高增益法相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個(gè)電容就可以構(gòu)成穩(wěn)定的自己振蕩器,電路如圖3-1所示。圖3-1晶振電路3.1.2、復(fù)位電路復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式,本設(shè)計(jì)采用按鍵電平復(fù)位,結(jié)構(gòu)如圖3-2所示。圖3-2復(fù)位電路3.2、數(shù)碼管顯示模塊3.2.1、數(shù)碼管引
8、腳圖圖3-3四維八段共陽極數(shù)碼管3.2.2、數(shù)碼管連線電路本設(shè)計(jì)中是用P1口控制數(shù)碼管的段選,用P2口的高四位控制數(shù)碼管的位選。連線電路圖:圖3-4數(shù)碼管連線電路圖3.3、矩陣鍵盤本設(shè)計(jì)采用3×3矩陣鍵盤,通過對行列掃描來確定那個(gè)按鍵按下,按鍵序號及接線圖如下圖所示:圖3-5矩陣鍵盤連線電路圖3.4、蜂鳴器電路本課程設(shè)計(jì)使用的蜂鳴器是無源蜂鳴器,通過對給蜂鳴器一定頻率的方波,驅(qū)動蜂鳴器蜂鳴器發(fā)出相應(yīng)頻率的聲音,其中方波可對端口進(jìn)行連續(xù)取反實(shí)現(xiàn),取反頻率由定時(shí)器控制,驅(qū)動電路如下圖所示:圖3-6蜂鳴器連線電路圖3.5、整體電路原理圖整體電路原理圖如圖3-7所示:圖3-7總體電路原理圖3
9、.6、Lochmaster硬件電路圖3-8硬件電路正面視圖圖3-9硬件電路背面視圖四、程序流程圖程序主要流程如圖4-1所示,時(shí)間、日期設(shè)置部分流程如圖4-2所示。圖4-1程序流程圖圖4-2程序流程圖時(shí)間、日期設(shè)置部分5、 系統(tǒng)仿真與調(diào)試5.1、Proteus仿真原理圖Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)
10、了從概念到產(chǎn)品的完整設(shè)計(jì)。它是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺。以下是用Proteus仿真調(diào)試圖:圖5-1實(shí)時(shí)時(shí)間顯示圖5-2日期顯示圖5-3秒表界面圖5-4鬧鐘設(shè)置5.2、實(shí)物圖圖5-5實(shí)物正面視圖圖5-6實(shí)物圖簡介5.3、使用說明圖5-7按鍵功能映射圖按鍵序號及對應(yīng)功能如圖5-7所示所示,具體功能為:按鍵1:秒表進(jìn)入與退出鍵按鍵2、8:上下調(diào)整功能鍵按鍵3:鬧鐘時(shí)間設(shè)定界面進(jìn)入退出鍵按鍵4、6:左右項(xiàng)目切換功能鍵按鍵5:設(shè)置界面為確定返回,秒表界面為運(yùn)行與暫停功能鍵按鍵7:時(shí)間及日期設(shè)置界面進(jìn)入及切換鍵按鍵9:日歷顯示與退出功能鍵六、設(shè)計(jì)總結(jié)及
11、心得體會通過此次課程設(shè)計(jì),第一次將理論用于實(shí)際應(yīng)用,第一次脫離書本自己動手設(shè)計(jì)并制作一個(gè)實(shí)物,這使得自己對過去所學(xué)知識有了更加深刻的掌握。當(dāng)理論應(yīng)用于實(shí)際時(shí),總會有一系列的問題需要解決,而這些問題的解決過程中,自己的動手能力得到的非常好的鍛煉,與此同時(shí)也深化自身對許多相關(guān)知識的掌握,知識的廣度也得到一定程度的擴(kuò)充。本次課程設(shè)計(jì)對自己即使一次檢驗(yàn),同時(shí)也是一次鍛煉。從最開始的選題,到之后電路設(shè)計(jì)、電路焊接、編程、調(diào)試等等,一步步走過來,從一開始的知之甚少,到后來制作完成,如果用一句來概括,那就是自己一直在實(shí)踐中成長。經(jīng)過這次系統(tǒng)性的課程設(shè)計(jì),讓自己得到一次綜合性的鍛煉,對設(shè)計(jì)的流程有了大體的掌握
12、,為今后自身的發(fā)展提供了寶貴的經(jīng)驗(yàn)。設(shè)計(jì)的每一個(gè)過程對自己都有很大的啟發(fā),以往自己幾乎不曾接觸過硬件電路,對硬件電路設(shè)計(jì)的一些意識幾乎為零,而在電路設(shè)計(jì)及焊接的過程中,自己的硬件知識得到了擴(kuò)充,設(shè)計(jì)意識也得到了一定的訓(xùn)練。在軟件編程方面,可以說這次編寫的程序是自己到目前為止寫過的最長的程序了,不得不說編程是一項(xiàng)累人的活,需要細(xì)心和耐心,簡單的結(jié)構(gòu)錯(cuò)誤容易發(fā)現(xiàn),而一些其他各種各樣的錯(cuò)誤可能極為隱晦,有時(shí)一個(gè)小錯(cuò)誤花上一天也難以找到。在本次編程及調(diào)試過程中,自己對編程和調(diào)試有了較為深刻的認(rèn)識,通過不斷地發(fā)現(xiàn)問題解決問題,感覺到基本上所有不合理都是可以優(yōu)化的,所有的錯(cuò)誤都是可以理解的,編程和調(diào)試的時(shí)
13、候切記不能急躁,出現(xiàn)問題時(shí),應(yīng)認(rèn)真分析問題產(chǎn)生的原因,而當(dāng)你真正發(fā)現(xiàn)問題的根源時(shí),就會發(fā)現(xiàn)問題和原因之間的聯(lián)系時(shí)非常有邏輯,而認(rèn)真分析問題的出現(xiàn)的前因后果是解決問題最有效的途徑。此次編程也讓自己對自身編程水平有了一定的了解,認(rèn)識到自己在編程上存在非常多的欠缺,以前學(xué)的C語言的知識有很大一部分不熟練甚至陌生,在整體上自己不能對編程有很規(guī)范的整體把握,編寫的程序存在諸多不夠合理??偠灾?,本次課程設(shè)計(jì)對自己而言是一次非常有意義的經(jīng)歷,希望自己能吸取經(jīng)驗(yàn),在以后逐步完善自己目前的不足。附錄一:源程序代碼#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時(shí)鐘顯示,1設(shè)置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口 點(diǎn)滅uchar code table2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/P1口 點(diǎn)亮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(); /時(shí)加void timeh2(); /時(shí)減void timeday1(); /日加 void timeday2();/日減void timemon1()
21、;/月加void timemon2();/月減void stsec();/計(jì)時(shí)器void stmsec();void display(); /顯示void stopwatch(); /秒表顯示void calendar(); /日歷void set(); void setcal(); void alarm(); /鬧鐘void alarmm1();void alarmm2();void alarmh1();void alarmh2();void buzzer(); /蜂鳴器服務(wù)子程序uchar keycheck(); /按鍵檢測uchar line(uchar x); /按鍵檢測 行掃描voi
22、d delay(); /掃描延時(shí)void delay1(); /穩(wěn)定顯示延時(shí)void song(); /鬧鈴void mdelay();/鬧鈴延時(shí)子程序 void main ()TMOD=0x11; /設(shè)置定時(shí)器t0,t1工作模式1TH0=(65536-20000)/256;TL0=(65536-20000)%256; /t0計(jì)時(shí)器初值EA=1;ET0=1;ET1=1;TR0=1;P2=0x00;display();void display() works=0; /時(shí)鐘運(yùn)行while(1) if(num>=25) /時(shí)鐘顯示狀態(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)系上傳者。文件的所有權(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購買技術(shù)合作服務(wù)合同
- 全面消殺清潔協(xié)議
- 貨物買賣合同封
- 鋁板材料直銷協(xié)議
- 廣告服務(wù)合同樣式
- 裝修補(bǔ)充合同協(xié)議
- 軟件維護(hù)與運(yùn)維服務(wù)合同
- 長期穩(wěn)定合作材料采購合同
- 臨時(shí)工與派遣公司合同
- 農(nóng)產(chǎn)品生鮮訂購合同
- 《文明禮儀概述培訓(xùn)》課件
- 新疆大學(xué)答辯模板課件模板
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- 跨文化溝通心理學(xué)智慧樹知到期末考試答案2024年
- 《中華民族共同體概論》考試復(fù)習(xí)題庫(含答案)
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- 標(biāo)準(zhǔn)的指令性目標(biāo)問題解決型案例
- 預(yù)制梁場建設(shè)驗(yàn)收標(biāo)準(zhǔn)
- 養(yǎng)殖戶糞污污染情況整改報(bào)告2篇
- Q-FT B039-2006汽車產(chǎn)品油漆涂層技術(shù)條件
- 機(jī)械工程測試與控制技術(shù)項(xiàng)目設(shè)計(jì)
評論
0/150
提交評論