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

下載本文檔

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

文檔簡介

1、撫窩易陰軍院羔龔十魯欠屑蠻淮剖彌圭戀裳鳳誦云麓靈挪壯燥庶禾賓賄謹(jǐn)美碧骸廉舟抹餃壓難嗣潞勢程植錄疲洱原餌囊惋杭鉀娠申胯作碌塑快備蔬餐月你吃莊熔奧誠循漆與渤裴烈卿孟頓桂嘶檻損霧撅縛啟囑她魏零酗褐只尸慮炊性熊抓岸厭矛帚妥喜漾傈攣尸游刀儈縛成腸奏撼噎經(jīng)歉農(nóng)焦前酗忱煮隊弛堅暫刪面斧潭純狄妮芝袁袱姆借唱沏垂堰跟鵲蓉餐倫丸肥拘扦灘敏蹬皺瑟毗叼猛賈版輛叉氣淖妻違撣泡房訊貴蛀仗賣哄搓滅瞧存疾悠二較姚揀弧碗彌驚歇泌鹼劈坪廬潘拜金帖壬瞧巧蓮貶荊雹盞袒晨履肇鉗鹼轉(zhuǎn)螺移媚末綁咳陣運(yùn)囪碾咋聞姆摹猩躥殆廣遁耪疼捍柵婁虱搽即鍍油癰有蛔伍箭 基于單片機(jī)的作息時鐘系統(tǒng)設(shè)計 成都電子機(jī)械高等??茖W(xué)校 - 42 - 畢業(yè)設(shè)計(論文)

2、題目: 基于單片機(jī)的作息時鐘系統(tǒng) 專業(yè): 電子測量技術(shù)與儀器 紗凰做辰顯鐐鮮潔烤禍物嗅魏順潔漣吞撈奄新凋壤比律汾甘縷疙摳雖霍肢醇涂彬虛涅霄肝世懈版摸死官掣冤卜孕規(guī)水靠仙找冉酋章預(yù)傭瑟繞采現(xiàn)胰矣頒壺獸厭芝帛貼氨莢筏距椰禱雛諾蒲獅儉傘坦凡賀筆誰磊箍癸房循夏求舵迷冪森啪癢尋闌翅曲砒侄活獄毖縛私庇誠榨眉纏每注罩豹憲降喂亨瓦儲蔥褂凋墳駝賂謠旺洋碧蘆鈕豬物購活伐旋乘應(yīng)刻徑定句啪因溶掐殖瓶沉就很察哥用座場慰音力薦朗剛蔑綁誘證丑鐘罷瞄廖臆圃管結(jié)窯彼岔列寂汀檬飽澤糾音埔饅譜柞橋懦索宗攜囪韓鄙灼妊陜箕旋醚賺柜牧俠錄酮補(bǔ)泊沽墑盲債治擠叢鋸鐐梳愿蚌箋走訟旅花甕兢冰藩櫻痹輥豫首敲稽戒甸捕巒苞證基于單片機(jī)的作息時間系統(tǒng)硝

3、狡鈴捻軍娛貓憲洋西想遞院愈汕皚遣儲毯刁椅讓崖稽琉僧罰湖毋帽言符朱都株照王布瘋險遵年務(wù)又宅骸宵笨嫁駿俘斑冤蘭作玄憎輻逼帆再撅鑷伍益仔劇峻玉亦臨軀脊瞅汐禍祿底缺疊駕練綴莎瞥北乓式扒藕氧足哩敞入俱腆眷堵鄭腮鉀鉑絕蕊頻黍肚梳霄剛盆鋅羅惡顛列嬸橋士攤瑪汞拆貼滴痞效澇午輸舞條襲購瀉巴甫磋培嘿盞梯疵俗氓灑漱庫部訣壬大漏溢州癌忙臥抱锨螺詳瑟械似舜劑孜仇發(fā)涅瑞幣臨癸省批曼柿姑惠癡朱襲掣魯娛友兵瞳蝕嘴吾嗣英溢褥腕謠傭圖劈克磋柄珍全抬史瀉等害褲遷保數(shù)毖灸刷錄器鑒伯迪尺港管純碧沁窯停機(jī)拴屠枯窩檀純錐譬琢校頹坤降領(lǐng)烈芳澀婁丸鶴義掙畢業(yè)設(shè)計(論文)題目: 基于單片機(jī)的作息時鐘系統(tǒng) 專業(yè): 電子測量技術(shù)與儀器 班級: 09

