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

下載本文檔

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

文檔簡介

1、河 南 科 技 大 學(xué)畢 業(yè) 設(shè) 計(論 文) 題目: 基于單片機的電子時鐘的設(shè)計 姓 名 考 號 院 系 專 業(yè) 計算機及應(yīng)用 指導(dǎo)教師 基于單片機的電子時鐘的設(shè)計摘 要 傳統(tǒng)的數(shù)字電子時鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設(shè)計復(fù)雜度的不斷提高,用傳統(tǒng)時鐘系統(tǒng)設(shè)計方法很難滿足設(shè)計需求。單片機是集cpu、ram、rom、定時器/計數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強,廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。而51系列的單片機是各單片機中最為典型和最有代表性的一種。本文設(shè)計的電子時鐘是基于51單片機,同時使用匯編語言為程序設(shè)計語言,從而克服傳統(tǒng)

2、電子時鐘的弊端。本設(shè)計擬實現(xiàn)的基本功能為單片機計時顯示功能。能夠體現(xiàn)單片機電子時鐘的可擴展優(yōu)越性,加入時間調(diào)整程序,使用按鈕,調(diào)整年月日及時間;加入陰歷顯示功能。關(guān)鍵詞:單片機,電子時鐘,匯編語言 abstract traditional digital electronic clock with a greater amount of discrete components, not only takes up a lot of space and utilization than low, as the system design complexity continues to impro

3、ve, the clock system design using traditional methods are difficult to meet the design requirements . microcontroller is a cpu, ram, rom, timer / counter and a variety of interfaces in one of the micro-controller. its small size, low cost, powerful, widely used in smart products and industrial autom

4、ation. and 51 of the microcontroller mcu is the most typical and most representative one. this design is based on 51 single-chip electronic clock, using both assembly language for the programming language, to overcome the drawbacks of conventional electronic clock. the design of the basic functions

5、to be achieved for the microcontroller timer display. scm can reflect the scalability advantages of electronic clock, add time to adjust, the use of buttons, adjust the date and time of year, month; to join the lunar calendar display. keywords: microcontroller, electronic clock, assembly language 目

6、錄摘 要1abstract2目 錄4第 一 章 緒 論51.1單片機的定義51.2 單片機分類51.3 單片機的特點61.4單片機的應(yīng)用領(lǐng)域61.5電子時鐘的特點及應(yīng)用領(lǐng)域7第二章 mcs-51單片機簡介82.1 單片機的結(jié)構(gòu)82.2 單片機的存儲器10第三章 數(shù)碼管的簡介143.1 數(shù)碼管的分類143.2 數(shù)碼管的應(yīng)用15第四章 電子時鐘的設(shè)計164.1 可實現(xiàn)的功能164.2 軟件設(shè)計流程164.3 電子時鐘設(shè)計的部分主要流程20第五章 電子時鐘的仿真215.1 單片機調(diào)試仿真軟件215.2 電子時鐘的仿真225.3 整機的仿真及調(diào)試25結(jié)束語28致 謝29參考文獻30 第 一 章 緒 論

7、1.1單片機的定義 單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一個小芯片上,但是它具有一個完整計算機所需要的大部分部件:cpu、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分單片機還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機也被稱為微控制器(microcontroller),是因為它最早被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來,最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機系統(tǒng)更小、更容易集成于復(fù)雜的而對體積要求嚴格

8、的控制設(shè)備當(dāng)中。intel的z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣1。單片機技術(shù)是現(xiàn)代電子工程領(lǐng)域一門迅速發(fā)展的技術(shù),它的應(yīng)用已經(jīng)滲透到各種嵌入式系統(tǒng)中。可以毫不夸張地說:掌握單片機技術(shù)是電子信息類專業(yè)學(xué)生就業(yè)的一個重要條件。同時單片機技術(shù)又是一門實踐性很強的學(xué)科。只有我們不斷地通過實踐研究才能學(xué)習(xí)好單片機課程。1.2 單片機分類按照單片機的類型,單片機有:(1)51系列單片機,為首推系列單片機。其中首推intel公司的單片機 4k字節(jié)的一次性程序存儲器(otp)。(2)具有isp功能的單片機,isp功能能夠?qū)崿F(xiàn)在系統(tǒng)可編程,可以省去通用的編程器,

9、單片機在用戶板上即可下載和燒錄用戶程序,而無需將單片機從生產(chǎn)好的產(chǎn)品上取下。(3)pic系列單片機,pic單片機系列是美國微芯公司(microship)的產(chǎn)品,cpu采用risc結(jié)構(gòu),具有精簡的指令集。pic系列單片機的i/o口是雙向的,其輸出電路為cmos互補推挽輸出電路。具有在線調(diào)試及編程(isp)功能。(4)avr單片機:avr單片機是atmel公司推出的較為新穎的單片機)其顯著的特點為高性能、高速度、低功耗。avr型號的管腳,與對應(yīng)的51系列兼容。(5) at89s52 單片機: at89s52是一種低功耗、性能高具有8k 在系統(tǒng)可編程flash存儲器,向下完全兼容51子系列。1.3

