基于51單片機(jī)DS1302萬年歷課程設(shè)計(jì)報(bào)告.doc_第1頁
基于51單片機(jī)DS1302萬年歷課程設(shè)計(jì)報(bào)告.doc_第2頁
基于51單片機(jī)DS1302萬年歷課程設(shè)計(jì)報(bào)告.doc_第3頁
基于51單片機(jī)DS1302萬年歷課程設(shè)計(jì)報(bào)告.doc_第4頁
基于51單片機(jī)DS1302萬年歷課程設(shè)計(jì)報(bào)告.doc_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程名稱: 微機(jī)原理課程設(shè)計(jì) 題 目: 基于DS1302芯片萬年歷摘要DS1302 是DALLAS 公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)RAM,通過簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路.提供秒、分、時(shí)、日、日期.、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘。本次課程設(shè)計(jì)的是使用專門的時(shí)鐘芯片DS1302在數(shù)碼管上顯示的數(shù)字電子鐘,并能通過按鍵對(duì)其進(jìn)行調(diào)時(shí)和校準(zhǔn)以及實(shí)現(xiàn)年月日。DS1302是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它能夠?qū)r(shí),分,秒進(jìn)行精確計(jì)時(shí),它與單片機(jī)的接口使用同步串行通信,僅用3條線 與之相連接,就可以實(shí)現(xiàn)STC-51單片機(jī)對(duì)其進(jìn)行讀寫操作,把讀出的時(shí)間數(shù)據(jù)送到數(shù)碼 管上顯示。程序運(yùn)行時(shí),數(shù)碼管將從當(dāng)前時(shí)間開始顯示,通過調(diào)節(jié)K2鍵和K3鍵可以分別對(duì)小時(shí)和分鐘進(jìn)行調(diào)整,調(diào)整后,時(shí)鐘以新的時(shí)間為起點(diǎn)繼續(xù)刷新顯示,通過調(diào)節(jié)K1鍵可以切換年月日和時(shí)鐘顯示。關(guān)鍵字:STC-51單片機(jī),DS1302,數(shù)碼管,動(dòng)態(tài)掃描,調(diào)時(shí),切換,秒閃;目錄一、設(shè)計(jì)任務(wù)與要求41.1設(shè)計(jì)任務(wù)41.2設(shè)計(jì)要求41.3發(fā)揮部分41.4創(chuàng)新部分4二、方案總體設(shè)計(jì)52.1設(shè)計(jì)目的52.2硬件功能描述52.3設(shè)計(jì)方案選擇52.4總體設(shè)計(jì)62.5總體方案及基本工作原理6三、硬件設(shè)計(jì)73.1 STC89C51芯片73.2電源模塊及晶振模塊73.3 DS130283.4數(shù)碼管顯示模塊93.5蜂鳴器部分103.6按鍵部分11四、軟件設(shè)計(jì)134.1軟件流程圖134.2 軟件設(shè)計(jì)13主函數(shù)部分:13五、系統(tǒng)仿真和調(diào)試155.1 仿真軟件簡(jiǎn)介155.2硬件調(diào)試155.3軟件調(diào)試155.4使用說明16六、設(shè)計(jì)總結(jié)與體會(huì)186.1學(xué)習(xí)方面186.2工作方面18七、參考文獻(xiàn)19一、設(shè)計(jì)任務(wù)與要求1.1設(shè)計(jì)任務(wù)DS1302萬年歷;1.2設(shè)計(jì)要求利用DS1302生成萬年歷,時(shí)鐘可調(diào),通過四位數(shù)碼管顯示,并可實(shí)現(xiàn)秒閃功能,同時(shí)蜂鳴器鬧鈴;1.3發(fā)揮部分設(shè)置按鍵K3用來切換顯示時(shí)鐘和年月日;1.4創(chuàng)新部分只設(shè)置了兩個(gè)按鍵K1和K2來調(diào)節(jié)時(shí)分,時(shí)鐘到24歸零,分鐘到60歸零,分鐘有長(zhǎng)按迅速調(diào)節(jié)功能。二、方案總體設(shè)計(jì)此電子時(shí)鐘利用AT89C51單片機(jī)和時(shí)鐘芯片DS1302設(shè)計(jì)完成。2.1設(shè)計(jì)目的1、 通過對(duì)萬年歷的設(shè)計(jì),進(jìn)一步熟練掌握單片機(jī)編程的方法和思想。2、 通過對(duì)萬年歷的設(shè)計(jì),掌握時(shí)鐘芯片DS1302的使用方法。3、 通過對(duì)萬年歷的設(shè)計(jì),進(jìn)一步掌握獨(dú)立式鍵盤的編程控制并認(rèn)識(shí)獨(dú)立式鍵盤在實(shí)際中的運(yùn)用。4、 通過對(duì)萬年歷的設(shè)計(jì),增強(qiáng)對(duì)單片機(jī)的興趣及動(dòng)手能力,并在此過程中學(xué)會(huì)對(duì)程序的逐步調(diào)試。5、 完成一個(gè)可調(diào)時(shí),可秒閃的,可以切換顯示的萬年歷時(shí)鐘。2.2硬件功能描述數(shù)字時(shí)鐘能夠完成24小時(shí)計(jì)時(shí),還有按鍵切換顯示年月日的功能,計(jì)時(shí)初始值為11:45,用戶可以通過按鍵調(diào)整時(shí)鐘的初值實(shí)現(xiàn)校時(shí)功能,時(shí)鐘內(nèi)設(shè)鬧鐘12:59,暫不支持取消。2.3設(shè)計(jì)方案選擇1)計(jì)時(shí)方案:方案1:采用實(shí)時(shí)時(shí)鐘芯片現(xiàn)在市場(chǎng)上有許多實(shí)時(shí)時(shí)鐘集成電路,如:DS1287、DS2887、DS1302等,這些實(shí)時(shí)時(shí)鐘芯片具備年、月、日、時(shí)、分、秒計(jì)時(shí)功能和多點(diǎn)定時(shí)功能,計(jì)時(shí)數(shù)據(jù)的更新沒秒自動(dòng)進(jìn)行一次,不需要程序干預(yù)。因此,在工業(yè)實(shí)時(shí)調(diào)控系統(tǒng)中多采用者一類專用芯片來實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘功能。方案2:是用單片機(jī)內(nèi)的可編程定時(shí)器利用單片機(jī)內(nèi)部的定時(shí)記數(shù)器進(jìn)行中斷定時(shí)、配合軟件延時(shí)實(shí)現(xiàn)時(shí)分秒的計(jì)時(shí),該方案節(jié)省硬件成本,但程序設(shè)計(jì)比較復(fù)雜。2)顯示方案:一個(gè)良好的顯示模塊對(duì)一個(gè)系統(tǒng)來說非常重要,所有操作結(jié)果和計(jì)時(shí)結(jié)果,都要通過顯示模塊來顯示出來,同時(shí)顯示模塊提供了良好的人機(jī)交互平臺(tái)。常用的顯示模式有LED 、8段數(shù)碼管顯示 、點(diǎn)陣顯示和液晶顯示。方案1:液晶顯示屏(LED)具有輕薄短小,低耗電量,無輻射危險(xiǎn),平面直角顯示以及形象穩(wěn)定不閃爍等優(yōu)勢(shì),可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)等特點(diǎn),但由于液晶其成本偏高,在使用時(shí),不能有靜電干擾,否則易燒壞其液晶的顯示芯片。方案2:LED數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。LED數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場(chǎng)合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長(zhǎng)等。此課程設(shè)計(jì)采用DS1302芯片計(jì)時(shí),LED數(shù)碼管顯示2.4總體設(shè)計(jì)總體框架圖如圖1圖1 總體框架圖利用DS1302芯片進(jìn)行計(jì)時(shí),并且可以與單片機(jī)進(jìn)行數(shù)據(jù)交換;4位8段數(shù)碼管作為顯示部分;3個(gè)按鍵實(shí)現(xiàn)輸入;蜂鳴器用于鬧鐘提醒。2.5總體方案及基本工作原理由AT89C51的P0口8位控制數(shù)碼管的段選,P2.4、P2.5、P2.6、P2.7四位控制數(shù)碼管位選;DS1302芯片的I/O 、SCLK、 RST口分別連接單片機(jī)P1.5、P1.6、P1.7三口;3按鍵和蜂鳴器則分別連接P3.5、P3.6、P3.7、P1.4口。工作原理最基本部分是利用DS1302芯片的時(shí)鐘功能,單片機(jī)只需要給DS1302初值,然后不斷的從DS1302中讀取數(shù)據(jù)并在數(shù)碼管中顯示,減少了單片機(jī)內(nèi)部資源的占用。三、硬件設(shè)計(jì)3.1 STC89C51芯片STC89C51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含具有如下特點(diǎn):40個(gè)引腳(引腳圖如圖1-1所示),4kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDTC)電路,片內(nèi)時(shí)鐘振蕩器。此外,STC89C51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。STC89C51單片機(jī)引腳圖如圖2圖2 單片機(jī)引腳圖本系統(tǒng)采用單片機(jī)STC89C51為控制核心,系統(tǒng)主要包括播放模塊、按鍵控制模塊和DS1302芯片模塊。下面對(duì)各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。3.2電源模塊及晶振模塊單片機(jī)復(fù)位時(shí)只要保持RST引腳接2us的高電平即可。在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時(shí)候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過程中,電容開始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。外接晶振引腳XTAL1和XTAL2接外部晶振和微調(diào)電容的一端。振蕩電路的頻率就是晶體的固有頻率。晶振電路結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率。晶振提高頻率越高,單片機(jī)運(yùn)行速度越快。單片機(jī)一切指令的執(zhí)行都是建立在晶振提供的時(shí)鐘頻率上。另外此系統(tǒng)還設(shè)置了自鎖開關(guān)用來控制整個(gè)電路。圖3 電源模塊和晶振模塊圖3.3 DS1302DS1302 是DALLAS 公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)RAM,通過簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路.提供秒分時(shí)日日期.月年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過AM/PM 指示決定采用24 或12 小時(shí)格式.DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線:1 RES 復(fù)位,2 I/O 數(shù)據(jù)線,3 SCLK串行時(shí)鐘.時(shí)鐘/RAM 的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31 個(gè)字節(jié)的字符組方式通信。各引腳功能如下:l Vcc1:主電源;Vcc2:備份電源。當(dāng)Vcc2Vcc1+0.2V時(shí),由Vcc2向DS1302供電,當(dāng)Vcc2 Vcc1時(shí),由Vcc1向DS1302供電;l SCLK:串行時(shí)鐘,輸入,控制數(shù)據(jù)的輸入與輸出;l I/O:三線接口時(shí)的雙向數(shù)據(jù)線; l CE:輸入信號(hào),在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個(gè)功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒?。DS1302電路原理如圖4:圖4 DS1302原理圖3.4數(shù)碼管顯示模塊1)數(shù)碼管的分類 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(即多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。2)四位八段共陰數(shù)碼管及上拉電阻51系列的單片機(jī)如果是普通,沒有強(qiáng)輸出的的話,很難驅(qū)動(dòng)數(shù)碼管,在實(shí)際應(yīng)用中,一般是需要添加三極管驅(qū)動(dòng)的。數(shù)碼管的電流計(jì)算:每個(gè)段的電流乘以8,就當(dāng)你用的是紅色管,這樣電流可以設(shè)計(jì)在510mA,這樣的話,當(dāng)顯示數(shù)字8帶點(diǎn)時(shí),電流就是4080mA,單片機(jī)是很難直接輸出這么大的電流的,所以需要加驅(qū)動(dòng).用共陽數(shù)碼管,P0口做輸出就無需加上拉電阻了。此報(bào)告中,數(shù)碼管的段選為P0口,正常工作時(shí)電流約為510mA,所以在P0口接1k的排阻以提供5mA左右的電路使數(shù)碼管正常工作。數(shù)碼管及上拉電阻圖如圖5圖5 數(shù)碼管及上拉電阻圖3.5蜂鳴器部分有源蜂鳴器與無源蜂鳴器的區(qū)別:1)內(nèi)部區(qū)別:需要注意的是這里的“源”不是指電源,而是指震蕩源。 也就是說,有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫。而無源內(nèi)部不帶震蕩源,所以如果用直流信號(hào)無法令其鳴叫。有源蜂鳴器往往比無源的貴,就是因?yàn)槔锩娑鄠€(gè)震蕩電路。2)外觀區(qū)別:兩者的高度略有區(qū)別,有源蜂鳴器,高度為9mm,而無源蜂鳴器的高度為8mm。如將兩種蜂鳴器的引腳都朝上放置時(shí),可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。3)辨別方式:除了從外觀上來看,進(jìn)一步判斷有源蜂鳴器和無源蜂鳴器,還可以用萬用表電阻檔Rxl檔測(cè)試:用黑表筆接蜂鳴器 -引腳,紅表筆在另一引腳上來回碰觸,如果觸發(fā)出咔、咔聲的且電阻只有8(或16)的是無源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。無源蜂鳴器的優(yōu)點(diǎn)是:1)便宜; 2)聲音頻率可控 ,可以做出“多來米發(fā)索拉西”的效果;3)在一些特例中,可以和LED復(fù)用一個(gè)控制口有源蜂鳴器的優(yōu)點(diǎn)是程序控制方便。由于客觀條件與經(jīng)濟(jì)能力有限,本系統(tǒng)采用無緣蜂鳴器,使用S9012三極管驅(qū)動(dòng),蜂鳴器原理圖如圖6:圖6 蜂鳴器原理圖3.6按鍵部分常用的按鍵有三種:機(jī)械觸點(diǎn)式按鍵、導(dǎo)電橡膠式和柔性按鍵(又稱觸摸式鍵盤)。l 機(jī)械觸點(diǎn)式按鍵是利用機(jī)械彈性使鍵復(fù)位,手感明顯,連線清晰,工藝簡(jiǎn)單,適合單件制造。但是觸點(diǎn)處易侵入灰塵而導(dǎo)致接觸不良,體積相對(duì)較大。導(dǎo)電橡膠按鍵是利用橡膠的彈性來復(fù)位,通過壓制的方法把面板上所有的按鍵制成一塊,體積小,裝配方便,適合批量生產(chǎn)。但是時(shí)間長(zhǎng)了,橡膠老化而使彈力下降,同時(shí)易侵入灰塵。l 柔性按鍵是近年來迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面型兩種。柔性按鍵最大特點(diǎn)是防塵、防潮、耐蝕,外形美觀,裝嵌方便。而且外形和面板的布局、色彩、鍵距可按照整機(jī)的要求來設(shè)計(jì)。鍵盤編程中主要考慮去抖動(dòng)的問題:當(dāng)測(cè)試表明有鍵被按下之后,緊接著就進(jìn)行去抖動(dòng)處理。因?yàn)殒I是機(jī)械開關(guān)結(jié)構(gòu),由于機(jī)械觸點(diǎn)的彈性及電壓突跳等原因,在觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為保證鍵識(shí)別的準(zhǔn)確,在電壓信號(hào)抖動(dòng)的情況下不能進(jìn)行行狀態(tài)輸入。為此需進(jìn)行去抖動(dòng)處理。去抖動(dòng)有硬件和軟件兩種方法。硬件方法就是加去抖動(dòng)電路,從根本上避免抖動(dòng)的產(chǎn)生。軟件消抖,在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)程序之后,再檢測(cè)此按鍵,如果第二次檢測(cè)結(jié)果仍為按下狀態(tài),CPU便確認(rèn)此按鍵己按下,消除了抖動(dòng)。但是由于客觀條件與經(jīng)濟(jì)能力有限,本系統(tǒng)采用機(jī)械觸點(diǎn)式按鍵。共四個(gè),分別為復(fù)位鍵,切換鍵,調(diào)時(shí)鍵,調(diào)分鍵。按鍵部分原理圖如圖7:圖7按鍵原理圖四、軟件設(shè)計(jì)4.1軟件流程圖圖8 程序流程圖4.2 軟件設(shè)計(jì) 主函數(shù)部分:1)設(shè)置年月日時(shí)分初始值,初始化DS1302芯片,然后將初始值從單片機(jī)讀入DS1302芯片中,DS1302芯片從初始值開始工作;2)定時(shí)器初始化;3)進(jìn)入主循環(huán),在定時(shí)器內(nèi)設(shè)置標(biāo)志位,標(biāo)志位為1時(shí),從DS1302內(nèi)讀出數(shù)據(jù)進(jìn)單片機(jī)內(nèi),大致間隔時(shí)間為100ms,檢測(cè)按鍵函數(shù)(按鍵程序,功能鍵共三個(gè),按鍵K1的作用為切換顯示年份月份和時(shí)間,按鍵K2作用是使時(shí)鐘值加一,等于24時(shí)歸零,按鍵K3作用是使分鐘值加一,等于60時(shí)歸零,并設(shè)置長(zhǎng)按快速切換功能),檢測(cè)鬧鐘函數(shù)(鬧鐘程序,當(dāng)時(shí)鐘值等于鬧鐘值時(shí),蜂鳴器響一分鐘);定時(shí)器部分:1)讀取標(biāo)志位為主函數(shù)使用;2)定時(shí)器設(shè)置定時(shí)2ms,中斷調(diào)用顯示函數(shù),即每2ms調(diào)用顯示函數(shù)一次,用數(shù)碼管動(dòng)態(tài)掃描的方法,使數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)顯示。用數(shù)組儲(chǔ)存顯示值,初始值為年份,按鍵K1可分別切換儲(chǔ)存值為當(dāng)前月份和當(dāng)前時(shí)間;程序設(shè)計(jì)的技巧:1)首先了解DS1302內(nèi)部構(gòu)造及引腳功能,學(xué)會(huì)從DS1302讀出數(shù)據(jù)和寫入數(shù)據(jù);2)根據(jù)單片機(jī)的工作特點(diǎn),充分利用主函數(shù)和定時(shí)器工作的靈活性,使程序的設(shè)計(jì)更為合理;3)首先完成程序的主體,按鍵檢測(cè)和鬧鐘檢測(cè)都是在其基礎(chǔ)上添加的。五、系統(tǒng)仿真和調(diào)試5.1 仿真軟件簡(jiǎn)介Proteus是由Labcenter Electronics開發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件,現(xiàn)在最新版本6.9 SP5,其演示版本可在其官方網(wǎng)站http:/www.labcenter.co.uk下載。Proteus與其他的仿真軟件相比較,在下面的優(yōu)點(diǎn):1)能仿真模擬電路、數(shù)字電路、數(shù)?;旌想娐?;2)能繪制原理圖、PCB圖;3)幾乎包括實(shí)際中所有使用的儀器 ;4)其最大的亮點(diǎn)在于能夠?qū)纹瑱C(jī)進(jìn)行實(shí)物級(jí)的仿真。從程序的編寫,編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。支持匯編語言和C語言的編程。還可配合Keil C實(shí)現(xiàn)程序的聯(lián)合調(diào)試,將Proteus中繪制的原理圖作為實(shí)際中的目標(biāo)板,而用Keil C集成環(huán)境實(shí)現(xiàn)對(duì)目標(biāo)板的控制,與實(shí)際中通過硬件仿真器對(duì)目標(biāo)板的調(diào)試幾乎完全相同,并且支持多顯示器的調(diào)試,即Proteus運(yùn)行在一臺(tái)計(jì)算機(jī)上,而Keil C運(yùn)行在另一臺(tái)計(jì)算機(jī)上,通過網(wǎng)絡(luò)連接實(shí)現(xiàn)遠(yuǎn)程的調(diào)試。5.2硬件調(diào)試硬件調(diào)試是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在斷路或者短路情況的任務(wù)。注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常且無異常情況(短路或斷路)的情況下方可上電調(diào)試,上電調(diào)試的口的是檢測(cè)單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1)數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼福安顯示數(shù)字。2)鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。5.3軟件調(diào)試調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具有至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序進(jìn)行分別調(diào)試。圖9為萬年歷顯示截圖:左一為年份,右一為月份,左二和右二為時(shí)鐘秒閃效果圖10 萬年歷顯示圖11 仿真截圖注:因?yàn)閜rotues仿真軟件中無時(shí)鐘數(shù)碼管,所以用普通數(shù)碼管代替,其中數(shù)碼管第二位小數(shù)點(diǎn)可以實(shí)現(xiàn)相同的效果,即上圖12.45代替時(shí)鐘數(shù)碼管顯示的12:45。5.4使用說明1)單片機(jī)分別接VCC和GND使單片機(jī)處于供電狀態(tài);2)接上TXD和RXD將程序?qū)雴纹瑱C(jī)中;3)按下六角開關(guān),可到指示燈亮后,數(shù)碼管顯示當(dāng)前年份, 如圖10;圖12 2013年4)按下下方第一個(gè)鍵切換顯示為月日,如圖11;圖13 7月6日5)再按下下方第一個(gè)鍵,切換顯示為時(shí)分,數(shù)碼管中間的兩個(gè)LED燈秒閃以提示顯示的為時(shí)分,如圖12;圖14 11:456)下方中右兩鍵分別為調(diào)時(shí)調(diào)分鍵各按一下后顯示為12:46,各增一位,其中分鐘調(diào)節(jié)鍵即下右鍵可實(shí)現(xiàn)長(zhǎng)按功能,如圖13;圖15 12:467)內(nèi)設(shè)鬧鐘12:49,蜂鳴器響一分鐘,但鬧鐘時(shí)間不可調(diào)節(jié)和取消。六、設(shè)計(jì)總結(jié)與體會(huì)6.1學(xué)習(xí)方面在這次課程設(shè)計(jì)中,我學(xué)到了很多知識(shí),主要有軟件的使用,焊接的技巧以及更深的了解單片機(jī)和其他器件的使用軟件方面:proteus、洞洞板以及dxp都已初步入門,可以完成一些比較簡(jiǎn)單的設(shè)計(jì),并且都有自己的體會(huì)和認(rèn)識(shí)焊接技巧方面:主要學(xué)會(huì)了點(diǎn)焊和布線的一些方法,以及如何避免虛焊,由于對(duì)焊接不夠熟悉,我走了些彎路,給了我更深的印象對(duì)單片機(jī)的理解更深,也懂得一些其他芯片如DS1302的功能及使用,也認(rèn)識(shí)了一些其他的器件的型號(hào)和使用范圍。6.2工作方面這次課程設(shè)計(jì)讓我印象最深的地方是工作方面,也是最重要的部分,首先做事要按順序,所謂磨刀不誤砍柴功,從最基本的部分慢慢做起,相對(duì)而言,總的時(shí)間花費(fèi)其實(shí)很少,效率也高了;另外一方面是如何做事,多思考多問,了解每個(gè)器件,每個(gè)部分的作用,讓整個(gè)框架在自己心中,不要自以為是,否則到頭來一個(gè)小問題可能導(dǎo)致整個(gè)課程設(shè)計(jì)陷入泥潭,錯(cuò)誤不斷,甚至直接導(dǎo)致失?。蛔詈?,在整個(gè)課程設(shè)計(jì)中,我認(rèn)識(shí)到了,一個(gè)人做事的心態(tài)很重要,很多時(shí)候,由于眼前的障礙可能太大,容易直接把人壓垮,這時(shí)候一個(gè)健康的心態(tài)很重要,能夠讓自己理性分析一切,做出最正確的選擇。七、參考文獻(xiàn)【1】張友德,單片微型機(jī)原理應(yīng)用與實(shí)踐(第四版),復(fù)旦大學(xué)出版社,2000【2】李朝青.單片機(jī)原理及接口技術(shù)(第三版). 北京航空航天大學(xué)出版社.2005.【3】丁明亮、唐前輝. 51單片機(jī)應(yīng)用設(shè)計(jì)與仿真-基于Keil C與Proteus. 北京航空航天大學(xué)出版社,2009.【4】楊長(zhǎng)興、劉衛(wèi)國.C+程序設(shè)計(jì).中國鐵道出版社.2010.袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論