基于單片機(jī)的作息時(shí)間系統(tǒng)_第1頁
基于單片機(jī)的作息時(shí)間系統(tǒng)_第2頁
基于單片機(jī)的作息時(shí)間系統(tǒng)_第3頁
基于單片機(jī)的作息時(shí)間系統(tǒng)_第4頁
基于單片機(jī)的作息時(shí)間系統(tǒng)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 基于單片機(jī)的作息時(shí)鐘系統(tǒng)設(shè)計(jì) 成都電子機(jī)械高等??茖W(xué)校 畢業(yè)設(shè)計(jì)(論文)題目: 基于單片機(jī)的作息時(shí)鐘系統(tǒng) 專業(yè): 電子測量技術(shù)與儀器 班級: 09251班 學(xué)號: 19號 姓名: 尹 林 指導(dǎo)老師: 高 燕 成都電子機(jī)械高等??茖W(xué)校二一二年六月- 42 - 基于單片機(jī)的作息時(shí)鐘系統(tǒng)設(shè)計(jì) 成都電子機(jī)械高等專科學(xué)校 論 文 摘 要本設(shè)計(jì)是作息時(shí)鐘系統(tǒng)設(shè)計(jì),由單片機(jī)最小系統(tǒng)、按鍵模塊、數(shù)碼管顯示模塊、鬧鐘模塊組成。采用單片機(jī)at89c52與12mhz晶振相連;通過按鍵k1、k2、k3、k4、k5控制時(shí)間的顯示、校正、鬧鐘時(shí)間設(shè)定。數(shù)碼管顯示模塊用來顯示時(shí)間,顯示格式為“時(shí)分”,并能夠根據(jù)需要顯示年

2、、月、日,由數(shù)碼管小數(shù)點(diǎn)閃動(dòng)作為秒計(jì)數(shù);鬧鐘模塊進(jìn)行到時(shí)提醒并作出相應(yīng)動(dòng)作:發(fā)光二極管閃亮,同時(shí)播放一段音樂。本設(shè)計(jì)中,利用單片機(jī)定時(shí)器設(shè)計(jì)時(shí)間計(jì)時(shí)處理,采用單片機(jī)內(nèi)部的t0定時(shí)器溢出中斷來實(shí)現(xiàn),工作在t1方式下,定時(shí)50微妙,則連續(xù)中斷20次即為一秒,得到了我們所需時(shí)間的最小單位秒,60秒為一分,60分為一小時(shí),24小時(shí)為一天,1、3、5、7、8、10、12月為31天,4、6、9、11月為30天,閏年二月為29天,非閏年二月為28天,12個(gè)月為一年。采用這種時(shí)間設(shè)計(jì)思想來進(jìn)行時(shí)間設(shè)置。在整個(gè)系統(tǒng)的設(shè)計(jì)中,單片機(jī)的p0口輸出顯示信號;p1口按鍵輸入控制;p2口用來掃描,為動(dòng)態(tài)顯示;p3口鬧鐘模

3、塊。該設(shè)計(jì)用c51編寫程序,由于匯編語言的移植性比較差,而c語言則比較靈活。許多子函數(shù)都可以直接移植過去。關(guān)鍵詞:單片機(jī) at89c52 c語言 作息時(shí)間系統(tǒng)abstractthe design of the rest of the clock system design, from the smallest single-chip system, key module, digital tube display module, alarm module.using single-chip at89c52 and 12mhz crystal connected through keys; k1

4、, k2, k3, k4, k5 control time display, correction, alarm time setting.digital tube display module to display the time, the display format for time, and according to the needs of display year, month, day, by the digital tube decimal point flashing counts as a second alarm module; then remind and make

5、 corresponding action: the led flashes, while playing a piece of music.this design, use single chip timer design time processing, using scm internal timer to achieve t0, working in t1 mode, timing 50 subtle, continuously interrupted 20 times a second, is what we need the smallest unit of time in sec

6、onds, 60 seconds for a branch, is divided into a 60 hours, 24 hours a day, 1, 3, 5, 7, 8, 10, december for 31 days, 4, 6, 9, november for 30 days, a leap year in february for 29 days, a leap year in february for 28 days, 12 months for a year.by this time design ideas to set up time.in the design of

7、the entire system, scm p0 port output display signal; p1 export key input control; p2 port used to scan, dynamic display; p3 alarm module.the design using c51 programming, due to the less portable assembly language, c language is more flexible.many functions can be transplanted directly past.key wor

