基于單片機(jī)的電子鐘設(shè)計(jì)_第1頁
基于單片機(jī)的電子鐘設(shè)計(jì)_第2頁
基于單片機(jī)的電子鐘設(shè)計(jì)_第3頁
基于單片機(jī)的電子鐘設(shè)計(jì)_第4頁
基于單片機(jī)的電子鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、桂林電子科技大學(xué)課程設(shè)計(jì) 課 程 設(shè) 計(jì) (論 文)題 目:基于51單片機(jī)的電子鐘院 (系): 信息與通信學(xué)院 專 業(yè): 電子信息工程 學(xué)生姓名: 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 蔡成林 2014 年 12 月 20 日摘 要隨著電子技術(shù)的飛躍發(fā)展,世界逐漸步入了信息化時(shí)代,人們的生活水平不斷提高,對(duì)精神文明生活的要求也跟著提高,這對(duì)電子領(lǐng)域提出了跟更高的要求。電子學(xué)是一門應(yīng)用很廣泛的科學(xué)技術(shù),其發(fā)展非常迅速。要想學(xué)好這門技術(shù),首先是基礎(chǔ)理論的系統(tǒng)學(xué)習(xí),然后要進(jìn)行技術(shù)訓(xùn)練,進(jìn)而培養(yǎng)我們對(duì)理論聯(lián)系實(shí)際的能力,設(shè)計(jì)電路的能力,實(shí)際操作的能力,以及培養(yǎng)正確處理數(shù)據(jù)、分析和綜合實(shí)驗(yàn)結(jié)果、檢查和排除故障

2、的能力。同時(shí)也可以加深我們對(duì)電子產(chǎn)品的理解。本文介紹了基于51單片機(jī)的電子時(shí)鐘的設(shè)計(jì),從硬件和軟件兩個(gè)方面給出了具體實(shí)現(xiàn)過程。該時(shí)鐘的設(shè)計(jì)采用功能分塊的思想方法,將硬件電路劃分為調(diào)節(jié)電路、復(fù)位電路、顯示電路等若干獨(dú)立模塊;而軟件的實(shí)現(xiàn)則由初始化程序、時(shí)間顯示程序、日期顯示程序、時(shí)間調(diào)整程序、延時(shí)程序等組成。文中給出了各個(gè)模塊的電路圖,并用Professional的ISIS軟件對(duì)電子時(shí)鐘系統(tǒng)的各個(gè)功能進(jìn)行了仿真,并給出了相應(yīng)的仿真結(jié)果圖像。 關(guān)鍵字:單片機(jī),電子時(shí)鐘,時(shí)間調(diào)整,復(fù)位,時(shí)間顯示AbstractWith the development of electronic technique,

3、 the world is forwarding to an information times. People's living standards continue to improve,  also follow to the requirement of spiritual civilization life improved, the electronics field with higher requirements are put forward.Electronics is an application of a wide range of science a

4、nd technology, its development is very rapid. If you want to learn this technique, first is the basic theory of learning system, and then to carry out technical training, and to cultivate our ability to link theory with practice, the circuit des

5、ign ability, practical ability, and cultivate correct data processing, analysis and comprehensive experimental results, check and troubleshooting ability. At the same time also can deepen our understanding of electronic products. This paper intr

6、oduces the electronic clock design based on 51 single-chip microcomputer, and it provides us specific implementation process from aspects of hardware and software. This clock 

7、is designed by the method of function blocks. In hardware,  its circuit is divided into regulatingcircuit,   reset circuitanddisplay drivecircuit. However, the software consist

8、0;of the program of  time display, date display,  time adjust,   time delay and so on. Circuit diagrams of each module is also given and the corresponding&

9、#160;simulation image of this clock produced by software of Proteus is also showed in this paper.   Key words: single chip microcomputer, electronic clock, time adjust, reset, time display目

