版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本課程設計介紹了多功能數字鐘的系統(tǒng)設計。系統(tǒng)具有時間設置及顯示、鬧鐘等功能。系統(tǒng)以 AT89S52為核心,主要進行基于AT89S52低功耗MCU的字符型數字鐘及其系統(tǒng)的研究。系統(tǒng)帶有液晶顯示器,配合按鍵提供友好的用戶界面,操作簡單,該數字鐘能長期、連續(xù)、可靠、穩(wěn)定的工作。系統(tǒng)軟件設計包括單片機計算機兩部分的編程。計算機軟件編
2、程主要實現參數設置、串行口數據接收、指令發(fā)送以及數據的顯示和存儲。單片機軟件編程主要實現鍵盤、液晶顯示等各模塊的功能,采用匯編語言編程。</p><p> 關鍵詞 數字鐘;單片機;液晶顯示</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 設計任務及要求………………………………………………………………………3 </p>&
6、lt;p> 1.1 設計任務………………………………………………………………………3 </p><p> 1.2 功能要求………………………………………………………………………3</p><p> 1.3 總體方案及工作原理…………………………………………………………3</p><p> 2 硬件系統(tǒng)的設計…………………………………………………
7、……………………4 </p><p> 2.1 硬件系統(tǒng)的模塊………………………………………………………………4</p><p> 2.2 系統(tǒng)的原理圖及PCB…………………………………………………………7</p><p> 2.3 數字電子鐘的原件清單………………………………………………………7</p><p> 3 軟件
8、系統(tǒng)的設計………………………………………………………………………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 仿真測試及結果……………………………………………………………………25</p><p> 4.1 設計結論及使用說明…………………………………………………………25</p><p> 4.2 仿真結果……………………………
10、…………………………………………26</p><p> 4.3 誤差分析………………………………………………………………………28</p><p> 4.4 設計體會………………………………………………………………………28</p><p> 4.5 教學建議………………………………………………………………………29</p><p&g
11、t; 參考文獻…………………………………………………………………………………30</p><p> 致謝………………………………………………………………………………………31</p><p> 附錄………………………………………………………………………………………32</p><p> 1 設計任務及要求</p><p> 1.1
12、 設計任務 </p><p> 我們的生活離不開時間,可以說時鐘就是我們生存的一部分。此次設計數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘。本次課程設計通過理論設計和實物制作解決相應的實際問題,鞏固和運用在《單片機技術》中所學的理論知識和實驗技能,掌握單片機應用系統(tǒng)的一般設計方法,提高設計能力和實踐動手能力,為以后從事電子電路設計、研發(fā)電子產品打下良好的基礎。</p><p>&
13、lt;b> 1.2 功能要求</b></p><p> 設計一個具有特定功能的電子鐘,該電子鐘上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入時鐘準備狀態(tài);小時的循環(huán)按12進制進行;可以顯示年月日,且能區(qū)分閏年;第一次按電子鐘的開關鍵,電子鐘從上午12時00分00秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘系統(tǒng)調整鍵,則電子鐘進入時鐘調整狀態(tài),此時可以進行時間的加減調整;繼續(xù)按系統(tǒng)調整鍵
14、可以進行相關項目的調整,等調整完畢之后繼續(xù)按調整鍵即可跳出調整狀態(tài)再次進入時鐘運行狀態(tài)。</p><p> 1.3 總體方案及工作原理</p><p> 本設計中采用AT89S52芯片及LCD1602液晶顯示器,一些獨立式按鍵構成一個簡單的數字電子鐘。設計中是采用單片機的內部定時器進行定時,沒有用到專門的時鐘芯片,因此具有一定的難度,總設計框圖如圖1.1所示。</p>
15、<p> 整個電子鐘的工作原理是:在正常的供電狀態(tài)下,首先利用單片機定時,到了相應的時間由單片機將所需要顯示的數據送到液晶顯示器的輸入口,當有鍵按下時則進入相應的按鍵調整狀態(tài),進行按鍵調整。</p><p> 圖1.1 數字電子鐘總設計框圖</p><p><b> 2 硬件系統(tǒng)的設計</b></p><p> 2.1
16、硬件系統(tǒng)的模塊 </p><p> 本課程設計中硬件電路主要由單片機最小系統(tǒng),外部擴展鍵盤,工作電源,液晶顯示及蜂鳴器構成,下面就具體介紹其各部分的功能。</p><p> 2.1.1 單片機最小系統(tǒng)</p><p><b> 時鐘電路</b></p><p> 單片機的時鐘電路由振蕩電路和分頻電路組成。其中振
17、蕩電路由反相器以及并聯外接的石英晶體和電容構成,用于產生振蕩脈沖。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時鐘信號。時鐘電路是單片機系統(tǒng)的心臟,它控制著單片機的工作節(jié)奏。本設計采用內部時鐘方式,12MHz的石英晶體振蕩器。</p><p><b> 復位電路</b></p><p> 復位電路用于產生復位信號,通過RST引腳送入單片機,進行復位。復位電路的好
18、壞直接影響單片機系統(tǒng)工作的可靠性,因此,要重視復位電路的設計和研究。只要RST端保持10ms以上的高電平,就能使單片機有效地復位,本設計采用上電復位和手動復位兩種方式。</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> 此鍵盤是為設置時間而設計的人機交互裝置。雖然矩陣鍵盤操作方便,但其硬件電路和軟件都較復雜,考慮各方面因素,最終決定采用獨立鍵盤,這樣的話只需四個按鍵即可。其中,按下SET鍵進入時間設置方式,此時默認
20、設置秒,按ADD鍵進行加1設置,按DEC鍵進行減1設置,再次按下SET鍵進入分設置,以此類推,直至年設置完成后再次按下SET鍵,進入正常模式。ON\OFF為開關鍵,可進行電子鐘的開關操作。</p><p> 2.1.3 LCD顯示模塊</p><p> LCD1602字符型通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳)。在本
21、設計里面所用到的是16腳的LCD,其引腳的定義及功能如表2.1所示。</p><p> 表2.1 字符型LCD1602的引腳定義 </p><p> 其中,單片機的P0口與LCD1602的8個數據口相連,P3.0,P3.1,P3.2分別接LCD1602的RS,R/W,E端相連,由于單片機芯片的P0口一般沒有加上拉電阻,因此當液晶顯示器的數據口線接在單片機89S52芯片的P0口時需要在P
22、0口加上拉,以確保P0口剛開始是高電平。如果要使LCD1602有背光源,則需要將LCD1602的16引腳接地,將LCD1602的15引腳接VCC,此時液晶顯示器則在有背光源的情況下工作。</p><p> 本次設計中要是此LCD1602顯示兩行,第一行顯示年、月、日等信息,第二行顯示電子時鐘的時、分、秒等。</p><p> 2.1.4 蜂鳴器模塊</p><p&
23、gt; 在本設計中設計了鬧鐘因此需要一個發(fā)聲裝置,這里選用了一個蜂鳴器作為發(fā)聲裝置,在此發(fā)聲裝置中我采用了一個三極管做為蜂鳴器的驅動器,將揚聲器連至一個三極管,然后通過三極管的基極連至單片機的 P2.1。</p><p> 2.1.4 工作電源</p><p> 單片機正常工作時的,需要外部電源提供正常的工作電源這里我所采用的是利用USB接口技術,從電子計算機的USB接口提供給單片
24、機正常工作所需要的外部電源。</p><p> 2.2 系統(tǒng)的原理圖及PCB</p><p> 在本次課程設計中,所繪制的PCB板圖和原理圖時采用的是Protel軟件,Protel99SE是Protel公司近10年來致力于Windows平臺開發(fā)的最新結晶,能實現從電學概念設計到輸出物理生產數據,以及這之間的所有分析、驗證和設計數據管理。因而今天的Protel最新產品已不是單純的PCB
25、(印制電路板)設計工具,而是一個系統(tǒng)工具,覆蓋了以PCB為核心的整個物理設計。Protel 設計系統(tǒng)是一套建立在IBM兼容PC環(huán)境下的EDA電路集成設計系統(tǒng),由于其高度的集成性與擴展性,一經推出,立即為廣大用戶所接受,很快就成為世界PC平臺上最流行的電子設計自動化軟件。其數字電子鐘的原理圖及其PCB板圖見附錄 </p><p> 2.3 數字電子鐘的原件清單</p><p> 該數字
26、電子鐘用到的元器件清單見附錄 </p><p><b> 3 軟件系統(tǒng)的設計</b></p><p> 3.1 單片機的使用情況</p><p> 本設計用到了單片機的定時器的功能,此外用到了單片機的中斷功能,在數據的顯示時所采用的是查表的方法,因此需要將表格、數據存到單片機的程序存儲器中去。</p><p>
27、; 由于電子鐘需要可以進行調節(jié),因此,需要在單片機的P口上加上按鍵,本設計采用獨立式鍵盤,直接接在P1口上。用到的液晶顯示器接到了單片機的P0口線上,此外用到了一個蜂鳴器接到了單片機的P2.1口線上。</p><p> 3.2 軟件系統(tǒng)的模塊</p><p> 3.2.1 定時模塊</p><p> 在本設計中用到了幾個定時模塊,第一個定時是用于定時一秒
28、的,用到了單片機的定時器TR0,在定時的過程中采用的是查詢的方式,查詢定時時間是否到的。定時器所采用</p><p> 第二個定時是用于定時按鍵的抖動時間,因為當按鍵時都會出現電壓抖動,但對鍵盤工作有影響的是鍵閉合時的抖動,所以為了確保鍵掃描的正確性,每當掃描到有閉合鍵時,都要進行去抖動處理。本設計中采用的是軟件去抖動的方法,抖動的定時采用的軟件的延時進行定時的。</p><p> 第
29、三個定時的功能是在液晶顯示時的延時時間,即在液晶顯示時是采用查表的方法進行顯示的,因此需要用到一定的延時,使得我們能夠看的清楚所顯示的內容,在這里用到的延時也是采用軟件的延時。</p><p> 3.2.2 按鍵操作模塊</p><p> 在本次課程設計中,我用到了四個獨立式鍵盤進行按鍵的操作。因為本數字電子鐘的功能比較多,而只用到了四個鍵,因此在鍵盤的操作時采用的是層層遞進的方法,
30、一步一步往下操作的,設置了鍵的名稱為SET鍵、ADD鍵、DEC鍵、ON/OFF鍵,在軟件設計中是在SET鍵按下了之后才會有ADD鍵、DEC鍵的操作,鍵與鍵之間的功能采用層層套用使得程序看起來更加清晰明了。</p><p> 在按鍵的程序掃描中是采用查詢的方法對按鍵進行操作的,當查詢到按鍵有動作時,則執(zhí)行相應的操作。獨立式鍵盤的程序設計一般把鍵盤掃描程序設計成子程序,以便其它各程序調用。本設計中的鍵盤掃描子程序的
31、名稱為KEY,則鍵盤掃描子程序KEY應具有以下功能:判定有無按鍵動作;去抖動;確認是否真正有閉合鍵;計算并保存閉合鍵鍵碼;判定閉合鍵是否釋放;恢復閉合鍵鍵碼。</p><p> 3.2.3 液晶顯示模塊</p><p> LCD1602內部控制器共有11條控制指令,如表3.1所示</p><p> 表3.1 LCD1602控制命令表</p>&
32、lt;p> 1602的液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的,其中表格中的“1”為高電平,“0”為低電平。指令1是清顯示,指令碼01H,光標復位到地址00H位置;指令2是光標復位,光標返回到地址00H;指令3是光標和顯示模塊設置I/D,光標移動方向,高電平右移,低電平左移,其中S表示所有文字是否左移或者右移,當S為高電平則表示有效,為低電平表示無效;指令4是顯示開關控制,當D為高電平時表示開顯示,低電平則表
33、示關顯示,當C為高電平時表示有光標,低電平是則無光標,當D為高電平時表示光標閃爍,為低電平時表示光標不閃爍;指令5是光標或顯示移位,當為高電平時表示移動顯示文字,低電平時表示移動光標;指令6是功能設置命令,當DL為高電平時表示4位總線,為低電平時表示8位總線,當N為低電平時表示單行顯示,為高電平時表示雙行顯示,當F為低電平時表示5×7的點陣字符,為高電平時表示5×10的點陣字符;指令7是字符發(fā)生器RAM地址設置;指令
34、8是DDRAM地址設置;指令9是讀忙信號和光標地址,當BF為高電平時表示忙,此時不能接受命令或者數據,為低電平時則表示不忙;指令10是寫數據;指令11是讀數據。</p><p> LCD1602顯示器的11條指令在上面已經做了一定的講述,與HD44780相兼容的芯片的時序表如表3.2所示</p><p> 表3.2 基本操作時序表</p><p> 在本設計中
35、用到了液晶顯示器的雙行顯示,這個數字電子鐘能夠顯示年、月、日,還能顯示時、分、秒。在液晶顯示時,我采用的是先將光標定位到要送數據的地址,然后將數據送到要顯示的地方。</p><p> 在整個顯示過程中,有開機時要顯示歡迎語,結束時要顯示結束語,我所采用的都是應用查表的方法,然后將光標逐次右移,將數據依次送到液晶顯示口線上,然后逐次顯示。當關機時,我調用了一個清屏的指令。</p><p>
36、 3.2.4 鬧鐘模塊</p><p> 該數字電子鐘具有調節(jié)鬧鈴的功能,在按鍵時設置了鬧鐘按鍵,當液晶顯示器上顯示ON時,則可以進行鬧鐘的設置,如果液晶顯示器上顯示的是OFF,則表示不能進行鬧鐘的調節(jié)。</p><p> 在調好鬧鐘之后,當到了定時的時間之后,蜂鳴器會鳴叫,名叫一分鐘之后后停止鳴叫。在程序中,我運用到的是采用比較的方法,如果鬧鐘的標志顯示ON,則進入鬧鐘的比較程序
37、,如果顯示的是OFF,則不需要進入鬧鐘的比較程序。</p><p> 3.3 程序流程圖</p><p> 3.3.1 整體設計的流程圖</p><p> 在此次設計的過程中,我是采用模塊的設計方法,一個一個實現功能,可以說如果完成了一個任務的程序框圖,就是完成了整個設計任務的百分之三十左右,在本次課程設計的過程中,我都是采用這種思想進行數字電子鐘的設計的
38、。因此,在設計的過程,讓我能夠很輕易的就抓住了主要的設計核心。</p><p> 整體的設計框圖如圖3.1所示</p><p> 圖3.1 整體設計流程圖</p><p> 3.3.2 鍵盤設計的流程圖</p><p> 在本次程序設計中對于鍵盤的設計,我專門設計了一個鍵盤掃描子程序,它所完成的功能是,首先對鍵盤進行處理,給每一個鍵
39、都設置了一個鍵碼,那么只要判斷鍵盤的鍵碼就可以知道是否有鍵按下,如若有鍵按下也可以判斷是哪一個鍵按下了。</p><p> 這次設計中,鍵盤掃描子程序的代號為KEY,其鍵盤掃描程序設計的流程框圖如圖3.3所示。</p><p> 對于鍵盤的功能設計在上面我已經做了簡單的介紹,其按鍵的操作的程序設計流程圖如圖3.2所示。</p><p> 圖3.2 按鍵程序設計
40、流程圖</p><p> 圖3.3 鍵掃程序設計流程圖</p><p> 3.3.3 顯示設計的流程圖</p><p> 因為所用到的是液晶顯示器,不同于數碼管顯示,數碼管顯示是采用將數碼管的位控端接在單片機上,然后采用軟件的方法就可以將要顯示的數據送入數碼管的數據顯示口即可以顯示。而此數字電子鐘設計中采用的是LCD1602的顯示,LCD1602本身就有11
41、條控制指令,因此相對于數碼管顯示難度就大一點,在設計中顯示程序設計的流程框圖如圖3.4所示。</p><p> 圖3.4 LCD1602顯示程序設計流程圖</p><p> 4 仿真測試及結果</p><p> 4.1 設計結論及使用說明</p><p> 4.1.1 設計結論</p><p> 通過本
42、次對數字電子鐘的設計,了解了利用單片機處理之后,進行電子鐘的顯示。本次設計比較成功,在按鍵操作中能夠按照預先給定的功能進行操縱,按了復位鍵之后,液晶顯示屏上也能顯示“P.",調節(jié)好鬧鐘之后,到了定時的時間,蜂鳴器能夠鳴叫,鳴叫一分鐘之后,蜂鳴器停止鳴叫。</p><p> 4.1.2 使用說明</p><p> 本數字電子鐘設計了四個鍵,按鍵的名字分別叫做SET鍵、ADD鍵
43、、DEC鍵、ON/OFF鍵。具體的操作為:當給電子鐘上電之后,液晶顯示屏會顯示“P.”,此時按下按鍵ON/OFF鍵,即可以打開數字電子鐘,此時液晶顯示屏上會出現“WELCOME TO HERE”的英文字符,兩秒之后就會進入電子鐘的正常運行狀態(tài)。</p><p> 該數字電子鐘的起始狀態(tài)為2009-01-01,AM 12:00:00,此時只要按下SET鍵即可以進行數字電子鐘的操作界面,首先是調節(jié)年,按ADD鍵就可
44、以增加一年,按DEC鍵就可以減少一年;再按SET鍵就可以進入月的調節(jié),按ADD鍵就可以增加一月,按DEC鍵就可以進行減的操作;再按SET鍵就可以進入日的調節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入時的調節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作,同時可以觀察上下午的變化;再按SET鍵就可以進入分的調節(jié),ADD鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入秒的調節(jié),AD
45、D鍵可以進行加的操作,DEC鍵可以進行減的操作;再按SET鍵就可以進入鬧鐘的調節(jié),ADD鍵可以進行關的操作,DEC鍵可以進行開的操作;如果鬧鐘的顯示標志位OFF,則再按下調節(jié)鍵就可以推出調節(jié),如果鬧鐘的顯示標志位ON,則再按下調節(jié)鍵就可以進入鬧鐘的調節(jié),首先調節(jié)的是鬧鐘的時,ADD鍵可以加,DEC則是減,在調節(jié)的同時可以觀察顯示器的上下午變化,即可以對上午下午進行定時,再按SET鍵就可以進入鬧鐘的分的操作,</p><
46、;p> 在數字電子鐘正常工作的狀態(tài)下,如果按下ON/OFF鍵就可以對數字電子鐘進行關機的操作,此時會顯示“BYE BYE”的英文字符。接著就會清屏,只要再按下ON/OFF鍵就可以打開數字電子鐘,使它正常工作。</p><p><b> 4.2 仿真結果</b></p><p> 4.2.1 仿真軟件的介紹</p><p>
47、在仿真時用到了兩個軟件,第一個是Keil,第二個是Protues,本次仿真是將兩個軟件結合起來進行的。</p><p> Proteus 軟件所提供了30多個元件庫,數千種元件。元件涉及到數字和模擬、交流和直流等。對于一個仿真軟件或實驗室, 測試的儀器儀表的數量、 類型和質量, 是衡量實驗室是否合格的一個關鍵因素。在Proteus軟件包中,不存在同類儀表使用數量的問題。Proteus還提供了一個圖形顯示功能,可
48、以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調試器、SPI調試器、鍵盤和LCD系
49、統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調試功能</p><p> 單片機電路的模擬調試選中單片機AT89S52,左鍵點擊AT89S52,在出現的對話框里點擊Program File按鈕,找到剛
50、才編譯得到的HEX文件,然后點擊“OK”按鈕就可以模擬了。點擊模擬調試按鈕的運行按鈕 ,進人調試狀態(tài)。我們還可以單步模擬調試,點擊按鈕,進人單步調試狀態(tài), 在單步模擬調試狀態(tài)下,點擊菜單欄的“Debug”,點擊Simulation Log會出現和模擬調試有關的信息。</p><p> 總之,利用此兩軟件的有效結合使得數字電子鐘能夠在模擬的環(huán)境下進行。因此,可以讓我在制作實物時,先進行軟件的調試和模擬,使得制作實
51、物時能夠更加有效的減少錯誤。</p><p> 4.2.2 仿真的結果</p><p> 用Protues軟件進行仿真,其仿真的電路圖如圖4.1所</p><p> 圖4.1 Protues仿真電路圖</p><p> 數字電子鐘正常工作時,仿真的液晶顯示器顯示如圖4.2所示,當按下設置鍵時,數字電子鐘進入設置界面,此時液晶顯示器的
52、顯示如圖4.3所示。</p><p> 圖4.2 數字電子鐘正常工作時的顯示圖</p><p> 圖4.3 數字電子鐘進入設置時的顯示圖</p><p> 當進入鬧鐘的設置時,其液晶顯示器顯示的結果如圖4.4所示</p><p> 圖4.4 鬧鐘調試時的顯示圖</p><p><b> 4.3 誤
53、差分析</b></p><p> 本數字電子鐘在跟標準的電子鐘比較時,時間稍微慢一點,產生此種情況的原因有:其一是在執(zhí)行程序指令時,由于需要耗費一定的時間,因此會比標準的電子鐘要慢一點。其二是晶振不夠標準,使得定時器定時時不夠精準。</p><p> 在按鍵調節(jié)數字電子鐘的設置時,第一次調節(jié)好之后,如果第二次在進行調節(jié),前一次調節(jié)是3月的話,調節(jié)的時間是30天,而第二次繼續(xù)
54、去調節(jié),把月份調成2月的話就會出現有30天的情況,這是不可能的情況,這主要是軟件設置里面只進行依次行的校正,沒有進行第二次的校正,因此會出現上述的問題。</p><p><b> 4.4 設計體會</b></p><p> 在本次數字電子鐘的設計過程中,有許多感觸,首先對匯編這門語言,我覺得這是一門邏輯性很強的語言,但同時也是一門比較容易掌握的語言。這門語言和我
55、們的實際聯系很機密,比如說里面很多傳送指令,都是根據實際存在的硬件而存在的,還有你面的與或指令、乘法、除法指令,其實都是和我們從小就學的數學息息相關的。就匯編語言而言,對于同一種效果可以采用不同的匯編指令完成,也可以采用相同的匯編指令完成,但因為你所選用的方案不同使得所產生的效果也就有所不同,因此這也鍛煉了我們在思考同一個問題,如果能夠采用發(fā)散思維的話,往往會得到意想不到的結果。</p><p> 談完基本的工
56、具之后,我要談的就是這次的主題,電子鐘可以說是我們非常熟悉的東西,但是沒有學單片機這門功課時,誰也不會想它是怎么工作的,又是怎么做成的。在我自己動手完成了這次課程設計之后,我才發(fā)現其實在我們身邊有好多東西是要我們自己去研究的,如果只在原地踏步的話,就會落后,隨著社會的不斷進步,我們身邊的東西越來越高科技話,那么要我們學習的東西也就越來越多。</p><p> 我覺得在這次設計過程中,我學到了很多,不僅僅是對匯編
57、語言有了自己的想法,更重要的是培養(yǎng)了一種用于面對問題,解決問題的精神,在我們以后走向社會的道路上還不知道會遇到多少問題,如果有了這種精神的話,我相信無論多么困難的問題,都會迎刃而解的。</p><p><b> 4.5 教學建議</b></p><p> 對于單片機這門功課,首先我覺得王老師采用“培養(yǎng)動手”這種的觀念是非常好,單片機技術本身就是一門技術性的學科,
58、如果只是學些理論知識,而不去進行一些實質性的操作的話無疑是紙上談兵,最終還是學不到什么東西。因此我覺得要使大家能夠喜歡動手,首先還是要使大家對單片機產生一點興趣,所以在開始的學習時,不能讓大家學起來就好像有一座大山擺在前面,讓人有一種不敢往前越的感覺。</p><p> 學習了這么多年,我深深的體會到了一點就是如果老師能夠采用換位的思想進行教學的話,會使得教學更加容易。比如有些老師在教學時采用囫圇吞棗式的講述,
59、該重點講述的不能講清楚,而就那些抽象的東西講來講去,這是很多學生所不能接受的。當然要把一個問題完完全全的講述清楚是要花費很多時間的,那么短短的一堂課又能講幾個問題呢?我覺得對于一個經典的問題如果能夠讓大家完完全全弄懂是很有收獲的。也就是說并不是說每一個問題都要給大家講清楚的,只要把那些經典的問題講清楚,然后進行一下拓展的話,這將是一筆巨大的收獲。</p><p> 講了這么多還是要回到單片機技術中的“技術”兩個
60、字上來,我覺得現在的大學生學習東西之后,不知道學了這個東西應該去干什么。就這一門課,首先它是一門技術,因此是應用到我們的實際生活中去的,而對于我們學習自動化的學生,又具體到了哪一方面呢?如果能夠讓大家明白學習這門技術之后的走向,可以使得大家學習得更有目的性。</p><p> 在這里我覺得王老師的教學還是比較有目的性的,而且給我們布置任務的要求也寫得很清楚,這就使得我們能夠更好更準確的完成所布置的任務。<
61、/p><p> 總之,我覺得更重要是理論與實際的結合,更何況是一門技術性的學科,就更加離不開實踐。以認知應用開發(fā)過程為先導,先動手實踐、再理論學習、以一個完整的單片機應用電路來打開單片機的學習之門。 號召同學們購買實驗板,強化單片機訓練,在我們的日常作業(yè)多做一些動手的作業(yè)時很有好處的,像對Protel、Keil、Protues軟件的操作時非常必要的。不過我覺得在這些實際作業(yè)中也不要限制大家的思維,這樣更有利用大家對
62、軟件的操作空間,也就更加能夠提高大家對軟件的掌握能力。對于我們這一代人創(chuàng)新的能力可以說幾乎是看不到的,這主要是我們從小就被固定化,無論什么東西都是要按照一個固定的模塊來進行,雖然說這樣可以是大家少走彎路,但是這就使得思維固定化了。</p><p> 本人語言能力有限,就只能講這么多了,希望王老師以后的工作順順利利。</p><p><b> 參考文獻</b><
63、;/p><p> ?。?]唐俊瞿,許雷,張群瞻.單片機原理與應用[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> [2]李廣弟,朱月秀,冷祖祁.單片機基礎[M].北京:北京航空航天大學出版社,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> ?。?]李光飛.單片機課程設計實例指導[M].北京:北京航空航天大學出版社,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> ?。?]張洪潤,
67、蘭清華.單片機應用技術教程[M].北京:清華大學出版社,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> [5]李華.MCS—51系列單片機實用接口技術[M]..北京:北京航空航天大學出版社,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> ?。?]李朝青.單片機原理及接口技術[M]..北京:北京航空航天大學出版社,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> ?。?]趙秀珍,單永磊.單片微型計算機原理及其應用[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> 本課題在選題及進行過程中得到王韌老師的悉心指導。論文行文過程中,王老師多次幫助我分析思路,開拓視角。王老師嚴謹求實的治學態(tài)度,踏實堅韌的工作精神,將使我終生受益。再多華麗的言語也顯蒼白,在此,謹向王老師致以誠摯的謝意和崇高的敬意。在這次課程設計的撰寫過程中,我得到了許多人的幫助,首先我要感謝我的老師在課程設計上給予我的指導、提供給我的支持和幫助,這是我能順利完成這次報告的主要原因
73、,更重要的是老師幫我解決了許多技術上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學到了許多新的知識,而且也開闊了視野,提高了自己的設計能力。 </p><p> 其次,我要感謝幫助過我的同學,他們也為我解決了不少我不太明白的設計商的難題。同時也感謝學院為我提供良好的做畢業(yè)設計的環(huán)境。 </p><p> 最后再一次感謝所有在設計中曾經幫助過我的良師益友和同學 </p>
74、;<p> 在這次課程設計作業(yè)的過程中由于在設計方面我們沒有經驗,理論基礎知識掌握得不牢固,在設計中難免會出現這樣那樣的問題,但這也培養(yǎng)了我綜合應用設計課程及其他課程的理論知識和理論聯系實際,應用生產實際知識解決工程實際問題的能力;在設計的過程中還培養(yǎng)出了我們的團隊精神,同學們共同協(xié)作,解決了許多個人無法解決的問題;在今后的學習過程中我們會更加努力和團結。</p><p> 但是由于水平有限,難
75、免會有錯誤,還望老師批評指正</p><p><b> 附 錄</b></p><p><b> 程序清單:</b></p><p> ********************************************************************** </p>&
76、lt;p> **** ;在本次課程設計的程序中,我用到的是液晶顯示器,其使能 ***</p><p> **** ;端接單片機的P3.0,P3.1,P3.2引腳,用到了年月日時分秒 ***</p><p> **** ;的暫存單元分別為30H到35H,其中還有一些必要的標志位存 ***</p><p> ***
77、* ;在36H到4AH單元。按鍵接單片機的P1.0到P1.3,液晶顯 ***</p><p> **** ;示器數據口接單片機的P0.0到P0.7,本數字電子鐘具有12進 ***</p><p> **** ;制調整,年月日時分秒及鬧鐘的調整的功能。 ***</p><p> *************
78、*********************************************************</p><p> RS EQU P3.0 //定義基本的數據存儲單元</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 //調用鍵掃子程序</p><p> JB 20H.3, MAIN1 //判斷開機鍵是否按下?</p><p> LCALL DELAY2 //開機鍵內按下繼續(xù)顯示P. </p><p> AJMP START1</
83、p><p> QINGPING: LCALL DIR1 //關機鍵按下調用清屏</p><p> MOV R0, #10</p><p> GOODBYE: LCALL DIR4 //調用關機語"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 //調用鍵掃子程序</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 //鬧鐘標志等初始化</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 //調用開機歡迎
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 //定義光標開啟及閃爍</p><p> LCALL ENABLE</p><p> MOV P0, #0CAH //定義光標位置</p><p> LCALL ENABLE
93、 </p><p> LCALL KEY //調用鍵掃子程序</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 //調用顯示程序</p><p> ZANXIAN1: M
96、OV P0, #0CH //關光標及其閃爍</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 //定義光標開啟及閃爍</p><p> LCALL ENABLE</p><p> MOV P0, #0C7H //光標定位到分的位置</p><p> LCALL ENABLE</p><p> LCALL KEY
100、 //調用鍵掃子程序</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 //關光標及其閃爍</p><p> LCALL EN
103、ABLE </p><p> LCALL XIANSHI //調用顯示子程序</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 //開光標顯示及閃爍</p><p> LCALL ENABLE<
106、/p><p> MOV P0, #0C4H //光標定位到時的位置</p><p> LCALL ENABLE</p><p> LCALL KEY //調用鍵掃子程序</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 //關光標顯示及閃爍</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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s52單片機的數字電子鐘設計畢業(yè)論文
- 基于at89s52的數字電子鐘的設計
- 畢業(yè)論文-基于at89s52的數字電子鐘的設計【精校排版】
- 基于at89s52單片機的多功能數字電子鐘設計畢業(yè)論文
- 基于AT89S52的數字電子鐘的設計(定稿).doc
- 基于AT89S52的數字電子鐘的設計(1稿).doc
- 基于at89s52的數字電子鐘的設計【電子信息科學與技術畢業(yè)論文】
- 基于at89s52的數字電子鐘的設計【電子信息科學與技術畢業(yè)論文】
- 基于AT89S52的數字電子鐘的設計(2稿).doc
- 基于at89s52和hd7279a的多功能電子鐘畢業(yè)論文
- 基于at89s52的多功能數字鐘畢業(yè)論文
- 基于at89s52數字鬧鐘設計研究畢業(yè)論文
- 基于at89s52的智能數字鐘畢業(yè)設計
- 基于at89s52的數字電壓表設計畢業(yè)論文
- 基于at89s52智能風扇設計畢業(yè)論文
- 基于at89s52測溫系統(tǒng)畢業(yè)論文
- 基于at89s52的電子密碼鎖畢業(yè)論文
- 基于at89s52的廣告燈設計畢業(yè)論文
- 基于at89s52的直流數字電壓表設計畢業(yè)論文
- 數字電子鐘設計畢業(yè)論文
評論
0/150
提交評論