![基于80-C51單片機的電子時鐘的設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/78fd2bb0-1c7b-43b1-bba1-92a16932bd57/78fd2bb0-1c7b-43b1-bba1-92a16932bd571.gif)
![基于80-C51單片機的電子時鐘的設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/78fd2bb0-1c7b-43b1-bba1-92a16932bd57/78fd2bb0-1c7b-43b1-bba1-92a16932bd572.gif)
![基于80-C51單片機的電子時鐘的設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/78fd2bb0-1c7b-43b1-bba1-92a16932bd57/78fd2bb0-1c7b-43b1-bba1-92a16932bd573.gif)
![基于80-C51單片機的電子時鐘的設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/78fd2bb0-1c7b-43b1-bba1-92a16932bd57/78fd2bb0-1c7b-43b1-bba1-92a16932bd574.gif)
![基于80-C51單片機的電子時鐘的設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/78fd2bb0-1c7b-43b1-bba1-92a16932bd57/78fd2bb0-1c7b-43b1-bba1-92a16932bd575.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于80-C51單片機的電子時鐘的設計 畢 業(yè) 設 計(論 文) 題目: 基于80-C51單片機的電子時鐘的設計 姓 名 考 號 院 系 專 業(yè) 計算機及應用 指導教師 2011年4月21日基于80-C51單片機的電子時鐘的設計摘 要 傳統(tǒng)的數(shù)字電子時鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設計復雜度的不斷提高,用傳統(tǒng)時鐘系統(tǒng)設計方法很難滿足設計需求。單片機是集CPU、RAM、ROM、定時器/計數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強,廣泛應用于智能產品和工業(yè)自動化上。而51系列的單片機是各單片機中最為典型和最有代表性的一種。本文設計的電子時鐘
2、是基于51單片機,同時使用匯編語言為程序設計語言,從而克服傳統(tǒng)電子時鐘的弊端。本設計擬實現(xiàn)的基本功能為單片機計時顯示功能。能夠體現(xiàn)單片機電子時鐘的可擴展優(yōu)越性,加入時間調整程序,使用按鈕,調整年月日及時間;加入日歷顯示功能,鬧鐘功能、秒表功能。關鍵詞:單片機,電子時鐘,匯編語言 ABSTRACT Traditional digital electronic clock with a many discrete com ponents, not only takes up a lot of space and utilization than low, with the increasing s
3、ystem complexity, the clock system design using traditional methods are difficult to meet the design requirements. Microcontroller is a CPU, RAM, ROM, timers, counters and a variety of interfaces in one of the micro-controller. Its small size, low cost, powerful, widely used in smart products and in
4、dustrial automation. And 51 of the microcontroller MCU is the most typical and most representative one. This design-oriented introduction to microcontroller 51 as the ca rrier language to assembly language for the design of the electronic clock design to overcome the drawbacks of conventional electr
5、onic clock.The design of the basic functions to be achieved for the microcont roller timer display. SCM can reflect the scalability advantages of el ectronic clock, add time to adjust, the use of buttons, adjust the date and time of year, month; to join the lunar calendar display function.Key words:
6、 SCM,electronic clock,assembly language 目 錄摘 要1ABSTRACT2目 錄3第 一 章 緒 論41.1單片機的定義41.2 單片機分類41.3 單片機的特點51.4單片機的應用領域51.5電子時鐘的特點及應用領域6第二章 MCS-51單片機簡介72.1 單片機的結構72.2 單片機的存儲器9第三章 數(shù)碼管的簡介133.1 數(shù)碼管的分類133.2 數(shù)碼管的應用14第四章 電子時鐘的設計154.1 可實現(xiàn)的功能154.2 軟件設計流程154.3 電子時鐘設計的部分主要流程19第五章 電子時鐘的仿真295.1 單片機調試仿真軟件295.2 電子時鐘的仿真3
7、05.3 整機的仿真及調試33結束語36致 謝37參考文獻38 第 一 章 緒 論1.1單片機的定義 單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一個小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部總線系統(tǒng),目前大部分單片機還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機也被稱為微控制器(Microcontroller),是因為它最早被用在工業(yè)控制領域。單片機由芯片內僅有CPU的專用處理器發(fā)展而來,最早的設計理念是通過將大量外圍
8、設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小、更容易集成于復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣1。單片機技術是現(xiàn)代電子工程領域一門迅速發(fā)展的技術,它的應用已經滲透到各種嵌入式系統(tǒng)中??梢院敛豢鋸埖卣f:掌握單片機技術是電子信息類專業(yè)學生就業(yè)的一個重要條件。同時單片機技術又是一門實踐性很強的學科。只有我們不斷地通過實踐研究才能學習好單片機課程。1.2 單片機分類按照單片機的類型,單片機有:(1)51系列單片機,為首推系列單片機。其中首推Intel公司的單片機 4K字節(jié)的一次性程序存儲器(OTP)。(
9、2)具有ISP功能的單片機,ISP功能能夠實現(xiàn)在系統(tǒng)可編程,可以省去通用的編程器,單片機在用戶板上即可下載和燒錄用戶程序,而無需將單片機從生產好的產品上取下。(3)PIC系列單片機,PIC單片機系列是美國微芯公司(Microship)的產品,CPU采用RISC結構,具有精簡的指令集。PIC系列單片機的I/O口是雙向的,其輸出電路為CMOS互補推挽輸出電路。具有在線調試及編程(ISP)功能。(4)AVR單片機:AVR單片機是Atmel公司推出的較為新穎的單片機)其顯著的特點為高性能、高速度、低功耗。AVR型號的管腳,與對應的51系列兼容。(5) AT89S52 單片機: AT89S52是一種低功
10、耗、性能高具有8K 在系統(tǒng)可編程Flash存儲器,向下完全兼容51子系列。1.3 單片機的特點單片機是以工業(yè)測控對象、環(huán)境、接口特點出發(fā)向著增強控制功能,提高工業(yè)環(huán)境下的可靠性方向發(fā)展。主要特點如下:種類多,型號全提高性能,擴大容量,性能價格比高增加控制功能,向真正意義上的“單片”機發(fā)展低功耗1.4單片機的應用領域目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數(shù)據傳輸,工業(yè)自動化過程的實時控制和數(shù)據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子
11、寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域2,大致可分如下幾個范疇: 在智能儀器儀表上的應用在工業(yè)控制中的應用在家用電器中的應用在計算機網絡和通信領域中的應用 單片機在醫(yī)用設備領域中的應用在各種大型電器中的模塊化應用此外,單片機在金融,科研、教育航空航天等領域都有著十分廣泛的用途。采用以上方案具有以下優(yōu)勢:從經濟性、可移植性、可推廣性角度講,建立這樣的課程設計平臺是非常有意義的;利用
12、仿真系統(tǒng),可以節(jié)約開發(fā)時間和開發(fā)成本,同時具有很大的靈活性和可擴展性。為了更好地學習單片機,我們采用Proteus軟件與Keil軟件整合構建單片機虛擬實驗平臺。首先我們要在PC上利用Proteus軟件自己搭建硬件電路,并利用系統(tǒng)提供的功能完成電路分析、系統(tǒng)調試和輸出顯示的硬件設計部分;同時在Keil軟件中編制程序,進行相應的編譯和仿真,完成系統(tǒng)的軟件設計部分。當系統(tǒng)的設計工作完成后,就可以在PC上看到最終的運行效果。最后再通過proteus設計PCB,再完成真正硬件的調試。1.5電子時鐘的特點及應用領域時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎。在一個單片機的應用系統(tǒng)中
13、,時鐘有兩方面的含義:一方面是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢3;另一方面是指系統(tǒng)的標準定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內部的可編程定時/計數(shù)器來實現(xiàn),一是用專門的時鐘芯片實現(xiàn)。數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定地下作;同時還具有體積小,功耗低等特點,便于攜帶,使用方便。同時由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度遠遠超過老式鐘表.鐘表的數(shù)字化給人們生產生話帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能,數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒”數(shù)字顯示的計時
14、裝置。使得電子時鐘廣泛應用于個人家庭、車站、碼頭、辦公室等場所的各個角落,已成為人們口常生話中不可缺少的必需品。第二章 MCS-51單片機簡介2.1 單片機的結構MCS-51單片機是美國INTE公司于1980年推出的產品,與MCS-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數(shù)達111條,MCS-51單片機可以算是相當成功的產品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機仍是應用的主流產品,MCS-51系列單片機主要包括8031、圖2.18051和8751等通用產品。2.1.1 MCS-51的引腳說明MCS-51單片機結構框架4如圖2.1MCS-5
15、1系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,下圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明: 圖2.2Pin9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初
16、始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復位方式可以是自動復位,也可以是手動復位,見下圖2.3。此外,RESET/PDF還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內部RAM的數(shù)據不丟失。 圖2.32.2 單片機的存儲器單片機的結構有兩種類型,一種是程序存儲器和數(shù)據存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的MCS-51系列單片機采用的是哈佛結構的形式。2.2.1 程序存儲空間程序存儲空間可以被映射為內部程序存儲
17、器或者外部程序存儲器。AT89C51單片機內部具有的4KB程序存儲器被映射到程序存儲空間的0000H0FFFH區(qū)間。這部分程序存儲空間也可以被映射為外部程序存儲器,它具體被映射為哪一種程序存儲器取決于引腳 (引腳31)所接的電平。當引腳為高電平,內部程序存儲器被映射到這部分程序存儲空間;當引腳為低電平,外部程序存儲器被映射到這部分程序存儲空間。高于0FFFH的程序存儲空間只能被映射為外部程序存儲器。2.2.2 數(shù)據存儲空間AT89C51的內部數(shù)據存儲器有256字節(jié),它們被分為兩部分:高128字節(jié)和低128字節(jié)。低128字節(jié)的內部數(shù)據存儲器是真正的RAM區(qū),可以被用來寫入或讀出數(shù)據。這一部分存儲
18、容量不是很大,但有很大的作用。它可以進一步被分為3部分,如圖2.4所示。圖2.4 內部數(shù)據存儲器低128字節(jié)在內部數(shù)據存儲器低128字節(jié)中,地址從00H1FH的最低32個字節(jié)組成4組工作寄存器,每組有8個工作寄存器。每組中的8個工作寄存器都被命名為從R0到R7。在一個具體時刻,CPU只能使用其中的一組工作寄存器。當前正在使用的工作寄存器組由位于高128字節(jié)的程序狀態(tài)字寄存器(PSW)中第3位(RS0)和第4位(RS1)的數(shù)據決定。程序狀態(tài)字寄存器中的數(shù)據可以通過編程來改變,這種功能為保護工作寄存器的內容提供了很大的方便。如果用戶程序中不需要全部使用4組工作寄存器,那么剩下的工作寄存器所對應的內
19、部數(shù)據存儲器也可以作為通用數(shù)據存儲器使用?!?】工作寄存器在內部數(shù)據存儲器中的地址映射如表1.1所示。表1.1 工作寄存器地址映射表0組(RS1=0,RS0=0)1組(RS1=0,RS0=1)2組(RS1=1,RS0=0)3組(RS1=1,RS0=1)地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR
20、71FHR7在工作寄存器區(qū)上面,內部數(shù)據存儲器的地址從20H2FH的16個字節(jié)范圍內,既可以通過字節(jié)尋址的方式進入,也可以通過位尋址的方式進入,位地址范圍從00H到7FH5。字節(jié)地址與位地址的對應關系。內部數(shù)據存儲器地址從30H7FH部分僅可以用作通用數(shù)據存儲器。內部數(shù)據存儲器的高128字節(jié)被稱為特殊功能寄存器(SFR)區(qū)。特殊功能寄存器被用作CPU和在片外圍器件之間的接口【6】,它們之間的聯(lián)系方框圖如圖2.5所示。圖2.5 殊功能寄存器(SFR)工作框圖CPU通過向相應的特殊功能存儲器寫入數(shù)據實現(xiàn)控制對應的在片外圍器件的工作,從相應的特殊功能存儲器讀出數(shù)據實現(xiàn)讀取對應的在片外圍器件的工作結果
21、。在AT89C51單片機中,包括前面提到的程序狀態(tài)字寄存器(PSW)的特殊功能存儲器共有26個,它們離散地分布在80HFFH的內部數(shù)據存儲器地址空間范圍內7,對于沒有定義的存儲單元用戶不能使用。如果向這些存儲單元寫入數(shù)據將產生不確定的效果,從它們讀取數(shù)據將得到一個隨機數(shù)。對于字節(jié)地址低位為8H或者FH的特殊功能存儲器,既可以進行字節(jié)操作,也可以進行位操作。例如前面提到的用來確定當前工作寄存器組的程序狀態(tài)字寄存器(PSW),它的地址為00H,因此對它可以進行字節(jié)操作,也可以進行位操作。采用位操作可以直接控制程序狀態(tài)字寄存器中的第3位(RS0)或第4位(RS1)數(shù)據而不影響其他位的數(shù)據。低位地址不
22、為8H或FH的特殊功能存儲器只可以進行字節(jié)操作,當需要修改這些特殊功能存儲器中的某些位時,對其他的位應注意保護【3】。片外數(shù)據存儲空間可以被映射為數(shù)據存儲器、擴展的輸入/輸出接口、模擬/數(shù)字轉換器和數(shù)字/模擬轉換器等。這些外圍器件統(tǒng)一編址,所有外圍器件的地址都占用數(shù)據存儲空間的地址資源,因此CPU與片外外圍器件進行數(shù)據交換時可以使用與訪問外部數(shù)據存儲器相同的指令。CPU通過向相應的外部數(shù)據存儲器地址單元寫入數(shù)據實現(xiàn)控制對應的片外外圍器件的工作,從相應的外部數(shù)據存儲器地址單元讀出數(shù)據實現(xiàn)讀取對應的片外外圍器件的工作結果。第三章 數(shù)碼管的簡介3.1 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼
23、管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽極數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的
24、陽極為低電平時,相應字段就不亮【8】。3.1.1 數(shù)碼管驅動方式的分類數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。3.1.2 靜態(tài)顯示驅動9靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數(shù)碼管靜態(tài)顯示則需要5840根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬
25、件電路的復雜性。3.1.3 動態(tài)顯示驅動數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為12m
26、s,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低【5】。3.2 數(shù)碼管的應用數(shù)碼管是一類顯示屏 通過對其不同的管腳輸入相對的電流會使其發(fā)亮從而顯示出數(shù)字??梢燥@示、時間、日期、溫度等所有可以用數(shù)字代替的參數(shù)。由于它的價格便宜使用簡單,所以在電器特別是家電領域應用極為廣泛,如:空調、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管其他家電也用液晶屏與熒光屏。3.2.1 數(shù)碼管使用的電流與電壓10電流:靜態(tài)時,推薦使用10-
27、15mA;動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5mA,峰值電流50-60mA。電壓:當選擇紅色時,使用1.9V;當選擇綠色時,使用2.1V。第四章 電子時鐘的設計4.1 可實現(xiàn)的功能1采用六位數(shù)碼管顯示小時、分鐘、秒,并且可以任意設定時間。2可以查看并且設定日期,日期采用年、月、日的顯示方式。3可以查看并設定鬧鐘,鬧鐘的顯示方式采用與時間相同的顯示方式。4可以查看并設定星期,數(shù)碼管的最后一位顯示星期,用數(shù)字8表示星期日。5系統(tǒng)設定詳細說明:系統(tǒng)的初始狀態(tài)為顯示時鐘狀態(tài),此時顯示小時、分鐘、秒。初始狀態(tài)下,按K0鍵進入時間調整程序,按K1鍵查看鬧鐘,按K2鍵查看日期,按K3鍵查看星期。進入
28、時間調整狀態(tài)后,首先調整分鐘,此時分鐘閃爍顯示,按K1鍵加一,按K2鍵減一。按K0鍵開始調整小時,此時小時閃爍顯示,按K1鍵加一,按K2鍵減一,再按K0鍵后系統(tǒng)返回到顯示時間狀態(tài)。在調整時間狀態(tài)下按下K3鍵進入調整鬧鐘狀態(tài),此時顯示原先的鬧鐘時間,并且鬧鐘分鐘閃爍顯示,此時按K1鍵加一,按K2鍵減一;調整后按K0鍵轉換到鬧鐘小時調整單元,此時按K1鍵加一,按K2鍵減一。鬧鐘調整完畢后按K0鍵回到調整時間狀態(tài),按K3鍵轉到調整日期狀態(tài)。在調整日期狀態(tài)下,日單元閃爍顯示,此時按K1鍵加一,按K2鍵減一;按下K0鍵進入調整月,此時按K1鍵加一,按K2鍵減一;按下K0鍵進入調整年,此時按K1鍵加一,按
29、K2鍵減一。此時按下K0鍵返回到調整時間狀態(tài),按下K3鍵進入調整星期狀態(tài)。在調整星期狀態(tài)下,星期閃爍顯示,此時按K1鍵加一,按K2鍵減一。按下K0鍵返回到調整時間狀態(tài)。此時分鐘閃爍顯示,按K0鍵開始調整小時,此時小時閃爍顯示,再按K0鍵后系統(tǒng)返回到顯示時間狀態(tài)。4.2 軟件設計流程 秒計數(shù)器的計數(shù)時鐘信號為1Hz的標準信號,可以由CPLD板上提供的20MHZ的信號通過分頻得到。秒計數(shù)器的進位輸出信號作為分鐘計數(shù)器的計數(shù)信號,分鐘計數(shù)器的進位輸出信號又作為小時計數(shù)器的計數(shù)信號11.設計一個同時顯示時、分、秒6個數(shù)字的數(shù)字鐘,則需要6個七段顯示器。若同時點亮這6個七段顯示器,則電路中會產生一個比較
30、大的電流,很容易造成電路燒壞,我們通過掃描電路來解決這一問題,通過產生一個掃描信號LT(0)一LT(5)來控制6個七段顯示器,依次點亮6個七段顯示器,也就是每次只點亮一個七段顯示器。只要掃描信號的頻率超過人的眼睛視覺暫留頻率24Hz以上,就可以達到盡管每次點亮單個七段顯示器,卻能具有6個同時顯示的視覺效果,而目顯示也不致閃爍抖動。其中6位掃描信號一方面控制七段顯示器依次點亮,一方面控制6選1選擇器輸出相應顯示數(shù)字。控制電路用來將控制時鐘的一些功能加入到整個正常計數(shù)的顯示電路中,通過最終的顯示來驗證控制電路的正確性【12】。圖4.1為整體系統(tǒng)設計標圖(下頁圖4.1)。圖4.1主程序流程圖圖4.2
31、計時中斷服務程序流程圖4.3 電子時鐘設計的部分主要流程匯編語言是計算機提供給用戶的最快最有效的語言,也是能夠利用計算機的所有硬件特性并能夠直接控制硬件的唯一語言。但是由于編寫和調試匯編語言程序要比高級語言復雜,因此目前其應用不如高級語言廣泛【8】。但對于對電子時鐘的設計這樣的程序來說,用匯編語言是最快最有效的語言,下面是用匯編語言進行編寫的基于單片機的電子時鐘的設計的部分主要流程程序: ORG 0000H LJMP MAIN ORG 000BH LJMP TIMER0 ;秒計時中斷服務程序 ORG 001BH LJMP TIMER1 ;調時閃爍中斷服務程序 ORG 0035H;主程序MAIN
32、: 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 XINGQI,#1 MOV TMOD,#11H MOV TL0,#01H MOV TH0,#4CH MOV TL1,#01H MOV TH1,#4CH MOV 36H,#00H SETB EA SETB ET0
33、SETB TR0 MOV R4,#14HLOOP: LCALL CHANGE LCALL DISPLAY JNB JIAN0,TIAO0 ;按下0鍵進入調時程序 JNB JIAN1,NAOSEE ;按下1鍵進入查看鬧鐘程序 JNB JIAN2,RILISEE ;按下2鍵進入查看日歷程序 JNB JIAN3,WEEKDAY ;按下3鍵進入查看星期程序 LCALL NAOZHONG LJMP LOOPTIAO0: LJMP TIAOWEEKDAY: JNB JIAN3,WEEKDAY1 LJMP WEEKDAY2WEEKDAY1: LCALL DISPLAY LJMP WEEKDAYRILISEE
34、: JNB JIAN2,RILISEE1 LJMP RILISEE2RILISEE1: LCALL DISPLAY LJMP RILISEENAOSEE: JNB JIAN1,NAOSEE1 LJMP NAOSEE2NAOSEE1: LCALL DISPLAY LJMP NAOSEE;鬧鐘查看程序NAOSEE2: MOV DPTR,#ZIXINGMA MOV A,SHIAL MOVC A,A+DPTR MOV SHIA,A MOV A,SHIBL MOVC A,A+DPTR MOV SHIB,A MOV A,FENAL MOVC A,A+DPTR MOV FENA,A MOV A,FENBL
35、MOVC A,A+DPTR MOV FENB,A MOV A,#0 MOVC A,A+DPTR MOV MIAOA,A MOV MIAOB,A MOV R5,#200 MOV R1,#4LOOP1: LCALL DISPLAY DJNZ R5,LOOP1 MOV R5,#200 DJNZ R1,LOOP1 LJMP LOOP;星期查看程序WEEKDAY2: MOV DPTR,#ZIXINGMA MOV A,#0 MOVC A,A+DPTR MOV MIAOA,A MOV FENA,A MOV FENB,A MOV SHIA,A MOV SHIB,A MOV A,XINGQI MOVC A,A+
36、DPTR MOV MIAOB,A MOV R1,#4 MOV R5,#200LOOP3: LCALL DISPLAY DJNZ R5,LOOP3 MOV R5,#200 DJNZ R1,LOOP3 LJMP LOOP CLR C;TURNFEN: LCALL CHANGE ;調整分鐘程序 LCALL DISPLAY JNB JIAN0,TIAOSHI ;按0鍵則轉調整小時程序 JNB JIAN3,ZHUAN ;按3鍵則轉到散轉程序 JNB JIAN1,FENJIA0 ;按1鍵則分鐘加一 JNB JIAN2,FENJIAN0 ;按2鍵則分鐘減一 LJMP TURNFEN;TIAO11: LCAL
37、L DISPLAY LJMP TIAO1TIAOSHI: JNB JIAN0,TIAOSHI1 CLR 00H SETB 01H LJMP TURNSHITIAOSHI1: LCALL DISPLAY LJMP TIAOSHIFENJIA0: JNB JIAN1,FENJIA1 LCALL FENJIA LJMP TURNFENFENJIA1: LCALL DISPLAY LJMP FENJIA0FENJIAN0: JNB JIAN2,FENJIAN1 LCALL FENJIAN LJMP TURNFENFENJIAN1: LCALL DISPLAY LJMP FENJIAN0;散轉程序,根據
38、按鍵3的次數(shù)來跳轉到鬧鐘,日歷,星期設置程序。ZHUAN: JNB JIAN3,TIAO12 CLR ET1 CLR TR1 LJMP NAOTIAO12: LCALL DISPLAY LJMP ZHUAN;時間調整退出程序TIAOOUT: CLR 00H CLR 01H CLR 02H CLR 03H CLR 04H MOV SHIAN,50H MOV SHIBN,51H MOV FENAN,52H MOV FENBN,53H CLR ET1 CLR TR1 SETB ET0 SETB TR0 LJMP LOOP ;調時結束返回到主程序;鬧鐘調整程序NAO: SETB 00H ;分鐘閃爍標志
39、置1 CLR 01H ;小時閃爍標志清零 CLR 03H ;秒閃爍標志清零 MOV 60H,50H MOV 61H,51H MOV 62H,52H MOV 63H,53H MOV 64H,54H MOV 65H,55H MOV 50H,SHIAL MOV 51H,SHIBL MOV 52H,FENAL MOV 53H,FENBL SETB ET1 SETB TR1;鬧鐘小時調整程序NAOSHI: LCALL CHANGE LCALL DISPLAY JNB JIAN0,NOUT0 JNB JIAN1,NSHIJIA0 JNB JIAN2,NSHIJIAN0 JNB JIAN3,NZHUAN L
40、JMP NAOSHINOUT0: JNB JIAN0,NOUT1 CLR 00H CLR 01H CLR 03H MOV SHIAL,50H MOV SHIBL,51H MOV FENAL,52H MOV FENBL,53H MOV SHIAN,60H MOV SHIBN,61H MOV FENAN,62H MOV FENBN,63H MOV MIAOAN,64H MOV MIAOBN,65H LJMP TIAONOUT1: LCALL DISPLAY LJMP NOUT0NSHIJIA0: JNB JIAN1,NSHIJIA1 LCALL SHIJIA LJMP NAOSHINSHIJIA1
41、: LCALL DISPLAY LJMP NSHIJIA0NSHIJIAN0:JNB JIAN2,NSHIJIAN1 LCALL SHIJIAN LJMP NAOSHINSHIJIAN1:LCALL DISPLAY LJMP NSHIJIAN0 ;調整日TURNRI: LCALL CHANGE LCALL DISPLAY JNB JIAN0,TURNYUE0 JNB JIAN1,RIJIA0 JNB JIAN2,RIJIAN0 JNB JIAN3,XZHUAN LJMP TURNRITURNYUE0: JNB JIAN0,TURNYUE01 CLR 03H SETB 00H LJMP TURN
42、YUETURNYUE01:LCALL DISPLAY LJMP TURNYUE0RIJIA0: JNB JIAN1,RIJIA01 LJMP RIJIARIJIA01: LCALL DISPLAY LJMP RIJIA0RIJIAN0: JNB JIAN2,RIJIAN01 LJMP RIJIANRIJIAN01: LCALL DISPLAY LJMP RIJIAN0;調整星期WEEK: CLR 00H CLR 01H CLR 03H SETB 04H MOV 50H,#0 MOV 51H,#0 MOV 52H,#0 MOV 53H,#0 MOV 54H,#0 MOV 55H,XINGQITU
43、NWEEK: LCALL CHANGE LCALL DISPLAY JNB JIAN0,WEEKOUT JNB JIAN1,WEEKJIA0 JNB JIAN2,WEEKJIAN0 LJMP TUNWEEKWEEKOUT: JNB JIAN0,WEEKOUT1 CLR 04H MOV XINGQI,55H MOV SHIAN,60H MOV SHIBN,61H MOV FENAN,62H MOV FENBN,63H MOV MIAOAN,64H MOV MIAOBN,65H LJMP TIAOWEEKOUT1: LCALL DISPLAY LJMP WEEKOUTWEEKJIA0: JNB J
44、IAN1,WEEKJIA01 INC 55H MOV A,55H CJNE A,#08H,WEEK1 MOV 55H,#1 WEEK1: LJMP TUNWEEKWEEKJIA01:LCALL DISPLAY LJMP WEEKJIA0WEEKJIAN0:JNB JIAN2,WEEKJIAN1 DEC 55H MOV A,55H CJNE A,#00H,WEEK2 MOV 55H,#07WEEK2: LJMP TUNWEEKWEEKJIAN1:LCALL DISPLAY LJMP WEEKJIAN0 第五章 電子時鐘的仿真5.1 單片機調試仿真軟件源文件的輸入:Keil單片機模擬調試軟件內集成
45、了一個文本編輯器,用該文本編輯器可以編輯源程序。打開”FILE”“NEW”就打開的此編輯器。在圖5.1中已經完成了匯編語言源文件的輸入,并且完成了源程序向當前工程的添加。然后再創(chuàng)建工程的步驟如下:打開”project”“new uvision project”然后顯示一個對話框,在對話框里選擇ATMEL,在ATMEL的下拉框中找AT89C51選擇后點擊“OK”就創(chuàng)建了一個工程,注意:創(chuàng)建時把此工程保存在熟悉的文件夾里,以便于后面的查找使用。圖5.1 Keil單片機模擬調試軟件的集成開發(fā)環(huán)境完成匯編語言源文件的輸入后,接著需要把匯編語言源文件加入工程之中。選擇圖5.1中的工程管理器窗口的子目錄S
46、ource Group 1,再單擊鼠標右鍵打開快捷菜單。在快捷菜單中選擇“Add File to Group“Source Group 1”,加入文件對話框被打開。在這個對話框的“查找范圍”下拉列表框中選擇存儲匯編語言源文件的文件夾,在“文件類型”下拉列表框中選擇Asm Source file(*.a*;*.src),這時存儲的匯編語言源文件將顯示出來。雙擊要加入的文件名,或者選擇要加入的文件名再單擊Add按鈕即可完成把匯編語言源文件加入工程。這時工程管理窗口的文件選項卡中子目錄Source Group 1下出現(xiàn)一個匯編語言源文件,如圖5.1所示。Proteus軟件:Proteus 是英國La
47、bcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。PROTEUS軟件由Labcenter公司開發(fā),是目前世界上最先進、最完整的嵌入式系統(tǒng)設計與仿真平臺,可以實現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設計等功能,是目前唯一能夠對各種處理器進行實時仿真、調試與測試的EDA工具。微控制器系統(tǒng)相關的仿真需建立編譯和調試環(huán)境,可選擇Keil C51uVision2 軟件。該軟件支持眾多不同公司的芯片,集編輯、編譯和程序仿真等于一體,同時還支持PLM、匯編和C語言的程序設計。它的界面友好易學,在調試程序、軟件仿真方面有很強大的功能。 其革命性的功能是:將電路仿真和微處理器仿真進行協(xié)同,直接在基于原理圖的虛擬原型上進行處理器編程調試,并進行功能驗證,通過動態(tài)器件如電機、LED、LCD、開關等,實時看到運行后的輸入、輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等, Proteus為我們建立了完備的電子設計開發(fā)環(huán)境。5.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年陳夢與劉陽離婚協(xié)議書策劃模板
- 雙邊教育合作諒解協(xié)議書模板
- 2025年市場調研與分析咨詢服務委托協(xié)議
- 2025年供應商與裝修企業(yè)合作框架協(xié)議
- 2025年企業(yè)合同解除操作規(guī)范
- 2025年勞動合同標準范本分享
- 2025年倉儲糧食管理協(xié)議
- 2025年住宅物業(yè)購買補充協(xié)議
- 2025年勞動人員雇傭協(xié)議
- 2025年八人合伙企業(yè)股權分配協(xié)議書
- 地理-廣東省上進聯(lián)考領航高中聯(lián)盟2025屆高三下學期開學考試題和答案
- 2025年熱管換熱氣行業(yè)深度研究分析報告
- 華為采購質量優(yōu)先及三化一穩(wěn)定推進
- 職業(yè)學院學生晚出、晚歸、不歸管理辦法
- 2025年高三歷史高考第二輪復習知識梳理中國史部分復習提綱
- 《安利蛋白質粉》課件
- 護理三基三嚴習題+參考答案
- 2025門診護理工作計劃
- 員工互評表(含指標)
- 電氣領域知識培訓課件
- 山東省部分學校2024-2025學年高一上學期12月選科指導聯(lián)合測試地理試題( 含答案)
評論
0/150
提交評論