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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、為程序設計語言,從而克服傳統電子時鐘的弊端。本設計擬實現的基本功能為單片機計時顯示功能。能夠體現單片機電子時鐘的可擴展優越性,加入時間調整程序,使用按鈕,調整年月日及時間;加入陰歷顯示功能。關鍵詞:單片機,電子時鐘,匯編語言 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 complexi

3、ty continues to improve, 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

4、 and industrial automation. 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

5、 the basic functions 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,

6、 assembly language 目 錄摘 要1abstract2目 錄4第 一 章 緒 論51.1單片機的定義51.2 單片機分類51.3 單片機的特點61.4單片機的應用領域61.5電子時鐘的特點及應用領域7第二章 mcs-51單片機簡介82.1 單片機的結構82.2 單片機的存儲器10第三章 數碼管的簡介143.1 數碼管的分類143.2 數碼管的應用15第四章 電子時鐘的設計164.1 可實現的功能164.2 軟件設計流程164.3 電子時鐘設計的部分主要流程20第五章 電子時鐘的仿真215.1 單片機調試仿真軟件215.2 電子時鐘的仿真225.3 整機的仿真及調試25結束語28

7、致 謝29參考文獻30 第 一 章 緒 論1.1單片機的定義 單片機是指一個集成在一塊芯片上的完整計算機系統。盡管他的大部分功能集成在一個小芯片上,但是它具有一個完整計算機所需要的大部分部件:cpu、內存、內部和外部總線系統,目前大部分單片機還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統集成在一塊芯片上。單片機也被稱為微控制器(microcontroller),是因為它最早被用在工業控制領域。單片機由芯片內僅有cpu的專用處理器發展而來,最早的設計理念是通過將大量外圍設備和cpu集成在一個芯片中,使計算機系

8、統更小、更容易集成于復雜的而對體積要求嚴格的控制設備當中。intel的z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發展便分道揚鑣1。單片機技術是現代電子工程領域一門迅速發展的技術,它的應用已經滲透到各種嵌入式系統中。可以毫不夸張地說:掌握單片機技術是電子信息類專業學生就業的一個重要條件。同時單片機技術又是一門實踐性很強的學科。只有我們不斷地通過實踐研究才能學習好單片機課程。1.2 單片機分類按照單片機的類型,單片機有:(1)51系列單片機,為首推系列單片機。其中首推intel公司的單片機 4k字節的一次性程序存儲器(otp)。(2)具有isp功能的單片機,isp功能能

9、夠實現在系統可編程,可以省去通用的編程器,單片機在用戶板上即可下載和燒錄用戶程序,而無需將單片機從生產好的產品上取下。(3)pic系列單片機,pic單片機系列是美國微芯公司(microship)的產品,cpu采用risc結構,具有精簡的指令集。pic系列單片機的i/o口是雙向的,其輸出電路為cmos互補推挽輸出電路。具有在線調試及編程(isp)功能。(4)avr單片機:avr單片機是atmel公司推出的較為新穎的單片機)其顯著的特點為高性能、高速度、低功耗。avr型號的管腳,與對應的51系列兼容。(5) at89s52 單片機: at89s52是一種低功耗、性能高具有8k 在系統可編程flas

10、h存儲器,向下完全兼容51子系列。1.3 單片機的特點單片機是以工業測控對象、環境、接口特點出發向著增強控制功能,提高工業環境下的可靠性方向發展。主要特點如下:·種類多,型號全·提高性能,擴大容量,性能價格比高·增加控制功能,向真正意義上的“單片”機發展·低功耗1.4單片機的應用領域目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩

11、具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域2,大致可分如下幾個范疇: ·在智能儀器儀表上的應用·在工業控制中的應用·在家用電器中的應用·在計算機網絡和通信領域中的應用 ·單片機在醫用設備領域中的應用·在各種大型電器中的模塊化應用此外,單片機在金融,科研、教育航空航天等領域都有著十分廣泛的用途。采用以上方案具有以下優勢

12、:從經濟性、可移植性、可推廣性角度講,建立這樣的課程設計平臺是非常有意義的;利用仿真系統,可以節約開發時間和開發成本,同時具有很大的靈活性和可擴展性。為了更好地學習單片機,我們采用proteus軟件與keil軟件整合構建單片機虛擬實驗平臺。首先我們要在pc上利用proteus軟件自己搭建硬件電路,并利用系統提供的功能完成電路分析、系統調試和輸出顯示的硬件設計部分;同時在keil軟件中編制程序,進行相應的編譯和仿真,完成系統的軟件設計部分。當系統的設計工作完成后,就可以在pc上看到最終的運行效果。最后再通過proteus設計pcb,再完成真正硬件的調試。1.5電子時鐘的特點及應用領域時鐘電路在計