8、ds: scm at89c52 language c schedule system 目 錄論 文 摘 要iabstractii目 錄iii第一章 引 言- 1 -第二章 概 述- 2 -2.1 51單片機(jī)簡介- 2 -2.2 4位數(shù)碼管的驅(qū)動(dòng)方式- 3 -2.3 設(shè)計(jì)要求- 4 -2.4 本設(shè)計(jì)實(shí)現(xiàn)的功能- 4 -第三章 系統(tǒng)總體方案及硬件設(shè)計(jì)- 5 -3.1 系統(tǒng)總體方案框圖- 5 -3.2 單片機(jī)最小系統(tǒng)- 5 -3.3 按鍵控制模塊- 6 -3.4 時(shí)間顯示模塊- 7 -3.5鬧鐘模塊- 8 -第四章 軟件設(shè)計(jì)- 10 -4.1 keil軟件介紹- 10 -4.2 系統(tǒng)軟件設(shè)計(jì)思想-

9、11 -4.3 系統(tǒng)主程序- 11 -4.4 中斷子程序- 12 -4.5 按鍵掃描子程序- 13 -4.6 系統(tǒng)程序(見附錄3)- 14 -第五章 proteus軟件仿真- 15 -5.1 proteus軟件簡介- 15 -5.2 proteus軟件仿真- 16 -5.3 系統(tǒng)原理圖(見附錄1)- 20 -5.4硬件實(shí)物圖(見附錄2)- 20 -5.5原件清單- 20 -第六章 硬件調(diào)試- 21 -6.1 stc-isp軟件介紹- 21 -6.2 焊接及程序下載- 23 -6.3 硬件調(diào)試- 23 -第七章 畢業(yè)設(shè)計(jì)體會(huì)- 26 -第八章 致謝- 27 -參考文獻(xiàn)- 28 -附錄1- 29

10、-附錄2- 30 -附錄3- 31 - 基于單片機(jī)的作息時(shí)鐘系統(tǒng)設(shè)計(jì) 成都電子機(jī)械高等??茖W(xué)校 第一章 引 言時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘?,F(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí),譯碼代替機(jī)械式傳動(dòng),用led顯示器代替顯示器、指針顯示,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯

11、示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對,片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對時(shí)間精度要求不高的場合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對時(shí)間精度要求很高的情況下,通常采用這種方法,典型的時(shí)鐘芯片有:ds1302,ds12887,x1203等都可以滿足高精度的要求。

12、單片機(jī)自20世紀(jì)70年代問世以來,以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點(diǎn),在我國,單片機(jī)已廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面,而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計(jì)通過對它的學(xué)習(xí)、應(yīng)用,由單片機(jī)at89s52、led數(shù)碼管及鬧鐘模塊為核心,輔以必要的電路,設(shè)計(jì)了一個(gè)簡易的電子時(shí)鐘,它能夠準(zhǔn)確顯示時(shí)間,調(diào)整時(shí)間,以及鬧鐘的設(shè)定。第二章 概 述2.1 51單片機(jī)簡介單片微型計(jì)算

13、機(jī)簡稱單片機(jī),即把組成微型計(jì)算機(jī)的各個(gè)功能部件,如中央處理器、隨機(jī)存儲器、只讀存儲器、i/o接口電路、定時(shí)器/計(jì)數(shù)器以及串行通信接口等集成在一塊芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。由于單片機(jī)主要面對的是測控對象,突出的是控制功能,所以它從功能和形態(tài)上來說都是應(yīng)測控功能領(lǐng)域應(yīng)用的要求而誕生的。隨著單片機(jī)技術(shù)的發(fā)展,它在芯片內(nèi)集成了許多面對測控對象的接口電路,如adc、dac、高速i/o口、脈沖寬度調(diào)制器、監(jiān)視定時(shí)器等,這些接口電路已經(jīng)突破了微型計(jì)算機(jī)傳統(tǒng)的體系結(jié)構(gòu),所以單片機(jī)也成為微型控制。51單片機(jī)是對目前所有兼容intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是intel的803

14、1單片機(jī),后來隨著flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是atmel公司的at89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長的一段時(shí)間內(nèi)將占有大量市場。2.2 4位數(shù)碼管的驅(qū)動(dòng)方式1、靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的i/o端口進(jìn)行驅(qū)動(dòng),或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用i/o端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要58=40根i/o端口來驅(qū)動(dòng),而一個(gè)89s52單片機(jī)可用的i/

15、o端口才32個(gè),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。2、數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極com增加位選通控制電路,位選通由各自獨(dú)立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的com端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是

