基于at89s52數(shù)字電子鐘設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  本課程設(shè)計介紹了多功能數(shù)字鐘的系統(tǒng)設(shè)計。系統(tǒng)具有時間設(shè)置及顯示、鬧鐘等功能。系統(tǒng)以 AT89S52為核心,主要進行基于AT89S52低功耗MCU的字符型數(shù)字鐘及其系統(tǒng)的研究。系統(tǒng)帶有液晶顯示器,配合按鍵提供友好的用戶界面,操作簡單,該數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定的工作。系統(tǒng)軟件設(shè)計包括單片機計算機兩部分的編程。計算機軟件編

2、程主要實現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲。單片機軟件編程主要實現(xiàn)鍵盤、液晶顯示等各模塊的功能,采用匯編語言編程。</p><p>  關(guān)鍵詞 數(shù)字鐘;單片機;液晶顯示</p><p><b>  ABSTRACT</b></p><p>  This paper describes the design of a mu

3、lti-functiond digital clock system.It as displaying and setting time for clock .The core part of the system is based on a king of advanced MCU,AT89S52,this system mainly carries on low power consume MCU the character lis

4、t type the research of the digital clock and its system according to the AT89 S52.The system takes liquid crystal display, matching with a key to provide amity of customer interface, the operation is simple. consecution,

5、credibility,stable wo</p><p>  Key words digital clock;Single-chip Microcomputer;LCD</p><p><b>  目 錄</b></p><p>  1 設(shè)計任務(wù)及要求………………………………………………………………………3 </p>&

6、lt;p>  1.1 設(shè)計任務(wù)………………………………………………………………………3 </p><p>  1.2 功能要求………………………………………………………………………3</p><p>  1.3 總體方案及工作原理…………………………………………………………3</p><p>  2 硬件系統(tǒng)的設(shè)計…………………………………………………

7、……………………4 </p><p>  2.1 硬件系統(tǒng)的模塊………………………………………………………………4</p><p>  2.2 系統(tǒng)的原理圖及PCB…………………………………………………………7</p><p>  2.3 數(shù)字電子鐘的原件清單………………………………………………………7</p><p>  3 軟件

8、系統(tǒng)的設(shè)計………………………………………………………………………8</p><p>  3.1 單片機資源使用情況…………………………………………………………8</p><p>  3.2 軟件系統(tǒng)的模塊………………………………………………………………8</p><p>  3.3 程序流程圖……………………………………………………………………10</p

9、><p>  3.4 程序清單………………………………………………………………………13</p><p>  4 仿真測試及結(jié)果……………………………………………………………………25</p><p>  4.1 設(shè)計結(jié)論及使用說明…………………………………………………………25</p><p>  4.2 仿真結(jié)果……………………………

10、…………………………………………26</p><p>  4.3 誤差分析………………………………………………………………………28</p><p>  4.4 設(shè)計體會………………………………………………………………………28</p><p>  4.5 教學(xué)建議………………………………………………………………………29</p><p&g

11、t;  參考文獻…………………………………………………………………………………30</p><p>  致謝………………………………………………………………………………………31</p><p>  附錄………………………………………………………………………………………32</p><p>  1 設(shè)計任務(wù)及要求</p><p>  1.1

12、 設(shè)計任務(wù) </p><p>  我們的生活離不開時間,可以說時鐘就是我們生存的一部分。此次設(shè)計數(shù)字鐘就是為了了解數(shù)字鐘的原理,從而學(xué)會制作數(shù)字鐘。本次課程設(shè)計通過理論設(shè)計和實物制作解決相應(yīng)的實際問題,鞏固和運用在《單片機技術(shù)》中所學(xué)的理論知識和實驗技能,掌握單片機應(yīng)用系統(tǒng)的一般設(shè)計方法,提高設(shè)計能力和實踐動手能力,為以后從事電子電路設(shè)計、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p>&

13、lt;b>  1.2 功能要求</b></p><p>  設(shè)計一個具有特定功能的電子鐘,該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進入時鐘準(zhǔn)備狀態(tài);小時的循環(huán)按12進制進行;可以顯示年月日,且能區(qū)分閏年;第一次按電子鐘的開關(guān)鍵,電子鐘從上午12時00分00秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘系統(tǒng)調(diào)整鍵,則電子鐘進入時鐘調(diào)整狀態(tài),此時可以進行時間的加減調(diào)整;繼續(xù)按系統(tǒng)調(diào)整鍵

14、可以進行相關(guān)項目的調(diào)整,等調(diào)整完畢之后繼續(xù)按調(diào)整鍵即可跳出調(diào)整狀態(tài)再次進入時鐘運行狀態(tài)。</p><p>  1.3 總體方案及工作原理</p><p>  本設(shè)計中采用AT89S52芯片及LCD1602液晶顯示器,一些獨立式按鍵構(gòu)成一個簡單的數(shù)字電子鐘。設(shè)計中是采用單片機的內(nèi)部定時器進行定時,沒有用到專門的時鐘芯片,因此具有一定的難度,總設(shè)計框圖如圖1.1所示。</p>

15、<p>  整個電子鐘的工作原理是:在正常的供電狀態(tài)下,首先利用單片機定時,到了相應(yīng)的時間由單片機將所需要顯示的數(shù)據(jù)送到液晶顯示器的輸入口,當(dāng)有鍵按下時則進入相應(yīng)的按鍵調(diào)整狀態(tài),進行按鍵調(diào)整。</p><p>  圖1.1 數(shù)字電子鐘總設(shè)計框圖</p><p><b>  2 硬件系統(tǒng)的設(shè)計</b></p><p>  2.1

