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

下載本文檔

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

文檔簡介

1、摘 要本課程設(shè)計(jì)介紹了多功能數(shù)字鐘的系統(tǒng)設(shè)計(jì)。系統(tǒng)具有時間設(shè)置及顯示、鬧鐘等功能。系統(tǒng)以 at89s52為核心,主要進(jìn)行基于at89s52低功耗mcu的字符型數(shù)字鐘及其系統(tǒng)的研究。系統(tǒng)帶有液晶顯示器,配合按鍵提供友好的用戶界面,操作簡單,該數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定的工作。系統(tǒng)軟件設(shè)計(jì)包括單片機(jī)計(jì)算機(jī)兩部分的編程。計(jì)算機(jī)軟件編程主要實(shí)現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲。單片機(jī)軟件編程主要實(shí)現(xiàn)鍵盤、液晶顯示等各模塊的功能,采用匯編語言編程。 關(guān)鍵詞 數(shù)字鐘;單片機(jī);液晶顯示abstractthis paper describes the design of a mult

2、i-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 list type the research of the digital clock and its system according to the at89 s52.

3、the system takes liquid crystal display, matching with a key to provide amity of customer interface, the operation is simple. consecution,credibility,stable work;still have a physical volume in the meantime small,the power consume a low etc. characteristics, easy to take, the usage convenience.singl

4、e lice the machine software plait distance,lcd manifestation, adoption the compilation language plait distance.key words digital clock;single-chip microcomputer;lcd目 錄1 設(shè)計(jì)任務(wù)及要求3 1.1 設(shè)計(jì)任務(wù)3 1.2 功能要求3 1.3 總體方案及工作原理32 硬件系統(tǒng)的設(shè)計(jì)4 2.1 硬件系統(tǒng)的模塊4 2.2 系統(tǒng)的原理圖及pcb7 2.3 數(shù)字電子鐘的原件清單73 軟件系統(tǒng)的設(shè)計(jì)8 3.1 單片機(jī)資源使用情況8 3.2 軟件系

5、統(tǒng)的模塊8 3.3 程序流程圖10 3.4 程序清單134 仿真測試及結(jié)果25 4.1 設(shè)計(jì)結(jié)論及使用說明25 4.2 仿真結(jié)果26 4.3 誤差分析28 4.4 設(shè)計(jì)體會28 4.5 教學(xué)建議29參考文獻(xiàn)30致謝31附錄321 設(shè)計(jì)任務(wù)及要求1.1 設(shè)計(jì)任務(wù) 我們的生活離不開時間,可以說時鐘就是我們生存的一部分。此次設(shè)計(jì)數(shù)字鐘就是為了了解數(shù)字鐘的原理,從而學(xué)會制作數(shù)字鐘。本次課程設(shè)計(jì)通過理論設(shè)計(jì)和實(shí)物制作解決相應(yīng)的實(shí)際問題,鞏固和運(yùn)用在單片機(jī)技術(shù)中所學(xué)的理論知識和實(shí)驗(yàn)技能,掌握單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,提高設(shè)計(jì)能力和實(shí)踐動手能力,為以后從事電子電路設(shè)計(jì)、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。1.2

6、 功能要求設(shè)計(jì)一個具有特定功能的電子鐘,該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“p.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);小時的循環(huán)按12進(jìn)制進(jìn)行;可以顯示年月日,且能區(qū)分閏年;第一次按電子鐘的開關(guān)鍵,電子鐘從上午12時00分00秒開始運(yùn)行,進(jìn)入時鐘運(yùn)行狀態(tài);再次按電子鐘系統(tǒng)調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可以進(jìn)行時間的加減調(diào)整;繼續(xù)按系統(tǒng)調(diào)整鍵可以進(jìn)行相關(guān)項(xiàng)目的調(diào)整,等調(diào)整完畢之后繼續(xù)按調(diào)整鍵即可跳出調(diào)整狀態(tài)再次進(jìn)入時鐘運(yùn)行狀態(tài)。1.3 總體方案及工作原理本設(shè)計(jì)中采用at89s52芯片及l(fā)cd1602液晶顯示器,一些獨(dú)立式按鍵構(gòu)成一個簡單的數(shù)字電子鐘。設(shè)計(jì)中是采用單片機(jī)的內(nèi)部定時器進(jìn)行定時,沒

7、有用到專門的時鐘芯片,因此具有一定的難度,總設(shè)計(jì)框圖如圖1.1所示。整個電子鐘的工作原理是:在正常的供電狀態(tài)下,首先利用單片機(jī)定時,到了相應(yīng)的時間由單片機(jī)將所需要顯示的數(shù)據(jù)送到液晶顯示器的輸入口,當(dāng)有鍵按下時則進(jìn)入相應(yīng)的按鍵調(diào)整狀態(tài),進(jìn)行按鍵調(diào)整。圖1.1 數(shù)字電子鐘總設(shè)計(jì)框圖2 硬件系統(tǒng)的設(shè)計(jì)2.1 硬件系統(tǒng)的模塊 本課程設(shè)計(jì)中硬件電路主要由單片機(jī)最小系統(tǒng),外部擴(kuò)展鍵盤,工作電源,液晶顯示及蜂鳴器構(gòu)成,下面就具體介紹其各部分的功能。2.1.1 單片機(jī)最小系統(tǒng)(1) 時鐘電路單片機(jī)的時鐘電路由振蕩電路和分頻電路組成。其中振蕩電路由反相器以及并聯(lián)外接的石英晶體和電容構(gòu)成,用于產(chǎn)生振蕩脈沖。而分頻