16、動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。2.3 設(shè)計(jì)要求本設(shè)計(jì)是作息時(shí)間控制器,其設(shè)計(jì)實(shí)現(xiàn)的功能主要有:使用4位七段顯示器來顯示現(xiàn)在的時(shí)間,顯示格式為“時(shí)分”,由led閃動(dòng)作為秒計(jì)數(shù)表示??梢栽O(shè)定時(shí)間和鬧鐘時(shí)間,當(dāng)現(xiàn)在時(shí)間與鬧鐘設(shè)定時(shí)間相同時(shí),鬧鐘響起,此時(shí)播放一段音樂。2.4 本設(shè)計(jì)實(shí)現(xiàn)的功能本設(shè)計(jì)實(shí)現(xiàn)的功能為:使用七段顯示器顯示時(shí)間,顯示格式為“時(shí)分

17、”,并可顯示日期,顯示格式為“月日”,年份單獨(dú)顯示。可以設(shè)定作息時(shí)間,進(jìn)行到時(shí)提示,并作出相應(yīng)動(dòng)作:發(fā)光二極管閃亮,同時(shí)播放音樂。第三章 系統(tǒng)總體方案及硬件設(shè)計(jì)3.1 系統(tǒng)總體方案框圖圖3-1 系統(tǒng)方框圖本次設(shè)計(jì)實(shí)現(xiàn)的功能主要有:使用4位七段顯示器來顯示現(xiàn)在的時(shí)間,顯示格式為“時(shí)分”,由led小數(shù)點(diǎn)閃動(dòng)作為秒計(jì)數(shù)表示??梢栽O(shè)定作息時(shí)間,并進(jìn)行到時(shí)提示。由按鍵輸入控制設(shè)置年月日以及當(dāng)前時(shí)間、并可設(shè)置鬧鐘定時(shí),時(shí)間到由蜂鳴器發(fā)出響聲并作出相應(yīng)動(dòng)作:二極管閃亮,同時(shí)播放一段音樂。3.2 單片機(jī)最小系統(tǒng)圖3-2單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)由復(fù)位電路,一個(gè)晶振,兩個(gè)瓷片電容構(gòu)成。當(dāng)復(fù)位引腳(reset)

18、連接高電平超過2個(gè)機(jī)器周期,即可產(chǎn)生復(fù)位的操作。3.3 按鍵控制模塊圖3-3按鍵控制模塊按鍵控制模塊主要有由五個(gè)按鍵組成:k1、k2、k3、k4、k5。其中k1的功能是模式切換鍵;k2的作用是加一;k3的作用是鬧鐘使能;k4的作用是減一;k5的作用是顯示年月日及時(shí)間。當(dāng)需要校正時(shí)間或是設(shè)定鬧鐘時(shí)間時(shí),即可按下模式切換鍵來進(jìn)行。校正時(shí)間:按第一次k1鍵,進(jìn)入小時(shí)校正狀態(tài),通過按k2、k4鍵進(jìn)行小時(shí)校正,按一下k2鍵則加一,按一下k3鍵則減一;按第二次k1鍵,進(jìn)入分校正狀態(tài),通過按k2、k4鍵進(jìn)行分鐘校正;按第三次k1鍵,進(jìn)入鬧鐘小時(shí)設(shè)定狀態(tài),此時(shí)若不需要設(shè)置則不操作;按下第四次k1鍵,進(jìn)入鬧鐘分

19、鐘設(shè)定狀態(tài),若此時(shí)不需要設(shè)置則不操作;按下第五次k1鍵進(jìn)入月份校正狀態(tài),通過按k2、k4鍵進(jìn)行月份校正;按下第六次k1鍵,進(jìn)入日校正狀態(tài),通過按k2、k4鍵進(jìn)行日校正;按下第七次k1鍵進(jìn)入年份校正狀態(tài),通過按k2、k4鍵來進(jìn)行年份校正;校正完畢后,再按一次k1鍵,則退出時(shí)間校正狀態(tài),并顯示當(dāng)前校正后的準(zhǔn)確時(shí)間。設(shè)定時(shí)間:按第一次k1鍵進(jìn)入小時(shí)校正狀態(tài),此時(shí)若不需要設(shè)置,則不操作;以此類推,到第三次按下k1鍵,進(jìn)入鬧鐘小時(shí)設(shè)定狀態(tài),通過按k2、k4鍵進(jìn)行小時(shí)設(shè)定;按下第四次k1鍵,進(jìn)入鬧鐘分鐘設(shè)定狀態(tài),通過按k2、k4鍵進(jìn)行分鐘設(shè)定,設(shè)定完畢后,按一下k3鍵(鬧鐘使能);繼續(xù)按k1鍵,若不需要設(shè)