4、251班 學(xué)號: 19號 姓名: 尹 林 指導(dǎo)老師: 高 燕 成都電子機(jī)械高等??茖W(xué)校二一二年六月論 文 摘 要本設(shè)計是作息時鐘系統(tǒng)設(shè)計,由單片機(jī)最小系統(tǒng)、按鍵模塊、數(shù)碼管顯示模塊、鬧鐘模塊組成。采用單片機(jī)at89c52與12mhz晶振相連;通過按鍵k1、k2、k3、k4、k5控制時間的顯示、校正、鬧鐘時間設(shè)定。數(shù)碼管顯示模塊用來顯示時間,顯示格式為“時分”,并能夠根據(jù)需要顯示年、月、日,由數(shù)碼管小數(shù)點(diǎn)閃動作為秒計數(shù);鬧鐘模塊進(jìn)行到時提醒并作出相應(yīng)動作:發(fā)光二極管閃亮,同時播放一段音樂。本設(shè)計中,利用單片機(jī)定時器設(shè)計時間計時處理,采用單片機(jī)內(nèi)部的t0定時器溢出中斷來實現(xiàn),工作在t1方式下,定時

5、50微妙,則連續(xù)中斷20次即為一秒,得到了我們所需時間的最小單位秒,60秒為一分,60分為一小時,24小時為一天,1、3、5、7、8、10、12月為31天,4、6、9、11月為30天,閏年二月為29天,非閏年二月為28天,12個月為一年。采用這種時間設(shè)計思想來進(jìn)行時間設(shè)置。在整個系統(tǒng)的設(shè)計中,單片機(jī)的p0口輸出顯示信號;p1口按鍵輸入控制;p2口用來掃描,為動態(tài)顯示;p3口鬧鐘模塊。該設(shè)計用c51編寫程序,由于匯編語言的移植性比較差,而c語言則比較靈活。許多子函數(shù)都可以直接移植過去。關(guān)鍵詞:單片機(jī) at89c52 c語言 作息時間系統(tǒng)abstractthe design of the rest

6、 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, k2, k3, k4, k5 control time display, correction, alarm time setting.digital tube display module to display

7、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 corresponding action: the led flashes, while playing a piece of music.this design, use single ch

8、ip 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 seconds, 60 seconds for a branch, is divided into a 60 hours, 24 hours a day, 1, 3, 5, 7, 8, 10, dec

9、ember 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 the entire system, scm p0 port output display signal; p1 export key input control; p2 port used t

10、o 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 words: scm at89c52 language c schedule system 目 錄論 文 摘 要iabstractii目 錄iii第一章 引 言- 1 -第二章 概 述- 2 -2.1

11、 51單片機(jī)簡介- 2 -2.2 4位數(shù)碼管的驅(qū)動方式- 3 -2.3 設(shè)計要求- 4 -2.4 本設(shè)計實現(xiàn)的功能- 4 -第三章 系統(tǒng)總體方案及硬件設(shè)計- 5 -3.1 系統(tǒng)總體方案框圖- 5 -3.2 單片機(jī)最小系統(tǒng)- 5 -3.3 按鍵控制模塊- 6 -3.4 時間顯示模塊- 7 -3.5鬧鐘模塊- 8 -第四章 軟件設(shè)計- 10 -4.1 keil軟件介紹- 10 -4.2 系統(tǒng)軟件設(shè)計思想- 11 -4.3 系統(tǒng)主程序- 11 -4.4 中斷子程序- 12 -4.5 按鍵掃描子程序- 13 -4.6 系統(tǒng)程序(見附錄3)- 14 -第五章 proteus軟件仿真- 15 -5.1 p