8、電路則用于把振蕩脈沖分頻,以得到所需要的時鐘信號。時鐘電路是單片機(jī)系統(tǒng)的心臟,它控制著單片機(jī)的工作節(jié)奏。本設(shè)計(jì)采用內(nèi)部時鐘方式,12mhz的石英晶體振蕩器。(2) 復(fù)位電路復(fù)位電路用于產(chǎn)生復(fù)位信號,通過rst引腳送入單片機(jī),進(jìn)行復(fù)位。復(fù)位電路的好壞直接影響單片機(jī)系統(tǒng)工作的可靠性,因此,要重視復(fù)位電路的設(shè)計(jì)和研究。只要rst端保持10ms以上的高電平,就能使單片機(jī)有效地復(fù)位,本設(shè)計(jì)采用上電復(fù)位和手動復(fù)位兩種方式。(3) at89s52單片機(jī)at89s52是一種帶8k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only me

9、mory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89s單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2.1.2 按鍵模塊此鍵盤是為設(shè)置時間而設(shè)計(jì)的人機(jī)交互裝置。雖然矩陣鍵盤操作方便,但其硬件電路和軟件都較復(fù)雜,考慮各方面因素,最終決定采用獨(dú)立鍵盤,這樣的話只需四個按鍵即可。其中,按下set鍵進(jìn)入時間設(shè)置方式,此時默認(rèn)設(shè)置秒,按add鍵進(jìn)行加1設(shè)置,按dec鍵進(jìn)行減1設(shè)置,再次按下set鍵進(jìn)入分設(shè)置,以此類推,直至年設(shè)置完成后再次按下set鍵,進(jìn)入正常模式。onoff為開關(guān)鍵,可進(jìn)行電子鐘的開關(guān)操作。2.1.3 lcd顯示模塊lcd1602字符型通常有14條引腳線或1

10、6條引腳線的lcd,多出來的2條線是背光電源線vcc(15腳)和地線gnd(16腳)。在本設(shè)計(jì)里面所用到的是16腳的lcd,其引腳的定義及功能如表2.1所示。表2.1 字符型lcd1602的引腳定義 引腳號引腳名電平輸入/輸出作用1vss電源地2vcc電源(+5v)3vee對比度調(diào)節(jié)電壓4rs0/1輸入0=輸入指令1=輸入數(shù)據(jù)5r/w0/1輸入0=向lcd寫入指令或數(shù)據(jù)1=從lcd讀取信息6e1,10輸入使能信號,1時讀取信息,10(下降沿)執(zhí)行指令7db00/1輸入/輸出數(shù)據(jù)總線line0(最低位)8db10/1輸入/輸出數(shù)據(jù)總線line19db20/1輸入/輸出數(shù)據(jù)總線line210db3

11、0/1輸入/輸出數(shù)據(jù)總線line311db40/1輸入/輸出數(shù)據(jù)總線line412db50/1輸入/輸出數(shù)據(jù)總線line513db60/1輸入/輸出數(shù)據(jù)總線line614db70/1輸入/輸出數(shù)據(jù)總線line7(最高位)15a+vcclcd背光源正極16k接地lcd背光源負(fù)極其中,單片機(jī)的p0口與lcd1602的8個數(shù)據(jù)口相連,p3.0,p3.1,p3.2分別接lcd1602的rs,r/w,e端相連,由于單片機(jī)芯片的p0口一般沒有加上拉電阻,因此當(dāng)液晶顯示器的數(shù)據(jù)口線接在單片機(jī)89s52芯片的p0口時需要在p0口加上拉,以確保p0口剛開始是高電平。如果要使lcd1602有背光源,則需要將lcd

12、1602的16引腳接地,將lcd1602的15引腳接vcc,此時液晶顯示器則在有背光源的情況下工作。本次設(shè)計(jì)中要是此lcd1602顯示兩行,第一行顯示年、月、日等信息,第二行顯示電子時鐘的時、分、秒等。2.1.4 蜂鳴器模塊在本設(shè)計(jì)中設(shè)計(jì)了鬧鐘因此需要一個發(fā)聲裝置,這里選用了一個蜂鳴器作為發(fā)聲裝置,在此發(fā)聲裝置中我采用了一個三極管做為蜂鳴器的驅(qū)動器,將揚(yáng)聲器連至一個三極管,然后通過三極管的基極連至單片機(jī)的 p2.1。2.1.4 工作電源單片機(jī)正常工作時的,需要外部電源提供正常的工作電源這里我所采用的是利用usb接口技術(shù),從電子計(jì)算機(jī)的usb接口提供給單片機(jī)正常工作所需要的外部電源。2.2 系統(tǒng)