10、錄引 言- 1 -1 功能介紹- 2 -2 基本原理- 3 -3 主要元器件介紹- 4 -3.1 主要元器件芯片圖- 4 -3.2 STC89C52介紹- 4 -3.3 1602字符液晶介紹- 5 -4 設(shè)計(jì)分析- 7 -5 電子鐘設(shè)計(jì)- 8 -5.1 整體設(shè)計(jì)- 8 -5.2 分塊設(shè)計(jì)- 8 -5.2.1 按鍵調(diào)節(jié)部分- 8 -5.2.2 顯示電路部分- 9 -5.2.3 復(fù)位電路部分- 10 -5.2.4 晶振電路部分- 10 -6 電子鐘整體電路圖及仿真- 11 -7 程序主要模塊- 12 -7.1 延時(shí)程序- 12 -7.2 中斷服務(wù)程序- 12 -7.3 1602液晶顯示程序- 12

11、 -8 PCB圖制作- 13 -9 電路調(diào)試及結(jié)果- 14 -結(jié) 論- 15 -參考文獻(xiàn)- 16 -致 謝- 17 -附錄- 18 - 28 -引 言1957年,Ventura發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開始迅速發(fā)展起來。現(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活中不可缺少的工具。現(xiàn)在高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此精度高,穩(wěn)定性好,使用方便,不需

12、要經(jīng)常調(diào)試。數(shù)字式電子鐘采用集成電路計(jì)時(shí),譯碼代替機(jī)械式傳動(dòng),用液晶顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)、分、秒的校對(duì),片選的靈活性極好。1 功能介紹本設(shè)計(jì)用1602液晶顯示時(shí)間,可顯示日期、星期、以及時(shí)分秒,利用鍵盤可實(shí)現(xiàn)設(shè)定時(shí)間和調(diào)時(shí)功能,以及利用開關(guān)切換12小時(shí)制與24小時(shí)制顯示,其中S1為復(fù)位按鍵,S2為功能鍵,S3為增加鍵,S4為減小鍵,S5為確定鍵,S6為12/24進(jìn)制切換開關(guān)。當(dāng)S1按下后,無論程序執(zhí)行到什么地方都會(huì)從頭開始,即1602從初始值開始按秒行走。當(dāng)S2第一次按下并彈起后1602光標(biāo)在秒位置處閃爍,此時(shí)可通過S

13、3或S4調(diào)節(jié)秒加或減,當(dāng)S2第二次按下并彈起后1602光標(biāo)在分位置處閃爍,此時(shí)可通過S3或S4調(diào)節(jié)分加或減,當(dāng)S2第三次按下并彈起后1602光標(biāo)在小時(shí)位置處閃爍,此時(shí)可通過S3或S4調(diào)節(jié)小時(shí)加或減,當(dāng)S2第四次按下并彈起后1602光標(biāo)消失,此時(shí)S2的功能和確定鍵S5功能一樣,電子鐘開始正常工作。只有當(dāng)1602出現(xiàn)光標(biāo)閃爍時(shí),增加鍵S3、減小鍵S4、以及確定鍵S5才能發(fā)揮作用,否則按下后無任何反應(yīng)。當(dāng)S6閉合時(shí)電子鐘為12進(jìn)制,當(dāng)S6打開時(shí)電子鐘為24進(jìn)制,由于本人水平有限,每當(dāng)S6閉合或打開都要按一下復(fù)位鍵S1后才能完成12/24進(jìn)制的轉(zhuǎn)換,并且還要重新設(shè)定時(shí)間,這是本次設(shè)計(jì)的一個(gè)缺陷。2 基