16、硬件系統(tǒng)的模塊 </p><p>  本課程設(shè)計中硬件電路主要由單片機最小系統(tǒng),外部擴展鍵盤,工作電源,液晶顯示及蜂鳴器構(gòu)成,下面就具體介紹其各部分的功能。</p><p>  2.1.1 單片機最小系統(tǒng)</p><p><b>  時鐘電路</b></p><p>  單片機的時鐘電路由振蕩電路和分頻電路組成。其中振

17、蕩電路由反相器以及并聯(lián)外接的石英晶體和電容構(gòu)成,用于產(chǎn)生振蕩脈沖。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時鐘信號。時鐘電路是單片機系統(tǒng)的心臟,它控制著單片機的工作節(jié)奏。本設(shè)計采用內(nèi)部時鐘方式,12MHz的石英晶體振蕩器。</p><p><b>  復(fù)位電路</b></p><p>  復(fù)位電路用于產(chǎn)生復(fù)位信號,通過RST引腳送入單片機,進行復(fù)位。復(fù)位電路的好

18、壞直接影響單片機系統(tǒng)工作的可靠性,因此,要重視復(fù)位電路的設(shè)計和研究。只要RST端保持10ms以上的高電平,就能使單片機有效地復(fù)位,本設(shè)計采用上電復(fù)位和手動復(fù)位兩種方式。</p><p>  AT89S52單片機</p><p>  AT89S52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Me

19、mory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89S單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  2.1.2 按鍵模塊</p><p>  此鍵盤是為設(shè)置時間而設(shè)計的人機交互裝置。雖然矩陣鍵盤操作方便,但其硬件電路和軟件都較復(fù)雜,考慮各方面因素,最終決定采用獨立鍵盤,這樣的話只需四個按鍵即可。其中,按下SET鍵進入時間設(shè)置方式,此時默認(rèn)

20、設(shè)置秒,按ADD鍵進行加1設(shè)置,按DEC鍵進行減1設(shè)置,再次按下SET鍵進入分設(shè)置,以此類推,直至年設(shè)置完成后再次按下SET鍵,進入正常模式。ON\OFF為開關(guān)鍵,可進行電子鐘的開關(guān)操作。</p><p>  2.1.3 LCD顯示模塊</p><p>  LCD1602字符型通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳)。在本

21、設(shè)計里面所用到的是16腳的LCD,其引腳的定義及功能如表2.1所示。</p><p>  表2.1 字符型LCD1602的引腳定義 </p><p>  其中,單片機的P0口與LCD1602的8個數(shù)據(jù)口相連,P3.0,P3.1,P3.2分別接LCD1602的RS,R/W,E端相連,由于單片機芯片的P0口一般沒有加上拉電阻,因此當(dāng)液晶顯示器的數(shù)據(jù)口線接在單片機89S52芯片的P0口時需要在P

22、0口加上拉,以確保P0口剛開始是高電平。如果要使LCD1602有背光源,則需要將LCD1602的16引腳接地,將LCD1602的15引腳接VCC,此時液晶顯示器則在有背光源的情況下工作。</p><p>  本次設(shè)計中要是此LCD1602顯示兩行,第一行顯示年、月、日等信息,第二行顯示電子時鐘的時、分、秒等。</p><p>  2.1.4 蜂鳴器模塊</p><p&

23、gt;  在本設(shè)計中設(shè)計了鬧鐘因此需要一個發(fā)聲裝置,這里選用了一個蜂鳴器作為發(fā)聲裝置,在此發(fā)聲裝置中我采用了一個三極管做為蜂鳴器的驅(qū)動器,將揚聲器連至一個三極管,然后通過三極管的基極連至單片機的 P2.1。</p><p>  2.1.4 工作電源</p><p>  單片機正常工作時的,需要外部電源提供正常的工作電源這里我所采用的是利用USB接口技術(shù),從電子計算機的USB接口提供給單片

24、機正常工作所需要的外部電源。</p><p>  2.2 系統(tǒng)的原理圖及PCB</p><p>  在本次課程設(shè)計中,所繪制的PCB板圖和原理圖時采用的是Protel軟件,Protel99SE是Protel公司近10年來致力于Windows平臺開發(fā)的最新結(jié)晶,能實現(xiàn)從電學(xué)概念設(shè)計到輸出物理生產(chǎn)數(shù)據(jù),以及這之間的所有分析、驗證和設(shè)計數(shù)據(jù)管理。因而今天的Protel最新產(chǎn)品已不是單純的PCB

25、(印制電路板)設(shè)計工具,而是一個系統(tǒng)工具,覆蓋了以PCB為核心的整個物理設(shè)計。Protel 設(shè)計系統(tǒng)是一套建立在IBM兼容PC環(huán)境下的EDA電路集成設(shè)計系統(tǒng),由于其高度的集成性與擴展性,一經(jīng)推出,立即為廣大用戶所接受,很快就成為世界PC平臺上最流行的電子設(shè)計自動化軟件。其數(shù)字電子鐘的原理圖及其PCB板圖見附錄 </p><p>  2.3 數(shù)字電子鐘的原件清單</p><p>  該數(shù)字

26、電子鐘用到的元器件清單見附錄 </p><p><b>  3 軟件系統(tǒng)的設(shè)計</b></p><p>  3.1 單片機的使用情況</p><p>  本設(shè)計用到了單片機的定時器的功能,此外用到了單片機的中斷功能,在數(shù)據(jù)的顯示時所采用的是查表的方法,因此需要將表格、數(shù)據(jù)存到單片機的程序存儲器中去。</p><p>