20、置,則不操作,以此類推,到按最后一次k1鍵則退出時(shí)間設(shè)定狀態(tài)并顯示當(dāng)前時(shí)間,當(dāng)時(shí)間與我們設(shè)定的時(shí)間一致時(shí),通過鬧鐘電路響聲提示,若要關(guān)閉鬧鐘,此時(shí)再按一次k3鍵即可停止響聲。3.4 時(shí)間顯示模塊圖3-4顯示模塊時(shí)間顯示模塊主要由四位數(shù)碼管來顯示,配合按鍵控制模塊的校正與設(shè)定時(shí)間,相應(yīng)的顯示。時(shí)間正常顯示時(shí),led小數(shù)點(diǎn)每閃動(dòng)60次,分鐘自動(dòng)加一;每六十分鐘小時(shí)自動(dòng)加一;每24小時(shí)天自動(dòng)加一。3.5鬧鐘模塊圖3-5鬧鐘音樂模塊鬧鐘模塊的主要功能:鬧鈴及二極管閃爍。當(dāng)設(shè)定時(shí)間與當(dāng)前時(shí)間一致時(shí),則鬧鐘自動(dòng)鬧鈴進(jìn)行提示,同時(shí)二極管閃亮一分鐘后,自動(dòng)退出響鈴狀態(tài),若按k3鍵,鬧鐘退出響鈴狀態(tài)。第四章 軟

21、件設(shè)計(jì)4.1 keil軟件介紹keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統(tǒng)。如果使用c語言編程,那么keil幾乎就是不二之選,即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)事半功倍。1. 系統(tǒng)概述keil c51是美國keil softw

22、are公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會(huì)更加深刻。keil c51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹keil c51開發(fā)系統(tǒng)各部分功能和使用。2. keil c51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)c51工具包的整體結(jié)構(gòu),如圖(1)所示,其中u

23、vision與ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及a51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)l51連接定位生成絕對目標(biāo)文件(.abs)。abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如eprom中。使用獨(dú)立的keil仿真器時(shí),注意事項(xiàng)*

24、仿真器標(biāo)配11.0592mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/ea)已接至高電平,所以仿真時(shí)只能使用片內(nèi)rom,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部rom(其cpu的/ea引腳接至低電平)的目標(biāo)系統(tǒng)中使用。4.2 系統(tǒng)軟件設(shè)計(jì)思想本系軟件設(shè)計(jì)中,利用單片機(jī)定時(shí)器設(shè)計(jì)時(shí)間計(jì)時(shí)處理,采用單片機(jī)內(nèi)部的t0定時(shí)器溢出中斷來實(shí)現(xiàn),工作在t1方式下,定時(shí)50us,則連續(xù)中斷20次即為一秒,得到了我們所需時(shí)間的最小單位。該設(shè)計(jì)用c5

25、1編寫程序,由于匯編語言的移植性比較差,而c語言則比較靈活。許多子函數(shù)都可以直接移植過去。在程序中除了有主函數(shù)外還包含許多子函數(shù),如延時(shí)函數(shù)、按鍵掃描函數(shù)、初始化函數(shù)、時(shí)間顯示函數(shù)、設(shè)定鬧鐘顯示函數(shù)、設(shè)定日期顯示函數(shù)、設(shè)定年份顯示函數(shù)、月份選擇函數(shù)、年份顯示輔助函數(shù)。4.3 系統(tǒng)主程序在主控程序循環(huán)中主要工作為掃描是否有按鍵,若有按健則做相應(yīng)的功能處理,同時(shí)也掃描顯示器顯示時(shí)間數(shù)據(jù),并檢查所設(shè)置的時(shí)間是否到了。時(shí)間計(jì)時(shí)處理程序是等過了1s后,則更新時(shí)間數(shù)據(jù),將最新的時(shí)、分的數(shù)據(jù)轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)并顯示在七段顯示器上。主程序流程圖見圖4.1。圖4.1主程序流程圖4.4 中斷子程序中斷子程序的主要功能