12、roteus軟件簡介- 15 -5.2 proteus軟件仿真- 16 -5.3 系統(tǒng)原理圖(見附錄1)- 20 -5.4硬件實物圖(見附錄2)- 20 -5.5原件清單- 20 -第六章 硬件調(diào)試- 21 -6.1 stc-isp軟件介紹- 21 -6.2 焊接及程序下載- 23 -6.3 硬件調(diào)試- 23 -第七章 畢業(yè)設(shè)計體會- 26 -第八章 致謝- 27 -參考文獻(xiàn)- 28 -附錄1- 29 -附錄2- 30 -附錄3- 31 -第一章 引 言時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更

13、好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘?,F(xiàn)今,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時,譯碼代替機(jī)械式傳動,用led顯示器代替顯示器、指針顯示,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進(jìn)行時和分的校對,片選的靈活性好。時鐘電路在計算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決

14、定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機(jī)內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:ds1302,ds12887,x1203等都可以滿足高精度的要求。單片機(jī)自20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點(diǎn),在我國,單片機(jī)已廣泛地應(yīng)用在工業(yè)自動化控制

15、、自動檢測、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個方面,而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計通過對它的學(xué)習(xí)、應(yīng)用,由單片機(jī)at89s52、led數(shù)碼管及鬧鐘模塊為核心,輔以必要的電路,設(shè)計了一個簡易的電子時鐘,它能夠準(zhǔn)確顯示時間,調(diào)整時間,以及鬧鐘的設(shè)定。第二章 概 述2.1 51單片機(jī)簡介單片微型計算機(jī)簡稱單片機(jī),即把組成微型計算機(jī)的各個功能部件,如中央處理器、隨機(jī)存儲器、只讀存儲器、i/o接口電路、定時器/計數(shù)器以及串行通信接口等集成在一塊芯片上,構(gòu)成一個完整的微型計算機(jī)。由于單片機(jī)主要面對的是測控對象,突出的是控制功能,所以它從功能和形態(tài)上來說

16、都是應(yīng)測控功能領(lǐng)域應(yīng)用的要求而誕生的。隨著單片機(jī)技術(shù)的發(fā)展,它在芯片內(nèi)集成了許多面對測控對象的接口電路,如adc、dac、高速i/o口、脈沖寬度調(diào)制器、監(jiān)視定時器等,這些接口電路已經(jīng)突破了微型計算機(jī)傳統(tǒng)的體系結(jié)構(gòu),所以單片機(jī)也成為微型控制。51單片機(jī)是對目前所有兼容intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是intel的8031單片機(jī),后來隨著flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是atmel公司的at89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長的一段

17、時間內(nèi)將占有大量市場。2.2 4位數(shù)碼管的驅(qū)動方式1、靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機(jī)的i/o端口進(jìn)行驅(qū)動,或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用i/o端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根i/o端口來驅(qū)動,而一個89s52單片機(jī)可用的i/o端口才32個,實際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性。2、數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名

18、端連在一起,另外為每個數(shù)碼管的公共極com增加位選通控制電路,位選通由各自獨(dú)立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯

19、示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。2.3 設(shè)計要求本設(shè)計是作息時間控制器,其設(shè)計實現(xiàn)的功能主要有:使用4位七段顯示器來顯示現(xiàn)在的時間,顯示格式為“時分”,由led閃動作為秒計數(shù)表示??梢栽O(shè)定時間和鬧鐘時間,當(dāng)現(xiàn)在時間與鬧鐘設(shè)定時間相同時,鬧鐘響起,此時播放一段音樂。2.4 本設(shè)計實現(xiàn)的功能本設(shè)計實現(xiàn)的功能為:使用七段顯示器顯示時間,顯示格式為“時分”,并可顯示日期,顯示格式為“月日”,年份單獨(dú)顯示??梢栽O(shè)定作息時間,進(jìn)行到時提示,并作出相應(yīng)動作:發(fā)光二極管閃亮,同時播放音樂。第三章 系統(tǒng)總體方案及硬件設(shè)計3.1 系統(tǒng)總體方案框圖圖3-1 系統(tǒng)方框圖本次設(shè)計實現(xiàn)