10、單片機的特點單片機是以工業(yè)測控對象、環(huán)境、接口特點出發(fā)向著增強控制功能,提高工業(yè)環(huán)境下的可靠性方向發(fā)展。主要特點如下:種類多,型號全提高性能,擴大容量,性能價格比高增加控制功能,向真正意義上的“單片”機發(fā)展低功耗1.4單片機的應(yīng)用領(lǐng)域目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。

11、因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域2,大致可分如下幾個范疇: 在智能儀器儀表上的應(yīng)用在工業(yè)控制中的應(yīng)用在家用電器中的應(yīng)用在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用在各種大型電器中的模塊化應(yīng)用此外,單片機在金融,科研、教育航空航天等領(lǐng)域都有著十分廣泛的用途。采用以上方案具有以下優(yōu)勢:從經(jīng)濟性、可移植性、可推廣性角度講,建立這樣的課程設(shè)計平臺是非常有意義的;利用仿真系統(tǒng),可以節(jié)約開發(fā)時間和開發(fā)成本,同時具有很大的靈活性和可擴展性。為了更好地學(xué)

12、習(xí)單片機,我們采用proteus軟件與keil軟件整合構(gòu)建單片機虛擬實驗平臺。首先我們要在pc上利用proteus軟件自己搭建硬件電路,并利用系統(tǒng)提供的功能完成電路分析、系統(tǒng)調(diào)試和輸出顯示的硬件設(shè)計部分;同時在keil軟件中編制程序,進行相應(yīng)的編譯和仿真,完成系統(tǒng)的軟件設(shè)計部分。當(dāng)系統(tǒng)的設(shè)計工作完成后,就可以在pc上看到最終的運行效果。最后再通過proteus設(shè)計pcb,再完成真正硬件的調(diào)試。1.5電子時鐘的特點及應(yīng)用領(lǐng)域時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機的應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一方面是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和

13、外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢3;另一方面是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),一是用專門的時鐘芯片實現(xiàn)。數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定地下作;同時還具有體積小,功耗低等特點,便于攜帶,使用方便。同時由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠遠超過老式鐘表.鐘表的數(shù)字化給人們生產(chǎn)生話帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能,數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒”數(shù)字顯示的計時裝置。使得電子時鐘廣泛應(yīng)用于個人家庭、車站、碼頭、辦公室等場所的各個角落,已成為人

14、們口常生話中不可缺少的必需品。第二章 mcs-51單片機簡介2.1 單片機的結(jié)構(gòu)mcs-51單片機是美國inte公司于1980年推出的產(chǎn)品,與mcs-48單片機相比,它的結(jié)構(gòu)更先進,功能更強,在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達111條,mcs-51單片機可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,mcs-51系列或其兼容的單片機仍是應(yīng)用的主流產(chǎn)品,mcs-51系列單片機主要包括8031、圖2.18051和8751等通用產(chǎn)品。2.1.1 mcs-51的引腳說明mcs-51單片機結(jié)構(gòu)框架4如圖2.1mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結(jié)

15、構(gòu),下圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明: 圖2.2pin9:reset/vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在reset引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)行程序。然而,初始復(fù)位不改變ram(包括工作寄存器r0-r7)的狀態(tài),8051的初始態(tài)。8051的

16、復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖2.3。此外,reset/pdf還是一復(fù)用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部ram的數(shù)據(jù)不丟失。 圖2.32.2 單片機的存儲器單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(princeton)結(jié)構(gòu)。intel的mcs-51系列單片機采用的是哈佛結(jié)構(gòu)的形式。2.2.1 程序存儲空間程序存儲空間可以被映射為內(nèi)部程序存儲器或者外部程序存儲器。at89c51單片機內(nèi)部具有的4kb程序存儲器被映射到程序存

17、儲空間的0000h0fffh區(qū)間。這部分程序存儲空間也可以被映射為外部程序存儲器,它具體被映射為哪一種程序存儲器取決于引腳 (引腳31)所接的電平。當(dāng)引腳為高電平,內(nèi)部程序存儲器被映射到這部分程序存儲空間;當(dāng)引腳為低電平,外部程序存儲器被映射到這部分程序存儲空間。高于0fffh的程序存儲空間只能被映射為外部程序存儲器。2.2.2 數(shù)據(jù)存儲空間at89c51的內(nèi)部數(shù)據(jù)存儲器有256字節(jié),它們被分為兩部分:高128字節(jié)和低128字節(jié)。低128字節(jié)的內(nèi)部數(shù)據(jù)存儲器是真正的ram區(qū),可以被用來寫入或讀出數(shù)據(jù)。這一部分存儲容量不是很大,但有很大的作用。它可以進一步被分為3部分,如圖2.4所示。圖2.4