26、:提供時(shí)間基準(zhǔn)。當(dāng)連續(xù)中斷20次時(shí),即為一秒,此時(shí)秒加一;當(dāng)秒值為60時(shí),分鐘加一,同時(shí)秒清零;當(dāng)分鐘值為60時(shí),小時(shí)加一,同時(shí)分鐘值清零;當(dāng)小時(shí)為24時(shí),天值加一,同時(shí)小時(shí)清零;由于每月天數(shù)不定,1、3、5、7、8、10、12月為31天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為32時(shí),月值加一,同時(shí)天值為1;4、6、9、11月為30天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為31時(shí),月值加一,同時(shí)天值為1;如果是閏年,則2月為29天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為30時(shí),月值加一,同時(shí)天值為一;如果不是閏年,則2月為28天,當(dāng)計(jì)數(shù)此類月份時(shí),天值為29時(shí),月值加一,同時(shí)天值為一;當(dāng)月值為13時(shí),則年值加一,同時(shí)月值為一。圖

27、4.2定時(shí)器中斷函數(shù)4.5 按鍵掃描子程序按鍵掃描子程序是程序計(jì)中相當(dāng)重要的一部分。按鍵掃描子程序的功能是:掃描是否有按鍵按下,若有鍵按下,則執(zhí)行相應(yīng)功能。顯示相應(yīng)時(shí)間按鍵5圖4-3按鍵掃描子程序4.6 系統(tǒng)程序(見附錄3)第五章 proteus軟件仿真5.1 proteus軟件簡介proteus軟件是來自英國labcenter electronics公司的eda工具軟件,proteus軟件有近20年的歷史,在全球廣泛使用,除了其具有和其它eda工具一樣的原理布圖、pcb自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動(dòng)的,針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原

28、型上編程,并實(shí)現(xiàn)軟件源碼級的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,proteus能夠很容易的為用戶建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。 proteus產(chǎn)品系列也包含了革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真。不愧為一款非常優(yōu)秀的單片機(jī)仿真軟件。proteus組合了高級原理布圖、混合模式spice仿真,pcb設(shè)計(jì)以及自動(dòng)布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被電子世界在其對pcb設(shè)計(jì)系統(tǒng)的比較文章中評為最好產(chǎn)品“the route to pcb cad”。proteus產(chǎn)品

29、系列也包含了我們革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真。用戶甚至可以實(shí)時(shí)采用諸如led/lcd、鍵盤、rs232終端等動(dòng)態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)行交互仿真。其功能模塊:個(gè)易用而又功能強(qiáng)大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計(jì). prospice仿真器的一個(gè)擴(kuò)展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤,開關(guān),按鈕,leds甚至lcd顯示cpu模型. 支持許多通用的微控制器,如pic,*r,hc11以及8051. 交互的裝置模型包括:le

30、d和lcd顯示,rs232終端,通用鍵盤,強(qiáng)大的調(diào)試工具,包括寄存器和存儲器,斷點(diǎn)和單步模式iar c-spy和keil uvision2等開發(fā)工具的源層調(diào)試應(yīng)用特殊模型的dll界面-提供有關(guān)元件庫的全部文件proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)cpu的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。5.2 proteus軟件仿真初始界面

31、:啟動(dòng)proteus進(jìn)行仿真時(shí)顯示的初始化時(shí)間。初始界面仿真圖如圖5-2-1所示。圖5-2-1時(shí)間顯示仿真圖時(shí)間校正:當(dāng)我們需要正確的顯示時(shí)間即可進(jìn)行時(shí)間校正,按一下k1即進(jìn)入小時(shí)校正狀態(tài),通過k2加一或k4減一來進(jìn)行小時(shí)校正,再按一次k1鍵即可進(jìn)行分鐘校正,校正原理同小時(shí)校正相同。其仿真圖如圖5-2-2所示。圖5-2-2 時(shí)間校正仿真圖鬧鐘設(shè)定:當(dāng)我們需要鬧鐘提醒時(shí)即可使用此功能,連續(xù)按三下k1鍵即可進(jìn)入鬧鐘小時(shí)設(shè)定狀態(tài),通過k2鍵加一或k4鍵減一,進(jìn)行小時(shí)設(shè)定,再按一次k1鍵即可進(jìn)行分鐘設(shè)定,其設(shè)定原理與小時(shí)設(shè)定原理相同,按一下k3鍵,則時(shí)間設(shè)定完畢,到時(shí)會(huì)自動(dòng)響鈴。其仿真圖如圖5-2-3