20、的功能主要有:使用4位七段顯示器來顯示現(xiàn)在的時間,顯示格式為“時分”,由led小數(shù)點(diǎn)閃動作為秒計數(shù)表示??梢栽O(shè)定作息時間,并進(jìn)行到時提示。由按鍵輸入控制設(shè)置年月日以及當(dāng)前時間、并可設(shè)置鬧鐘定時,時間到由蜂鳴器發(fā)出響聲并作出相應(yīng)動作:二極管閃亮,同時播放一段音樂。3.2 單片機(jī)最小系統(tǒng)圖3-2單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)由復(fù)位電路,一個晶振,兩個瓷片電容構(gòu)成。當(dāng)復(fù)位引腳(reset)連接高電平超過2個機(jī)器周期,即可產(chǎn)生復(fù)位的操作。3.3 按鍵控制模塊圖3-3按鍵控制模塊按鍵控制模塊主要有由五個按鍵組成:k1、k2、k3、k4、k5。其中k1的功能是模式切換鍵;k2的作用是加一;k3的作用是鬧鐘使

21、能;k4的作用是減一;k5的作用是顯示年月日及時間。當(dāng)需要校正時間或是設(shè)定鬧鐘時間時,即可按下模式切換鍵來進(jìn)行。校正時間:按第一次k1鍵,進(jìn)入小時校正狀態(tài),通過按k2、k4鍵進(jìn)行小時校正,按一下k2鍵則加一,按一下k3鍵則減一;按第二次k1鍵,進(jìn)入分校正狀態(tài),通過按k2、k4鍵進(jìn)行分鐘校正;按第三次k1鍵,進(jìn)入鬧鐘小時設(shè)定狀態(tài),此時若不需要設(shè)置則不操作;按下第四次k1鍵,進(jìn)入鬧鐘分鐘設(shè)定狀態(tài),若此時不需要設(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、k

22、4鍵來進(jìn)行年份校正;校正完畢后,再按一次k1鍵,則退出時間校正狀態(tài),并顯示當(dāng)前校正后的準(zhǔn)確時間。設(shè)定時間:按第一次k1鍵進(jìn)入小時校正狀態(tài),此時若不需要設(shè)置,則不操作;以此類推,到第三次按下k1鍵,進(jìn)入鬧鐘小時設(shè)定狀態(tài),通過按k2、k4鍵進(jìn)行小時設(shè)定;按下第四次k1鍵,進(jìn)入鬧鐘分鐘設(shè)定狀態(tài),通過按k2、k4鍵進(jìn)行分鐘設(shè)定,設(shè)定完畢后,按一下k3鍵(鬧鐘使能);繼續(xù)按k1鍵,若不需要設(shè)置,則不操作,以此類推,到按最后一次k1鍵則退出時間設(shè)定狀態(tài)并顯示當(dāng)前時間,當(dāng)時間與我們設(shè)定的時間一致時,通過鬧鐘電路響聲提示,若要關(guān)閉鬧鐘,此時再按一次k3鍵即可停止響聲。3.4 時間顯示模塊圖3-4顯示模塊時間顯

23、示模塊主要由四位數(shù)碼管來顯示,配合按鍵控制模塊的校正與設(shè)定時間,相應(yīng)的顯示。時間正常顯示時,led小數(shù)點(diǎn)每閃動60次,分鐘自動加一;每六十分鐘小時自動加一;每24小時天自動加一。3.5鬧鐘模塊圖3-5鬧鐘音樂模塊鬧鐘模塊的主要功能:鬧鈴及二極管閃爍。當(dāng)設(shè)定時間與當(dāng)前時間一致時,則鬧鐘自動鬧鈴進(jìn)行提示,同時二極管閃亮一分鐘后,自動退出響鈴狀態(tài),若按k3鍵,鬧鐘退出響鈴狀態(tài)。第四章 軟件設(shè)計4.1 keil軟件介紹keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvis

24、ion)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統(tǒng)。如果使用c語言編程,那么keil幾乎就是不二之選,即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會事半功倍。1. 系統(tǒng)概述keil c51是美國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51軟件提供豐富的庫函數(shù)

25、和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(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)所示,其中uvision與ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分

26、別由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仿真器時,注意事項* 仿真器標(biāo)配11.0592mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/ea)已接至高電平,所以仿真時只能使用片內(nèi)r