13、的原理圖及pcb在本次課程設(shè)計(jì)中,所繪制的pcb板圖和原理圖時采用的是protel軟件,protel99se是protel公司近10年來致力于windows平臺開發(fā)的最新結(jié)晶,能實(shí)現(xiàn)從電學(xué)概念設(shè)計(jì)到輸出物理生產(chǎn)數(shù)據(jù),以及這之間的所有分析、驗(yàn)證和設(shè)計(jì)數(shù)據(jù)管理。因而今天的protel最新產(chǎn)品已不是單純的pcb(印制電路板)設(shè)計(jì)工具,而是一個系統(tǒng)工具,覆蓋了以pcb為核心的整個物理設(shè)計(jì)。protel 設(shè)計(jì)系統(tǒng)是一套建立在ibm兼容pc環(huán)境下的eda電路集成設(shè)計(jì)系統(tǒng),由于其高度的集成性與擴(kuò)展性,一經(jīng)推出,立即為廣大用戶所接受,很快就成為世界pc平臺上最流行的電子設(shè)計(jì)自動化軟件。其數(shù)字電子鐘的原理圖及其

14、pcb板圖見附錄 2.3 數(shù)字電子鐘的原件清單該數(shù)字電子鐘用到的元器件清單見附錄 3 軟件系統(tǒng)的設(shè)計(jì)3.1 單片機(jī)的使用情況本設(shè)計(jì)用到了單片機(jī)的定時器的功能,此外用到了單片機(jī)的中斷功能,在數(shù)據(jù)的顯示時所采用的是查表的方法,因此需要將表格、數(shù)據(jù)存到單片機(jī)的程序存儲器中去。由于電子鐘需要可以進(jìn)行調(diào)節(jié),因此,需要在單片機(jī)的p口上加上按鍵,本設(shè)計(jì)采用獨(dú)立式鍵盤,直接接在p1口上。用到的液晶顯示器接到了單片機(jī)的p0口線上,此外用到了一個蜂鳴器接到了單片機(jī)的p2.1口線上。3.2 軟件系統(tǒng)的模塊3.2.1 定時模塊在本設(shè)計(jì)中用到了幾個定時模塊,第一個定時是用于定時一秒的,用到了單片機(jī)的定時器tr0,在定時

15、的過程中采用的是查詢的方式,查詢定時時間是否到的。定時器所采用第二個定時是用于定時按鍵的抖動時間,因?yàn)楫?dāng)按鍵時都會出現(xiàn)電壓抖動,但對鍵盤工作有影響的是鍵閉合時的抖動,所以為了確保鍵掃描的正確性,每當(dāng)掃描到有閉合鍵時,都要進(jìn)行去抖動處理。本設(shè)計(jì)中采用的是軟件去抖動的方法,抖動的定時采用的軟件的延時進(jìn)行定時的。第三個定時的功能是在液晶顯示時的延時時間,即在液晶顯示時是采用查表的方法進(jìn)行顯示的,因此需要用到一定的延時,使得我們能夠看的清楚所顯示的內(nèi)容,在這里用到的延時也是采用軟件的延時。3.2.2 按鍵操作模塊在本次課程設(shè)計(jì)中,我用到了四個獨(dú)立式鍵盤進(jìn)行按鍵的操作。因?yàn)楸緮?shù)字電子鐘的功能比較多,而只

16、用到了四個鍵,因此在鍵盤的操作時采用的是層層遞進(jìn)的方法,一步一步往下操作的,設(shè)置了鍵的名稱為set鍵、add鍵、dec鍵、on/off鍵,在軟件設(shè)計(jì)中是在set鍵按下了之后才會有add鍵、dec鍵的操作,鍵與鍵之間的功能采用層層套用使得程序看起來更加清晰明了。在按鍵的程序掃描中是采用查詢的方法對按鍵進(jìn)行操作的,當(dāng)查詢到按鍵有動作時,則執(zhí)行相應(yīng)的操作。獨(dú)立式鍵盤的程序設(shè)計(jì)一般把鍵盤掃描程序設(shè)計(jì)成子程序,以便其它各程序調(diào)用。本設(shè)計(jì)中的鍵盤掃描子程序的名稱為key,則鍵盤掃描子程序key應(yīng)具有以下功能:判定有無按鍵動作;去抖動;確認(rèn)是否真正有閉合鍵;計(jì)算并保存閉合鍵鍵碼;判定閉合鍵是否釋放;恢復(fù)閉合

17、鍵鍵碼。3.2.3 液晶顯示模塊lcd1602內(nèi)部控制器共有11條控制指令,如表3.1所示表3.1 lcd1602控制命令表序號指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001i/ds4顯示開關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/lr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址10寫數(shù)到cgram或ddram10要寫的數(shù)據(jù)內(nèi)容11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)內(nèi)容16