13、算機系統中起著非常重要的作用,是保證系統正常工作的基礎。在一個單片機的應用系統中,時鐘有兩方面的含義:一方面是指為保障系統正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統工作的快慢3;另一方面是指系統的標準定時時鐘,即定時時間,它通常有兩種實現方法:一是用軟件實現,即用單片機內部的可編程定時/計數器來實現,一是用專門的時鐘芯片實現。數字鐘能長期、連續、可靠、穩定地下作;同時還具有體積小,功耗低等特點,便于攜帶,使用方便。同時由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度遠遠超過老式鐘表.鐘表的數字化給人們生產生話帶來了極大的方便,而且大大

14、地擴展了鐘表原先的報時功能,數字鐘是采用數字電路實現對時、分、秒”數字顯示的計時裝置。使得電子時鐘廣泛應用于個人家庭、車站、碼頭、辦公室等場所的各個角落,已成為人們口常生話中不可缺少的必需品。第二章 mcs-51單片機簡介2.1 單片機的結構mcs-51單片機是美國inte公司于1980年推出的產品,與mcs-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數達111條,mcs-51單片機可以算是相當成功的產品,一直到現在,mcs-51系列或其兼容的單片機仍是應用的主流產品,mcs-51系列單片機主要包括8031、圖2.18051和8751等通用產品。2

15、.1.1 mcs-51的引腳說明mcs-51單片機結構框架4如圖2.1mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,下圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復用。現在我們對這些引腳的功能加以說明: 圖2.2pin9:reset/vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在reset引腳上出現24個時鐘周期以上的高電平,系統即初始復位。初始化后,程序計數器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫入07h,其它專用寄存器被清“0”

16、。reset由高電平下降為低電平后,系統即從0000h地址開始執行程序。然而,初始復位不改變ram(包括工作寄存器r0-r7)的狀態,8051的初始態。8051的復位方式可以是自動復位,也可以是手動復位,見下圖2.3。此外,reset/pdf還是一復用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機內部ram的數據不丟失。 圖2.32.2 單片機的存儲器單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的結構,即普林斯頓(princeton)結構。intel的mcs-51系列單片機采用

17、的是哈佛結構的形式。2.2.1 程序存儲空間程序存儲空間可以被映射為內部程序存儲器或者外部程序存儲器。at89c51單片機內部具有的4kb程序存儲器被映射到程序存儲空間的0000h0fffh區間。這部分程序存儲空間也可以被映射為外部程序存儲器,它具體被映射為哪一種程序存儲器取決于引腳 (引腳31)所接的電平。當引腳為高電平,內部程序存儲器被映射到這部分程序存儲空間;當引腳為低電平,外部程序存儲器被映射到這部分程序存儲空間。高于0fffh的程序存儲空間只能被映射為外部程序存儲器。2.2.2 數據存儲空間at89c51的內部數據存儲器有256字節,它們被分為兩部分:高128字節和低128字節。低1

18、28字節的內部數據存儲器是真正的ram區,可以被用來寫入或讀出數據。這一部分存儲容量不是很大,但有很大的作用。它可以進一步被分為3部分,如圖2.4所示。圖2.4 內部數據存儲器低128字節在內部數據存儲器低128字節中,地址從00h1fh的最低32個字節組成4組工作寄存器,每組有8個工作寄存器。每組中的8個工作寄存器都被命名為從r0到r7。在一個具體時刻,cpu只能使用其中的一組工作寄存器。當前正在使用的工作寄存器組由位于高128字節的程序狀態字寄存器(psw)中第3位(rs0)和第4位(rs1)的數據決定。程序狀態字寄存器中的數據可以通過編程來改變,這種功能為保護工作寄存器的內容提供了很大的