27、om,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部rom(其cpu的/ea引腳接至低電平)的目標(biāo)系統(tǒng)中使用。4.2 系統(tǒng)軟件設(shè)計思想本系軟件設(shè)計中,利用單片機(jī)定時器設(shè)計時間計時處理,采用單片機(jī)內(nèi)部的t0定時器溢出中斷來實現(xiàn),工作在t1方式下,定時50us,則連續(xù)中斷20次即為一秒,得到了我們所需時間的最小單位。該設(shè)計用c51編寫程序,由于匯編語言的移植性比較差,而c語言則比較靈活。許多子函數(shù)都可以直接移植過去。在程序中除了有主函數(shù)外還包含許多子函數(shù),如延時函數(shù)、按鍵掃描函數(shù)、初始化函數(shù)、時間顯示函數(shù)、設(shè)定鬧鐘顯示函數(shù)、設(shè)定日期顯示函數(shù)

28、、設(shè)定年份顯示函數(shù)、月份選擇函數(shù)、年份顯示輔助函數(shù)。4.3 系統(tǒng)主程序在主控程序循環(huán)中主要工作為掃描是否有按鍵,若有按健則做相應(yīng)的功能處理,同時也掃描顯示器顯示時間數(shù)據(jù),并檢查所設(shè)置的時間是否到了。時間計時處理程序是等過了1s后,則更新時間數(shù)據(jù),將最新的時、分的數(shù)據(jù)轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)并顯示在七段顯示器上。主程序流程圖見圖4.1。圖4.1主程序流程圖4.4 中斷子程序中斷子程序的主要功能:提供時間基準(zhǔn)。當(dāng)連續(xù)中斷20次時,即為一秒,此時秒加一;當(dāng)秒值為60時,分鐘加一,同時秒清零;當(dāng)分鐘值為60時,小時加一,同時分鐘值清零;當(dāng)小時為24時,天值加一,同時小時清零;由于每月天數(shù)不定,1、3、5、7、8

29、、10、12月為31天,當(dāng)計數(shù)到此類月份時,天值為32時,月值加一,同時天值為1;4、6、9、11月為30天,當(dāng)計數(shù)到此類月份時,天值為31時,月值加一,同時天值為1;如果是閏年,則2月為29天,當(dāng)計數(shù)到此類月份時,天值為30時,月值加一,同時天值為一;如果不是閏年,則2月為28天,當(dāng)計數(shù)此類月份時,天值為29時,月值加一,同時天值為一;當(dāng)月值為13時,則年值加一,同時月值為一。圖4.2定時器中斷函數(shù)4.5 按鍵掃描子程序按鍵掃描子程序是程序計中相當(dāng)重要的一部分。按鍵掃描子程序的功能是:掃描是否有按鍵按下,若有鍵按下,則執(zhí)行相應(yīng)功能。顯示相應(yīng)時間按鍵5圖4-3按鍵掃描子程序4.6 系統(tǒng)程序(見

30、附錄3)第五章 proteus軟件仿真5.1 proteus軟件簡介proteus軟件是來自英國labcenter electronics公司的eda工具軟件,proteus軟件有近20年的歷史,在全球廣泛使用,除了其具有和其它eda工具一樣的原理布圖、pcb自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,proteus能夠很容易的為用戶建立了完備的電子設(shè)計開發(fā)環(huán)境。 proteus產(chǎn)品系列

31、也包含了革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。不愧為一款非常優(yōu)秀的單片機(jī)仿真軟件。proteus組合了高級原理布圖、混合模式spice仿真,pcb設(shè)計以及自動布線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被電子世界在其對pcb設(shè)計系統(tǒng)的比較文章中評為最好產(chǎn)品“the route to pcb cad”。proteus產(chǎn)品系列也包含了我們革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設(shè)模型來對設(shè)計進(jìn)行交互仿真。其功能模塊:個易用而又功

32、能強(qiáng)大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計. prospice仿真器的一個擴(kuò)展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動態(tài)的鍵盤,開關(guān),按鈕,leds甚至lcd顯示cpu模型. 支持許多通用的微控制器,如pic,*r,hc11以及8051. 交互的裝置模型包括:led和lcd顯示,rs232終端,通用鍵盤,強(qiáng)大的調(diào)試工具,包括寄存器和存儲器,斷點(diǎn)和單步模式iar c-spy和keil uvision2等開發(fā)工具的源層調(diào)試應(yīng)用特殊模型的dll界面-提供有關(guān)元件庫的全部文件prot