18、內(nèi)部數(shù)據(jù)存儲器低128字節(jié)在內(nèi)部數(shù)據(jù)存儲器低128字節(jié)中,地址從00h1fh的最低32個字節(jié)組成4組工作寄存器,每組有8個工作寄存器。每組中的8個工作寄存器都被命名為從r0到r7。在一個具體時刻,cpu只能使用其中的一組工作寄存器。當(dāng)前正在使用的工作寄存器組由位于高128字節(jié)的程序狀態(tài)字寄存器(psw)中第3位(rs0)和第4位(rs1)的數(shù)據(jù)決定。程序狀態(tài)字寄存器中的數(shù)據(jù)可以通過編程來改變,這種功能為保護工作寄存器的內(nèi)容提供了很大的方便。如果用戶程序中不需要全部使用4組工作寄存器,那么剩下的工作寄存器所對應(yīng)的內(nèi)部數(shù)據(jù)存儲器也可以作為通用數(shù)據(jù)存儲器使用?!?】工作寄存器在內(nèi)部數(shù)據(jù)存儲器中的地址

19、映射如表1.1所示。表1.1 工作寄存器地址映射表0組(rs1=0,rs0=0)1組(rs1=0,rs0=1)2組(rs1=1,rs0=0)3組(rs1=1,rs0=1)地址寄存器地址寄存器地址寄存器地址寄存器00hr008hr010hr018hr001hr109hr111hr119hr102hr20ahr212hr21ahr203hr30bhr313hr31bhr304hr40chr414hr41chr405hr50dhr515hr51dhr506hr60ehr616hr61ehr607hr70fhr717hr71fhr7在工作寄存器區(qū)上面,內(nèi)部數(shù)據(jù)存儲器的地址從20h2fh的16個字節(jié)范圍

20、內(nèi),既可以通過字節(jié)尋址的方式進入,也可以通過位尋址的方式進入,位地址范圍從00h到7fh5。字節(jié)地址與位地址的對應(yīng)關(guān)系。內(nèi)部數(shù)據(jù)存儲器地址從30h7fh部分僅可以用作通用數(shù)據(jù)存儲器。內(nèi)部數(shù)據(jù)存儲器的高128字節(jié)被稱為特殊功能寄存器(sfr)區(qū)。特殊功能寄存器被用作cpu和在片外圍器件之間的接口【6】,它們之間的聯(lián)系方框圖如圖2.5所示。圖2.5 殊功能寄存器(sfr)工作框圖cpu通過向相應(yīng)的特殊功能存儲器寫入數(shù)據(jù)實現(xiàn)控制對應(yīng)的在片外圍器件的工作,從相應(yīng)的特殊功能存儲器讀出數(shù)據(jù)實現(xiàn)讀取對應(yīng)的在片外圍器件的工作結(jié)果。在at89c51單片機中,包括前面提到的程序狀態(tài)字寄存器(psw)的特殊功能存儲

21、器共有26個,它們離散地分布在80hffh的內(nèi)部數(shù)據(jù)存儲器地址空間范圍內(nèi)7,對于沒有定義的存儲單元用戶不能使用。如果向這些存儲單元寫入數(shù)據(jù)將產(chǎn)生不確定的效果,從它們讀取數(shù)據(jù)將得到一個隨機數(shù)。對于字節(jié)地址低位為8h或者fh的特殊功能存儲器,既可以進行字節(jié)操作,也可以進行位操作。例如前面提到的用來確定當(dāng)前工作寄存器組的程序狀態(tài)字寄存器(psw),它的地址為00h,因此對它可以進行字節(jié)操作,也可以進行位操作。采用位操作可以直接控制程序狀態(tài)字寄存器中的第3位(rs0)或第4位(rs1)數(shù)據(jù)而不影響其他位的數(shù)據(jù)。低位地址不為8h或fh的特殊功能存儲器只可以進行字節(jié)操作,當(dāng)需要修改這些特殊功能存儲器中的某