14、本原理本設(shè)計(jì)是利用單片機(jī)內(nèi)部的定時(shí)器來完成時(shí)間行走功能的,為了實(shí)現(xiàn)12/24進(jìn)制的轉(zhuǎn)換,以及為了使外部電路最為簡單和控制成本,本設(shè)計(jì)使用了單片機(jī)的兩個(gè)定時(shí)器,其中當(dāng)定時(shí)器0工作時(shí)電子鐘為24進(jìn)制,當(dāng)定時(shí)器1工作時(shí)電子鐘為12進(jìn)制。工作原理都是每隔50ms產(chǎn)生一次中斷,并且執(zhí)行一次count+,當(dāng)count等于20時(shí)秒加1,秒加到60則分加1并將秒清零,分加到60則小時(shí)加1并將分清零。所不同的是,當(dāng)S6打開時(shí)定時(shí)器0開始工作,此時(shí)電子鐘工作在24進(jìn)制模式下,所以每當(dāng)時(shí)間加到24時(shí)就變成0;當(dāng)S6閉合時(shí)定時(shí)器1開始工作,此時(shí)電子鐘工作在12進(jìn)制模式下,所以每當(dāng)時(shí)間加到12時(shí)就變成0。當(dāng)功能鍵有效時(shí)

15、,無論此時(shí)是定時(shí)器0還是定時(shí)器1在工作,它們都將被關(guān)閉,即所有定時(shí)器都會(huì)停止工作,此時(shí)1602上的時(shí)間將會(huì)停止在當(dāng)前時(shí)間上,直到確定鍵被按下,定時(shí)器才開始正常工作,時(shí)間也隨之開始正常的變化,時(shí)間每改變一次送1602液晶顯示一次,從而實(shí)現(xiàn)電子鐘的正常工作。3 主要元器件介紹3.1 主要元器件芯片圖圖3.1 STC89C52管腳圖圖3.2 LCD1602管腳圖3.2 STC89C52介紹STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能

16、。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被

17、保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。3.3 1602字符液晶介紹1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:表3.1 1602字符液晶引腳功能表引腳符號(hào)功能說明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、

18、低電平0時(shí)選擇指令寄存器。5R/WR/W為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。6EE(或EN)端為使能(enable)端,寫操作時(shí),下降沿使能。讀操作時(shí),E高電平有效7DB0低4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1低4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2低4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3低4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4低4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5低4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6低4位三態(tài)、 雙向數(shù)據(jù)總線 6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flag)15BLA背光電源正極16BL

19、K背光電源負(fù)極表3.2 寄存器選擇控制表RSR/W操作說明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關(guān)于E=H脈沖開始時(shí)初始化E為0,然后置E為1,再清0.busy flag(DB7):在此位為1時(shí),LCD忙,將無法再處理其他的指令要求。4 設(shè)計(jì)分析針對(duì)要實(shí)現(xiàn)的功能,采用STC89C52單片機(jī)進(jìn)行設(shè)計(jì), STC89C52單片機(jī)是一款低功耗,高性能的單片機(jī),片內(nèi)含8KB在線可編程(ISP)的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器,器件采用高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)M

20、CS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。這樣,既能做到經(jīng)濟(jì)合理又能實(shí)現(xiàn)預(yù)期的功能。在程序方面,采用分塊設(shè)計(jì)的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項(xiàng)功能。程序可分為時(shí)間顯示程序、日期顯示程序,時(shí)間調(diào)整程序、延時(shí)程序等。運(yùn)用這種方法,關(guān)鍵在于各模塊的兼容和配合,若各模塊不匹配會(huì)出現(xiàn)意想不到的錯(cuò)誤。首先,在編程之前必須了解硬件結(jié)構(gòu)尤其是各引腳的用法,以及內(nèi)部寄存器、存儲(chǔ)單元的用法,否則,編程無從下手,電路也無法設(shè)計(jì)。這是前期準(zhǔn)備工作。第二部分是硬件部分,依據(jù)想要的功能分塊設(shè)計(jì)設(shè)計(jì),比如輸入需要開關(guān)電路,輸出需要1602液晶顯示電路等。第三部分是軟件部分,先學(xué)習(xí)理解C語言的編程方