27、;  由于電子鐘需要可以進行調(diào)節(jié),因此,需要在單片機的P口上加上按鍵,本設(shè)計采用獨立式鍵盤,直接接在P1口上。用到的液晶顯示器接到了單片機的P0口線上,此外用到了一個蜂鳴器接到了單片機的P2.1口線上。</p><p>  3.2 軟件系統(tǒng)的模塊</p><p>  3.2.1 定時模塊</p><p>  在本設(shè)計中用到了幾個定時模塊,第一個定時是用于定時一秒

28、的,用到了單片機的定時器TR0,在定時的過程中采用的是查詢的方式,查詢定時時間是否到的。定時器所采用</p><p>  第二個定時是用于定時按鍵的抖動時間,因為當(dāng)按鍵時都會出現(xiàn)電壓抖動,但對鍵盤工作有影響的是鍵閉合時的抖動,所以為了確保鍵掃描的正確性,每當(dāng)掃描到有閉合鍵時,都要進行去抖動處理。本設(shè)計中采用的是軟件去抖動的方法,抖動的定時采用的軟件的延時進行定時的。</p><p>  第

29、三個定時的功能是在液晶顯示時的延時時間,即在液晶顯示時是采用查表的方法進行顯示的,因此需要用到一定的延時,使得我們能夠看的清楚所顯示的內(nèi)容,在這里用到的延時也是采用軟件的延時。</p><p>  3.2.2 按鍵操作模塊</p><p>  在本次課程設(shè)計中,我用到了四個獨立式鍵盤進行按鍵的操作。因為本數(shù)字電子鐘的功能比較多,而只用到了四個鍵,因此在鍵盤的操作時采用的是層層遞進的方法,

30、一步一步往下操作的,設(shè)置了鍵的名稱為SET鍵、ADD鍵、DEC鍵、ON/OFF鍵,在軟件設(shè)計中是在SET鍵按下了之后才會有ADD鍵、DEC鍵的操作,鍵與鍵之間的功能采用層層套用使得程序看起來更加清晰明了。</p><p>  在按鍵的程序掃描中是采用查詢的方法對按鍵進行操作的,當(dāng)查詢到按鍵有動作時,則執(zhí)行相應(yīng)的操作。獨立式鍵盤的程序設(shè)計一般把鍵盤掃描程序設(shè)計成子程序,以便其它各程序調(diào)用。本設(shè)計中的鍵盤掃描子程序的

31、名稱為KEY,則鍵盤掃描子程序KEY應(yīng)具有以下功能:判定有無按鍵動作;去抖動;確認(rèn)是否真正有閉合鍵;計算并保存閉合鍵鍵碼;判定閉合鍵是否釋放;恢復(fù)閉合鍵鍵碼。</p><p>  3.2.3 液晶顯示模塊</p><p>  LCD1602內(nèi)部控制器共有11條控制指令,如表3.1所示</p><p>  表3.1 LCD1602控制命令表</p>&

32、lt;p>  1602的液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的,其中表格中的“1”為高電平,“0”為低電平。指令1是清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置;指令2是光標(biāo)復(fù)位,光標(biāo)返回到地址00H;指令3是光標(biāo)和顯示模塊設(shè)置I/D,光標(biāo)移動方向,高電平右移,低電平左移,其中S表示所有文字是否左移或者右移,當(dāng)S為高電平則表示有效,為低電平表示無效;指令4是顯示開關(guān)控制,當(dāng)D為高電平時表示開顯示,低電平則表

33、示關(guān)顯示,當(dāng)C為高電平時表示有光標(biāo),低電平是則無光標(biāo),當(dāng)D為高電平時表示光標(biāo)閃爍,為低電平時表示光標(biāo)不閃爍;指令5是光標(biāo)或顯示移位,當(dāng)為高電平時表示移動顯示文字,低電平時表示移動光標(biāo);指令6是功能設(shè)置命令,當(dāng)DL為高電平時表示4位總線,為低電平時表示8位總線,當(dāng)N為低電平時表示單行顯示,為高電平時表示雙行顯示,當(dāng)F為低電平時表示5×7的點陣字符,為高電平時表示5×10的點陣字符;指令7是字符發(fā)生器RAM地址設(shè)置;指令

34、8是DDRAM地址設(shè)置;指令9是讀忙信號和光標(biāo)地址,當(dāng)BF為高電平時表示忙,此時不能接受命令或者數(shù)據(jù),為低電平時則表示不忙;指令10是寫數(shù)據(jù);指令11是讀數(shù)據(jù)。</p><p>  LCD1602顯示器的11條指令在上面已經(jīng)做了一定的講述,與HD44780相兼容的芯片的時序表如表3.2所示</p><p>  表3.2 基本操作時序表</p><p>  在本設(shè)計中

35、用到了液晶顯示器的雙行顯示,這個數(shù)字電子鐘能夠顯示年、月、日,還能顯示時、分、秒。在液晶顯示時,我采用的是先將光標(biāo)定位到要送數(shù)據(jù)的地址,然后將數(shù)據(jù)送到要顯示的地方。</p><p>  在整個顯示過程中,有開機時要顯示歡迎語,結(jié)束時要顯示結(jié)束語,我所采用的都是應(yīng)用查表的方法,然后將光標(biāo)逐次右移,將數(shù)據(jù)依次送到液晶顯示口線上,然后逐次顯示。當(dāng)關(guān)機時,我調(diào)用了一個清屏的指令。</p><p>

36、  3.2.4 鬧鐘模塊</p><p>  該數(shù)字電子鐘具有調(diào)節(jié)鬧鈴的功能,在按鍵時設(shè)置了鬧鐘按鍵,當(dāng)液晶顯示器上顯示ON時,則可以進行鬧鐘的設(shè)置,如果液晶顯示器上顯示的是OFF,則表示不能進行鬧鐘的調(diào)節(jié)。</p><p>  在調(diào)好鬧鐘之后,當(dāng)?shù)搅硕〞r的時間之后,蜂鳴器會鳴叫,名叫一分鐘之后后停止鳴叫。在程序中,我運用到的是采用比較的方法,如果鬧鐘的標(biāo)志顯示ON,則進入鬧鐘的比較程序

