版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 PAGE40 / NUMPAGES41畢業(yè)論文(設(shè)計)題 目:基于單片機(jī)的電子時鐘的設(shè)計 學(xué) 號:專 業(yè): 電子信息工程技術(shù) 指導(dǎo)教師: 2012年 6 月(設(shè)計)選題表2012 年 6 月 1 日摘 要 傳統(tǒng)的數(shù)字電子時鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設(shè)計復(fù)雜度的不斷提高,用傳統(tǒng)時鐘系統(tǒng)設(shè)計方法很難滿足設(shè)計需求。單片機(jī)是集CPU、RAM、ROM、定時器/計數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。而51系列的單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。本文設(shè)計的電子時鐘是基于51單片機(jī),同時使用c
2、語言為程序設(shè)計語言,從而克服傳統(tǒng)電子時鐘的弊端。本設(shè)計擬實(shí)現(xiàn)的基本功能為單片機(jī)計時顯示功能。能夠體現(xiàn)單片機(jī)電子時鐘的可擴(kuò)展優(yōu)越性,加入時間調(diào)整程序,使用按鈕,調(diào)整年月日與時間;加入陰歷顯示功能。關(guān)鍵詞:單片機(jī),電子時鐘,c語言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 cont
3、inues 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 and in
4、dustrial 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 the ba
5、sic 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, assemb
6、ly language 目錄 TOC o 1-3 h z uHYPERLINK l _Toc294860050摘 要 PAGEREF _Toc294860050 h 7HYPERLINK l _Toc294860051ABSTRACT PAGEREF _Toc294860051 h 8HYPERLINK l _Toc294860052第 一 章 緒 論 PAGEREF _Toc294860052 h 10HYPERLINK l _Toc2948600531.1單片機(jī)的定義 PAGEREF _Toc294860053 h 10HYPERLINK l _Toc2948600541.2 單片機(jī)分類
7、PAGEREF _Toc294860054 h 11HYPERLINK l _Toc2948600551.3 單片機(jī)的特點(diǎn) PAGEREF _Toc294860055 h 11HYPERLINK l _Toc2948600561.4單片機(jī)的應(yīng)用領(lǐng)域 PAGEREF _Toc294860056 h 11HYPERLINK l _Toc2948600571.5電子時鐘的特點(diǎn)與應(yīng)用領(lǐng)域 PAGEREF _Toc294860057 h 12HYPERLINK l _Toc294860058第二章 MCS-51單片機(jī)簡介 PAGEREF _Toc294860058 h 13HYPERLINK l _To
8、c2948600592.1 單片機(jī)的結(jié)構(gòu) PAGEREF _Toc294860059 h 13HYPERLINK l _Toc2948600602.2 單片機(jī)的存儲器 PAGEREF _Toc294860060 h 16HYPERLINK l _Toc294860061第三章 數(shù)碼管的簡介 PAGEREF _Toc294860061 h 19HYPERLINK l _Toc2948600623.1 數(shù)碼管的分類 PAGEREF _Toc294860062 h 19HYPERLINK l _Toc2948600633.2 數(shù)碼管的應(yīng)用 PAGEREF _Toc294860063 h 20HYPE
9、RLINK l _Toc294860064第四章 電子時鐘的設(shè)計 PAGEREF _Toc294860064 h 21HYPERLINK l _Toc2948600654.1 可實(shí)現(xiàn)的功能 PAGEREF _Toc294860065 h 21HYPERLINK l _Toc2948600664.2 軟件設(shè)計流程 PAGEREF _Toc294860066 h 22HYPERLINK l _Toc2948600674.3 電子時鐘設(shè)計的部分主要流程 PAGEREF _Toc294860067 h 25HYPERLINK l _Toc294860068第五章 電子時鐘的仿真 PAGEREF _To
10、c294860068 h 25HYPERLINK l _Toc2948600695.1 單片機(jī)調(diào)試仿真軟件 PAGEREF _Toc294860069 h 25HYPERLINK l _Toc2948600705.2 電子時鐘的仿真 PAGEREF _Toc294860070 h 27HYPERLINK l _Toc2948600715.3 整機(jī)的仿真與調(diào)試 PAGEREF _Toc294860071 h 29HYPERLINK l _Toc294860072結(jié)束語 PAGEREF _Toc294860072 h 32HYPERLINK l _Toc294860073致 PAGEREF _To
11、c294860073 h 33HYPERLINK l _Toc294860074參考文獻(xiàn) PAGEREF _Toc294860074 h 34第 一 章 緒 論1.1單片機(jī)的定義 單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。盡管他的大部分功能集成在一個小芯片上,但是它具有一個完整計算機(jī)所需要的大部分部件:CPU、存、部和外部總線系統(tǒng),目前大部分單片機(jī)還會具有外存。同時集成諸如通訊接口、定時器,實(shí)時時鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)也被稱為微控制器(Microcontroller),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單
12、片機(jī)由芯片僅有CPU的專用處理器發(fā)展而來,最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機(jī)系統(tǒng)更小、更容易集成于復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣1。單片機(jī)技術(shù)是現(xiàn)代電子工程領(lǐng)域一門迅速發(fā)展的技術(shù),它的應(yīng)用已經(jīng)滲透到各種嵌入式系統(tǒng)中。可以毫不夸地說:掌握單片機(jī)技術(shù)是電子信息類專業(yè)學(xué)生就業(yè)的一個重要條件。同時單片機(jī)技術(shù)又是一門實(shí)踐性很強(qiáng)的學(xué)科。只有我們不斷地通過實(shí)踐研究才能學(xué)習(xí)好單片機(jī)課程。1.2 單片機(jī)分類按照單片機(jī)的類型,單片機(jī)有:(1)51系列單片機(jī),為首推系列單片機(jī)。其
13、中首推Intel公司的單片機(jī) 4K字節(jié)的一次性程序存儲器(OTP)。(2)具有ISP功能的單片機(jī),ISP功能能夠?qū)崿F(xiàn)在系統(tǒng)可編程,可以省去通用的編程器,單片機(jī)在用戶板上即可下載和燒錄用戶程序,而無需將單片機(jī)從生產(chǎn)好的產(chǎn)品上取下。(3)PIC系列單片機(jī),PIC單片機(jī)系列是美國微芯公司(Microship)的產(chǎn)品,CPU采用RISC結(jié)構(gòu),具有精簡的指令集。PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。具有在線調(diào)試與編程(ISP)功能。(4)AVR單片機(jī):AVR單片機(jī)是Atmel公司推出的較為新穎的單片機(jī))其顯著的特點(diǎn)為高性能、高速度、低功耗。AVR型號的管腳,與對應(yīng)的5
14、1系列兼容。(5) AT89S52 單片機(jī): AT89S52是一種低功耗、性能高具有8K 在系統(tǒng)可編程Flash存儲器,向下完全兼容51子系列。1.3 單片機(jī)的特點(diǎn)單片機(jī)是以工業(yè)測控對象、環(huán)境、接口特點(diǎn)出發(fā)向著增強(qiáng)控制功能,提高工業(yè)環(huán)境下的可靠性方向發(fā)展。主要特點(diǎn)如下:種類多,型號全提高性能,擴(kuò)大容量,性能價格比高增加控制功能,向真正意義上的“單片”機(jī)發(fā)展低功耗1.4單片機(jī)的應(yīng)用領(lǐng)域目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車
15、的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以與程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理與過程控制等領(lǐng)域2,大致可分如下幾個疇:在智能儀器儀表上的應(yīng)用在工業(yè)控制中的應(yīng)用在家用電器中的應(yīng)用在計算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用在各種大型電器中的模塊化應(yīng)用此外,單片機(jī)在金融,科研、教育航空航天等領(lǐng)域都有著十分廣泛的用途。采用以上方案具有以下優(yōu)勢:從經(jīng)濟(jì)性、可
16、移植性、可推廣性角度講,建立這樣的課程設(shè)計平臺是非常有意義的;利用仿真系統(tǒng),可以節(jié)約開發(fā)時間和開發(fā)成本,同時具有很大的靈活性和可擴(kuò)展性。為了更好地學(xué)習(xí)單片機(jī),我們采用Proteus軟件與Keil軟件整合構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)平臺。首先我們要在PC上利用Proteus軟件自己搭建硬件電路,并利用系統(tǒng)提供的功能完成電路分析、系統(tǒng)調(diào)試和輸出顯示的硬件設(shè)計部分;同時在Keil軟件中編制程序,進(jìn)行相應(yīng)的編譯和仿真,完成系統(tǒng)的軟件設(shè)計部分。當(dāng)系統(tǒng)的設(shè)計工作完成后,就可以在PC上看到最終的運(yùn)行效果。最后再通過proteus設(shè)計PCB,再完成真正硬件的調(diào)試。1.5電子時鐘的特點(diǎn)與應(yīng)用領(lǐng)域時鐘電路在計算機(jī)系統(tǒng)中起著
17、非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)的應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一方面是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢3;另一方面是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)部的可編程定時/計數(shù)器來實(shí)現(xiàn),一是用專門的時鐘芯片實(shí)現(xiàn)。數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定地下作;同時還具有體積小,功耗低等特點(diǎn),便于攜帶,使用方便。同時由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表.鐘表的數(shù)字化給人們生產(chǎn)生話帶來了極大的方便,而且大擴(kuò)展了鐘表原先的報
18、時功能,數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對時、分、秒”數(shù)字顯示的計時裝置。使得電子時鐘廣泛應(yīng)用于個人家庭、車站、碼頭、辦公室等場所的各個角落,已成為人們口常生話中不可缺少的必需品。第二章 MCS-51單片機(jī)簡介2.1 單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)是美國INTE公司于1980年推出的產(chǎn)品,與MCS-48單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng),在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達(dá)111條,MCS-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品,MCS-51系列單片機(jī)主要包括8031、圖2.18051和8751等通用產(chǎn)品。2.1.1 MCS-5
19、1的引腳說明MCS-51單片機(jī)結(jié)構(gòu)框架4如圖2.1MCS-51系列單片機(jī)中的8031、8051與8751均采用40Pin封裝的雙列直接DIP結(jié)構(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由高電平
20、下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖2.3。此外,RESET/PDF還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)部RAM的數(shù)據(jù)不丟失。圖2.32.2 單片機(jī)的存儲器單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式。2.
21、2.1 程序存儲空間程序存儲空間可以被映射為部程序存儲器或者外部程序存儲器。AT89C51單片機(jī)部具有的4KB程序存儲器被映射到程序存儲空間的0000H0FFFH區(qū)間。這部分程序存儲空間也可以被映射為外部程序存儲器,它具體被映射為哪一種程序存儲器取決于引腳 (引腳31)所接的電平。當(dāng)引腳為高電平,部程序存儲器被映射到這部分程序存儲空間;當(dāng)引腳為低電平,外部程序存儲器被映射到這部分程序存儲空間。高于0FFFH的程序存儲空間只能被映射為外部程序存儲器。2.2.2 數(shù)據(jù)存儲空間AT89C51的部數(shù)據(jù)存儲器有256字節(jié),它們被分為兩部分:高128字節(jié)和低128字節(jié)。低128字節(jié)的部數(shù)據(jù)存儲器是真正的R
22、AM區(qū),可以被用來寫入或讀出數(shù)據(jù)。這一部分存儲容量不是很大,但有很大的作用。它可以進(jìn)一步被分為3部分,如圖2.4所示。圖2.4 部數(shù)據(jù)存儲器低128字節(jié)在部數(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ù)可以通過編程來改變,這種功能為保護(hù)工作寄存器的容提供了很大的方便。如果用戶程序中不需要全部使用4組工
23、作寄存器,那么剩下的工作寄存器所對應(yīng)的部數(shù)據(jù)存儲器也可以作為通用數(shù)據(jù)存儲器使用。4工作寄存器在部數(shù)據(jù)存儲器中的地址映射如表1.1所示。表1.1 工作寄存器地址映射表0組(RS1=0,RS0=0)1組(RS1=0,RS0=1)2組(RS1=1,RS0=0)3組(RS1=1,RS0=1)地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EH
24、R607HR70FHR717HR71FHR7在工作寄存器區(qū)上面,部數(shù)據(jù)存儲器的地址從20H2FH的16個字節(jié)圍,既可以通過字節(jié)尋址的方式進(jìn)入,也可以通過位尋址的方式進(jìn)入,位地址圍從00H到7FH5。字節(jié)地址與位地址的對應(yīng)關(guān)系。部數(shù)據(jù)存儲器地址從30H7FH部分僅可以用作通用數(shù)據(jù)存儲器。部數(shù)據(jù)存儲器的高128字節(jié)被稱為特殊功能寄存器(SFR)區(qū)。特殊功能寄存器被用作CPU和在片外圍器件之間的接口6,它們之間的聯(lián)系方框圖如圖2.5所示。圖2.5 殊功能寄存器(SFR)工作框圖CPU通過向相應(yīng)的特殊功能存儲器寫入數(shù)據(jù)實(shí)現(xiàn)控制對應(yīng)的在片外圍器件的工作,從相應(yīng)的特殊功能存儲器讀出數(shù)據(jù)實(shí)現(xiàn)讀取對應(yīng)的在片外
25、圍器件的工作結(jié)果。在AT89C51單片機(jī)中,包括前面提到的程序狀態(tài)字寄存器(PSW)的特殊功能存儲器共有26個,它們離散地分布在80HFFH的部數(shù)據(jù)存儲器地址空間圍7,對于沒有定義的存儲單元用戶不能使用。如果向這些存儲單元寫入數(shù)據(jù)將產(chǎn)生不確定的效果,從它們讀取數(shù)據(jù)將得到一個隨機(jī)數(shù)。對于字節(jié)地址低位為8H或者FH的特殊功能存儲器,既可以進(jìn)行字節(jié)操作,也可以進(jìn)行位操作。例如前面提到的用來確定當(dāng)前工作寄存器組的程序狀態(tài)字寄存器(PSW),它的地址為00H,因此對它可以進(jìn)行字節(jié)操作,也可以進(jìn)行位操作。采用位操作可以直接控制程序狀態(tài)字寄存器中的第3位(RS0)或第4位(RS1)數(shù)據(jù)而不影響其他位的數(shù)據(jù)。
26、低位地址不為8H或FH的特殊功能存儲器只可以進(jìn)行字節(jié)操作,當(dāng)需要修改這些特殊功能存儲器中的某些位時,對其他的位應(yīng)注意保護(hù)3。片外數(shù)據(jù)存儲空間可以被映射為數(shù)據(jù)存儲器、擴(kuò)展的輸入/輸出接口、模擬/數(shù)字轉(zhuǎn)換器和數(shù)字/模擬轉(zhuǎn)換器等。這些外圍器件統(tǒng)一編址,所有外圍器件的地址都占用數(shù)據(jù)存儲空間的地址資源,因此CPU與片外外圍器件進(jìn)行數(shù)據(jù)交換時可以使用與訪問外部數(shù)據(jù)存儲器一樣的指令。CPU通過向相應(yīng)的外部數(shù)據(jù)存儲器地址單元寫入數(shù)據(jù)實(shí)現(xiàn)控制對應(yīng)的片外外圍器件的工作,從相應(yīng)的外部數(shù)據(jù)存儲器地址單元讀出數(shù)據(jù)實(shí)現(xiàn)讀取對應(yīng)的片外外圍器件的工作結(jié)果。第三章 數(shù)碼管的簡介3.1 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八
27、段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽極數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一
28、字段的陽極為低電平時,相應(yīng)字段就不亮8。3.1.1 數(shù)碼管驅(qū)動方式的分類數(shù)碼管要正常顯示,就要用驅(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ù)碼管的每一個段碼都由一個單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5840根I/O端口來驅(qū)動,要知道一個89S51單片機(jī)可用的I/O端口才32個呢:),實(shí)際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了
29、硬件電路的復(fù)雜性。3.1.3 動態(tài)顯示驅(qū)動數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到一樣的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12
30、ms,由于人的視覺暫留現(xiàn)象與發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(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-1
31、5mA;動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5mA,峰值電流50-60mA。電壓:當(dāng)選擇紅色時,使用1.9V;當(dāng)選擇綠色時,使用2.1V。第四章 電子時鐘的設(shè)計4.1 可實(shí)現(xiàn)的功能1采用六位數(shù)碼管顯示小時、分鐘、秒,并且可以任意設(shè)定時間。2可以查看并且設(shè)定日期,日期采用年、月、日的顯示方式。3可以查看并設(shè)定鬧鐘,鬧鐘的顯示方式采用與時間一樣的顯示方式。4可以查看并設(shè)定星期,數(shù)碼管的最后一位顯示星期,用數(shù)字8表示星期日。5系統(tǒng)設(shè)定詳細(xì)說明:系統(tǒng)的初始狀態(tài)為顯示時鐘狀態(tài),此時顯示小時、分鐘、秒。初始狀態(tài)下,按K0鍵進(jìn)入時間調(diào)整程序,按K1鍵查看鬧鐘,按K2鍵查看日期,按K3鍵查看星期。進(jìn)入時
32、間調(diào)整狀態(tài)后,首先調(diào)整分鐘,此時分鐘閃爍顯示,按K1鍵加一,按K2鍵減一。按K0鍵開始調(diào)整小時,此時小時閃爍顯示,按K1鍵加一,按K2鍵減一,再按K0鍵后系統(tǒng)返回到顯示時間狀態(tài)。在調(diào)整時間狀態(tài)下按下K3鍵進(jìn)入調(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鍵進(jìn)入調(diào)整月,此時按K1鍵加一,按K2鍵減一;按下K0鍵進(jìn)入調(diào)整年,此時按K1鍵加一,按K
33、2鍵減一。此時按下K0鍵返回到調(diào)整時間狀態(tài),按下K3鍵進(jìn)入調(diào)整星期狀態(tài)。在調(diào)整星期狀態(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ù)器的進(jìn)位輸出信號作為分鐘計數(shù)器的計數(shù)信號,分鐘計數(shù)器的進(jìn)位輸出信號又作為小時計數(shù)器的計數(shù)信號11.設(shè)計一個同時顯示時、分、秒6個數(shù)字的數(shù)字鐘,則需要6個七段顯示器。若同時點(diǎn)亮這6個七段顯示器,則電路中會產(chǎn)生一個比較大
34、的電流,很容易造成電路燒壞,我們通過掃描電路來解決這一問題,通過產(chǎn)生一個掃描信號LT(0)一LT(5)來控制6個七段顯示器,依次點(diǎn)亮6個七段顯示器,也就是每次只點(diǎn)亮一個七段顯示器。只要掃描信號的頻率超過人的眼睛視覺暫留頻率24Hz以上,就可以達(dá)到盡管每次點(diǎn)亮單個七段顯示器,卻能具有6個同時顯示的視覺效果,而目顯示也不致閃爍抖動。其中6位掃描信號一方面控制七段顯示器依次點(diǎn)亮,一方面控制6選1選擇器輸出相應(yīng)顯示數(shù)字。控制電路用來將控制時鐘的一些功能加入到整個正常計數(shù)的顯示電路中,通過最終的顯示來驗(yàn)證控制電路的正確性12。圖4.1為整體系統(tǒng)設(shè)計標(biāo)圖(下頁圖4.1)。圖4.1主程序流程圖圖4.2計時中
35、斷服務(wù)程序流程圖4.3 電子時鐘設(shè)計的部分主要流程C語言是計算機(jī)提供給用戶的最快最有效的語言,也是能夠利用計算機(jī)的所有硬件特性并能夠直接控制硬件的唯一語言。對于對電子時鐘的設(shè)計這樣的程序來說,用c語言是最快最有效的語言,下面是用c語言進(jìn)行編寫的基于單片機(jī)的電子時鐘的設(shè)計的部分主要流程程序(見附錄)第五章 電子時鐘的仿真5.1 單片機(jī)調(diào)試仿真軟件源文件的輸入:Keil單片機(jī)模擬調(diào)試軟件集成了一個文本編輯器,用該文本編輯器可以編輯源程序。打開”FILE”“NEW”就打開的此編輯器。在圖5.1中已經(jīng)完成了匯編語言源文件的輸入,并且完成了源程序向當(dāng)前工程的添加。然后再創(chuàng)建工程的步驟如下:打開”proj
36、ect”“new uvision project”然后顯示一個對話框,在對話框里選擇ATMEL,在ATMEL的下拉框中找AT89C51選擇后點(diǎn)擊“OK”就創(chuàng)建了一個工程,注意:創(chuàng)建時把此工程保存在熟悉的文件夾里,以便于后面的查找使用。圖5.1 Keil單片機(jī)模擬調(diào)試軟件的集成開發(fā)環(huán)境完成c語言源文件的輸入后,接著需要把c語言源文件加入工程之中。選擇圖5.1中的工程管理器窗口的子目錄Source Group 1,再單擊鼠標(biāo)右鍵打開快捷菜單。在快捷菜單中選擇“Add File to Group“Source Group 1”,加入文件對話框被打開。在這個對話框的“查找圍”下拉列表框中選擇存儲匯編語
37、言源文件的文件夾,在“文件類型”下拉列表框中選擇Asm Source file(*.a*;*.src),這時存儲的d語言源文件將顯示出來。雙擊要加入的文件名,或者選擇要加入的文件名再單擊Add按鈕即可完成把d語言源文件加入工程。這時工程管理窗口的文件選項(xiàng)卡中子目錄Source Group 1下出現(xiàn)一個c語言源文件,如圖5.1所示。Proteus軟件:Proteus 是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。PROTEUS軟件由
38、Labcenter公司開發(fā),是目前世界上最先進(jìn)、最完整的嵌入式系統(tǒng)設(shè)計與仿真平臺,可以實(shí)現(xiàn)數(shù)字電路、模擬電路與微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計等功能,是目前唯一能夠?qū)Ω鞣N處理器進(jìn)行實(shí)時仿真、調(diào)試與測試的EDA工具。微控制器系統(tǒng)相關(guān)的仿真需建立編譯和調(diào)試環(huán)境,可選擇Keil C51uVision2 軟件。該軟件支持眾多不同公司的芯片,集編輯、編譯和程序仿真等于一體,同時還支持PLM、匯編和C語言的程序設(shè)計。它的界面友好易學(xué),在調(diào)試程序、軟件仿真方面有很強(qiáng)大的功能。其革命性的功能是:將電路仿真和微處理器仿真進(jìn)行協(xié)同,直接在基于原理圖的虛擬原型上進(jìn)行處理
39、器編程調(diào)試,并進(jìn)行功能驗(yàn)證,通過動態(tài)器件如電機(jī)、LED、LCD、開關(guān)等,實(shí)時看到運(yùn)行后的輸入、輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等, Proteus為我們建立了完備的電子設(shè)計開發(fā)環(huán)境。5.2 電子時鐘的仿真選擇仿真元器件在進(jìn)行仿真之前對所需的仿真的元器件的選擇也是很重要的,所需仿真元器件的好壞直接影響到仿真的效果,如果選擇的元器件比較不太合理可能使仿真的結(jié)果不理想,甚至?xí)?dǎo)致仿真的失敗。下表列出本次設(shè)計中用到的元器件14:在進(jìn)行元器件的選擇后,并且在keil上完成程序的編寫測試后我們就可以著手進(jìn)行電子時鐘的仿真了。在數(shù)字電子時鐘程序初步編完之后,利用單片機(jī)硬件仿真軟件進(jìn)行仿
40、真和調(diào)試,同時對程序進(jìn)行適當(dāng)?shù)男薷?1。該設(shè)計在仿真與調(diào)試過程中應(yīng)注意以下幾點(diǎn):1.單片機(jī)時間基準(zhǔn)振蕩電路中振蕩晶體頻率的選擇必須要和程序中的時間基準(zhǔn)相一致。2.由于單片機(jī)處理數(shù)據(jù)過程中要響應(yīng)中斷等原因,而中斷服務(wù)程序所花費(fèi)的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調(diào)試中調(diào)試數(shù)碼管的發(fā)光時間時,需要反復(fù)修改程序中的給定的時間,直到整體上的顯示效果較好,不會有閃爍的現(xiàn)象產(chǎn)生12。在proteus軟件中進(jìn)行電子時鐘電路原理圖的繪制,繪制結(jié)果如5.2所示,在電子時鐘仿真的原理圖此圖中的核心部分是左邊的89c51單片機(jī)中部有顯示驅(qū)動芯片MAX7219,右上部分是一個八段的數(shù)
41、碼管顯示屏,數(shù)碼管下面為四個按鍵,圖中的左下部的那個芯片為時鐘芯片DS1302,時鐘芯片右部為蜂鳴器,原理圖中還有單片機(jī)的晶振電路和單片機(jī)的復(fù)位電路。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進(jìn)行涓
42、細(xì)電流充電的能力。MAX7219是MAXIM公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動芯片,一片MAX7219可驅(qū)動8個7段(包括小數(shù)點(diǎn)共8段)數(shù)字LED、LED條線圖形顯示器、或64個分立的LED發(fā)光二級管。該芯片具有10MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個外接電阻即可設(shè)置所有LED的段電流。它的操作很簡單,MCU只需通過模擬SPI三線接口就可以將相關(guān)的指令寫入MAX7219的部指令和數(shù)據(jù)寄存器,同時它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片7219串聯(lián)方式,這樣MCU就可以通過3根線(即串行數(shù)據(jù)線、串行時鐘線和芯片選通線)控制更多的數(shù)碼管顯示。各器件的作用
43、:89c51單片機(jī)是總體的控制器(整個電子時鐘的CPU),源程序的加載、電路的控制、數(shù)據(jù)的加載、傳送等都在單片機(jī)這一部分。顯示驅(qū)動芯片MAX7219是連接單片機(jī)和數(shù)碼管的芯片。數(shù)碼管顯示屏其顯示作用,是信號的顯示,是本設(shè)計中唯一的顯示設(shè)備。按鍵是對時間、日期等的調(diào)整或輸入,其具體操作方法下節(jié)有具體介紹。時鐘芯片DS1302是系統(tǒng)中的計時芯片,它對年、月、日、時、分、秒等的計時,它采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號。蜂鳴器起鬧鐘揚(yáng)聲功能。另外單片機(jī)的晶振電路和復(fù)位電路屬于電路部分,是信號數(shù)據(jù)的傳輸。5.3 整機(jī)的仿真與調(diào)試調(diào)試:把編寫完的源程序放在KEI
44、L軟件中,先自行檢查下程序是否有誤,更改有誤的部分,再創(chuàng)建工程進(jìn)行程序一個一個地調(diào)試,把調(diào)試結(jié)果顯示有誤的部分找出,檢查錯誤的原因然后再進(jìn)行更改,更改后再進(jìn)行調(diào)試,再找出錯誤進(jìn)行更改,依次循環(huán)進(jìn)行,至到程序調(diào)試成功為止。調(diào)試結(jié)果如圖5.2: 調(diào)試結(jié)果圖5.2仿真:仿真是把KEIL中生成的源程序找出,并加載到單片機(jī),檢查原理圖的設(shè)計是否有誤,更改有誤的部分,然后進(jìn)行仿真,看仿真結(jié)果是否正確,如果不正確或者不顯示結(jié)果,就再此檢查原理圖進(jìn)行更改直到能順利地仿真出結(jié)果。如上圖5.3為電子時鐘整機(jī)仿真圖:該設(shè)計在仿真與調(diào)試過程中應(yīng)注意以下幾點(diǎn):1.單片機(jī)時間基準(zhǔn)振蕩電路中振蕩晶體頻率的選擇必須要和程序中
45、的時間基準(zhǔn)相一致。2.由于單片機(jī)處理數(shù)據(jù)過程中要響應(yīng)中斷等原因,而中斷服務(wù)程序所花費(fèi)的時間必須在中斷返回后在計時單元中扣除掉,否則精確度會變差。3.在仿真調(diào)試中調(diào)試數(shù)碼管的發(fā)光時間時,需要反復(fù)修改程序中的給定的時間,直到整體上的顯示效果較好,不會有閃爍的現(xiàn)象產(chǎn)生。此仿真結(jié)果的主要實(shí)現(xiàn)(1)將其電源鍵打開,按下電源開關(guān)即開始常工作,8個數(shù)碼管顯示依次是時、分、秒、溫度,各占兩位。 (2)按鍵說明:復(fù)位鍵,當(dāng)發(fā)現(xiàn)系統(tǒng)運(yùn)行不正常,進(jìn)入死循環(huán),顯示數(shù)值。嚴(yán)重失真時,按復(fù)位鍵,其部功能為使用單片機(jī)復(fù)位。強(qiáng)行使單片機(jī)從頭開始運(yùn)行,跳出錯誤區(qū)。日期顯示鍵,該鍵接外部中斷零(1NT0引腳)。通過中斷服務(wù)子程序
46、來達(dá)到顯示的年、月、日、星期的目的。其中每項(xiàng)占兩位,年份只顯示后兩位,如06 06 06 03表示06年06月06號星期三。中斷程序只進(jìn)行一秒,后返回主程序,顯示時、分、秒、溫度。調(diào)時鍵(TS)按下此鍵進(jìn)入調(diào)時子程序,按一下調(diào)分鐘,兩下調(diào)時,三下調(diào)星期,四下調(diào)日期,五下調(diào)月份,六下調(diào)年份的低兩位,七下調(diào)年份的高兩位。ADD鍵表示增加,每按一下增加一,DWC鍵表示減少,每按一下減少一,三個鍵組合在一起完成調(diào)時功能。具體的按鍵使用:當(dāng)進(jìn)入調(diào)整功能時,按第一個鍵K1進(jìn)行減運(yùn)算,按第二個鍵K2進(jìn)行加運(yùn)算。按下第三個鍵K3,實(shí)現(xiàn)日期時間調(diào)整與定時功能,等數(shù)字閃爍后,按一二鍵進(jìn)行加減,從而可以進(jìn)行具體日期
47、時間調(diào)整。當(dāng)定時設(shè)定后,到預(yù)定時間后,時鐘會發(fā)出連續(xù)的蜂鳴聲。按下第四個鍵K4,可以進(jìn)行時間日期切換,8位LED數(shù)碼管將顯示時間或日期,采用24小時制。結(jié)束語本文通過對電子時鐘的設(shè)計仿真,使自己對單片機(jī)和c語言有了進(jìn)一步的溫故掌握。在設(shè)計過程中,吸收了前輩的一些先進(jìn)的理論成果,也對小軍同志的時鐘設(shè)計經(jīng)驗(yàn)進(jìn)行了借鑒。我在設(shè)計中總結(jié)出了一個重要的經(jīng)驗(yàn):一切問題都要結(jié)合實(shí)際進(jìn)行設(shè)計。因?yàn)椴煌脑O(shè)計技術(shù)或者設(shè)計思想都有自身的優(yōu)點(diǎn)和局限性,只有根據(jù)具體的設(shè)計要求,才能順利地進(jìn)行設(shè)計仿真,也才能對己有的設(shè)計方法進(jìn)行創(chuàng)新。本裝置所實(shí)現(xiàn)的功能為時鐘功能。由于時間和日期都是通過特定的芯片來獲得的,單片機(jī)只起到控
48、制和轉(zhuǎn)換的作用,在精度方面不受單片機(jī)性能和程序的限制,故容易保障其精度和效率。本次設(shè)計有較大的進(jìn)展,取得了較好的效果,對單片機(jī)軟硬件資源和接日擴(kuò)展都有深入的學(xué)習(xí)。也學(xué)習(xí)了時鐘芯片12887的基本原理和使用方法。本設(shè)計是學(xué)習(xí)單片機(jī)的較佳選擇。但是設(shè)計還有諸多功能沒有完善,以后有機(jī)會會繼續(xù)完善其相應(yīng)的功能。設(shè)計不足:本系統(tǒng)所采用的顯示模塊LED較多,占用了不少資源,包括線路板、 單片機(jī)端口等,同時使得電路穩(wěn)定性下降; 由于時間比較緊迫,未能開發(fā)出更多的功能以體現(xiàn)單片機(jī)電子時鐘的優(yōu)越性。 本系統(tǒng)上可實(shí)現(xiàn)的功能:1.實(shí)現(xiàn)秒表功能; 2.實(shí)現(xiàn)鬧鈴功能,當(dāng)所定的時間到時,產(chǎn)生斷續(xù)的蜂鳴聲;3.具有天數(shù)倒計
49、時功能,例如:距科技文化藝術(shù)節(jié)開幕還有*天;以上的功能由于時間緊迫未能完成。 但這些功能的開發(fā)都具有可行性, 這也就是單片機(jī)可擴(kuò)展功能的優(yōu)越性之所見,有待于繼續(xù)開發(fā)。報告結(jié)束,請老師和同學(xué)們批評指正! 大家! TOC o 1-3 h z u 致 本課題的研究和論文的完成是在曾老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富的實(shí)踐經(jīng)驗(yàn)、兢兢業(yè)業(yè)的工作精神使我受益匪淺。老師豁達(dá)的胸懷對我樹立正確的人生觀和價值觀產(chǎn)生了積極的影響。在老師的指導(dǎo)和幫助下,我的專業(yè)知識水平和學(xué)習(xí)能力都得到了很大的提高。我在人生道路上的每一個腳印都凝聚著老師的心血。跟隨老師學(xué)習(xí)這兩年所獲得的知識將是我一生中最寶貴
50、的財富。在此謹(jǐn)向曾老師表示崇高的敬意和衷心的感!感老師在研究工作中對我進(jìn)行的悉心指導(dǎo),并為我的學(xué)習(xí)提供了良好的條件,使我的論文的撰寫得以順利進(jìn)行。感曾老師在我的學(xué)習(xí)和生活中給予的教誨和幫助。最后感生我育我的父母!感你們一直以來對我的無私關(guān)愛和默默奉獻(xiàn)。參考文獻(xiàn) 1周昌七,電工,2006年11月,總第225期,桌面電子時鐘制作 2,小軍,新余高專學(xué)報,2006年4月,第9卷第2期用單片機(jī)實(shí)現(xiàn)電子時鐘 3同洲,郭華帥,中國大學(xué)學(xué)報,2009年3月,第16卷第1期,電子時鐘仿真與FPGA實(shí)現(xiàn)4吳鎮(zhèn)宇,2005年9月,片上時鐘系統(tǒng)的研究與的設(shè)計5 建忠,2004年,電子科技大學(xué),單片機(jī)原理與應(yīng)用6彩蘭
51、 海琳,計算機(jī)與信息技術(shù),軟件縱橫,基于C語言為核的電子時鐘設(shè)計 7小軍,新余高專學(xué)報,2006年4月,第9卷第2期,用單片機(jī)實(shí)現(xiàn)電子時鐘8顏學(xué)超,2006年5月,一種實(shí)時時鐘芯片的設(shè)計9翟玉文 徐宏亮 巖,化工學(xué)院學(xué)報,2007年1月,實(shí)用多功能電子時鐘設(shè)計 10同洲,郭華帥,中國大學(xué)學(xué)報,2009年3月第16卷第1期,電子時鐘仿真與FPGA實(shí)現(xiàn)11吳鎮(zhèn)宇,2005年9月,片上時鐘系統(tǒng)的研究與的設(shè)計12簡寧,企業(yè)科技與發(fā)展,2010年第16期,電子時鐘仿真實(shí)現(xiàn)13徐得波,廣英,2004年9月,自然科學(xué),單片機(jī)動態(tài)可調(diào)電子時鐘系統(tǒng)14戴勇,斌儒,國外電子元器件2008年第7期,基于AVR單片機(jī)
52、Mega16的電子時鐘的設(shè)計15 何翠萍,曉剛,周功海,煤礦現(xiàn)代化,2007年1月第1期,單片機(jī)控電子時鐘的設(shè)計附 錄:#include main.h#include ds1302.hcode uint8 Ledcode13=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf,0 x86;uint8 Time7=55,59,11,22,2,2,11;/秒分時日月周年10-08-15 11:59:55uint8 Led_buf6;uint8 Num, Led_n=0, T_n=0;void delay(u
53、int16 n)while (n-);/* * 初始化系統(tǒng)定時器*/void systimer_init(void) TMOD = 0 x01; TH0 = 0 xF8; TL0 = 0 xCC; TR0 = 0; ET0 = 1;TMOD &= 0 x0F;TMOD |= 0 x10; TH1 = 0 xDC; / 定時10ms TL1 = 0 x00; TR1 = 0; ET1 = 0;EA = 1;/* * 判斷鍵值*/uint8 scan_key(void)uint8 val=0;KeyOut1 = 0;KeyOut2 = 1;KeyOut3 = 1;KeyOut4 = 1;if (K
54、eyIn4 = 0)delay(KEY_DELAY);if (KeyIn4 = 0)val = K_ADD;while (KeyIn1 = 0)|(KeyIn2 = 0)|(KeyIn3 = 0)|(KeyIn4 = 0);KeyOut1 = 1;KeyOut2 = 0;KeyOut3 = 1;KeyOut4 = 1;if (KeyIn4 = 0)delay(KEY_DELAY);if (KeyIn4 = 0)val = K_LEFT;while (KeyIn1 = 0)|(KeyIn2 = 0)|(KeyIn3 = 0)|(KeyIn4 = 0);KeyOut1 = 1;KeyOut2 =
55、1;KeyOut3 = 0;KeyOut4 = 1;if (KeyIn4 = 0)delay(KEY_DELAY);if (KeyIn4 = 0)val = K_SUB;while (KeyIn1 = 0)|(KeyIn2 = 0)|(KeyIn3 = 0)|(KeyIn4 = 0);KeyOut1 = 1;KeyOut2 = 1;KeyOut3 = 1;KeyOut4 = 0;if (KeyIn2 = 0)delay(KEY_DELAY);if (KeyIn2 = 0)val = K_SET;if (KeyIn3 = 0)delay(KEY_DELAY);if (KeyIn3 = 0)val
56、 = K_ENTER;if (KeyIn4 = 0)delay(KEY_DELAY);if (KeyIn4 = 0)val = K_RIGHT;while (KeyIn1 = 0)|(KeyIn2 = 0)|(KeyIn3 = 0)|(KeyIn4 = 0);return val;/* * 制作數(shù)碼管數(shù)據(jù)*/void make_led_number(void)ET0 = 0;Led_buf0 = 0 x7F & LedcodeTime0%10;Led_buf1 = LedcodeTime0/10;Led_buf2 = 0 x7F & LedcodeTime1%10;Led_buf3 = LedcodeTime1/10;Led_buf4 = 0 x7F & LedcodeTime2%10;Led_buf5 = LedcodeTime2/1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年房產(chǎn)認(rèn)購專項(xiàng)協(xié)議范本
- 2024年成品油銷售協(xié)議模板
- 2023-2024學(xué)年珠海市全國大聯(lián)考(江蘇卷)高三第二次數(shù)學(xué)試題試卷
- 2024年高效代理合作招募協(xié)議模板
- 2024年幼教崗位聘用協(xié)議范本
- 彩鋼瓦安裝工程協(xié)議模板2024年
- 2024年海水產(chǎn)品長期供應(yīng)協(xié)議模板
- 2024年度潤滑油分銷協(xié)議范本
- 文書模板-《硬件設(shè)計合同》
- 2024房產(chǎn)居間服務(wù)協(xié)議模板
- 微積分方法建模12傳染病模型數(shù)學(xué)建模案例分析
- 衛(wèi)浴產(chǎn)品世界各國認(rèn)證介紹
- 江蘇省職工代表大會操作辦法.doc
- 湘教版小學(xué)音樂五年級上冊教學(xué)計劃
- sch壁厚等級對照表
- 高新技術(shù)企業(yè)認(rèn)定自我評價表
- 藥物分類目錄
- 中石油-細(xì)節(jié)管理手冊 03
- 柿子品種介紹PPT課件
- 全國重點(diǎn)文物保護(hù)單位保護(hù)項(xiàng)目安防消防防雷計劃書
- 護(hù)士對預(yù)防患者跌倒的問卷調(diào)查表
評論
0/150
提交評論