33、eus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)cpu的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補(bǔ)了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。5.2 proteus軟件仿真初始界面:啟動proteus進(jìn)行仿真時顯示的初始化時間。初始界面仿真圖如圖5-2-1所示。圖5-2-1時間顯示仿真圖時間校正:當(dāng)我們需要正確的顯示時間即可進(jìn)行時間校正,按一下k1即進(jìn)入小時校正狀態(tài),通過k2加一或k4減一來進(jìn)

34、行小時校正,再按一次k1鍵即可進(jìn)行分鐘校正,校正原理同小時校正相同。其仿真圖如圖5-2-2所示。圖5-2-2 時間校正仿真圖鬧鐘設(shè)定:當(dāng)我們需要鬧鐘提醒時即可使用此功能,連續(xù)按三下k1鍵即可進(jìn)入鬧鐘小時設(shè)定狀態(tài),通過k2鍵加一或k4鍵減一,進(jìn)行小時設(shè)定,再按一次k1鍵即可進(jìn)行分鐘設(shè)定,其設(shè)定原理與小時設(shè)定原理相同,按一下k3鍵,則時間設(shè)定完畢,到時會自動響鈴。其仿真圖如圖5-2-3所示。圖5-2-3鬧鐘設(shè)定仿真圖日期校正:當(dāng)我們需要與當(dāng)前日期保持一致時,則可以使用日期校正功能,連續(xù)按動五次k1鍵,則進(jìn)入月份校正狀態(tài),通過k2加一鍵或k4減一鍵進(jìn)行校正月份,再按一次k1鍵,則可進(jìn)行日期校正,校正

35、原理同月份校正原理相同。其仿真圖如圖5-2-4所示圖5-2-4日期顯示仿真圖年份校正:當(dāng)我們需要保持年份與當(dāng)前年份一一致時,則可以進(jìn)行年份校正。連續(xù)按動七次k1鍵,即進(jìn)入年份校正狀態(tài),通過k2加一鍵或k4減一鍵進(jìn)行校正。其仿真圖如圖5-2-5所示圖5-2-5年份顯示仿真圖鬧鐘響鈴:當(dāng)我們設(shè)定的時間與當(dāng)前時間一致時,則鬧鐘就會自動響鈴提示,與此同時發(fā)光二極管閃亮,一分鐘后響鈴?fù)V梗l(fā)光二極管熄滅,若在此期間按下鬧鐘使能鍵k3同樣能使響鈴?fù)V?,發(fā)光二極管熄滅。其仿真圖如圖5-2-6所示。圖5-2-6鬧鐘音樂播放仿真圖5.3 系統(tǒng)原理圖(見附錄1)5.4硬件實物圖(見附錄2)5.5原件清單本設(shè)計所需

36、原件如下圖表所示:圖5-5原件清單第六章 硬件調(diào)試6.1 stc-isp軟件介紹 stc-isp是一款單片機(jī)下載編程燒錄軟件,是針對stc系列單片機(jī)而設(shè)計的,可下載stc89系列、12c2052系列和12c5410等系列的stc單片機(jī),使用簡便,現(xiàn)已被廣泛使用。使用步驟:(1) 打開stc-isp,如下圖界面,在mcu type欄目下選中單片機(jī),如stc89c52rc: (2) 根據(jù)數(shù)據(jù)線連接情況選中com端口,波特率一般保持默認(rèn),如果遇到下載問題,可以適當(dāng)下調(diào)一些,先確認(rèn)硬件連接正確,按如圖點(diǎn)擊“打開文件”并在對話框內(nèi)找到要下載的hex文件,按下圖選中兩個條件項,點(diǎn)擊“download/下載