22、些位時,對其他的位應(yīng)注意保護【3】。片外數(shù)據(jù)存儲空間可以被映射為數(shù)據(jù)存儲器、擴展的輸入/輸出接口、模擬/數(shù)字轉(zhuǎn)換器和數(shù)字/模擬轉(zhuǎn)換器等。這些外圍器件統(tǒng)一編址,所有外圍器件的地址都占用數(shù)據(jù)存儲空間的地址資源,因此cpu與片外外圍器件進行數(shù)據(jù)交換時可以使用與訪問外部數(shù)據(jù)存儲器相同的指令。cpu通過向相應(yīng)的外部數(shù)據(jù)存儲器地址單元寫入數(shù)據(jù)實現(xiàn)控制對應(yīng)的片外外圍器件的工作,從相應(yīng)的外部數(shù)據(jù)存儲器地址單元讀出數(shù)據(jù)實現(xiàn)讀取對應(yīng)的片外外圍器件的工作結(jié)果。第三章 數(shù)碼管的簡介3.1 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個

23、“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽極數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮【8】。3.1.1 數(shù)碼管驅(qū)動方式的分類數(shù)碼管要正常

24、顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。3.1.2 靜態(tài)顯示驅(qū)動9靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的i/o端口進行驅(qū)動,或者使用如bcd碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用i/o端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5840根i/o端口來驅(qū)動,要知道一個89s51單片機可用的i/o端口才32個呢:),實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。3.1.3 動態(tài)顯示驅(qū)動數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的

25、一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極com增加位選通控制電各自獨立的i/o線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,

26、但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低【5】。3.2 數(shù)碼管的應(yīng)用數(shù)碼管是一類顯示屏 通過對其不同的管腳輸入相對的電流會使其發(fā)亮從而顯示出數(shù)字??梢燥@示、時間、日期、溫度等所有可以用數(shù)字代替的參數(shù)。由于它的價格便宜使用簡單,所以在電器特別是家電領(lǐng)域應(yīng)用極為廣泛,如:空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管其他家電也用液晶屏與熒光屏。3.2.1 數(shù)碼管使用的電流與電壓10電流:靜態(tài)時,推薦使用10-15ma;動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5ma,峰值電流50-60ma

27、。電壓:當(dāng)選擇紅色時,使用1.9v;當(dāng)選擇綠色時,使用2.1v。第四章 電子時鐘的設(shè)計4.1 可實現(xiàn)的功能1采用六位數(shù)碼管顯示小時、分鐘、秒,并且可以任意設(shè)定時間。2可以查看并且設(shè)定日期,日期采用年、月、日的顯示方式。3可以查看并設(shè)定鬧鐘,鬧鐘的顯示方式采用與時間相同的顯示方式。4可以查看并設(shè)定星期,數(shù)碼管的最后一位顯示星期,用數(shù)字8表示星期日。5系統(tǒng)設(shè)定詳細說明:系統(tǒng)的初始狀態(tài)為顯示時鐘狀態(tài),此時顯示小時、分鐘、秒。初始狀態(tài)下,按k0鍵進入時間調(diào)整程序,按k1鍵查看鬧鐘,按k2鍵查看日期,按k3鍵查看星期。進入時間調(diào)整狀態(tài)后,首先調(diào)整分鐘,此時分鐘閃爍顯示,按k1鍵加一,按k2鍵減一。按k0

28、鍵開始調(diào)整小時,此時小時閃爍顯示,按k1鍵加一,按k2鍵減一,再按k0鍵后系統(tǒng)返回到顯示時間狀態(tài)。在調(diào)整時間狀態(tài)下按下k3鍵進入調(diào)整鬧鐘狀態(tài),此時顯示原先的鬧鐘時間,并且鬧鐘分鐘閃爍顯示,此時按k1鍵加一,按k2鍵減一;調(diào)整后按k0鍵轉(zhuǎn)換到鬧鐘小時調(diào)整單元,此時按k1鍵加一,按k2鍵減一。鬧鐘調(diào)整完畢后按k0鍵回到調(diào)整時間狀態(tài),按k3鍵轉(zhuǎn)到調(diào)整日期狀態(tài)。在調(diào)整日期狀態(tài)下,日單元閃爍顯示,此時按k1鍵加一,按k2鍵減一;按下k0鍵進入調(diào)整月,此時按k1鍵加一,按k2鍵減一;按下k0鍵進入調(diào)整年,此時按k1鍵加一,按k2鍵減一。此時按下k0鍵返回到調(diào)整時間狀態(tài),按下k3鍵進入調(diào)整星期狀態(tài)。在調(diào)整星

29、期狀態(tài)下,星期閃爍顯示,此時按k1鍵加一,按k2鍵減一。按下k0鍵返回到調(diào)整時間狀態(tài)。此時分鐘閃爍顯示,按k0鍵開始調(diào)整小時,此時小時閃爍顯示,再按k0鍵后系統(tǒng)返回到顯示時間狀態(tài)。4.2 軟件設(shè)計流程 秒計數(shù)器的計數(shù)時鐘信號為1hz的標(biāo)準(zhǔn)信號,可以由cpld板上提供的20mhz的信號通過分頻得到。秒計數(shù)器的進位輸出信號作為分鐘計數(shù)器的計數(shù)信號,分鐘計數(shù)器的進位輸出信號又作為小時計數(shù)器的計數(shù)信號11.設(shè)計一個同時顯示時、分、秒6個數(shù)字的數(shù)字鐘,則需要6個七段顯示器。若同時點亮這6個七段顯示器,則電路中會產(chǎn)生一個比較大的電流,很容易造成電路燒壞,我們通過掃描電路來解決這一問題,通過產(chǎn)生一個掃描信號