37、,如果顯示的是OFF,則不需要進入鬧鐘的比較程序。</p><p>  3.3 程序流程圖</p><p>  3.3.1 整體設(shè)計的流程圖</p><p>  在此次設(shè)計的過程中,我是采用模塊的設(shè)計方法,一個一個實現(xiàn)功能,可以說如果完成了一個任務(wù)的程序框圖,就是完成了整個設(shè)計任務(wù)的百分之三十左右,在本次課程設(shè)計的過程中,我都是采用這種思想進行數(shù)字電子鐘的設(shè)計的

38、。因此,在設(shè)計的過程,讓我能夠很輕易的就抓住了主要的設(shè)計核心。</p><p>  整體的設(shè)計框圖如圖3.1所示</p><p>  圖3.1 整體設(shè)計流程圖</p><p>  3.3.2 鍵盤設(shè)計的流程圖</p><p>  在本次程序設(shè)計中對于鍵盤的設(shè)計,我專門設(shè)計了一個鍵盤掃描子程序,它所完成的功能是,首先對鍵盤進行處理,給每一個鍵

39、都設(shè)置了一個鍵碼,那么只要判斷鍵盤的鍵碼就可以知道是否有鍵按下,如若有鍵按下也可以判斷是哪一個鍵按下了。</p><p>  這次設(shè)計中,鍵盤掃描子程序的代號為KEY,其鍵盤掃描程序設(shè)計的流程框圖如圖3.3所示。</p><p>  對于鍵盤的功能設(shè)計在上面我已經(jīng)做了簡單的介紹,其按鍵的操作的程序設(shè)計流程圖如圖3.2所示。</p><p>  圖3.2 按鍵程序設(shè)計

40、流程圖</p><p>  圖3.3 鍵掃程序設(shè)計流程圖</p><p>  3.3.3 顯示設(shè)計的流程圖</p><p>  因為所用到的是液晶顯示器,不同于數(shù)碼管顯示,數(shù)碼管顯示是采用將數(shù)碼管的位控端接在單片機上,然后采用軟件的方法就可以將要顯示的數(shù)據(jù)送入數(shù)碼管的數(shù)據(jù)顯示口即可以顯示。而此數(shù)字電子鐘設(shè)計中采用的是LCD1602的顯示,LCD1602本身就有11

41、條控制指令,因此相對于數(shù)碼管顯示難度就大一點,在設(shè)計中顯示程序設(shè)計的流程框圖如圖3.4所示。</p><p>  圖3.4 LCD1602顯示程序設(shè)計流程圖</p><p>  4 仿真測試及結(jié)果</p><p>  4.1 設(shè)計結(jié)論及使用說明</p><p>  4.1.1 設(shè)計結(jié)論</p><p>  通過本

42、次對數(shù)字電子鐘的設(shè)計,了解了利用單片機處理之后,進行電子鐘的顯示。本次設(shè)計比較成功,在按鍵操作中能夠按照預(yù)先給定的功能進行操縱,按了復(fù)位鍵之后,液晶顯示屏上也能顯示“P.",調(diào)節(jié)好鬧鐘之后,到了定時的時間,蜂鳴器能夠鳴叫,鳴叫一分鐘之后,蜂鳴器停止鳴叫。</p><p>  4.1.2 使用說明</p><p>  本數(shù)字電子鐘設(shè)計了四個鍵,按鍵的名字分別叫做SET鍵、ADD鍵

43、、DEC鍵、ON/OFF鍵。具體的操作為:當(dāng)給電子鐘上電之后,液晶顯示屏?xí)@示“P.”,此時按下按鍵ON/OFF鍵,即可以打開數(shù)字電子鐘,此時液晶顯示屏上會出現(xiàn)“WELCOME TO HERE”的英文字符,兩秒之后就會進入電子鐘的正常運行狀態(tài)。</p><p>  該數(shù)字電子鐘的起始狀態(tài)為2009-01-01,AM 12:00:00,此時只要按下SET鍵即可以進行數(shù)字電子鐘的操作界面,首先是調(diào)節(jié)年,按ADD鍵就可

44、以增加一年,按DEC鍵就可以減少一年;再按SET鍵就可以進入月的調(diào)節(jié),按ADD鍵就可以增加一月,按DEC鍵就可以進行減的操作;再按SET鍵就可以進入日的調(diào)節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入時的調(diào)節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作,同時可以觀察上下午的變化;再按SET鍵就可以進入分的調(diào)節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入秒的調(diào)節(jié),AD

45、D鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入鬧鐘的調(diào)節(jié),ADD鍵可以進行關(guān)的操作,DEC鍵可以進行開的操作;如果鬧鐘的顯示標(biāo)志位OFF,則再按下調(diào)節(jié)鍵就可以推出調(diào)節(jié),如果鬧鐘的顯示標(biāo)志位ON,則再按下調(diào)節(jié)鍵就可以進入鬧鐘的調(diào)節(jié),首先調(diào)節(jié)的是鬧鐘的時,ADD鍵可以加,DEC則是減,在調(diào)節(jié)的同時可以觀察顯示器的上下午變化,即可以對上午下午進行定時,再按SET鍵就可以進入鬧鐘的分的操作,</p><

46、;p>  在數(shù)字電子鐘正常工作的狀態(tài)下,如果按下ON/OFF鍵就可以對數(shù)字電子鐘進行關(guān)機的操作,此時會顯示“BYE BYE”的英文字符。接著就會清屏,只要再按下ON/OFF鍵就可以打開數(shù)字電子鐘,使它正常工作。</p><p><b>  4.2 仿真結(jié)果</b></p><p>  4.2.1 仿真軟件的介紹</p><p>  