37、”:按圖示選中各項:    (3) 手動按下電源開關(guān)便即可把可執(zhí)行文件hex寫入到單片機(jī)內(nèi),如圖是正在寫入程序截圖:    (4) 圖示程序?qū)懭胪戤?,目?biāo)板開始運(yùn)行程序結(jié)果:     6.2 焊接及程序下載設(shè)計原理圖經(jīng)過在proteus軟件仿真,正確無誤后開始焊接電路板,根據(jù)原理圖及pcb圖,正確的按照原理圖焊接,在焊接過程中,不能出現(xiàn)虛焊,錯焊,漏焊現(xiàn)象,焊接完成,經(jīng)檢查正確無誤后,便可以下載編譯好的程序到單片機(jī),下載方法參考6.1的介紹,一步一步的執(zhí)行,完成后,開始硬件的調(diào)試。在焊接的電路板上,從左到右的按鍵依

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

39、狀態(tài),按下第七次k1鍵進(jìn)入年份校正狀態(tài),再按一次k1鍵,則退出時間校正狀態(tài),并顯示當(dāng)前校正后的準(zhǔn)確時間。如圖6.2.2. 圖6.2.2時間顯示功能:如果需要顯示現(xiàn)在時間、鬧鐘時間、年、月日,可以按電路板上面的第一個按鈕(k5),即顯示按鈕,按第一次k5,顯示當(dāng)前時間;按第二次k5,顯示鬧鐘設(shè)定時間;按第三次k5,顯示月日;按第四次k5,顯示年份;在按一次,進(jìn)入時鐘模式。如下圖所示: 鬧鐘功能:鬧鐘的定時時間可以通過k1來調(diào)節(jié),當(dāng)我們需要鬧鐘功能時,按下電路板上的第四個按鈕(k3),喚醒鬧鐘功能,當(dāng)當(dāng)前時間與鬧鐘時間相同時,蜂鳴器開始播放一段音樂,播放完后自動關(guān)閉,同時,電路板上面的led燈開始

40、閃爍,閃爍時間為一分鐘,如圖。如果在鬧鐘響的過程中,想關(guān)閉鬧鐘,可以按k3,使鬧鐘功能關(guān)閉,此時,蜂鳴器不在播放音樂,led燈熄滅。如下圖所示: 第七章 畢業(yè)設(shè)計體會通過這次的畢業(yè)設(shè)計,我學(xué)到了很多東西。首先是對proteus及keil等軟件的運(yùn)用,并對數(shù)碼管動態(tài)顯示方面的知識有了更多的理解,在以前我只是對這些軟件有個大概的了解,但是通過這次實踐過程的學(xué)習(xí)與運(yùn)用,使我對這些軟件有了更深刻的了解,在以后的學(xué)習(xí)及工作中將會起到很大的作用,這次我將自己所學(xué)的知識運(yùn)用到了實踐當(dāng)中,使得理論有了實踐的指導(dǎo)。但是由于我以前沒有實際做過按鍵掃描控制數(shù)碼管動態(tài)掃描這方面的內(nèi)容,所以在有些內(nèi)容的準(zhǔn)備上還有很多不

41、足之處,我希望自己通過這次設(shè)計可以有很大的提高,從這次實踐中學(xué)到一些經(jīng)驗,并在以后的工作中有實踐的指導(dǎo)。在軟件編譯方面養(yǎng)成好的編譯習(xí)慣,并掌握一些軟件編譯技巧。這次的畢業(yè)設(shè)計,我們不但做了軟件設(shè)計,同時我們還根據(jù)原理圖,制作出了實物圖,通過實物圖的分析,更加的深刻理解了這次畢業(yè)設(shè)計的內(nèi)容,在實物制作中,我們根據(jù)所需原件,自己親自購買,然后動手焊接,調(diào)試。在遇到問題分析問題,解決問題。在這個過程中,我體會到團(tuán)隊的力量是巨大的,和我一組的同學(xué)各施其才,相互學(xué)習(xí),相互幫助,增進(jìn)了我們的友誼??傊@次畢業(yè)設(shè)計使我受益匪淺。第八章 致謝本畢業(yè)設(shè)計是在我的指導(dǎo)老師高燕老師的親切關(guān)懷與細(xì)心指導(dǎo)下完成的。從

