單片機課間作息時間控制器課程設(shè)計_第1頁
單片機課間作息時間控制器課程設(shè)計_第2頁
單片機課間作息時間控制器課程設(shè)計_第3頁
單片機課間作息時間控制器課程設(shè)計_第4頁
單片機課間作息時間控制器課程設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖南工程學(xué)院課 程 設(shè) 計課程名稱 單片機原理及應(yīng)用 課題名稱課間作息時間控制器專 業(yè)自動化班 級學(xué) 號 2011姓 名指導(dǎo)教師 李曉秀 王迎旭2012年 12 月 02 日湖南工程學(xué)院課 程 設(shè) 計 任 務(wù) 書課程名稱 單片機原理及應(yīng)用 課 題 單片機作息時間控制器專業(yè)班級 學(xué)生姓名 學(xué) 號 指導(dǎo)老師 李曉秀 王迎旭 審 批 王迎旭任務(wù)書下達日期 2012 年 12 月02 日 任務(wù)完成日期 2012年 12 月15 日目 錄第一章 概述1.1課題任務(wù)簡介.11.2課題設(shè)計的目的及意義.1第二章 課題方案設(shè)計.22.1課題方案設(shè)計.22.2 課題方案簡要原理.2第三章 硬件設(shè)計.33.1 單

2、片機芯片選擇.43.2 電源電路.43.3 時鐘電路.43.4 復(fù)位電路.43.5 蜂鳴器輸出電路.53.7 按鍵輸入電路.63.8 LED數(shù)碼驅(qū)動電路.6第四章 軟件設(shè)計.84.1 主程序的設(shè)計.84.2 顯示程序的設(shè)計.114.3 計時程序的設(shè)計.114.4 輔助子程序的設(shè)計.13第五章 系統(tǒng)調(diào)試.155.1 調(diào)試準備.155.2 調(diào)試結(jié)果.155.2.1 軟件仿真顯示.165.2.2 硬件顯示.16.5.3 調(diào)試故障及分析.18第六章 總結(jié).19參考文獻.19附錄.20第1章 概述1.1 課題任務(wù)簡介以單片機為核心,設(shè)計一個具有定時和計數(shù)功能的智能化作息時間控制器。該控制要求具有以下功能

3、:(1)使用4位七段顯示器來顯示現(xiàn)在的時間,顯示格式為“時分”,時和分中間的小數(shù)點閃動做秒計數(shù)。(2)通過按鍵能夠進行時間校準。(3)作息時間已達,發(fā)出指令控制電鈴開、關(guān)操作。(4)上電初始時間13:00.然后通過按鍵設(shè)置當(dāng)前時間。1.2 課題設(shè)計的目的及意義應(yīng)用STC90C52RC為核心控制器件的作息時間控制器,由鍵盤、聲音輸出模塊、電源轉(zhuǎn)換模塊和存儲模塊四部分組成。它利用STC90C52RC的定時/計數(shù)器來計算時間,并用存儲器記錄數(shù)據(jù),保證了系統(tǒng)的可靠性。單片機是整個設(shè)計的核心控制器件,根據(jù)從鍵盤接受的數(shù)據(jù)控制整個系統(tǒng)的工作流程,整體性好,人性化強,可靠性高。實現(xiàn)了對時間控制的智能化,擺脫

4、了傳統(tǒng)由人來控制時間的長短不便,可對一些以24小時為周期的開關(guān)量進行自動控制。如上下課打鈴及擴音設(shè)備的開與關(guān)。設(shè)有四位數(shù)碼管可以實時顯示時間、系統(tǒng)還設(shè)有輸入鍵盤,用以修改實時時鐘,體現(xiàn)了系統(tǒng)簡單、工作穩(wěn)定可靠、價廉、控制時間精準及系統(tǒng)體積小等優(yōu)點。1第2章 課題方案設(shè)計2.1課題方案設(shè)計根據(jù)系統(tǒng)的功能要求,擬定系統(tǒng)硬件電路結(jié)構(gòu)由單片機、電源電路、時鐘電路、復(fù)位電路、按鍵輸入電路、蜂鳴器模擬電路和LED數(shù)碼管驅(qū)動顯示電路。其結(jié)構(gòu)框圖如圖2-1所示。圖2-1結(jié)構(gòu)框圖2.2 課題方案原理簡述作息時間控制器系統(tǒng)使用4位七段顯示器來顯示現(xiàn)在的時間,顯示格式為“時分”,由LED小數(shù)點閃動作為秒計數(shù)表示???/p>