30、lt(0)一lt(5)來控制6個七段顯示器,依次點亮6個七段顯示器,也就是每次只點亮一個七段顯示器。只要掃描信號的頻率超過人的眼睛視覺暫留頻率24hz以上,就可以達到盡管每次點亮單個七段顯示器,卻能具有6個同時顯示的視覺效果,而目顯示也不致閃爍抖動。其中6位掃描信號一方面控制七段顯示器依次點亮,一方面控制6選1選擇器輸出相應(yīng)顯示數(shù)字??刂齐娐酚脕韺⒖刂茣r鐘的一些功能加入到整個正常計數(shù)的顯示電路中,通過最終的顯示來驗證控制電路的正確性【12】。圖4.1為整體系統(tǒng)設(shè)計標(biāo)圖(下頁圖4.1)。圖4.1主程序流程圖圖4.2計時中斷服務(wù)程序流程圖4.3 電子時鐘設(shè)計的部分主要流程匯編語言是計算機提供給用戶

31、的最快最有效的語言,也是能夠利用計算機的所有硬件特性并能夠直接控制硬件的唯一語言。但是由于編寫和調(diào)試匯編語言程序要比高級語言復(fù)雜,因此目前其應(yīng)用不如高級語言廣泛【8】。但對于對電子時鐘的設(shè)計這樣的程序來說,用匯編語言是最快最有效的語言,下面是用匯編語言進行編寫的基于單片機的電子時鐘的設(shè)計的部分主要流程程序(見附錄) 第五章 電子時鐘的仿真5.1 單片機調(diào)試仿真軟件源文件的輸入:keil單片機模擬調(diào)試軟件內(nèi)集成了一個文本編輯器,用該文本編輯器可以編輯源程序。打開”file”“new”就打開的此編輯器。在圖5.1中已經(jīng)完成了匯編語言源文件的輸入,并且完成了源程序向當(dāng)前工程的添加。然后再創(chuàng)建工程的步

32、驟如下:打開”project”“new uvision project”然后顯示一個對話框,在對話框里選擇atmel,在atmel的下拉框中找at89c51選擇后點擊“ok”就創(chuàng)建了一個工程,注意:創(chuàng)建時把此工程保存在熟悉的文件夾里,以便于后面的查找使用。圖5.1 keil單片機模擬調(diào)試軟件的集成開發(fā)環(huán)境完成匯編語言源文件的輸入后,接著需要把匯編語言源文件加入工程之中。選擇圖5.1中的工程管理器窗口的子目錄source group 1,再單擊鼠標(biāo)右鍵打開快捷菜單。在快捷菜單中選擇“add file to group“source group 1”,加入文件對話框被打開。在這個對話框的“查找范圍

33、”下拉列表框中選擇存儲匯編語言源文件的文件夾,在“文件類型”下拉列表框中選擇asm source file(*.a*;*.src),這時存儲的匯編語言源文件將顯示出來。雙擊要加入的文件名,或者選擇要加入的文件名再單擊add按鈕即可完成把匯編語言源文件加入工程。這時工程管理窗口的文件選項卡中子目錄source group 1下出現(xiàn)一個匯編語言源文件,如圖5.1所示。proteus軟件:proteus 是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件是一款集單片機和spice分析于一身的仿真軟件,

34、功能極其強大。proteus軟件由labcenter公司開發(fā),是目前世界上最先進、最完整的嵌入式系統(tǒng)設(shè)計與仿真平臺,可以實現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和pcb設(shè)計等功能,是目前唯一能夠?qū)Ω鞣N處理器進行實時仿真、調(diào)試與測試的eda工具。微控制器系統(tǒng)相關(guān)的仿真需建立編譯和調(diào)試環(huán)境,可選擇keil c51uvision2 軟件。該軟件支持眾多不同公司的芯片,集編輯、編譯和程序仿真等于一體,同時還支持plm、匯編和c語言的程序設(shè)計。它的界面友好易學(xué),在調(diào)試程序、軟件仿真方面有很強大的功能。 其革命性的功能是:將電路仿真和微處理器仿真進行協(xié)同,