32、所示。圖5-2-3鬧鐘設(shè)定仿真圖日期校正:當(dāng)我們需要與當(dāng)前日期保持一致時(shí),則可以使用日期校正功能,連續(xù)按動(dòng)五次k1鍵,則進(jìn)入月份校正狀態(tài),通過k2加一鍵或k4減一鍵進(jìn)行校正月份,再按一次k1鍵,則可進(jìn)行日期校正,校正原理同月份校正原理相同。其仿真圖如圖5-2-4所示圖5-2-4日期顯示仿真圖年份校正:當(dāng)我們需要保持年份與當(dāng)前年份一一致時(shí),則可以進(jìn)行年份校正。連續(xù)按動(dòng)七次k1鍵,即進(jìn)入年份校正狀態(tài),通過k2加一鍵或k4減一鍵進(jìn)行校正。其仿真圖如圖5-2-5所示圖5-2-5年份顯示仿真圖鬧鐘響鈴:當(dāng)我們設(shè)定的時(shí)間與當(dāng)前時(shí)間一致時(shí),則鬧鐘就會(huì)自動(dòng)響鈴提示,與此同時(shí)發(fā)光二極管閃亮,一分鐘后響鈴?fù)V?,發(fā)

33、光二極管熄滅,若在此期間按下鬧鐘使能鍵k3同樣能使響鈴?fù)V?,發(fā)光二極管熄滅。其仿真圖如圖5-2-6所示。圖5-2-6鬧鐘音樂播放仿真圖5.3 系統(tǒng)原理圖(見附錄1)5.4硬件實(shí)物圖(見附錄2)5.5原件清單本設(shè)計(jì)所需原件如下圖表所示:圖5-5原件清單第六章 硬件調(diào)試6.1 stc-isp軟件介紹 stc-isp是一款單片機(jī)下載編程燒錄軟件,是針對stc系列單片機(jī)而設(shè)計(jì)的,可下載stc89系列、12c2052系列和12c5410等系列的stc單片機(jī),使用簡便,現(xiàn)已被廣泛使用。使用步驟:(1) 打開stc-isp,如下圖界面,在mcu type欄目下選中單片機(jī),如stc89c52rc: (2) 根

34、據(jù)數(shù)據(jù)線連接情況選中com端口,波特率一般保持默認(rèn),如果遇到下載問題,可以適當(dāng)下調(diào)一些,先確認(rèn)硬件連接正確,按如圖點(diǎn)擊“打開文件”并在對話框內(nèi)找到要下載的hex文件,按下圖選中兩個(gè)條件項(xiàng),點(diǎn)擊“download/下載”:按圖示選中各項(xiàng): (3) 手動(dòng)按下電源開關(guān)便即可把可執(zhí)行文件hex寫入到單片機(jī)內(nèi),如圖是正在寫入程序截圖: (4) 圖示程序?qū)懭胪戤叄繕?biāo)板開始運(yùn)行程序結(jié)果: 6.2 焊接及程序下載設(shè)計(jì)原理圖經(jīng)過在proteus軟件仿真,正確無誤后開始焊接電路板,根據(jù)原理圖及pcb圖,正確的按照原理圖焊接,在焊接過程中,不能出現(xiàn)虛焊,錯(cuò)焊,漏焊現(xiàn)象,焊接完成,經(jīng)檢查正確無誤后,便可以下載編譯好

35、的程序到單片機(jī),下載方法參考6.1的介紹,一步一步的執(zhí)行,完成后,開始硬件的調(diào)試。在焊接的電路板上,從左到右的按鍵依次為:k5、k1、k2、k3、k4、reset。6.3 硬件調(diào)試硬件的初始化:下載完成后,給單片機(jī)供電,由軟件設(shè)置時(shí)間,初始時(shí)間為11時(shí)58分 55秒,小數(shù)點(diǎn)閃爍表示秒,如圖6.2.1圖6.2.1時(shí)間設(shè)定:如果需要設(shè)置時(shí)間、鬧鐘時(shí)間、年、月日,可以按電路板上第二個(gè)按鈕(k1),即模式切換鍵。在設(shè)置時(shí),對應(yīng)設(shè)置的數(shù)字閃爍,通過電路板上第三個(gè)按鈕(k2)、第五個(gè)按鈕(k4)來分別實(shí)現(xiàn)數(shù)字的加減。按第一次k1鍵,進(jìn)入小時(shí)校正狀態(tài),按第二次k1鍵,進(jìn)入分校正狀態(tài),按第三次k1鍵,進(jìn)入鬧鐘