21、法再根據(jù)設(shè)計(jì)的硬件電路進(jìn)行分塊的編程調(diào)試,最終完成程序設(shè)計(jì)。第四部分是軟件畫圖部分,設(shè)計(jì)好電路后進(jìn)行畫圖,包括電路圖和仿真圖的繪制。第五部分是軟件仿真部分,軟硬件設(shè)計(jì)好后將軟件載入芯片中進(jìn)行仿真,仿真無法完成時(shí)檢查軟件程序和硬件電路并進(jìn)行修改直到仿真成功。第六部分是硬件實(shí)現(xiàn)部分,連接電路并導(dǎo)入程序檢查電路,若與設(shè)計(jì)的完全一樣一般能實(shí)現(xiàn)想要的功能。最后進(jìn)行功能擴(kuò)展,在已經(jīng)正確的設(shè)計(jì)基礎(chǔ)上,添加額外的功能!5 電子鐘設(shè)計(jì)5.1 整體設(shè)計(jì) 此次設(shè)計(jì)主要是應(yīng)用單片機(jī)來設(shè)計(jì)電子時(shí)鐘,硬件部分主要分以下電路模塊:顯示電路用1602液晶,單片機(jī)采用STC89C52系列,這種單片機(jī)應(yīng)用簡單,適合電子

22、鐘設(shè)計(jì)。 電路的總體設(shè)計(jì)框架如下圖5.1所示:圖5.1 電子鐘系統(tǒng)框圖5.2 分塊設(shè)計(jì) 模塊電路主要分為:按鍵調(diào)節(jié)部分、液晶顯示部分、復(fù)位和晶振電路。 5.2.1 按鍵調(diào)節(jié)部分 按鍵調(diào)節(jié)部分主要有模式的選擇和時(shí)間的調(diào)整。S2為功能鍵,S3為增加鍵,S4為減小鍵,S5為確定鍵,S6為12/24進(jìn)制切換開關(guān)。按鍵調(diào)節(jié)電路如下圖5.2:圖5.2 按鍵調(diào)節(jié)電路5.2.2 顯示電路部分顯示電路由1602字符液晶組成,通過與STC89C52單片機(jī)的I/O口相連接,再用程序?qū)TC89C52單片機(jī)的I/O進(jìn)行控制,從而控制1602液晶顯示時(shí)間并可以實(shí)現(xiàn)時(shí)間的變化和調(diào)節(jié)

23、。顯示電路圖如下圖5.3:圖5.3 顯示電路5.2.3 復(fù)位電路部分51單片機(jī)要復(fù)位只要在第9引腳RST接一個(gè)高電平并持續(xù)2US就可以實(shí)現(xiàn),本設(shè)計(jì)采用如下電路,其原理為:在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時(shí)候1K電阻兩端的電壓接近于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í)候1K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到

24、高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。復(fù)位電路圖如下圖5.4:圖5.4 復(fù)位電路5.2.4 晶振電路部分本實(shí)驗(yàn)單片機(jī)時(shí)鐘采用內(nèi)部時(shí)鐘,電路圖如下圖5.5:圖5.5 晶振電路6 電子鐘整體電路圖及仿真圖6.1 電子鐘整體電路圖圖6.2 電子鐘仿真圖7 程序主要模塊7.1 延時(shí)程序 本程序中的按鍵去抖,1602液晶的初始化和寫入數(shù)據(jù)命令等都要用到延時(shí)程序,這里使用延遲1ms的程序,此程序需反復(fù)調(diào)用,只是延時(shí)的長短不同罷了,在此不再贅述。 7.2 中斷服務(wù)程序本實(shí)驗(yàn)中,計(jì)數(shù)器T0,T1中斷都有運(yùn)用,且都為時(shí)鐘定時(shí)所用,T0中斷用于24進(jìn)制,定時(shí)長度為50ms,工作于方式1,計(jì)數(shù)1次,時(shí)長5