35、直接在基于原理圖的虛擬原型上進行處理器編程調(diào)試,并進行功能驗證,通過動態(tài)器件如電機、led、lcd、開關(guān)等,實時看到運行后的輸入、輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等, proteus為我們建立了完備的電子設(shè)計開發(fā)環(huán)境。5.2 電子時鐘的仿真選擇仿真元器件在進行仿真之前對所需的仿真的元器件的選擇也是很重要的,所需仿真元器件的好壞直接影響到仿真的效果,如果選擇的元器件比較不太合理可能使仿真的結(jié)果不理想,甚至?xí)?dǎo)致仿真的失敗。下表列出本次設(shè)計中用到的元器件【14】:在進行元器件的選擇后,并且在keil上完成程序的編寫測試后我們就可以著手進行電子時鐘的仿真了。在數(shù)字電子時鐘程序初

36、步編完之后,利用單片機硬件仿真軟件進行仿真和調(diào)試,同時對程序進行適當(dāng)?shù)男薷?1。該設(shè)計在仿真及調(diào)試過程中應(yīng)注意以下幾點:1.單片機時間基準(zhǔn)振蕩電路中振蕩晶體頻率的選擇必須要和程序中的時間基準(zhǔn)相一致。2.由于單片機處理數(shù)據(jù)過程中要響應(yīng)中斷等原因,而中斷服務(wù)程序所花費的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調(diào)試中調(diào)試數(shù)碼管的發(fā)光時間時,需要反復(fù)修改程序中的給定的時間,直到整體上的顯示效果較好,不會有閃爍的現(xiàn)象產(chǎn)生12。在proteus軟件中進行電子時鐘電路原理圖的繪制,繪制結(jié)果如5.2所示,在電子時鐘仿真的原理圖此圖中的核心部分是左邊的89c51單片機中部有顯示驅(qū)動芯

37、片max7219,右上部分是一個八段的數(shù)碼管顯示屏,數(shù)碼管下面為四個按鍵,圖中的左下部的那個芯片為時鐘芯片ds1302,時鐘芯片右部為蜂鳴器,原理圖中還有單片機的晶振電路和單片機的復(fù)位電路。ds1302 是美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的ram寄存器。ds1302是ds1202的升級產(chǎn)品,與ds1202兼容,但增加了主電源/后背

38、電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。max7219是maxim公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動芯片,一片max7219可驅(qū)動8個7段(包括小數(shù)點共8段)數(shù)字led、led條線圖形顯示器、或64個分立的led發(fā)光二級管。該芯片具有10mhz傳輸率的三線串行接口可與任何微處理器相連,只需一個外接電阻即可設(shè)置所有l(wèi)ed的段電流。它的操作很簡單,mcu只需通過模擬spi三線接口就可以將相關(guān)的指令寫入max7219的內(nèi)部指令和數(shù)據(jù)寄存器,同時它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片7219串聯(lián)方式,這樣mcu就可以通過3根線(即串行數(shù)據(jù)線、串行時鐘線和芯

39、片選通線)控制更多的數(shù)碼管顯示。各器件的作用:89c51單片機是總體的控制器(整個電子時鐘的cpu),源程序的加載、電路的控制、數(shù)據(jù)的加載、傳送等都在單片機這一部分。顯示驅(qū)動芯片max7219是連接單片機和數(shù)碼管的芯片。數(shù)碼管顯示屏其顯示作用,是信號的顯示,是本設(shè)計中唯一的顯示設(shè)備。按鍵是對時間、日期等的調(diào)整或輸入,其具體操作方法下節(jié)有具體介紹。時鐘芯片ds1302是系統(tǒng)中的計時芯片,它對年、月、日、時、分、秒等的計時,它采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號。蜂鳴器起鬧鐘揚聲功能。另外單片機的晶振電路和復(fù)位電路屬于電路部分,是信號數(shù)據(jù)的傳輸。5.3 整機

40、的仿真及調(diào)試調(diào)試:把編寫完的源程序放在keil軟件中,先自行檢查下程序是否有誤,更改有誤的部分,再創(chuàng)建工程進行程序一個一個地調(diào)試,把調(diào)試結(jié)果顯示有誤的部分找出,檢查錯誤的原因然后再進行更改,更改后再進行調(diào)試,再找出錯誤進行更改,依次循環(huán)進行,至到程序調(diào)試成功為止。調(diào)試結(jié)果如圖5.2: 調(diào)試結(jié)果圖5.2仿真:仿真是把keil中生成的源程序找出,并加載到單片機內(nèi),檢查原理圖的設(shè)計是否有誤,更改有誤的部分,然后進行仿真,看仿真結(jié)果是否正確,如果不正確或者不顯示結(jié)果,就再此檢查原理圖進行更改直到能順利地仿真出結(jié)果。 如上圖5.3為電子時鐘整機仿真圖:該設(shè)計在仿真及調(diào)試過程中應(yīng)注意以下幾點:1.單片機時