47、在仿真時用到了兩個軟件,第一個是Keil,第二個是Protues,本次仿真是將兩個軟件結(jié)合起來進行的。</p><p>  Proteus 軟件所提供了30多個元件庫,數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對于一個仿真軟件或?qū)嶒炇遥?測試的儀器儀表的數(shù)量、 類型和質(zhì)量, 是衡量實驗室是否合格的一個關(guān)鍵因素。在Proteus軟件包中,不存在同類儀表使用數(shù)量的問題。Proteus還提供了一個圖形顯示功能,可

48、以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系

49、統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能</p><p>  單片機電路的模擬調(diào)試選中單片機AT89S52,左鍵點擊AT89S52,在出現(xiàn)的對話框里點擊Program File按鈕,找到剛

50、才編譯得到的HEX文件,然后點擊“OK”按鈕就可以模擬了。點擊模擬調(diào)試按鈕的運行按鈕 ,進人調(diào)試狀態(tài)。我們還可以單步模擬調(diào)試,點擊按鈕,進人單步調(diào)試狀態(tài), 在單步模擬調(diào)試狀態(tài)下,點擊菜單欄的“Debug”,點擊Simulation Log會出現(xiàn)和模擬調(diào)試有關(guān)的信息。</p><p>  總之,利用此兩軟件的有效結(jié)合使得數(shù)字電子鐘能夠在模擬的環(huán)境下進行。因此,可以讓我在制作實物時,先進行軟件的調(diào)試和模擬,使得制作實

51、物時能夠更加有效的減少錯誤。</p><p>  4.2.2 仿真的結(jié)果</p><p>  用Protues軟件進行仿真,其仿真的電路圖如圖4.1所</p><p>  圖4.1 Protues仿真電路圖</p><p>  數(shù)字電子鐘正常工作時,仿真的液晶顯示器顯示如圖4.2所示,當(dāng)按下設(shè)置鍵時,數(shù)字電子鐘進入設(shè)置界面,此時液晶顯示器的

52、顯示如圖4.3所示。</p><p>  圖4.2 數(shù)字電子鐘正常工作時的顯示圖</p><p>  圖4.3 數(shù)字電子鐘進入設(shè)置時的顯示圖</p><p>  當(dāng)進入鬧鐘的設(shè)置時,其液晶顯示器顯示的結(jié)果如圖4.4所示</p><p>  圖4.4 鬧鐘調(diào)試時的顯示圖</p><p><b>  4.3 誤

53、差分析</b></p><p>  本數(shù)字電子鐘在跟標(biāo)準(zhǔn)的電子鐘比較時,時間稍微慢一點,產(chǎn)生此種情況的原因有:其一是在執(zhí)行程序指令時,由于需要耗費一定的時間,因此會比標(biāo)準(zhǔn)的電子鐘要慢一點。其二是晶振不夠標(biāo)準(zhǔn),使得定時器定時時不夠精準(zhǔn)。</p><p>  在按鍵調(diào)節(jié)數(shù)字電子鐘的設(shè)置時,第一次調(diào)節(jié)好之后,如果第二次在進行調(diào)節(jié),前一次調(diào)節(jié)是3月的話,調(diào)節(jié)的時間是30天,而第二次繼續(xù)

54、去調(diào)節(jié),把月份調(diào)成2月的話就會出現(xiàn)有30天的情況,這是不可能的情況,這主要是軟件設(shè)置里面只進行依次行的校正,沒有進行第二次的校正,因此會出現(xiàn)上述的問題。</p><p><b>  4.4 設(shè)計體會</b></p><p>  在本次數(shù)字電子鐘的設(shè)計過程中,有許多感觸,首先對匯編這門語言,我覺得這是一門邏輯性很強的語言,但同時也是一門比較容易掌握的語言。這門語言和我

55、們的實際聯(lián)系很機密,比如說里面很多傳送指令,都是根據(jù)實際存在的硬件而存在的,還有你面的與或指令、乘法、除法指令,其實都是和我們從小就學(xué)的數(shù)學(xué)息息相關(guān)的。就匯編語言而言,對于同一種效果可以采用不同的匯編指令完成,也可以采用相同的匯編指令完成,但因為你所選用的方案不同使得所產(chǎn)生的效果也就有所不同,因此這也鍛煉了我們在思考同一個問題,如果能夠采用發(fā)散思維的話,往往會得到意想不到的結(jié)果。</p><p>  談完基本的工

56、具之后,我要談的就是這次的主題,電子鐘可以說是我們非常熟悉的東西,但是沒有學(xué)單片機這門功課時,誰也不會想它是怎么工作的,又是怎么做成的。在我自己動手完成了這次課程設(shè)計之后,我才發(fā)現(xiàn)其實在我們身邊有好多東西是要我們自己去研究的,如果只在原地踏步的話,就會落后,隨著社會的不斷進步,我們身邊的東西越來越高科技話,那么要我們學(xué)習(xí)的東西也就越來越多。</p><p>  我覺得在這次設(shè)計過程中,我學(xué)到了很多,不僅僅是對匯編

57、語言有了自己的想法,更重要的是培養(yǎng)了一種用于面對問題,解決問題的精神,在我們以后走向社會的道路上還不知道會遇到多少問題,如果有了這種精神的話,我相信無論多么困難的問題,都會迎刃而解的。</p><p><b>  4.5 教學(xué)建議</b></p><p>  對于單片機這門功課,首先我覺得王老師采用“培養(yǎng)動手”這種的觀念是非常好,單片機技術(shù)本身就是一門技術(shù)性的學(xué)科,