5、以使用按鍵輸入電路設(shè)定作息時間。能夠根據(jù)預(yù)先設(shè)定好的作息時間表自動啟停蜂鳴器電路,完成對外部電路的實時控制。由按鍵輸入控制設(shè)置年月日以及當(dāng)前時間、并可設(shè)置鬧鐘定時、時間到由蜂鳴器發(fā)出響聲并作出相應(yīng)動作:二極管閃亮,同時播放音樂。2第3章 硬件設(shè)計在作息時間控制器中,硬件設(shè)計主要是完成單片機芯片型號的選擇,電源電路、時鐘電路和復(fù)位電路、蜂鳴器模擬響鈴電路、按鍵輸入電路和LED數(shù)碼驅(qū)動顯示電路的設(shè)計。3.1 單片機芯片選擇STC90C52RC單片機的芯片,它具有超強的抗干擾和抗靜電能力、成本低、超低功耗、更強的復(fù)位效果等優(yōu)點。芯片引腳和對應(yīng)的輸出功能如圖3-1-1和3-1-2所示:圖3-1-1 芯

6、片引腳圖圖3-1-2 輸出功能圖3.2 電源電路3 電源電路是任何一個電子系統(tǒng)都需要供電電路,即電源,單片機也不例外。單片機的供電電源可以是開關(guān)電源、線性電源、常用的電源裝換芯片和USB電源等。無論哪一種電源設(shè)計都要嚴格考慮它的各項指標。在這里選擇的是可調(diào)直流電源適配器,輸出電壓正負極性可轉(zhuǎn)換,試用范圍廣泛。此單片機中電源電路由開關(guān)按鈕、整流橋、濾波電路和二次整數(shù)及濾波電路組成。3.3 時鐘電路本系統(tǒng)采用的是內(nèi)部時鐘方式。 采用12MHZ的晶振(機器周期為1us)和兩個30Pf的電解電容。具體接線圖如圖3-3所示圖3-3 時鐘電路3.4 復(fù)位電路只需要給RST引腳連續(xù)輸入2個機器周期以上高電平

7、,就可以完成單片機的初始化操作。在此次課程設(shè)計中復(fù)位電路采用的是一個規(guī)格為1K和一個規(guī)格為10K的電阻,再加一個規(guī)格為22uF的電解電容,具體電路連線圖如圖3-4所示。4圖3-4 復(fù)位電路3.5 蜂鳴器模擬響鈴電路將單片機P37口上接入蜂鳴器期間需要放大電路才可驅(qū)動蜂鳴器發(fā)出聲。放大電路主要利用具有放大特性的電子元器件:晶體三極管,三極管加上工作電壓后,輸入端的微小電流變化可以引起輸出端較大的電流變化,輸出端的變化要比輸入端的變化很多。電路圖如圖3-5所示:圖3-5 蜂鳴器模擬電路53.7 按鍵輸入電路按鍵輸入電路主要實現(xiàn)對時間的設(shè)定,本系統(tǒng)采用四個獨立鍵盤,k1鍵是實現(xiàn)設(shè)定小時和分鐘設(shè)定的模

8、式切換,k2鍵是對小時或者分鐘進行加1,k3是對小時或者分鐘進行減1,K4是對前三個的設(shè)置進行退出。如圖3-7所示圖3-7按鍵輸入電路3.8 LED數(shù)碼驅(qū)動顯示電路該設(shè)計中采用的是共陽極數(shù)碼管,數(shù)碼管由斷碼和位碼組成,由反相器組成驅(qū)動電路實現(xiàn)時分的顯示功能。a b c d e f g dp 為斷碼分別接入單片機P0I/O口,位碼W1、W2、W3、W4分別經(jīng)驅(qū)動后接入P2.4、P2.5、P2.6 、P2.7。第一個數(shù)碼管顯示小時的十位第二個數(shù)碼管顯示小時的各位,第三個數(shù)碼管顯示分鐘的十位,第四個數(shù)碼管顯示分鐘的各位。中間小數(shù)點閃爍代表秒。電路設(shè)計如圖3-8所示。6圖3-8 LED 數(shù)碼驅(qū)動顯示電