41、間基準(zhǔn)振蕩電路中振蕩晶體頻率的選擇必須要和程序中的時間基準(zhǔn)相一致。2.由于單片機處理數(shù)據(jù)過程中要響應(yīng)中斷等原因,而中斷服務(wù)程序所花費的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調(diào)試中調(diào)試數(shù)碼管的發(fā)光時間時,需要反復(fù)修改程序中的給定的時間,直到整體上的顯示效果較好,不會有閃爍的現(xiàn)象產(chǎn)生。此仿真結(jié)果的主要實現(xiàn)(1)將其電源鍵打開,按下電源開關(guān)即開始常工作,8個數(shù)碼管顯示依次是時、分、秒、溫度,各占兩位。 (2)按鍵說明:復(fù)位鍵,當(dāng)發(fā)現(xiàn)系統(tǒng)運行不正常,進入死循環(huán),顯示數(shù)值。嚴重失真時,按復(fù)位鍵,其內(nèi)部功能為使用單片機復(fù)位。強行使單片機從頭開始運行,跳出錯誤區(qū)。日期顯示鍵,該

42、鍵接外部中斷零(1nt0引腳)。通過中斷服務(wù)子程序來達到顯示的年、月、日、星期的目的。其中每項占兩位,年份只顯示后兩位,如06 06 06 03表示06年06月06號星期三。中斷程序只進行一秒,后返回主程序,顯示時、分、秒、溫度。調(diào)時鍵(ts)按下此鍵進入調(diào)時子程序,按一下調(diào)分鐘,兩下調(diào)時,三下調(diào)星期,四下調(diào)日期,五下調(diào)月份,六下調(diào)年份的低兩位,七下調(diào)年份的高兩位。add鍵表示增加,每按一下增加一,dwc鍵表示減少,每按一下減少一,三個鍵組合在一起完成調(diào)時功能。具體的按鍵使用:當(dāng)進入調(diào)整功能時,按第一個鍵k1進行減運算,按第二個鍵k2進行加運算。按下第三個鍵k3,實現(xiàn)日期時間調(diào)整及定時功能,等

43、數(shù)字閃爍后,按一二鍵進行加減,從而可以進行具體日期時間調(diào)整。當(dāng)定時設(shè)定后,到預(yù)定時間后,時鐘會發(fā)出連續(xù)的蜂鳴聲。按下第四個鍵k4,可以進行時間日期切換,8位led數(shù)碼管將顯示時間或日期,采用24小時制。 結(jié)束語本文通過對電子時鐘的設(shè)計仿真,使自己對單片機和匯編語言有了進一步的溫故掌握。在設(shè)計過程中,吸收了前輩的一些先進的理論成果,也對彭小軍同志的時鐘設(shè)計經(jīng)驗進行了借鑒。我在設(shè)計中總結(jié)出了一個重要的經(jīng)驗:一切問題都要結(jié)合實際進行設(shè)計。因為不同的設(shè)計技術(shù)或者設(shè)計思想都有自身的優(yōu)點和局限性,只有根據(jù)具體的設(shè)計要求,才能順利地進行設(shè)計仿真,也才能對己有的設(shè)計方法進行創(chuàng)新。本裝置所實現(xiàn)的功能為時鐘功能。

44、由于時間和日期都是通過特定的芯片來獲得的,單片機只起到控制和轉(zhuǎn)換的作用,在精度方面不受單片機性能和程序的限制,故容易保障其精度和效率。本次設(shè)計有較大的進展,取得了較好的效果,對單片機軟硬件資源和接日擴展都有深入的學(xué)習(xí)。也學(xué)習(xí)了時鐘芯片12887的基本原理和使用方法。本設(shè)計是學(xué)習(xí)單片機的較佳選擇。但是設(shè)計還有諸多功能沒有完善,以后有機會會繼續(xù)完善其相應(yīng)的功能。設(shè)計不足:本系統(tǒng)所采用的顯示模塊led較多,占用了不少資源,包括線路板、 單片機端口等,同時使得電路穩(wěn)定性下降; 由于時間比較緊迫,未能開發(fā)出更多的功能以體現(xiàn)單片機電子時鐘的優(yōu)越性。 本系統(tǒng)上可實現(xiàn)的功能:1.實現(xiàn)秒表功能; 2.實現(xiàn)鬧鈴功