25、0ms,故計(jì)數(shù)器計(jì)數(shù)20次,進(jìn)入中斷,計(jì)數(shù)初值為65536-50000=15536,裝滿定時(shí)器需要50ms的時(shí)間,從而20次中斷為一秒,一秒之后,判斷是否到60秒,若不到則秒加一,然后返回,若到,則秒賦值為0,分加一,依次類推。計(jì)數(shù)器T1和計(jì)數(shù)器T0一樣都工作于方式1,只是中斷服務(wù)子程序略有不同,T1中斷用于12進(jìn)制,其它都一樣,在此不再贅述。7.3 1602液晶顯示程序主要有液晶初始化程序,液晶寫命令程序和液晶寫數(shù)據(jù)程序組成,因需要多次運(yùn)用,故寫成子函數(shù)形式,具體做法見附錄中的程序代碼。8 PCB圖制作圖8.1 電子鐘PCB原理圖 圖8.2 電子鐘PCB工程圖9 電路調(diào)試及結(jié)果經(jīng)過多方面測(cè)試

26、及調(diào)試,并根據(jù)仿真結(jié)果判斷錯(cuò)誤可能的地方,從而修改相應(yīng)的程序或電路連接等,最終本設(shè)計(jì)完全可以實(shí)現(xiàn)預(yù)期要求,可以顯示日期、星期、以及時(shí)分秒,并可以通過按鍵來調(diào)節(jié)時(shí)分秒,以及通過開關(guān)來實(shí)現(xiàn)12/24進(jìn)制的轉(zhuǎn)換,最終達(dá)到了設(shè)計(jì)的要求。然后就是實(shí)際電路的制作,因?yàn)橐膊皇堑谝淮巫霭遄恿?,所以?duì)實(shí)際電路板的制作還是比較順利的,制作出實(shí)物后把程序燒入單片機(jī)后也可正常工作,至此本次課程設(shè)計(jì)就全部完成了。實(shí)物圖如下:圖9.1 電子鐘實(shí)物圖結(jié) 論經(jīng)過這半個(gè)多月的努力,在老師和同學(xué)的幫助下終于徹底的做完了本課程設(shè)計(jì)的所有工作。通過這次課程設(shè)計(jì),我能運(yùn)用已學(xué)的知識(shí)解決我在設(shè)計(jì)中遇到的問題,使自己的動(dòng)手能力和思考問題的

27、能力得到了很大的提高。在做設(shè)計(jì)的過程中我查閱了很多的資料,并認(rèn)真的閱讀這些與我的設(shè)計(jì)相關(guān)的資料,從而我的專業(yè)涵養(yǎng)得到了提高,知識(shí)的儲(chǔ)備量也有所增加。在這次設(shè)計(jì)中遇到了很多實(shí)際性的問題,在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。電路設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,這才是一個(gè)設(shè)計(jì)的靈魂所在。因此在整個(gè)設(shè)計(jì)過程中大部分時(shí)間是用在單元電路的理解和程序的設(shè)計(jì)編寫上面。 這次設(shè)計(jì),讓我受益匪淺。我對(duì)電路設(shè)計(jì)中的邏輯關(guān)系等有了更深的認(rèn)識(shí),溫習(xí)了以前學(xué)的知識(shí),并學(xué)習(xí)了很多新知

28、識(shí),但在設(shè)計(jì)的過程中,也遇到了很多的問題,有一些知識(shí)都已經(jīng)不太清楚了,不過通過查找一些資料所有的問題都解決了。通過這次設(shè)計(jì)我也發(fā)現(xiàn)自己的很多不足之處。在設(shè)計(jì)過程中我發(fā)現(xiàn)自己考慮問題很不全面,以至于經(jīng)過多次修改才得到最終的結(jié)果,所掌握的電路應(yīng)用軟件還不夠多,我希望自己的這些不足之處能在今后的學(xué)習(xí)和實(shí)踐中得到改善。而且,通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,學(xué)會(huì)了堅(jiān)持和努力,這將為以后的學(xué)習(xí)做出最好的榜樣!參考文獻(xiàn)1 馬杰,覃匡宇,陳基漓,等.C語言程序設(shè)計(jì)基礎(chǔ)M.桂林:廣西師范大學(xué)出版社,20122 李群芳,肖看,張士軍.單片微型計(jì)算機(jī)與接口技術(shù)M. 北京:電子工業(yè)出版社,20123 郭天祥.51