9、路7第4章 軟件設(shè)計該控制器的軟件設(shè)計是用keil軟件用c編程。利用單片機的定時中斷進行計時,通過按鍵掃描來設(shè)置當(dāng)前時間。主要包含這些程序段,分別是主程序、顯示子程序和計時子程序,此外還包初始化子程序、延時子程序、時間顯示輔助程序。以及程序中包含的頭文件和宏定義構(gòu)成了整個程序的設(shè)計。4.1 主程序的設(shè)計主程序中主要的作用是調(diào)用初始化子程序,按鍵掃描和調(diào)用顯示子程序。按鍵掃描部分(1) Key=1表示選中第一個按鍵,進行小時和分鐘的設(shè)置,key=1按鍵的次數(shù)進行存入X1,當(dāng)X1=1進入小時的設(shè)置,當(dāng)X1=2進入分的設(shè)置。當(dāng)X1=3回到初始狀態(tài)。(2) Key=2表示選中第2個按鍵,此時在key=

10、1的次數(shù)等于1小時加1調(diào)整設(shè)置,key=1的次數(shù)等于2表示進行分鐘加1的調(diào)整設(shè)置。小時的范圍為023,分鐘的范圍為059。(3) Key=3表示選中第3個按鍵,此時在key=1的次數(shù)等于1小時減1調(diào)整設(shè)置,key=1的次數(shù)等于2表示進行分鐘減1的調(diào)整設(shè)置。(4) Key=4表示選中第一個按鍵,當(dāng)執(zhí)行按鍵1、2、3的功能時,均可退出到初始狀態(tài)。8鬧鈴部分以下是學(xué)校課間作息時間表,依此來對程序設(shè)計進行打鈴。當(dāng)時間到達設(shè)置點時,對鬧鐘標志位P3.7置0來確定鬧鈴響,例如,當(dāng)8點鐘的時間到,第一節(jié)課準備開始上課,對打鈴時間設(shè)置30S,當(dāng)8:45時間到,鬧鈴響,開始下課,鈴聲響30S ,完成打鈴,依此類

11、推。圖4-1是主程序流程圖。9圖4-1 主程序流程圖104.2 顯示子程序的設(shè)設(shè)置P2=0xff,則選中小時的十位數(shù)碼管,即W1,然后送斷碼給P0口,顯示相應(yīng)的數(shù)字。其中有一個條件,當(dāng)設(shè)置小時有效,即X1=1和計數(shù)大于10時便返回,每一個數(shù)碼管可以顯示0-9十個數(shù)字,然后調(diào)用延時即可。設(shè)置P2=0xbf,則選中小時的各位數(shù)碼管,即W2,設(shè)置P2=0xdf,則選中分的十位數(shù)碼管,即W3,設(shè)置P2=0xef,則選中分的各位數(shù)碼管,即W4。具體流程圖如下。圖4-2 顯示程序流程圖4.3 計時程序的設(shè)計首先運用定時擴展的方法構(gòu)成最小單位的定時,在定時/計數(shù)器T0方式1下定時50ms,計數(shù)20次構(gòu)成1s

12、為單位的數(shù)值。當(dāng)1s計數(shù)次數(shù)sec=60時條件成立便構(gòu)成1min,當(dāng)1min計數(shù)次數(shù)m=60成立構(gòu)成了1hour,當(dāng) 111hour計數(shù)次數(shù)h=24條件成立構(gòu)成了一天,然后返回。圖4-3 計時程序流程圖124.4 輔助子程序此部分包含包含數(shù)碼管顯示輔助子程序、初始化子程序、按鍵掃描輔助函數(shù)和延時子程序。(1) 數(shù)碼管顯示子程序主要是把小時分解到千位和百位,分鐘分解到十位和各位。程序見void bianhuan1(void)部分的編寫。 對應(yīng)的端口號、數(shù)字、和斷碼表如表4-4所示 表4-4 I/O分配表(2)初始化子程序中主要設(shè)置定時計數(shù)器T0定時下的工作方式1,即TMOD=0x01,計數(shù)初值為