19、方便。如果用戶程序中不需要全部使用4組工作寄存器,那么剩下的工作寄存器所對應的內部數據存儲器也可以作為通用數據存儲器使用。【4】工作寄存器在內部數據存儲器中的地址映射如表1.1所示。表1.1 工作寄存器地址映射表0組(rs1=0,rs0=0)1組(rs1=0,rs0=1)2組(rs1=1,rs0=0)3組(rs1=1,rs0=1)地址寄存器地址寄存器地址寄存器地址寄存器00hr008hr010hr018hr001hr109hr111hr119hr102hr20ahr212hr21ahr203hr30bhr313hr31bhr304hr40chr414hr41chr405hr50dhr515hr

20、51dhr506hr60ehr616hr61ehr607hr70fhr717hr71fhr7在工作寄存器區上面,內部數據存儲器的地址從20h2fh的16個字節范圍內,既可以通過字節尋址的方式進入,也可以通過位尋址的方式進入,位地址范圍從00h到7fh5。字節地址與位地址的對應關系。內部數據存儲器地址從30h7fh部分僅可以用作通用數據存儲器。內部數據存儲器的高128字節被稱為特殊功能寄存器(sfr)區。特殊功能寄存器被用作cpu和在片外圍器件之間的接口【6】,它們之間的聯系方框圖如圖2.5所示。圖2.5 殊功能寄存器(sfr)工作框圖cpu通過向相應的特殊功能存儲器寫入數據實現控制對應的在片外

21、圍器件的工作,從相應的特殊功能存儲器讀出數據實現讀取對應的在片外圍器件的工作結果。在at89c51單片機中,包括前面提到的程序狀態字寄存器(psw)的特殊功能存儲器共有26個,它們離散地分布在80hffh的內部數據存儲器地址空間范圍內7,對于沒有定義的存儲單元用戶不能使用。如果向這些存儲單元寫入數據將產生不確定的效果,從它們讀取數據將得到一個隨機數。對于字節地址低位為8h或者fh的特殊功能存儲器,既可以進行字節操作,也可以進行位操作。例如前面提到的用來確定當前工作寄存器組的程序狀態字寄存器(psw),它的地址為00h,因此對它可以進行字節操作,也可以進行位操作。采用位操作可以直接控制程序狀態字

22、寄存器中的第3位(rs0)或第4位(rs1)數據而不影響其他位的數據。低位地址不為8h或fh的特殊功能存儲器只可以進行字節操作,當需要修改這些特殊功能存儲器中的某些位時,對其他的位應注意保護【3】。片外數據存儲空間可以被映射為數據存儲器、擴展的輸入/輸出接口、模擬/數字轉換器和數字/模擬轉換器等。這些外圍器件統一編址,所有外圍器件的地址都占用數據存儲空間的地址資源,因此cpu與片外外圍器件進行數據交換時可以使用與訪問外部數據存儲器相同的指令。cpu通過向相應的外部數據存儲器地址單元寫入數據實現控制對應的片外外圍器件的工作,從相應的外部數據存儲器地址單元讀出數據實現讀取對應的片外外圍器件的工作結

23、果。第三章 數碼管的簡介3.1 數碼管的分類數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽極數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(com)的數碼管。共陽極數碼管在應用時應將公共極com接到+5v,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰極數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(com)的數碼管。共陰極數碼管在應用時應將公共極com接到

24、地線gnd上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮【8】。3.1.1 數碼管驅動方式的分類數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。3.1.2 靜態顯示驅動9靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的i/o端口進行驅動,或者使用如bcd碼二-十進制譯碼器譯碼進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用i/o端口多,如驅動5個數碼管靜態顯示則需要5×840根i/o端口來驅動,要知道一個8

25、9s51單片機可用的i/o端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。3.1.3 動態顯示驅動數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極com增加位選通控制電各自獨立的i/o線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通com端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流

26、控制各個數碼管的com端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的i/o端口,而且功耗更低【5】。3.2 數碼管的應用數碼管是一類顯示屏 通過對其不同的管腳輸入相對的電流會使其發亮從而顯示出數字。可以顯示、時間、日期、溫度等所有可以用數字代替的參數。由于它的價格便宜使用簡單,所以在電器特別是家電領域應用極為廣泛,如:空調、熱水器、冰箱等等。絕大多