29、單片機(jī)C語言教程M.北京:電子工業(yè)出版社,20094 譚浩強(qiáng).C程序設(shè)計(jì)M.北京:清華大學(xué)出版社,19915 閻 石.數(shù)字電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,20076 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)M.北京:高等教育出版社,20007 韓 焱.數(shù)字電子技術(shù)M.北京:電子工業(yè)出版社,20098 王衛(wèi)東,李旭瓊.模擬電子技術(shù)基礎(chǔ)M.北京:電子工業(yè)出版社,20109 潘松,黃繼業(yè),潘明.EDA技術(shù)實(shí)用教程M.北京:科學(xué)出版社,201110 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)M.北京:高等教育出版社,1997致 謝首先感謝學(xué)院為我提供了這次課設(shè)的機(jī)會(huì),讓我學(xué)到了以前在書本上學(xué)不到的知識(shí),讓我度過了一段

30、最為充實(shí)的時(shí)期,而且收獲了理論和實(shí)踐上的第一桶金。在兩年的學(xué)習(xí)時(shí)間里,各位老師悉心教導(dǎo),使我學(xué)到了很多知識(shí)也學(xué)會(huì)了獨(dú)立處理問題的本領(lǐng)。在課程設(shè)計(jì)過程中,很多老師和同學(xué)都給予了我無私的幫助,在學(xué)習(xí)、工作和思想上都給予了我莫大的幫助和鼓勵(lì),在此,對(duì)他們表示深深的感謝。 最后,衷心的感謝所有關(guān)心和幫助過我的老師和同學(xué),并獻(xiàn)上我最衷心地祝愿,愿生活中最美好的東西永遠(yuǎn)和你們相伴!附錄完整程序及注釋:#include<reg52.h>#define uchar unsigned char#define uint unsigned int#include"24c02.h&qu

31、ot;sbit rs=P10;/定義1602液晶數(shù)據(jù)命令選擇端sbit lcden=P25;/定義1602液晶使能端sbit s1=P13;/定義功能鍵sbit s2=P14;/定義增加鍵sbit s3=P15;/定義減小鍵sbit s4=P16;/定義確認(rèn)鍵sbit s5=P17;/定義12和24切換鍵uchar count,slnum,s2num;char miao,shi,fen;uint n=0,m=0;uchar code table=" 2014-12-01 MON"void delay(uint z)/延時(shí)函數(shù) uint x,y;for(x=z;x>0;

32、x-) for(y=110;y>0;y-);void write_com(uchar com)/液晶寫命令函數(shù) rs=0; lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/液晶寫數(shù)據(jù)函數(shù) rs=1; lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void write_sfm(uchar add,uchar date)/寫時(shí)分秒函數(shù) uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80

33、+0x40+add);write_date(0x30+shi);/送去液晶顯示十位write_date(0x30+ge);/送去液晶顯示個(gè)位void init()/初始化函數(shù) uchar num;lcden=0;fen=0;/初始化分鐘變量值miao=0;shi=0;count=0;slnum=0;init_24c02();write_com(0x38);/初始化液晶write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num+)/顯示年月日 write_date(tablenum

34、);delay(5); write_com(0x80+0x40+6);/寫出時(shí)間顯示部分的兩個(gè)冒號(hào)write_date(':');delay(5);write_com(0x80+0x40+9);write_date(':');delay(5); miao=0;/時(shí)間初始化 fen=0; shi=8; write_sfm(10,miao);/分別送去液晶顯示 write_sfm(7,fen); write_sfm(4,shi); if(s5=1)TMOD=0x01;/設(shè)置定時(shí)器0工作模式1 TH0=(65536-49700)/256; TL0=(65536-497

35、00)%256; EA=1;/開總中斷 ET0=1;/開定時(shí)器0中斷 TR0=1;/啟動(dòng)定時(shí)器0 else TMOD=0x10;/設(shè)置定時(shí)器1工作模式1 TH1=(65536-49700)/256; TL1=(65536-49700)%256; EA=1;/開總中斷 ET1=1;/開定時(shí)器1中斷 TR1=1;/啟動(dòng)定時(shí)器1 void keyscan()/按鍵掃描函數(shù) if(s1=0) delay(5); if(s1=0)/確認(rèn)功能鍵被按下 slnum+;/功能鍵按下次數(shù)記錄 while(!s1);/釋放確認(rèn) if(slnum=1)/第一次被按下時(shí) TR0=0;/關(guān)閉定時(shí)器 TR1=0; wri