58、如果只是學(xué)些理論知識,而不去進行一些實質(zhì)性的操作的話無疑是紙上談兵,最終還是學(xué)不到什么東西。因此我覺得要使大家能夠喜歡動手,首先還是要使大家對單片機產(chǎn)生一點興趣,所以在開始的學(xué)習(xí)時,不能讓大家學(xué)起來就好像有一座大山擺在前面,讓人有一種不敢往前越的感覺。</p><p>  學(xué)習(xí)了這么多年,我深深的體會到了一點就是如果老師能夠采用換位的思想進行教學(xué)的話,會使得教學(xué)更加容易。比如有些老師在教學(xué)時采用囫圇吞棗式的講述,

59、該重點講述的不能講清楚,而就那些抽象的東西講來講去,這是很多學(xué)生所不能接受的。當(dāng)然要把一個問題完完全全的講述清楚是要花費很多時間的,那么短短的一堂課又能講幾個問題呢?我覺得對于一個經(jīng)典的問題如果能夠讓大家完完全全弄懂是很有收獲的。也就是說并不是說每一個問題都要給大家講清楚的,只要把那些經(jīng)典的問題講清楚,然后進行一下拓展的話,這將是一筆巨大的收獲。</p><p>  講了這么多還是要回到單片機技術(shù)中的“技術(shù)”兩個

60、字上來,我覺得現(xiàn)在的大學(xué)生學(xué)習(xí)東西之后,不知道學(xué)了這個東西應(yīng)該去干什么。就這一門課,首先它是一門技術(shù),因此是應(yīng)用到我們的實際生活中去的,而對于我們學(xué)習(xí)自動化的學(xué)生,又具體到了哪一方面呢?如果能夠讓大家明白學(xué)習(xí)這門技術(shù)之后的走向,可以使得大家學(xué)習(xí)得更有目的性。</p><p>  在這里我覺得王老師的教學(xué)還是比較有目的性的,而且給我們布置任務(wù)的要求也寫得很清楚,這就使得我們能夠更好更準(zhǔn)確的完成所布置的任務(wù)。<

61、/p><p>  總之,我覺得更重要是理論與實際的結(jié)合,更何況是一門技術(shù)性的學(xué)科,就更加離不開實踐。以認(rèn)知應(yīng)用開發(fā)過程為先導(dǎo),先動手實踐、再理論學(xué)習(xí)、以一個完整的單片機應(yīng)用電路來打開單片機的學(xué)習(xí)之門。 號召同學(xué)們購買實驗板,強化單片機訓(xùn)練,在我們的日常作業(yè)多做一些動手的作業(yè)時很有好處的,像對Protel、Keil、Protues軟件的操作時非常必要的。不過我覺得在這些實際作業(yè)中也不要限制大家的思維,這樣更有利用大家對

62、軟件的操作空間,也就更加能夠提高大家對軟件的掌握能力。對于我們這一代人創(chuàng)新的能力可以說幾乎是看不到的,這主要是我們從小就被固定化,無論什么東西都是要按照一個固定的模塊來進行,雖然說這樣可以是大家少走彎路,但是這就使得思維固定化了。</p><p>  本人語言能力有限,就只能講這么多了,希望王老師以后的工作順順利利。</p><p><b>  參考文獻</b><

63、;/p><p> ?。?]唐俊瞿,許雷,張群瞻.單片機原理與應(yīng)用[M].北京:冶金工業(yè)出版社,2003</p><p>  Tang Junju, permits the thunder, Zhang Qunzhan. The monolithic integrated circuit principle </p><p>  withapplies the [M].

64、Beijing: Metallurgical industry publishing house, 2003 </p><p> ?。?]李廣弟,朱月秀,冷祖祁.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007</p><p>  Li Guangdi, Zhu Yue Xiu, Leng Zuqi. Monolithic integrated circuit foundation

65、 [M]. </p><p>  Beijing: Beijing University of Aeronautics and Astronautics Publishing house, 2007 </p><p> ?。?]李光飛.單片機課程設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.9</p><p>  Li Guangfei. The

66、monolithic integrated circuit curriculum designs the example to instruct the [M]. </p><p>  Beijing: Beijing University of Aeronautics and Astronautics Publishing house, 2004.9 </p><p>  [4]張洪潤,

67、蘭清華.單片機應(yīng)用技術(shù)教程[M].北京:清華大學(xué)出版社,1997.11</p><p>  Zhang Hong Run, blue Qinghua. Monolithic integrated circuit application technology course [M]. </p><p>  Beijing: Qinghua University publishing house

68、, 1997.11 </p><p> ?。?]李華.MCS—51系列單片機實用接口技術(shù)[M]..北京:北京航空航天大學(xué)出版社,1993</p><p>  Li Hua .MCS-51 series monolithic integrated circuit practical connection technology [M]. Beijing: Beijing Univers

69、ity of Aeronautics and Astronautics Publishing house, 1993 </p><p> ?。?]李朝青.單片機原理及接口技術(shù)[M]..北京:北京航空航天大學(xué)出版社,1998</p><p>  Li ChaoQing. Monolithic integrated circuit principle and connection techno

70、logy [M]. </p><p>  Beijing:Beijing University of Aeronautics and Astronautics Publishing house, 1998 </p><p> ?。?]趙秀珍,單永磊.單片微型計算機原理及其應(yīng)用[M]..北京:中國水利水電出版社,2001.8</p><p>  Zhao Xiuzhe

71、n, Shan Yonglei. The monolithic microcomputer principle and applies [M]. </p><p>  Beijing: Chinese Water conservation Water and electricity Publishing house, 2001.8 </p><p><b>  致 謝<