45、能,當(dāng)所定的時間到時,產(chǎn)生斷續(xù)的蜂鳴聲;3.具有天數(shù)倒計時功能,例如:距科技文化藝術(shù)節(jié)開幕還有*天;以上的功能由于時間緊迫未能完成。 但這些功能的開發(fā)都具有可行性, 這也就是單片機可擴展功能的優(yōu)越性之所見,有待于繼續(xù)開發(fā)。報告結(jié)束,請老師和同學(xué)們批評指正! 謝謝大家!致 謝本課題的研究和論文的完成是在劉豐年老師和南楠老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。老師嚴謹?shù)闹螌W(xué)態(tài)度、豐富的實踐經(jīng)驗、兢兢業(yè)業(yè)的工作精神使我受益匪淺。老師豁達的胸懷對我樹立正確的人生觀和價值觀產(chǎn)生了積極的影響。在老師的指導(dǎo)和幫助下,我的專業(yè)知識水平和學(xué)習(xí)能力都得到了很大的提高。我在人生道路上的每一個腳印都凝聚著老師的心血。跟隨老

46、師學(xué)習(xí)這兩年所獲得的知識將是我一生中最寶貴的財富。在此謹向劉老師、南楠老師表示崇高的敬意和衷心的感謝!感謝老師在研究工作中對我進行的悉心指導(dǎo),并為我的學(xué)習(xí)提供了良好的條件,使我的論文的撰寫得以順利進行。感謝劉老師在我的學(xué)習(xí)和生活中給予的教誨和幫助。在課題的討論和論文的撰寫過程中,與張偉欣等同學(xué)有益討論使我受益匪淺。最后感謝生我育我的父母!感謝你們一直以來對我的無私關(guān)愛和默默奉獻。 參考文獻 1周昌七,電大理工,2006年11月,總第225期,桌面電子時鐘制作 2,彭小軍,新余高專學(xué)報,2006年4月,第9卷第2期用單片機實現(xiàn)電子時鐘 3陳同洲,郭華帥,中國傳媒大學(xué)學(xué)報,2009年3月,第16卷

47、第1期,電子時鐘仿真及fpga實現(xiàn)4吳鎮(zhèn)宇,2005年9月,片上時鐘系統(tǒng)的研究與的設(shè)計5 李建忠,2004年,西安電子科技大學(xué)出版社,單片機原理及應(yīng)用6孫彩蘭 蔣海琳,計算機與信息技術(shù),軟件縱橫,基于c語言為內(nèi)核的電子時鐘設(shè)計 7彭小軍,新余高專學(xué)報,2006年4月,第9卷第2期,用單片機實現(xiàn)電子時鐘8顏學(xué)超,2006年5月,一種實時時鐘芯片的設(shè)計9翟玉文 徐宏亮 趙巖,吉林化工學(xué)院學(xué)報,2007年1月,實用多功能電子時鐘設(shè)計 10陳同洲,郭華帥,中國傳媒大學(xué)學(xué)報,2009年3月第16卷第1期,電子時鐘仿真及fpga實現(xiàn)11吳鎮(zhèn)宇,2005年9月,片上時鐘系統(tǒng)的研究與的設(shè)計12簡寧,企業(yè)科技與

48、發(fā)展,2010年第16期,電子時鐘仿真實現(xiàn)13徐得波,葛廣英,2004年9月,自然科學(xué),單片機動態(tài)可調(diào)電子時鐘系統(tǒng)14戴勇,劉斌儒,國外電子元器件2008年第7期,基于avr單片機mega16的電子時鐘的設(shè)計15 何翠萍,劉曉剛,周功海,煤礦現(xiàn)代化,2007年1月第1期,單片機控電子時鐘的設(shè)計附 錄:shia equ 30hshib equ 31hfena equ 32hfenb equ 33hmiaoa equ 34hmiaob equ 35h ;顯示代碼存儲單元;shian equ 40hshibn equ 41hfenan equ 42hfenbn equ 43hmiaoan equ 4

49、4hmiaobn equ 45h ;顯示數(shù)據(jù)存儲單元;jian0 equ p0.0jian1 equ p0.1jian2 equ p0.2jian3 equ p0.3 ;鍵盤定義;shial equ 46hshibl equ 47hfenal equ 48hfenbl equ 49h ;鬧鐘存儲單元;niana equ 4ahnianb equ 4bhyuea equ 4chyueb equ 4dhria equ 4ehrib equ 4fh ;日歷存儲單元;xingqi equ 56h ;星期存儲單元; org 0000h ljmp main org 000bh ljmp timer0 ;秒計時中斷服務(wù)程序 org 001bh ljmp timer1 ;調(diào)時閃爍中斷服務(wù)程序 org 0035h;主程序main: mov 20h,#00h mov r0,#40h mov r1,#32main1: mov r0,#00h inc r0 djnz r1,main1 ;40h-5fh存儲單元清零 mov shial,#2 mov shibl,#3 mov niana,#0 mov nianb,#1 mov yuea,#0 mov yueb,#1 mov ria,#0 mov rib,#1 mov x

溫馨提示

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

評論

0/150

提交評論