18、02的液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(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為高電平時表示開顯示,低電平則表示關(guān)顯示,當(dāng)c為高電平時表示有光標(biāo),低電平是則無光標(biāo),當(dāng)d為高電平時表示光標(biāo)閃爍,為低電平時表示光標(biāo)不閃爍;指令5是光標(biāo)或顯示移位,當(dāng)為高電平時表示移動顯示文字,低電平時表示移動光標(biāo);

19、指令6是功能設(shè)置命令,當(dāng)dl為高電平時表示4位總線,為低電平時表示8位總線,當(dāng)n為低電平時表示單行顯示,為高電平時表示雙行顯示,當(dāng)f為低電平時表示57的點(diǎn)陣字符,為高電平時表示510的點(diǎn)陣字符;指令7是字符發(fā)生器ram地址設(shè)置;指令8是ddram地址設(shè)置;指令9是讀忙信號和光標(biāo)地址,當(dāng)bf為高電平時表示忙,此時不能接受命令或者數(shù)據(jù),為低電平時則表示不忙;指令10是寫數(shù)據(jù);指令11是讀數(shù)據(jù)。lcd1602顯示器的11條指令在上面已經(jīng)做了一定的講述,與hd44780相兼容的芯片的時序表如表3.2所示表3.2 基本操作時序表讀狀態(tài)輸入rs=l,r/w=h,e=h輸出d0-d7=狀態(tài)字寫指令輸入rs=

20、l,r/w=l,d0-d7=指令碼,e=高脈沖輸出無讀數(shù)據(jù)輸入rs=h,r/w=h,e=h輸出d0-d7=數(shù)據(jù)寫數(shù)據(jù)輸入rs=h,r/w=l,d0-d7=數(shù)據(jù),e=高脈沖輸出無在本設(shè)計(jì)中用到了液晶顯示器的雙行顯示,這個數(shù)字電子鐘能夠顯示年、月、日,還能顯示時、分、秒。在液晶顯示時,我采用的是先將光標(biāo)定位到要送數(shù)據(jù)的地址,然后將數(shù)據(jù)送到要顯示的地方。在整個顯示過程中,有開機(jī)時要顯示歡迎語,結(jié)束時要顯示結(jié)束語,我所采用的都是應(yīng)用查表的方法,然后將光標(biāo)逐次右移,將數(shù)據(jù)依次送到液晶顯示口線上,然后逐次顯示。當(dāng)關(guān)機(jī)時,我調(diào)用了一個清屏的指令。3.2.4 鬧鐘模塊該數(shù)字電子鐘具有調(diào)節(jié)鬧鈴的功能,在按鍵時設(shè)

21、置了鬧鐘按鍵,當(dāng)液晶顯示器上顯示on時,則可以進(jìn)行鬧鐘的設(shè)置,如果液晶顯示器上顯示的是off,則表示不能進(jìn)行鬧鐘的調(diào)節(jié)。在調(diào)好鬧鐘之后,當(dāng)?shù)搅硕〞r的時間之后,蜂鳴器會鳴叫,名叫一分鐘之后后停止鳴叫。在程序中,我運(yùn)用到的是采用比較的方法,如果鬧鐘的標(biāo)志顯示on,則進(jìn)入鬧鐘的比較程序,如果顯示的是off,則不需要進(jìn)入鬧鐘的比較程序。3.3 程序流程圖3.3.1 整體設(shè)計(jì)的流程圖在此次設(shè)計(jì)的過程中,我是采用模塊的設(shè)計(jì)方法,一個一個實(shí)現(xiàn)功能,可以說如果完成了一個任務(wù)的程序框圖,就是完成了整個設(shè)計(jì)任務(wù)的百分之三十左右,在本次課程設(shè)計(jì)的過程中,我都是采用這種思想進(jìn)行數(shù)字電子鐘的設(shè)計(jì)的。因此,在設(shè)計(jì)的過程,

22、讓我能夠很輕易的就抓住了主要的設(shè)計(jì)核心。整體的設(shè)計(jì)框圖如圖3.1所示圖3.1 整體設(shè)計(jì)流程圖3.3.2 鍵盤設(shè)計(jì)的流程圖在本次程序設(shè)計(jì)中對于鍵盤的設(shè)計(jì),我專門設(shè)計(jì)了一個鍵盤掃描子程序,它所完成的功能是,首先對鍵盤進(jìn)行處理,給每一個鍵都設(shè)置了一個鍵碼,那么只要判斷鍵盤的鍵碼就可以知道是否有鍵按下,如若有鍵按下也可以判斷是哪一個鍵按下了。這次設(shè)計(jì)中,鍵盤掃描子程序的代號為key,其鍵盤掃描程序設(shè)計(jì)的流程框圖如圖3.3所示。對于鍵盤的功能設(shè)計(jì)在上面我已經(jīng)做了簡單的介紹,其按鍵的操作的程序設(shè)計(jì)流程圖如圖3.2所示。圖3.2 按鍵程序設(shè)計(jì)流程圖圖3.3 鍵掃程序設(shè)計(jì)流程圖3.3.3 顯示設(shè)計(jì)的流程圖因?yàn)?/p>