72、/b></p><p>  本課題在選題及進行過程中得到王韌老師的悉心指導(dǎo)。論文行文過程中,王老師多次幫助我分析思路,開拓視角。王老師嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度,踏實堅韌的工作精神,將使我終生受益。再多華麗的言語也顯蒼白,在此,謹(jǐn)向王老師致以誠摯的謝意和崇高的敬意。在這次課程設(shè)計的撰寫過程中,我得到了許多人的幫助,首先我要感謝我的老師在課程設(shè)計上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報告的主要原因

73、,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識,而且也開闊了視野,提高了自己的設(shè)計能力。 </p><p>  其次,我要感謝幫助過我的同學(xué),他們也為我解決了不少我不太明白的設(shè)計商的難題。同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。 </p><p>  最后再一次感謝所有在設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué) </p>

74、;<p>  在這次課程設(shè)計作業(yè)的過程中由于在設(shè)計方面我們沒有經(jīng)驗,理論基礎(chǔ)知識掌握得不牢固,在設(shè)計中難免會出現(xiàn)這樣那樣的問題,但這也培養(yǎng)了我綜合應(yīng)用設(shè)計課程及其他課程的理論知識和理論聯(lián)系實際,應(yīng)用生產(chǎn)實際知識解決工程實際問題的能力;在設(shè)計的過程中還培養(yǎng)出了我們的團隊精神,同學(xué)們共同協(xié)作,解決了許多個人無法解決的問題;在今后的學(xué)習(xí)過程中我們會更加努力和團結(jié)。</p><p>  但是由于水平有限,難

75、免會有錯誤,還望老師批評指正</p><p><b>  附 錄</b></p><p><b>  程序清單:</b></p><p>  ********************************************************************** </p>&

76、lt;p>  **** ;在本次課程設(shè)計的程序中,我用到的是液晶顯示器,其使能 ***</p><p>  **** ;端接單片機的P3.0,P3.1,P3.2引腳,用到了年月日時分秒 ***</p><p>  **** ;的暫存單元分別為30H到35H,其中還有一些必要的標(biāo)志位存 ***</p><p>  ***

77、* ;在36H到4AH單元。按鍵接單片機的P1.0到P1.3,液晶顯 ***</p><p>  **** ;示器數(shù)據(jù)口接單片機的P0.0到P0.7,本數(shù)字電子鐘具有12進 ***</p><p>  **** ;制調(diào)整,年月日時分秒及鬧鐘的調(diào)整的功能。 ***</p><p>  *************

78、*********************************************************</p><p>  RS EQU P3.0 //定義基本的數(shù)據(jù)存儲單元</p><p>  RW EQU P3.1 //和液晶顯示器基本的引腳定義</p><p>  E EQU P3.2</p>&

79、lt;p>  YEAR EQU 30H</p><p>  MONTH EQU 31H</p><p>  DAY EQU 32H</p><p>  HOUR EQU 33H</p><p>  MINUTE EQU 34H</p><p>  SECOND EQU 35H</p&

80、gt;<p>  TDAO EQU 36H</p><p>  TIME EQU 37H</p><p>  NAOZHONG EQU 38H</p><p>  NAOHOUR EQU 39H</p><p>  NAOMINUTE EQU 40H</p><p>  NAOTIME

81、 EQU 4AH</p><p>  ORG 0000H</p><p>  SJMP START</p><p>  START: LCALL DIR1 //開機時顯示P.的子程序</p><p>  START1: LCALL DIR2 </p><p>

82、  LCALL KEY //調(diào)用鍵掃子程序</p><p>  JB 20H.3, MAIN1 //判斷開機鍵是否按下?</p><p>  LCALL DELAY2 //開機鍵內(nèi)按下繼續(xù)顯示P. </p><p>  AJMP START1</

83、p><p>  QINGPING: LCALL DIR1 //關(guān)機鍵按下調(diào)用清屏</p><p>  MOV R0, #10</p><p>  GOODBYE: LCALL DIR4 //調(diào)用關(guān)機語"BEY BEY"</p><p>  LCALL DELA

84、Y2</p><p>  DJNZ R0, GOODBYE</p><p>  MOV P0, #01H </p><p>  LCALL ENABLE </p><p>  SAO: LCALL KEY //調(diào)用鍵掃子程序</p><p>  

85、JB 20H.3, OPEN //判斷開機鍵是否按下? </p><p>  LCALL DELAY2 //無鍵按下繼續(xù)執(zhí)行鍵掃</p><p>  AJMP SAO </p><p>  OPEN: JMP MAIN1 /

86、/開機鍵按下執(zhí)行開機子程序</p><p>  MAIN1: MOV SP , #60H</p><p>  MOV YEAR, #09 //年月日時分秒初始化</p><p>  MOV MONTH, #01</p><p>  MOV DAY, #01</p&g

87、t;<p>  MOV HOUR, #12</p><p>  MOV TIME, #41H</p><p>  MOV MINUTE, #00</p><p>  MOV SECOND, #00</p><p>  MOV TDAO, #00</p&

88、gt;<p>  MOV IE , #00H //中斷及定時器初始化</p><p>  MOV TMOD, #01H</p><p>  MOV NAOZHONG, #00 //鬧鐘標(biāo)志等初始化</p><p>  MOV NAOHOUR, #12</p><p>

89、;  MOV NAOMINUTE,#00</p><p>  MOV NAOTIME, #41H</p><p>  LCALL DIR1</p><p>  WELCOME: MOV R0, #10</p><p>  WELCOME1: LCALL DIR3 //調(diào)用開機歡迎

90、語</p><p>  LCALL DELAY2 //“WELCOME TO HERE"</p><p>  DJNZ R0, WELCOME1 </p><p>  MOV P0, #01H </p><p>  LCALL ENABLE</p>&l