27、數熱水器用的都是數碼管其他家電也用液晶屏與熒光屏。3.2.1 數碼管使用的電流與電壓10電流:靜態時,推薦使用10-15ma;動態時,16/1動態掃描時,平均電流為4-5ma,峰值電流50-60ma。電壓:當選擇紅色時,使用1.9v;當選擇綠色時,使用2.1v。第四章 電子時鐘的設計4.1 可實現的功能1采用六位數碼管顯示小時、分鐘、秒,并且可以任意設定時間。2可以查看并且設定日期,日期采用年、月、日的顯示方式。3可以查看并設定鬧鐘,鬧鐘的顯示方式采用與時間相同的顯示方式。4可以查看并設定星期,數碼管的最后一位顯示星期,用數字8表示星期日。5系統設定詳細說明:系統的初始狀態為顯示時鐘狀態,此時

28、顯示小時、分鐘、秒。初始狀態下,按k0鍵進入時間調整程序,按k1鍵查看鬧鐘,按k2鍵查看日期,按k3鍵查看星期。進入時間調整狀態后,首先調整分鐘,此時分鐘閃爍顯示,按k1鍵加一,按k2鍵減一。按k0鍵開始調整小時,此時小時閃爍顯示,按k1鍵加一,按k2鍵減一,再按k0鍵后系統返回到顯示時間狀態。在調整時間狀態下按下k3鍵進入調整鬧鐘狀態,此時顯示原先的鬧鐘時間,并且鬧鐘分鐘閃爍顯示,此時按k1鍵加一,按k2鍵減一;調整后按k0鍵轉換到鬧鐘小時調整單元,此時按k1鍵加一,按k2鍵減一。鬧鐘調整完畢后按k0鍵回到調整時間狀態,按k3鍵轉到調整日期狀態。在調整日期狀態下,日單元閃爍顯示,此時按k1鍵

29、加一,按k2鍵減一;按下k0鍵進入調整月,此時按k1鍵加一,按k2鍵減一;按下k0鍵進入調整年,此時按k1鍵加一,按k2鍵減一。此時按下k0鍵返回到調整時間狀態,按下k3鍵進入調整星期狀態。在調整星期狀態下,星期閃爍顯示,此時按k1鍵加一,按k2鍵減一。按下k0鍵返回到調整時間狀態。此時分鐘閃爍顯示,按k0鍵開始調整小時,此時小時閃爍顯示,再按k0鍵后系統返回到顯示時間狀態。4.2 軟件設計流程 秒計數器的計數時鐘信號為1hz的標準信號,可以由cpld板上提供的20mhz的信號通過分頻得到。秒計數器的進位輸出信號作為分鐘計數器的計數信號,分鐘計數器的進位輸出信號又作為小時計數器的計數信號11.

30、設計一個同時顯示時、分、秒6個數字的數字鐘,則需要6個七段顯示器。若同時點亮這6個七段顯示器,則電路中會產生一個比較大的電流,很容易造成電路燒壞,我們通過掃描電路來解決這一問題,通過產生一個掃描信號lt(0)一lt(5)來控制6個七段顯示器,依次點亮6個七段顯示器,也就是每次只點亮一個七段顯示器。只要掃描信號的頻率超過人的眼睛視覺暫留頻率24hz以上,就可以達到盡管每次點亮單個七段顯示器,卻能具有6個同時顯示的視覺效果,而目顯示也不致閃爍抖動。其中6位掃描信號一方面控制七段顯示器依次點亮,一方面控制6選1選擇器輸出相應顯示數字。控制電路用來將控制時鐘的一些功能加入到整個正常計數的顯示電路中,通

31、過最終的顯示來驗證控制電路的正確性【12】。圖4.1為整體系統設計標圖(下頁圖4.1)。圖4.1主程序流程圖圖4.2計時中斷服務程序流程圖4.3 電子時鐘設計的部分主要流程匯編語言是計算機提供給用戶的最快最有效的語言,也是能夠利用計算機的所有硬件特性并能夠直接控制硬件的唯一語言。但是由于編寫和調試匯編語言程序要比高級語言復雜,因此目前其應用不如高級語言廣泛【8】。但對于對電子時鐘的設計這樣的程序來說,用匯編語言是最快最有效的語言,下面是用匯編語言進行編寫的基于單片機的電子時鐘的設計的部分主要流程程序(見附錄) 第五章 電子時鐘的仿真5.1 單片機調試仿真軟件源文件的輸入:keil單片機模擬調試