23、所用到的是液晶顯示器,不同于數(shù)碼管顯示,數(shù)碼管顯示是采用將數(shù)碼管的位控端接在單片機(jī)上,然后采用軟件的方法就可以將要顯示的數(shù)據(jù)送入數(shù)碼管的數(shù)據(jù)顯示口即可以顯示。而此數(shù)字電子鐘設(shè)計(jì)中采用的是lcd1602的顯示,lcd1602本身就有11條控制指令,因此相對于數(shù)碼管顯示難度就大一點(diǎn),在設(shè)計(jì)中顯示程序設(shè)計(jì)的流程框圖如圖3.4所示。圖3.4 lcd1602顯示程序設(shè)計(jì)流程圖4 仿真測試及結(jié)果4.1 設(shè)計(jì)結(jié)論及使用說明4.1.1 設(shè)計(jì)結(jié)論通過本次對數(shù)字電子鐘的設(shè)計(jì),了解了利用單片機(jī)處理之后,進(jìn)行電子鐘的顯示。本次設(shè)計(jì)比較成功,在按鍵操作中能夠按照預(yù)先給定的功能進(jìn)行操縱,按了復(fù)位鍵之后,液晶顯示屏上也能顯

24、示“p.,調(diào)節(jié)好鬧鐘之后,到了定時的時間,蜂鳴器能夠鳴叫,鳴叫一分鐘之后,蜂鳴器停止鳴叫。4.1.2 使用說明本數(shù)字電子鐘設(shè)計(jì)了四個鍵,按鍵的名字分別叫做set鍵、add鍵、dec鍵、on/off鍵。具體的操作為:當(dāng)給電子鐘上電之后,液晶顯示屏?xí)@示“p.”,此時按下按鍵on/off鍵,即可以打開數(shù)字電子鐘,此時液晶顯示屏上會出現(xiàn)“welcome to here”的英文字符,兩秒之后就會進(jìn)入電子鐘的正常運(yùn)行狀態(tài)。該數(shù)字電子鐘的起始狀態(tài)為2009-01-01,am 12:00:00,此時只要按下set鍵即可以進(jìn)行數(shù)字電子鐘的操作界面,首先是調(diào)節(jié)年,按add鍵就可以增加一年,按dec鍵就可以減少一

25、年;再按set鍵就可以進(jìn)入月的調(diào)節(jié),按add鍵就可以增加一月,按dec鍵就可以進(jìn)行減的操作;再按set鍵就可以進(jìn)入日的調(diào)節(jié),add鍵可以進(jìn)行加的操作,dec鍵可以進(jìn)行減的操作;再按set鍵就可以進(jìn)入時的調(diào)節(jié),add鍵可以進(jìn)行加的操作,dec鍵可以進(jìn)行減的操作,同時可以觀察上下午的變化;再按set鍵就可以進(jìn)入分的調(diào)節(jié),add鍵可以進(jìn)行加的操作,dec鍵可以進(jìn)行減的操作;再按set鍵就可以進(jìn)入秒的調(diào)節(jié),add鍵可以進(jìn)行加的操作,dec鍵可以進(jìn)行減的操作;再按set鍵就可以進(jìn)入鬧鐘的調(diào)節(jié),add鍵可以進(jìn)行關(guān)的操作,dec鍵可以進(jìn)行開的操作;如果鬧鐘的顯示標(biāo)志位off,則再按下調(diào)節(jié)鍵就可以推出調(diào)節(jié),如

26、果鬧鐘的顯示標(biāo)志位on,則再按下調(diào)節(jié)鍵就可以進(jìn)入鬧鐘的調(diào)節(jié),首先調(diào)節(jié)的是鬧鐘的時,add鍵可以加,dec則是減,在調(diào)節(jié)的同時可以觀察顯示器的上下午變化,即可以對上午下午進(jìn)行定時,再按set鍵就可以進(jìn)入鬧鐘的分的操作,add鍵是假的操作,dec鍵是減的操作,當(dāng)調(diào)節(jié)完鬧鐘之后,再按下set鍵就會推出設(shè)置狀態(tài)。在數(shù)字電子鐘正常工作的狀態(tài)下,如果按下on/off鍵就可以對數(shù)字電子鐘進(jìn)行關(guān)機(jī)的操作,此時會顯示“bye bye”的英文字符。接著就會清屏,只要再按下on/off鍵就可以打開數(shù)字電子鐘,使它正常工作。4.2 仿真結(jié)果4.2.1 仿真軟件的介紹在仿真時用到了兩個軟件,第一個是keil,第二個是p