13、(65536-50000)=15536,化成十六進制為3cb0,所以TH0=0x3c,TL0=0xb0,此外還要啟動定時器T0,即TR0=1,T0開中斷允許和開總中斷,即ET0=1和EA=1。其程序參見附錄void init (void)部分的編寫。(3)按鍵掃描函數(shù)主要完成將P2低四位賦為1,若有按鍵按下則P2口對應(yīng)的位會為0,也就會出現(xiàn)0x0f&P2=0x07、0x0b、0x0b、0x0d和0x0e四種情況,分別是四個按鍵按下的狀態(tài)。其程序見unsigned char13scankey(void) 部分的編寫。(4)延時子程序供其它子程序的調(diào)用,延時0.1毫秒。其程序參見void

14、delay(uchar)部分的編寫。14第五章 系統(tǒng)調(diào)試5.1 調(diào)試準備根據(jù)硬件的設(shè)計,把線路接好,采用RS232標準的DB-9連接器,和串口轉(zhuǎn)USB接口線進行數(shù)據(jù)的傳輸,通過STC-ISP-V483軟件進行程序的下載,選擇MCUType中STC90C52RC芯片,設(shè)置端口號COM5以及波特率,打開程序進行下載,上電。5.2 調(diào)試結(jié)果5.2.1 軟件仿真顯示軟件仿真整體效果如圖5-1所示,初始上電顯示時間13:00。小數(shù)點閃爍一次代表一秒。圖5-1 軟件仿真圖155.2.2 硬件顯示(1)上電后根據(jù)程序的初始設(shè)置,顯示時間為13:00,中間的小數(shù)點閃動一次代表時間進行1秒。如圖5-2所示圖5-

15、2 硬件顯示圖1(2)小時的設(shè)置。按下第一個鍵進行小時的設(shè)置,再按下第二個鍵兩次時間顯示15:00(按第一次時蜂鳴器會根據(jù)預(yù)設(shè)時間響鈴30S)。按下第三個鍵三次時間顯示12:00。按下第一個鍵三次或者按下第四個鍵停止當(dāng)前操作。如圖5-3和5-4所示。圖5-3 硬件顯示圖216圖5-4 硬件顯示圖3(3)分鐘的設(shè)置。按下第一個鍵兩次進行分鐘的設(shè)置,再按下第二個鍵兩次時間顯示12:02,按下第三個鍵三次進入時間顯示12:59。按下第一個鍵三次或者按下第四個鍵停止當(dāng)前操作。如圖5-5和5-6所示。圖5-5 硬件顯示圖417圖5-6 硬件顯示圖55.3 調(diào)試故障及分析(1)上電后,數(shù)碼管f段不顯示。分

16、析:檢查程序調(diào)試無誤后,檢查單片機硬件經(jīng)電表測試,f端沒焊接好。(2)蜂鳴器上電后到設(shè)置時間不打鈴分析:檢查程序調(diào)試無誤后,檢查單片機硬件連接,P3.7口沒短接。(3)按鍵進行時鐘加設(shè)置時加到時鐘加到16出現(xiàn)紊亂。分析:檢查程序是對時鐘h進行賦值時把 “=”寫出“=”(4)部分小數(shù)點沒有實現(xiàn)秒閃作用。分析:這一部分的設(shè)置和小時的各位段斷碼dp直接設(shè)置會有沖突,要錯開進行設(shè)置,當(dāng)0.5秒時就是亮一次,再過0.5秒就滅一次,這樣閃亮就是1S。18第6章 總結(jié)單片機課程設(shè)計分為兩周,第一周在老師的指導(dǎo)下我們完成了對我們組課題作息時間控制器的方案確定,設(shè)計了原理圖,再仿真,焊接。這一過程讓我收獲頗多,