32、軟件內集成了一個文本編輯器,用該文本編輯器可以編輯源程序。打開”file”“new”就打開的此編輯器。在圖5.1中已經完成了匯編語言源文件的輸入,并且完成了源程序向當前工程的添加。然后再創建工程的步驟如下:打開”project”“new uvision project”然后顯示一個對話框,在對話框里選擇atmel,在atmel的下拉框中找at89c51選擇后點擊“ok”就創建了一個工程,注意:創建時把此工程保存在熟悉的文件夾里,以便于后面的查找使用。圖5.1 keil單片機模擬調試軟件的集成開發環境完成匯編語言源文件的輸入后,接著需要把匯編語言源文件加入工程之中。選擇圖5.1中的工程管理器窗口

33、的子目錄source group 1,再單擊鼠標右鍵打開快捷菜單。在快捷菜單中選擇“add file to group“source group 1”,加入文件對話框被打開。在這個對話框的“查找范圍”下拉列表框中選擇存儲匯編語言源文件的文件夾,在“文件類型”下拉列表框中選擇asm source file(*.a*;*.src),這時存儲的匯編語言源文件將顯示出來。雙擊要加入的文件名,或者選擇要加入的文件名再單擊add按鈕即可完成把匯編語言源文件加入工程。這時工程管理窗口的文件選項卡中子目錄source group 1下出現一個匯編語言源文件,如圖5.1所示。proteus軟件:proteus

34、是英國labcenter公司開發的電路分析與實物仿真軟件。它運行于windows操作系統上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件是一款集單片機和spice分析于一身的仿真軟件,功能極其強大。proteus軟件由labcenter公司開發,是目前世界上最先進、最完整的嵌入式系統設計與仿真平臺,可以實現數字電路、模擬電路及微控制器系統與外設的混合電路系統的電路仿真、軟件仿真、系統協同仿真和pcb設計等功能,是目前唯一能夠對各種處理器進行實時仿真、調試與測試的eda工具。微控制器系統相關的仿真需建立編譯和調試環境,可選擇keil c51uvision2 軟件。該軟件支持眾多不同

35、公司的芯片,集編輯、編譯和程序仿真等于一體,同時還支持plm、匯編和c語言的程序設計。它的界面友好易學,在調試程序、軟件仿真方面有很強大的功能。 其革命性的功能是:將電路仿真和微處理器仿真進行協同,直接在基于原理圖的虛擬原型上進行處理器編程調試,并進行功能驗證,通過動態器件如電機、led、lcd、開關等,實時看到運行后的輸入、輸出的效果,配合系統配置的虛擬儀器如示波器、邏輯分析儀等, proteus為我們建立了完備的電子設計開發環境。5.2 電子時鐘的仿真選擇仿真元器件在進行仿真之前對所需的仿真的元器件的選擇也是很重要的,所需仿真元器件的好壞直接影響到仿真的效果,如果選擇的元器件比較不太合理可

36、能使仿真的結果不理想,甚至會導致仿真的失敗。下表列出本次設計中用到的元器件【14】:在進行元器件的選擇后,并且在keil上完成程序的編寫測試后我們就可以著手進行電子時鐘的仿真了。在數字電子時鐘程序初步編完之后,利用單片機硬件仿真軟件進行仿真和調試,同時對程序進行適當的修改11。該設計在仿真及調試過程中應注意以下幾點:1.單片機時間基準振蕩電路中振蕩晶體頻率的選擇必須要和程序中的時間基準相一致。2.由于單片機處理數據過程中要響應中斷等原因,而中斷服務程序所花費的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調試中調試數碼管的發光時間時,需要反復修改程序中的給定的時間,直到整

37、體上的顯示效果較好,不會有閃爍的現象產生12。在proteus軟件中進行電子時鐘電路原理圖的繪制,繪制結果如5.2所示,在電子時鐘仿真的原理圖此圖中的核心部分是左邊的89c51單片機中部有顯示驅動芯片max7219,右上部分是一個八段的數碼管顯示屏,數碼管下面為四個按鍵,圖中的左下部的那個芯片為時鐘芯片ds1302,時鐘芯片右部為蜂鳴器,原理圖中還有單片機的晶振電路和單片機的復位電路。ds1302 是美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進行同步通信,

38、并可采用突發方式一次傳送多個字節的時鐘信號或ram數據。ds1302內部有一個31×8的用于臨時性存放數據的ram寄存器。ds1302是ds1202的升級產品,與ds1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。max7219是maxim公司生產的串行輸入/輸出共陰極數碼管顯示驅動芯片,一片max7219可驅動8個7段(包括小數點共8段)數字led、led條線圖形顯示器、或64個分立的led發光二級管。該芯片具有10mhz傳輸率的三線串行接口可與任何微處理器相連,只需一個外接電阻即可設置所有led的段電流。它的操作很簡單,mcu只需通過