91、t;p>  JMP MAIN2</p><p>  **************************************************** </p><p>  **** ;按鍵控制及其功能操作子程序****</p><p>  *******************************************

92、********* </p><p>  KEYAA: MOV P0, #0FH //定義光標(biāo)開啟及閃爍</p><p>  LCALL ENABLE</p><p>  MOV P0, #0CAH //定義光標(biāo)位置</p><p>  LCALL ENABLE

93、 </p><p>  LCALL KEY //調(diào)用鍵掃子程序</p><p>  JB 20H.0, TNEXT7 //判斷哪個鍵按下</p><p>  JB 20H.1, KEYBA</p><p>  JB 20H.2, KEYCA</p>&l

94、t;p>  LCALL DELAY2</p><p>  LJMP KEYAA //無鍵按下繼續(xù)執(zhí)行鍵掃</p><p>  TNEXT7: LJMP KEYAI</p><p>  KEYBA: INC SECOND //秒增鍵按下執(zhí)行增一</p><p>  MOV A,

95、 SECOND</p><p>  CJNE A,#60, ZANXIAN1 //判斷是否到60秒?</p><p>  MOV SECOND, #0 //秒清零</p><p>  JMP ZANXIAN1 //調(diào)用顯示程序</p><p>  ZANXIAN1: M

96、OV P0, #0CH //關(guān)光標(biāo)及其閃爍</p><p>  LCALL ENABLE</p><p>  LCALL XIANSHI</p><p>  JMP KEYAA //跳至秒鍵掃子程序位置</p><p>  KEYCA: MOV A, SECOND

97、 //秒減一子程序</p><p>  CJNE A,#0, KEJIAN1 //是否到了零秒?</p><p>  MOV SECOND, #59 //秒初始化</p><p>  JMP ZANXIAN1</p><p>  KEJIAN1: DEC SECOND //沒

98、到了零秒</p><p>  MOV A, SECOND</p><p>  CJNE A,#0, ZANXIAN1 //到了零秒</p><p>  MOV SECOND, #59 //秒初始化</p><p>  JMP ZANXIAN1</p><p&g

99、t;  KEYAC: MOV P0, #0FH //定義光標(biāo)開啟及閃爍</p><p>  LCALL ENABLE</p><p>  MOV P0, #0C7H //光標(biāo)定位到分的位置</p><p>  LCALL ENABLE</p><p>  LCALL KEY

100、 //調(diào)用鍵掃子程序</p><p>  JB 20H.0, TNEXT6 //判斷哪個鍵按下</p><p>  JB 20H.1, KEYBB</p><p>  JB 20H.2, KEYCB</p><p>  LCALL DELAY2</p><

101、;p>  LJMP KEYAC //無鍵按下繼續(xù)執(zhí)行鍵掃</p><p>  TNEXT6: JMP KEYAA //分加一子程序</p><p>  KEYBB: INC MINUTE</p><p>  MOV A, MINUTE</p><p>  CJNE A

102、,#60, ZANXIAN2 //到了60分</p><p>  MOV MINUTE, #0 //分初始化</p><p>  JMP ZANXIAN2</p><p>  ZANXIAN2: MOV P0, #0CH //關(guān)光標(biāo)及其閃爍</p><p>  LCALL EN

103、ABLE </p><p>  LCALL XIANSHI //調(diào)用顯示子程序</p><p>  JMP KEYAC</p><p>  KEYCB: MOV A, MINUTE</p><p>  CJNE A,#0, KEJIAN2 //判斷分是否到了零<

104、/p><p>  MOV MINUTE, #59</p><p>  JMP ZANXIAN2</p><p>  KEJIAN2: DEC MINUTE //分減一子程序</p><p>  MOV A, MINUTE</p><p>  CJNE

105、A,#0, ZANXIAN2 //判斷分是否到了零</p><p>  MOV MINUTE, #59</p><p>  JMP ZANXIAN2</p><p>  KEYAD: MOV P0, #0FH //開光標(biāo)顯示及閃爍</p><p>  LCALL ENABLE<

106、/p><p>  MOV P0, #0C4H //光標(biāo)定位到時的位置</p><p>  LCALL ENABLE</p><p>  LCALL KEY //調(diào)用鍵掃子程序</p><p>  JB 20H.0, TNEXT5 //判斷是哪個鍵按下</p>

107、<p>  JB 20H.1, KEYBC</p><p>  JB 20H.2, KEYCC</p><p>  LCALL DELAY2</p><p>  LJMP KEYAD;</p><p>  TNEXT5: JMP KEYAC</p><p> 

108、 KEYBC: INC HOUR //時增一子程序</p><p>  MOV A, HOUR</p><p>  CJNE A,#13, ZANXIAN3 //判斷是否到了13小時</p><p>  MOV HOUR, #01 //時初始化</p><p>

109、;  MOV A, TIME</p><p>  CJNE A,#41H, PM //上下午賦值</p><p>  MOV TIME, #50H</p><p>  JMP ZANXIAN3</p><p>  PM: MOV TIME, #41H<

110、/p><p>  JMP ZANXIAN3 </p><p>  ZANXIAN3: MOV P0, #0CH //關(guān)光標(biāo)顯示及閃爍</p><p>  LCALL ENABLE</p><p>  LCALL XIANSHI</p><p>  JMP KEYAD&

111、lt;/p><p>  KEYCC: DEC HOUR //時減一子程序</p><p>  MOV A, HOUR</p><p>  CJNE A,#0, ZANXIAN3 //比較是否到了零時</p><p>  MOV HOUR, #12 //時初始化&

溫馨提示

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

評論

0/150

提交評論