17、讓我明白了就自動化專業(yè)而言,我們所學(xué)的東西都是一層連一層的,再對原理圖的設(shè)計時,我們感覺甚至對以前學(xué)的簡單數(shù)模電知識都忘記了,再緊張的時間里一邊查閱以前所學(xué)的課程,像模電、數(shù)電、電路、C語言、微機原理、proteus都引用到了本次課程設(shè)計。我們組員在這場課程設(shè)計中有了明確的分工合作,畫原理圖硬件設(shè)計、程序設(shè)計分析調(diào)試、對整個單片機的調(diào)試與分析。反反復(fù)復(fù),有時一個小的錯誤要檢查很久,但我們組員至始至終沒有放棄,最終在老師檢查與指導(dǎo)我們終于完成了這次單片機課程設(shè)計。參考文獻1 王迎旭等.單片機原理及及應(yīng)用.【M】機械工業(yè)出版社.2012年2 周向紅.51單片機課程設(shè)計.【M】華中科技大學(xué)出版社.2

18、011年3 陳世清.c語言課程設(shè)計.【M】浙江大學(xué)出版社.2012年4 張迎新.單片機微型計算機原理及接口技術(shù).【M】國防工業(yè)出版社.2009年19附錄#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code a10=0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0; sbit be=P37;sbit DP=P15;bit flag=0;bit KeyFlag=0;bit SFlag=1;uchar m=00,h=13,sec=00

19、,cnt=0,qian,bai,shi,ge,X1=0,key,cnnt; void delay(uchar t); /延時函數(shù)void init(void); /初始化函數(shù)void display(void); /顯示函數(shù)void bianhuan1(uchar h); /時間顯示輔助函數(shù)unsigned char scankey(void); /按鍵掃描程序void init(void)TMOD=0x01; /寫入工作方式字TH0=0x3c; /寫入計數(shù)初值TL0=0xb0;ET0=1; /開放中斷TR0=1;EA=1;void main(void)init();while(1)key=s

20、cankey(); /按鍵輸入程序if(KeyFlag=1)&&(SFlag=0)KeyFlag=0;if(key=1)X1+;20if(X1=1) /時間調(diào)整 if(key=2) h+;if(h=24)h=0;if(key=3)if(h=0)h=24;h-;if(X1=2) /if(key=2)m+;if(m=60)m=0;if(key=3)if(m=0)m=60;m-; 分鐘調(diào)整21if(X1=3) /停止操作返回X1=0;if(key=4)X1=0;P2=P2|0x0f;if(P2&0x0f)=0x0f)SFlag=1;display(); /顯示打鈴函數(shù)be=1

21、;if(h=8)if(m=0|m=45|m=55)if(sec<30)be=0;else be=1; if(h=9&&m=40)if(sec<30)be=0;if(h=10)if(m=10|m=55)&&sec<30)be=0;else be=1; if(h=11)&&(m=5)&&(sec<30)be=0;if(h=11&&m=50&&sec<30)be=0;if(h=14)if(m=0|m=45|m=55)if(sec<30)be=0;else be=1; i

22、f(h=15&&m=40)if(sec<30)be=0;if(h=16)if(m=10|m=55)&&sec<30)be=0;else be=1;else if(h=17)if(m=5|m=50)&&sec<30)be=0;else be=1; if(h=19)if(m=0|m=45|m=55)if(sec<30)be=0;else be=1; if(h=20)if(m=40|m=50)&&sec<30)be=0;else be=1; if(h=21)if(m=0|m=40)&&sec

23、<30)be=0;else be=1;/void display() /顯示函數(shù)22if(X1=1&&cnt>=10)P2=0xff; P1=aqian;P2=0x7F;delay(100);P2=0xff;if(X1=1&&cnt>=10)P2=0xff; P1=abai;if(flag=1)DP=0;elseDP=1;P2=0xbf;delay(100);P2=0xff;if(X1=2&&cnt>=10)P2=0xff; P1=ashi;P2=0xdf;delay(100);P2=0xff;if(X1=2&&cnt>=10)P2=0xff; P2=0xef;delay(100);P2=0xff;void bianhuan1(uchar h) /時間輔助函數(shù) qian=h/10;b

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論