39、模擬spi三線接口就可以將相關的指令寫入max7219的內部指令和數據寄存器,同時它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片7219串聯方式,這樣mcu就可以通過3根線(即串行數據線、串行時鐘線和芯片選通線)控制更多的數碼管顯示。各器件的作用:89c51單片機是總體的控制器(整個電子時鐘的cpu),源程序的加載、電路的控制、數據的加載、傳送等都在單片機這一部分。顯示驅動芯片max7219是連接單片機和數碼管的芯片。數碼管顯示屏其顯示作用,是信號的顯示,是本設計中唯一的顯示設備。按鍵是對時間、日期等的調整或輸入,其具體操作方法下節有具體介紹。時鐘芯片ds1302是系統中的計時芯片,它

40、對年、月、日、時、分、秒等的計時,它采用三線接口與cpu進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號。蜂鳴器起鬧鐘揚聲功能。另外單片機的晶振電路和復位電路屬于電路部分,是信號數據的傳輸。5.3 整機的仿真及調試調試:把編寫完的源程序放在keil軟件中,先自行檢查下程序是否有誤,更改有誤的部分,再創建工程進行程序一個一個地調試,把調試結果顯示有誤的部分找出,檢查錯誤的原因然后再進行更改,更改后再進行調試,再找出錯誤進行更改,依次循環進行,至到程序調試成功為止。調試結果如圖5.2: 調試結果圖5.2仿真:仿真是把keil中生成的源程序找出,并加載到單片機內,檢查原理圖的設計是否有誤,更

41、改有誤的部分,然后進行仿真,看仿真結果是否正確,如果不正確或者不顯示結果,就再此檢查原理圖進行更改直到能順利地仿真出結果。 如上圖5.3為電子時鐘整機仿真圖:該設計在仿真及調試過程中應注意以下幾點:1.單片機時間基準振蕩電路中振蕩晶體頻率的選擇必須要和程序中的時間基準相一致。2.由于單片機處理數據過程中要響應中斷等原因,而中斷服務程序所花費的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調試中調試數碼管的發光時間時,需要反復修改程序中的給定的時間,直到整體上的顯示效果較好,不會有閃爍的現象產生。此仿真結果的主要實現(1)將其電源鍵打開,按下電源開關即開始常工作,8個數碼管

42、顯示依次是時、分、秒、溫度,各占兩位。 (2)按鍵說明:復位鍵,當發現系統運行不正常,進入死循環,顯示數值。嚴重失真時,按復位鍵,其內部功能為使用單片機復位。強行使單片機從頭開始運行,跳出錯誤區。日期顯示鍵,該鍵接外部中斷零(1nt0引腳)。通過中斷服務子程序來達到顯示的年、月、日、星期的目的。其中每項占兩位,年份只顯示后兩位,如06 06 06 03表示06年06月06號星期三。中斷程序只進行一秒,后返回主程序,顯示時、分、秒、溫度。調時鍵(ts)按下此鍵進入調時子程序,按一下調分鐘,兩下調時,三下調星期,四下調日期,五下調月份,六下調年份的低兩位,七下調年份的高兩位。add鍵表示增加,每按

43、一下增加一,dwc鍵表示減少,每按一下減少一,三個鍵組合在一起完成調時功能。具體的按鍵使用:當進入調整功能時,按第一個鍵k1進行減運算,按第二個鍵k2進行加運算。按下第三個鍵k3,實現日期時間調整及定時功能,等數字閃爍后,按一二鍵進行加減,從而可以進行具體日期時間調整。當定時設定后,到預定時間后,時鐘會發出連續的蜂鳴聲。按下第四個鍵k4,可以進行時間日期切換,8位led數碼管將顯示時間或日期,采用24小時制。 結束語本文通過對電子時鐘的設計仿真,使自己對單片機和匯編語言有了進一步的溫故掌握。在設計過程中,吸收了前輩的一些先進的理論成果,也對彭小軍同志的時鐘設計經驗進行了借鑒。我在設計中總結出了