27、rotues,本次仿真是將兩個軟件結(jié)合起來進(jìn)行的。proteus 軟件所提供了30多個元件庫,數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對于一個仿真軟件或?qū)嶒?yàn)室, 測試的儀器儀表的數(shù)量、 類型和質(zhì)量, 是衡量實(shí)驗(yàn)室是否合格的一個關(guān)鍵因素。在proteus軟件包中,不存在同類儀表使用數(shù)量的問題。proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實(shí)時地顯示出來,其作用與示波器相似但功能更多。proteus isis是英國labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特

28、點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的

29、軟件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大。單片機(jī)電路的模擬調(diào)試選中單片機(jī)at89s52,左鍵點(diǎn)擊at89s52,在出現(xiàn)的對話框里點(diǎn)擊program file按鈕,找到剛才編譯得到的hex文件,然后點(diǎn)擊“ok”按鈕就可以模擬了。點(diǎn)擊模擬調(diào)試按鈕的運(yùn)行按鈕 ,進(jìn)人調(diào)試狀態(tài)。我們還可以單步模擬調(diào)試,點(diǎn)擊按鈕,進(jìn)人單步調(diào)試狀態(tài), 在單步模擬調(diào)試狀態(tài)下,點(diǎn)擊菜單欄的“debug”,點(diǎn)擊simulation log會出現(xiàn)和模擬調(diào)試有關(guān)的信息。總之,利用此兩軟件的有效結(jié)合使得數(shù)字電子鐘能

30、夠在模擬的環(huán)境下進(jìn)行。因此,可以讓我在制作實(shí)物時,先進(jìn)行軟件的調(diào)試和模擬,使得制作實(shí)物時能夠更加有效的減少錯誤。4.2.2 仿真的結(jié)果 用protues軟件進(jìn)行仿真,其仿真的電路圖如圖4.1所圖4.1 protues仿真電路圖數(shù)字電子鐘正常工作時,仿真的液晶顯示器顯示如圖4.2所示,當(dāng)按下設(shè)置鍵時,數(shù)字電子鐘進(jìn)入設(shè)置界面,此時液晶顯示器的顯示如圖4.3所示。圖4.2 數(shù)字電子鐘正常工作時的顯示圖圖4.3 數(shù)字電子鐘進(jìn)入設(shè)置時的顯示圖當(dāng)進(jìn)入鬧鐘的設(shè)置時,其液晶顯示器顯示的結(jié)果如圖4.4所示圖4.4 鬧鐘調(diào)試時的顯示圖4.3 誤差分析本數(shù)字電子鐘在跟標(biāo)準(zhǔn)的電子鐘比較時,時間稍微慢一點(diǎn),產(chǎn)生此種情況

31、的原因有:其一是在執(zhí)行程序指令時,由于需要耗費(fèi)一定的時間,因此會比標(biāo)準(zhǔn)的電子鐘要慢一點(diǎn)。其二是晶振不夠標(biāo)準(zhǔn),使得定時器定時時不夠精準(zhǔn)。在按鍵調(diào)節(jié)數(shù)字電子鐘的設(shè)置時,第一次調(diào)節(jié)好之后,如果第二次在進(jìn)行調(diào)節(jié),前一次調(diào)節(jié)是3月的話,調(diào)節(jié)的時間是30天,而第二次繼續(xù)去調(diào)節(jié),把月份調(diào)成2月的話就會出現(xiàn)有30天的情況,這是不可能的情況,這主要是軟件設(shè)置里面只進(jìn)行依次行的校正,沒有進(jìn)行第二次的校正,因此會出現(xiàn)上述的問題。4.4 設(shè)計(jì)體會在本次數(shù)字電子鐘的設(shè)計(jì)過程中,有許多感觸,首先對匯編這門語言,我覺得這是一門邏輯性很強(qiáng)的語言,但同時也是一門比較容易掌握的語言。這門語言和我們的實(shí)際聯(lián)系很機(jī)密,比如說里面很多

32、傳送指令,都是根據(jù)實(shí)際存在的硬件而存在的,還有你面的與或指令、乘法、除法指令,其實(shí)都是和我們從小就學(xué)的數(shù)學(xué)息息相關(guān)的。就匯編語言而言,對于同一種效果可以采用不同的匯編指令完成,也可以采用相同的匯編指令完成,但因?yàn)槟闼x用的方案不同使得所產(chǎn)生的效果也就有所不同,因此這也鍛煉了我們在思考同一個問題,如果能夠采用發(fā)散思維的話,往往會得到意想不到的結(jié)果。談完基本的工具之后,我要談的就是這次的主題,電子鐘可以說是我們非常熟悉的東西,但是沒有學(xué)單片機(jī)這門功課時,誰也不會想它是怎么工作的,又是怎么做成的。在我自己動手完成了這次課程設(shè)計(jì)之后,我才發(fā)現(xiàn)其實(shí)在我們身邊有好多東西是要我們自己去研究的,如果只在原地踏