36、te_com(0x80+0x40+10);/光標(biāo)定位到秒位置 write_com(0x0f);/光標(biāo)開始閃爍 if(slnum=2)/第二次按下光標(biāo)閃爍定位到分鐘位置 write_com(0x80+0x40+7); if(slnum=3)/第三次按下光標(biāo)閃爍定位到小時(shí)位置 write_com(0x80+0x40+4); if(s4=0)|(slnum=4)&(slnum!=0)/確認(rèn)鍵按下或者功能鍵第四次按下 while(!s4);/釋放確認(rèn) slnum=0;/記錄按鍵數(shù)清0 write_com(0x0c);/取消光標(biāo)閃爍 TR0=1;/啟動(dòng)定時(shí)器使時(shí)鐘開始走 TR1=1; if(sl

37、num!=0)/只有功能鍵被按下后,增大和減小鍵才有效 if(s2=0) delay(5); if(s2=0)/增加鍵確認(rèn)被按下 while(!s2);/按鍵釋放if(slnum=1)/若功能鍵第一次按下 miao+;/則調(diào)整秒加1 if(miao=60)/若滿足60后將清0 miao=0; write_sfm(10,miao);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+10);/顯示位置重新回到調(diào)節(jié)處 write_add(1,miao);/數(shù)據(jù)改變立即存入24C02 if(slnum=2)/若功能鍵第二次按下 fen+;/則調(diào)整分鐘加1if(fen=60)/若滿足6

38、0后將清0 fen=0; write_sfm(7,fen);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+7);/顯示位置重新回到調(diào)節(jié)處 write_add(2,fen);/數(shù)據(jù)改變立即存入24C02 if(slnum=3)/若功能鍵第三次按下 shi+;/則調(diào)整小時(shí)加1if(s5=1)if(shi=24)/若滿足24后將清0 shi=0; write_sfm(4,shi);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+4);/顯示位置重新回到調(diào)節(jié)處 write_add(3,shi);/數(shù)據(jù)改變立即存入24C02 elseif(shi>=12)

39、/若滿足12后將清0 shi=0; write_sfm(4,shi);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+4);/顯示位置重新回到調(diào)節(jié)處 write_add(3,shi);/數(shù)據(jù)改變立即存入24C02 if(s3=0) delay(5); if(s3=0)/確認(rèn)減小鍵被按下 while(!s3);/按鍵釋放 if(slnum=1)/若功能鍵第一次按下 miao-;/則調(diào)整秒減1 if(miao=-1)/若減到負(fù)數(shù)則將其重新設(shè)置為59 miao=59; write_sfm(10,miao);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+10);/顯示位置重新回到調(diào)節(jié)處 write_add(1,miao);/數(shù)據(jù)改變立即存入24c02 if(slnum=2)/若功能鍵第二次按下 fen-;/則調(diào)整分鐘減1 if(fen=-1)/若減到負(fù)數(shù)則將其重新設(shè)置為59 fen=59; write_sfm(7,fen);/每調(diào)節(jié)一次送液晶顯示一下 write_com(0x80+0x40+7

溫馨提示

  • 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)論