44、一個重要的經驗:一切問題都要結合實際進行設計。因為不同的設計技術或者設計思想都有自身的優點和局限性,只有根據具體的設計要求,才能順利地進行設計仿真,也才能對己有的設計方法進行創新。本裝置所實現的功能為時鐘功能。由于時間和日期都是通過特定的芯片來獲得的,單片機只起到控制和轉換的作用,在精度方面不受單片機性能和程序的限制,故容易保障其精度和效率。本次設計有較大的進展,取得了較好的效果,對單片機軟硬件資源和接日擴展都有深入的學習。也學習了時鐘芯片12887的基本原理和使用方法。本設計是學習單片機的較佳選擇。但是設計還有諸多功能沒有完善,以后有機會會繼續完善其相應的功能。設計不足:本系統所采用的顯示模

45、塊led較多,占用了不少資源,包括線路板、 單片機端口等,同時使得電路穩定性下降; 由于時間比較緊迫,未能開發出更多的功能以體現單片機電子時鐘的優越性。 本系統上可實現的功能:1.實現秒表功能; 2.實現鬧鈴功能,當所定的時間到時,產生斷續的蜂鳴聲;3.具有天數倒計時功能,例如:距科技文化藝術節開幕還有*天;以上的功能由于時間緊迫未能完成。 但這些功能的開發都具有可行性, 這也就是單片機可擴展功能的優越性之所見,有待于繼續開發。報告結束,請老師和同學們批評指正! 謝謝大家!致 謝本課題的研究和論文的完成是在劉豐年老師和南楠老師的悉心指導和熱情關懷下完成的。老師嚴謹的治學態度、豐富的實踐經驗、兢

46、兢業業的工作精神使我受益匪淺。老師豁達的胸懷對我樹立正確的人生觀和價值觀產生了積極的影響。在老師的指導和幫助下,我的專業知識水平和學習能力都得到了很大的提高。我在人生道路上的每一個腳印都凝聚著老師的心血。跟隨老師學習這兩年所獲得的知識將是我一生中最寶貴的財富。在此謹向劉老師、南楠老師表示崇高的敬意和衷心的感謝!感謝老師在研究工作中對我進行的悉心指導,并為我的學習提供了良好的條件,使我的論文的撰寫得以順利進行。感謝劉老師在我的學習和生活中給予的教誨和幫助。在課題的討論和論文的撰寫過程中,與張偉欣等同學有益討論使我受益匪淺。最后感謝生我育我的父母!感謝你們一直以來對我的無私關愛和默默奉獻。 參考文

47、獻 1周昌七,電大理工,2006年11月,總第225期,桌面電子時鐘制作 2,彭小軍,新余高專學報,2006年4月,第9卷第2期用單片機實現電子時鐘 3陳同洲,郭華帥,中國傳媒大學學報,2009年3月,第16卷第1期,電子時鐘仿真及fpga實現4吳鎮宇,2005年9月,片上時鐘系統的研究與的設計5 李建忠,2004年,西安電子科技大學出版社,單片機原理及應用6孫彩蘭 蔣海琳,計算機與信息技術,軟件縱橫,基于c語言為內核的電子時鐘設計 7彭小軍,新余高專學報,2006年4月,第9卷第2期,用單片機實現電子時鐘8顏學超,2006年5月,一種實時時鐘芯片的設計9翟玉文 徐宏亮 趙巖,吉林化工學院學報

48、,2007年1月,實用多功能電子時鐘設計 10陳同洲,郭華帥,中國傳媒大學學報,2009年3月第16卷第1期,電子時鐘仿真及fpga實現11吳鎮宇,2005年9月,片上時鐘系統的研究與的設計12簡寧,企業科技與發展,2010年第16期,電子時鐘仿真實現13徐得波,葛廣英,2004年9月,自然科學,單片機動態可調電子時鐘系統14戴勇,劉斌儒,國外電子元器件2008年第7期,基于avr單片機mega16的電子時鐘的設計15 何翠萍,劉曉剛,周功海,煤礦現代化,2007年1月第1期,單片機控電子時鐘的設計附 錄:shia equ 30hshib equ 31hfena equ 32hfenb equ

49、 33hmiaoa equ 34hmiaob equ 35h ;顯示代碼存儲單元;shian equ 40hshibn equ 41hfenan equ 42hfenbn equ 43hmiaoan equ 44hmiaobn equ 45h ;顯示數據存儲單元;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 ;秒計時中斷服務程序 org 001bh ljmp timer1 ;調時閃爍中斷服務程序 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,#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論