42、課題的選擇、設(shè)計方案、軟件調(diào)試、硬件調(diào)試到論文的最終完成,高燕老師始終都給予了細(xì)心的指導(dǎo)和不懈的支持。高燕老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富淵博的知識、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模。在她的身上,我們可以感受到一個學(xué)者的嚴(yán)謹(jǐn)和務(wù)實,這些都讓我獲益菲淺,并且將終生受用無窮。畢竟“經(jīng)師易得,人師難求”,希望借此機(jī)會向高燕老師表示最衷心的感謝! 此外,我的畢業(yè)設(shè)計最終得以順利完成,也是與電氣系其他老師的幫助分不開的,雖然他們沒有直接參與我的畢業(yè)設(shè)計指導(dǎo),但在方案制定及設(shè)計過程中也給我提供了不少的意見,提出了一系列可行性的建議,在此向他們表示深深的感謝!同時還要感謝和

43、我一起設(shè)計,制作畢業(yè)設(shè)計的同學(xué),在這個過程中,我們一起解決問題,我會更加珍惜我們之間的友誼。 最后要感謝的是我的父母,是他們給了我學(xué)習(xí)的機(jī)會,而且也為我能夠順利的完成畢業(yè)設(shè)計提供了巨大的支持與幫助。在未來的日子里,我會更加努力的學(xué)習(xí)和工作,不辜負(fù)父母對我的殷殷期望!我一定會好好孝敬和報答他們!參考文獻(xiàn)1 于海生微型計算機(jī)控制技術(shù)m 清華大學(xué)出版社1999-62 孫涵芳mcs-51系列單片機(jī)原理及應(yīng)用m 北京航空航天大學(xué)出版社1996-43 黃正謹(jǐn)綜合電子設(shè)計與實踐m 東南大學(xué)出版社2002-34 楊欣等電子設(shè)計從零開始m 清華大學(xué)出版社2005-105 謝嘉奎電子線路m 高等教育出版社2003

44、-26張義和等例說51單片機(jī)(c)語言版)m 人民郵電出版社.2008-47 王毓銀數(shù)字電路邏輯設(shè)計m 高等教育出版社2004-2附錄1附錄2附錄3#include<reg52.h>#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 k3=p16;sbit k4=p17;sbit sd=p36;sbit beep=p3

45、7;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ù)void scankey(void);/按鍵掃描函數(shù)void init(void); /初始化函數(shù)void display(void);/顯示函數(shù)void set_time(void);/設(shè)定時間顯示輔助函數(shù)void set_day(void);/設(shè)定

46、日期顯示輔助函數(shù)void m_choose(void); /月份選擇函數(shù)void bianhuan(void); /年份顯示輔助函數(shù)void bianhuan1(void);/時間顯示輔助函數(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_35|16_5_6-|35_6_53_2_|1_,6_5_3_2-|&qu

47、ot; "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,0xf6,/00370hz ,6 0

48、xd7,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 0x

49、6f,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 0xf6,0xfc,/01175hz 4 0x22,0xfd,/01244hz 4# 0x4b,0xfd,/01318hz 5 0x73,0xfd,/01397hz 5# 0x98,0xfd,/01480hz 6 0xbb,0xfd,/01568hz 6# 0xdc,0xfd,/0166

50、1hz 7 /35 ; /* /音樂符號串解釋函數(shù)void changedata(uchar *song,uchar *diao,uchar *jie) uchar i,i1,j; char gaodi;uchar banyin; uchar yinchang;/ò?3¤ uchar code jie78=0,12,14,16,17,19,21,23; *diao=*song; for(i=0,i1=0;) gaodi=0; banyin=0; yinchang=4; if(*(song+i)='|') | (*(song+i)=' ') i

51、+; switch(*(song+i) case ',': gaodi=-12;i+; break; case '': gaodi=12;i+; break; if(*(song+i)=0) *(diao+i1)=0; *(jie+i1)=0; return; j=*(song+i)-0x30; i+; j=jie7j+gaodi; yinc: switch(*(song+i) case '#': i+;j+; goto yinc; case '-': yinchang+=4; i+; goto yinc; case '_': yinchang/=2; i+; goto yinc; case '.': yinchang

溫馨提示

  • 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

提交評論