33、步的話,就會落后,隨著社會的不斷進(jìn)步,我們身邊的東西越來越高科技話,那么要我們學(xué)習(xí)的東西也就越來越多。我覺得在這次設(shè)計(jì)過程中,我學(xué)到了很多,不僅僅是對匯編語言有了自己的想法,更重要的是培養(yǎng)了一種用于面對問題,解決問題的精神,在我們以后走向社會的道路上還不知道會遇到多少問題,如果有了這種精神的話,我相信無論多么困難的問題,都會迎刃而解的。4.5 教學(xué)建議對于單片機(jī)這門功課,首先我覺得王老師采用“培養(yǎng)動手”這種的觀念是非常好,單片機(jī)技術(shù)本身就是一門技術(shù)性的學(xué)科,如果只是學(xué)些理論知識,而不去進(jìn)行一些實(shí)質(zhì)性的操作的話無疑是紙上談兵,最終還是學(xué)不到什么東西。因此我覺得要使大家能夠喜歡動手,首先還是要使大

34、家對單片機(jī)產(chǎn)生一點(diǎn)興趣,所以在開始的學(xué)習(xí)時,不能讓大家學(xué)起來就好像有一座大山擺在前面,讓人有一種不敢往前越的感覺。學(xué)習(xí)了這么多年,我深深的體會到了一點(diǎn)就是如果老師能夠采用換位的思想進(jìn)行教學(xué)的話,會使得教學(xué)更加容易。比如有些老師在教學(xué)時采用囫圇吞棗式的講述,該重點(diǎn)講述的不能講清楚,而就那些抽象的東西講來講去,這是很多學(xué)生所不能接受的。當(dāng)然要把一個問題完完全全的講述清楚是要花費(fèi)很多時間的,那么短短的一堂課又能講幾個問題呢?我覺得對于一個經(jīng)典的問題如果能夠讓大家完完全全弄懂是很有收獲的。也就是說并不是說每一個問題都要給大家講清楚的,只要把那些經(jīng)典的問題講清楚,然后進(jìn)行一下拓展的話,這將是一筆巨大的收

35、獲。講了這么多還是要回到單片機(jī)技術(shù)中的“技術(shù)”兩個字上來,我覺得現(xiàn)在的大學(xué)生學(xué)習(xí)東西之后,不知道學(xué)了這個東西應(yīng)該去干什么。就這一門課,首先它是一門技術(shù),因此是應(yīng)用到我們的實(shí)際生活中去的,而對于我們學(xué)習(xí)自動化的學(xué)生,又具體到了哪一方面呢?如果能夠讓大家明白學(xué)習(xí)這門技術(shù)之后的走向,可以使得大家學(xué)習(xí)得更有目的性。在這里我覺得王老師的教學(xué)還是比較有目的性的,而且給我們布置任務(wù)的要求也寫得很清楚,這就使得我們能夠更好更準(zhǔn)確的完成所布置的任務(wù)。總之,我覺得更重要是理論與實(shí)際的結(jié)合,更何況是一門技術(shù)性的學(xué)科,就更加離不開實(shí)踐。以認(rèn)知應(yīng)用開發(fā)過程為先導(dǎo),先動手實(shí)踐、再理論學(xué)習(xí)、以一個完整的單片機(jī)應(yīng)用電路來打開

36、單片機(jī)的學(xué)習(xí)之門。 號召同學(xué)們購買實(shí)驗(yàn)板,強(qiáng)化單片機(jī)訓(xùn)練,在我們的日常作業(yè)多做一些動手的作業(yè)時很有好處的,像對protel、keil、protues軟件的操作時非常必要的。不過我覺得在這些實(shí)際作業(yè)中也不要限制大家的思維,這樣更有利用大家對軟件的操作空間,也就更加能夠提高大家對軟件的掌握能力。對于我們這一代人創(chuàng)新的能力可以說幾乎是看不到的,這主要是我們從小就被固定化,無論什么東西都是要按照一個固定的模塊來進(jìn)行,雖然說這樣可以是大家少走彎路,但是這就使得思維固定化了。本人語言能力有限,就只能講這么多了,希望王老師以后的工作順順利利。參考文獻(xiàn)1唐俊瞿,許雷,張群瞻.單片機(jī)原理與應(yīng)用.北京:冶金工業(yè)出

37、版社,2003 tang junju, permits the thunder, zhang qunzhan. the monolithic integrated circuit principle withapplies the m. beijing: metallurgical industry publishing house, 2003 2李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2007 li guangdi, zhu yue xiu, leng zuqi. monolithic integrated circuit foundation m. beijing

38、: beijing university of aeronautics and astronautics publishing house, 2007 3李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo).北京:北京航空航天大學(xué)出版社,2004.9 li guangfei. the monolithic integrated circuit curriculum designs the example to instruct the m. beijing: beijing university of aeronautics and astronautics publishing house, 2004.9 4張洪

39、潤,蘭清華.單片機(jī)應(yīng)用技術(shù)教程.北京:清華大學(xué)出版社,1997.11 zhang hong run, blue qinghua. monolithic integrated circuit application technology course m. beijing: qinghua university publishing house, 1997.11 5李華.mcs51系列單片機(jī)實(shí)用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993 li hua .mcs-51 series monolithic integrated circuit practical connection tech