36、小時(shí)設(shè)定狀態(tài),按下第四次k1鍵,進(jìn)入鬧鐘分鐘設(shè)定狀態(tài),按下第五次k1鍵進(jìn)入月份校正狀態(tài),按下第六次k1鍵,進(jìn)入日校正狀態(tài),按下第七次k1鍵進(jìn)入年份校正狀態(tài),再按一次k1鍵,則退出時(shí)間校正狀態(tài),并顯示當(dāng)前校正后的準(zhǔn)確時(shí)間。如圖6.2.2. 圖6.2.2時(shí)間顯示功能:如果需要顯示現(xiàn)在時(shí)間、鬧鐘時(shí)間、年、月日,可以按電路板上面的第一個(gè)按鈕(k5),即顯示按鈕,按第一次k5,顯示當(dāng)前時(shí)間;按第二次k5,顯示鬧鐘設(shè)定時(shí)間;按第三次k5,顯示月日;按第四次k5,顯示年份;在按一次,進(jìn)入時(shí)鐘模式。如下圖所示: 鬧鐘功能:鬧鐘的定時(shí)時(shí)間可以通過k1來調(diào)節(jié),當(dāng)我們需要鬧鐘功能時(shí),按下電路板上的第四個(gè)按鈕(k3)

37、,喚醒鬧鐘功能,當(dāng)當(dāng)前時(shí)間與鬧鐘時(shí)間相同時(shí),蜂鳴器開始播放一段音樂,播放完后自動(dòng)關(guān)閉,同時(shí),電路板上面的led燈開始閃爍,閃爍時(shí)間為一分鐘,如圖。如果在鬧鐘響的過程中,想關(guān)閉鬧鐘,可以按k3,使鬧鐘功能關(guān)閉,此時(shí),蜂鳴器不在播放音樂,led燈熄滅。如下圖所示: 第七章 畢業(yè)設(shè)計(jì)體會(huì)通過這次的畢業(yè)設(shè)計(jì),我學(xué)到了很多東西。首先是對proteus及keil等軟件的運(yùn)用,并對數(shù)碼管動(dòng)態(tài)顯示方面的知識有了更多的理解,在以前我只是對這些軟件有個(gè)大概的了解,但是通過這次實(shí)踐過程的學(xué)習(xí)與運(yùn)用,使我對這些軟件有了更深刻的了解,在以后的學(xué)習(xí)及工作中將會(huì)起到很大的作用,這次我將自己所學(xué)的知識運(yùn)用到了實(shí)踐當(dāng)中,使得理

38、論有了實(shí)踐的指導(dǎo)。但是由于我以前沒有實(shí)際做過按鍵掃描控制數(shù)碼管動(dòng)態(tài)掃描這方面的內(nèi)容,所以在有些內(nèi)容的準(zhǔn)備上還有很多不足之處,我希望自己通過這次設(shè)計(jì)可以有很大的提高,從這次實(shí)踐中學(xué)到一些經(jīng)驗(yàn),并在以后的工作中有實(shí)踐的指導(dǎo)。在軟件編譯方面養(yǎng)成好的編譯習(xí)慣,并掌握一些軟件編譯技巧。這次的畢業(yè)設(shè)計(jì),我們不但做了軟件設(shè)計(jì),同時(shí)我們還根據(jù)原理圖,制作出了實(shí)物圖,通過實(shí)物圖的分析,更加的深刻理解了這次畢業(yè)設(shè)計(jì)的內(nèi)容,在實(shí)物制作中,我們根據(jù)所需原件,自己親自購買,然后動(dòng)手焊接,調(diào)試。在遇到問題分析問題,解決問題。在這個(gè)過程中,我體會(huì)到團(tuán)隊(duì)的力量是巨大的,和我一組的同學(xué)各施其才,相互學(xué)習(xí),相互幫助,增進(jìn)了我們的

39、友誼。總之,這次畢業(yè)設(shè)計(jì)使我受益匪淺。第八章 致謝本畢業(yè)設(shè)計(jì)是在我的指導(dǎo)老師高燕老師的親切關(guān)懷與細(xì)心指導(dǎo)下完成的。從課題的選擇、設(shè)計(jì)方案、軟件調(diào)試、硬件調(diào)試到論文的最終完成,高燕老師始終都給予了細(xì)心的指導(dǎo)和不懈的支持。高燕老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富淵博的知識、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模。在她的身上,我們可以感受到一個(gè)學(xué)者的嚴(yán)謹(jǐn)和務(wù)實(shí),這些都讓我獲益菲淺,并且將終生受用無窮。畢竟“經(jīng)師易得,人師難求”,希望借此機(jī)會(huì)向高燕老師表示最衷心的感謝! 此外,我的畢業(yè)設(shè)計(jì)最終得以順利完成,也是與電氣系其他老師的幫助分不開的,雖然他們沒有直接參與我的畢業(yè)設(shè)計(jì)指導(dǎo)

40、,但在方案制定及設(shè)計(jì)過程中也給我提供了不少的意見,提出了一系列可行性的建議,在此向他們表示深深的感謝!同時(shí)還要感謝和我一起設(shè)計(jì),制作畢業(yè)設(shè)計(jì)的同學(xué),在這個(gè)過程中,我們一起解決問題,我會(huì)更加珍惜我們之間的友誼。 最后要感謝的是我的父母,是他們給了我學(xué)習(xí)的機(jī)會(huì),而且也為我能夠順利的完成畢業(yè)設(shè)計(jì)提供了巨大的支持與幫助。在未來的日子里,我會(huì)更加努力的學(xué)習(xí)和工作,不辜負(fù)父母對我的殷殷期望!我一定會(huì)好好孝敬和報(bào)答他們!參考文獻(xiàn)1 于海生微型計(jì)算機(jī)控制技術(shù)m 清華大學(xué)出版社1999-62 孫涵芳mcs-51系列單片機(jī)原理及應(yīng)用m 北京航空航天大學(xué)出版社1996-43 黃正謹(jǐn)綜合電子設(shè)計(jì)與實(shí)踐m 東南大學(xué)出版

41、社2002-34 楊欣等電子設(shè)計(jì)從零開始m 清華大學(xué)出版社2005-105 謝嘉奎電子線路m 高等教育出版社2003-26張義和等例說51單片機(jī)(c)語言版)m 人民郵電出版社.2008-47 王毓銀數(shù)字電路邏輯設(shè)計(jì)m 高等教育出版社2004-2附錄1附錄2附錄3#include#define uint unsigned int#define uchar unsigned charuchar code a10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*sbit k5=p13;sbit k1=p14;sbit k2=p15;sbit

42、k3=p16;sbit k4=p17;sbit sd=p36;sbit beep=p37;uchar m=5,h=20,sec=58,cnt=0,x,y,qian,bai,shi,ge;uchar set_h=20,mm;uchar set_m=07;uchar month=7;uchar day=5;uchar th0_f;uchar tl0_f;uint year=2010; void delay(uchar t);/延時(shí)函數(shù)void scankey(void);/按鍵掃描函數(shù)void init(void); /初始化函數(shù)void display(void);/顯示函數(shù)void set_t

43、ime(void);/設(shè)定時(shí)間顯示輔助函數(shù)void set_day(void);/設(shè)定日期顯示輔助函數(shù)void m_choose(void); /月份選擇函數(shù)void bianhuan(void); /年份顯示輔助函數(shù)void bianhuan1(void);/時(shí)間顯示輔助函數(shù)void changedata(uchar *song,uchar *diao,uchar *jie);/音樂符號串解釋函數(shù) void play(uchar *songdata);/奏樂函數(shù)void display1(uchar kk,uchar dd); /世上只有媽媽好uchar code mamahao= 6.5_

44、35|16_5_6-|35_6_53_2_|1_,6_5_3_2-| 2.3_55_6_|321-|5.3_2_1_,6_1_|,5- ; uchar code freq36*2= 0xa9,0xef,/00220hz ,1 /0 0x93,0xf0,/00233hz ,1# 0x73,0xf1,/00247hz ,2 0x49,0xf2,/00262hz ,2# 0x07,0xf3,/00277hz ,3 0xc8,0xf3,/00294hz ,4 0x73,0xf4,/00311hz ,4# 0x1e,0xf5,/00330hz ,5 0xb6,0xf5,/00349hz ,5# 0x4c

45、,0xf6,/00370hz ,6 0xd7,0xf6,/00392hz ,6# 0x5a,0xf7,/00415hz ,7 0xd8,0xf7,/00440hz 1 /12 0x4d,0xf8,/00466hz 1# /13 0xbd,0xf8,/00494hz 2 /14 0x24,0xf9,/00523hz 2# /15 0x87,0xf9,/00554hz 3 /16 0xe4,0xf9,/00587hz 4 /17 0x3d,0xfa,/00622hz 4# /18 0x90,0xfa,/00659hz 5 /19 0xde,0xfa,/00698hz 5# /20 0x29,0xfb,/00740hz 6 /21 0x6f,0xfb,/00784hz 6# /22 0xb1,0xfb,/00831hz 7 /23 0xef,0xfb,/00880hz 1 0x2a,0xfc,/00932hz 1# 0x62,0xfc,/00988hz 2 0x95,0xfc,/01046hz 2# 0xc7,0xfc,/01109hz 3 0xf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論