40、nology m. beijing: beijing university of aeronautics and astronautics publishing house, 1993 6李朝青.單片機(jī)原理及接口技術(shù).北京:北京航空航天大學(xué)出版社,1998 li chaoqing. monolithic integrated circuit principle and connection technology m. beijing:beijing university of aeronautics and astronautics publishing house, 1998 7趙秀珍,單永

41、磊.單片微型計(jì)算機(jī)原理及其應(yīng)用.北京:中國水利水電出版社,2001.8 zhao xiuzhen, shan yonglei. the monolithic microcomputer principle and applies m. beijing: chinese water conservation water and electricity publishing house, 2001.8 致 謝本課題在選題及進(jìn)行過程中得到王韌老師的悉心指導(dǎo)。論文行文過程中,王老師多次幫助我分析思路,開拓視角。王老師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神,將使我終生受益。再多華麗的言語也顯蒼白,在此,

42、謹(jǐn)向王老師致以誠摯的謝意和崇高的敬意。在這次課程設(shè)計(jì)的撰寫過程中,我得到了許多人的幫助,首先我要感謝我的老師在課程設(shè)計(jì)上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識,而且也開闊了視野,提高了自己的設(shè)計(jì)能力。 其次,我要感謝幫助過我的同學(xué),他們也為我解決了不少我不太明白的設(shè)計(jì)商的難題。同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。 最后再一次感謝所有在設(shè)計(jì)中曾經(jīng)幫助過我的良師益友和同學(xué) 在這次課程設(shè)計(jì)作業(yè)的過程中由于在設(shè)計(jì)方面我們沒有經(jīng)驗(yàn),理論基礎(chǔ)知識掌握得不牢固,在

43、設(shè)計(jì)中難免會出現(xiàn)這樣那樣的問題,但這也培養(yǎng)了我綜合應(yīng)用設(shè)計(jì)課程及其他課程的理論知識和理論聯(lián)系實(shí)際,應(yīng)用生產(chǎn)實(shí)際知識解決工程實(shí)際問題的能力;在設(shè)計(jì)的過程中還培養(yǎng)出了我們的團(tuán)隊(duì)精神,同學(xué)們共同協(xié)作,解決了許多個人無法解決的問題;在今后的學(xué)習(xí)過程中我們會更加努力和團(tuán)結(jié)。 但是由于水平有限,難免會有錯誤,還望老師批評指正附 錄程序清單:* * ;在本次課程設(shè)計(jì)的程序中,我用到的是液晶顯示器,其使能 * ;端接單片機(jī)的p3.0,p3.1,p3.2引腳,用到了年月日時分秒 * ;的暫存單元分別為30h到35h,其中還有一些必要的標(biāo)志位存 * ;在36h到4ah單元。按鍵接單片機(jī)的p1.0到p1.3,液晶顯

44、 * ;示器數(shù)據(jù)口接單片機(jī)的p0.0到p0.7,本數(shù)字電子鐘具有12進(jìn) * ;制調(diào)整,年月日時分秒及鬧鐘的調(diào)整的功能。 * rs equ p3.0 /定義基本的數(shù)據(jù)存儲單元 rw equ p3.1 /和液晶顯示器基本的引腳定義 e equ p3.2 year equ 30h month equ 31h day equ 32h hour equ 33h minute equ 34h second equ 35h tdao equ 36h time equ 37h naozhong equ 38h naohour equ 39h naominute equ 40h naotime equ 4ah

45、org 0000h sjmp start start: lcall dir1 /開機(jī)時顯示p.的子程序 start1: lcall dir2 lcall key /調(diào)用鍵掃子程序 jb 20h.3, main1 /判斷開機(jī)鍵是否按下? lcall delay2 /開機(jī)鍵內(nèi)按下繼續(xù)顯示p. ajmp start1 qingping: lcall dir1 /關(guān)機(jī)鍵按下調(diào)用清屏 mov r0, #10 goodbye: lcall dir4 /調(diào)用關(guān)機(jī)語bey bey lcall delay2 djnz r0, goodbye mov p0, #01h lcall enable sao: lcal

46、l key /調(diào)用鍵掃子程序 jb 20h.3, open /判斷開機(jī)鍵是否按下? lcall delay2 /無鍵按下繼續(xù)執(zhí)行鍵掃 ajmp sao open: jmp main1 /開機(jī)鍵按下執(zhí)行開機(jī)子程序main1: mov sp , #60h mov year, #09 /年月日時分秒初始化 mov month, #01 mov day, #01 mov hour, #12 mov time, #41h mov minute, #00 mov second, #00 mov tdao, #00 mov ie , #00h /中斷及定時器初始化 mov tmod, #01h mov naozhong, #00 /鬧鐘標(biāo)志等初始化 mov naohour, #12 mov naominute,#00 mov naotime, #41h lcall dir1 welcome: mov r0, #10 welcome1: lcall dir3 /調(diào)用開機(jī)歡迎語 lcall delay2 /“welcome

溫馨提示

  • 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

提交評論