




已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
唐 山 學 院畢 業(yè) 設 計設計題目:多功能液晶顯示數(shù)字時鐘的設計與實現(xiàn) 系 別: 班 級: 姓 名: 指 導 教 師: 2010年5月30 日多功能液晶顯示數(shù)字時鐘的設計與實現(xiàn)摘 要數(shù)字時鐘主要是利用電子技術將時鐘電子化、數(shù)字化,擁有時鐘精確、體積小、界面友好、可擴展性能強等特點,被廣泛應用于生活和工作當中。另外,在生活和工農(nóng)業(yè)生產(chǎn)中,也常常需要溫度,這就需要數(shù)字時鐘具有多功能性。本設計主要為實現(xiàn)一款可正常顯示時鐘、日歷、帶有定時鬧鐘的多功能數(shù)字時鐘。本設計對當前數(shù)字時鐘開發(fā)手段進行了比較和分析,最終確定了采用單片機技術實現(xiàn)多功能數(shù)字時鐘。本設計采用STC89C52RC單片機芯片作為中央處理器,外接DS1302時鐘芯片提供時鐘日歷信息,星期通過編程計算自動生成,并利用液晶顯示屏LCD1602來顯示時鐘、日歷、星期、鬧鐘等信息,通過按鍵來設置或校準相關信息,并通過+5V電源為此系統(tǒng)供電,測試電路完成所有功能后制成樣機。這種實現(xiàn)方法的優(yōu)點是電路簡單,性能可靠,實時性好,操作簡單,編程容易。該數(shù)字時鐘可以應用于一般的生活和工作中,也可通過改裝,提高性能,增加新功能,從而給人們的生活和工作帶來更多的方便。關鍵詞:數(shù)字時鐘 單片機系統(tǒng) STC89C52RC DS1302 LCD1602Design and Implementation of Multi-function LCD Digital ClockAbstract Digital clock is using electronic technology to clock electronic, digital, with the clock precision, small size and friendly interface, scalability and strong performance characteristics, is widely used to live and work among. In addition, living and industrial and agricultural production, are often required temperature, which requires digital clock with versatility. The key for the realization of a design can be displayed properly clock, calendar, alarm clock with multi-functional electronic time clock. This article discusses the development of digital clock means were compared and analyzed finally determine the function of using SCM technology digital clock. This design uses STC89C52RC single chip as the CPU, external clock DS1302 clock chip to provide calendar information, automatically generated by programming a week, and use LCD1602 LCD displays clock, calendar, week, alarm clock and other information, through the button to set or calibration information, and through the +5 V power supply for this system. When all of the features produced after the completion of prototype .This method provides the advantage of simple circuit,reliable performance, real-time, simple operation, easy programming. The digital clock can be applied to general life and work, can also be modified to improve performance,add new features to peoples lives and work to bring more convenience. Keywords: Digital Clock ;Microcomputer System; STC89C52RC; DS1302 ;LCD1602 目 錄1引 言12基于單片機的數(shù)字時鐘設計22.1主要芯片選擇22.1.1 STC89C52RC單片機簡介22.1.2 STC89C52RC引腳簡介32.2時鐘芯片DS130242.2.1 DS1302簡介52.2.2 DS1302引腳說明52.2.3 DS1302的片內(nèi)寄存器72.3 LCD液晶顯示器82.3.1液晶顯示器LCD1602簡介82.3.2 LCD的基本指令93數(shù)字時鐘硬件電路設計113.1時鐘電路設計113.2顯示電路113.3按鍵電路設計123.4鬧鈴電路設計133.5復位電路設計143.6電源的設計143.6.1單相橋式整流電路介紹143.6.2變壓器和整流二極管的選擇153.6.3濾波電路153.6.4濾波電容的選擇163.6.5穩(wěn)壓電路164系統(tǒng)的軟件設計174.1 DS1302時鐘模塊174.1.1宏定義DS1302中寄存器地址174.1.2時鐘芯片的單字節(jié)傳送方式174.1.3是否寫保護寄存器操作184.1.4時鐘芯片的初始化184.1.5時鐘停止/啟動走時184.1.6數(shù)據(jù)信息的顯示194.2 LCD顯示模塊部分194.2.1基本操作程序194.2.2 RAM地址映射圖194.2.3狀態(tài)字說明204.2.4數(shù)據(jù)指針設置204.2.5顯示模式設置204.2.6初始化設置214.2.7其他設置214.3主程序模塊214.3.1星期采用的算法214.3.2中斷聲明214.3.3校準時間函數(shù)224.3.4設置鬧鐘函數(shù)224.3.5 LCD顯示程序設計224.3.6主函數(shù)225系統(tǒng)調(diào)試265.1軟件調(diào)試265.1.1 Proteus 簡介265.1.2 Keil 簡介265.1.3 Proteus與Keil連接調(diào)試275.2硬件調(diào)試295.2.1焊接的注意事項295.2.2單片機電路調(diào)試295.2.3顯示電路的調(diào)試295.2.4 DS1302電路調(diào)試305.2.5按鍵電路調(diào)試306結論31謝辭32參考文獻33附錄一34附錄二35附錄三36外文資料56唐 山 學 院 畢 業(yè) 設 計1引 言隨著半導體技術的飛速發(fā)展,以及移動通信、網(wǎng)絡技術、多媒體技術在嵌入式系統(tǒng)設計中的應用,單片機從4位、8位、16位到32位,其發(fā)展歷程一直受到廣大電子愛好者的極大關注。單片機功能越來越強大,價格卻不斷下降的優(yōu)勢無疑成為嵌入式系統(tǒng)方案設計的首選,同時單片機應用領域的擴大也使得更多人加入到基于單片機系統(tǒng)的開發(fā)行列中,推動著單片機技術的創(chuàng)新進步。而數(shù)字鐘正是一種用數(shù)字電路技術與單片機技術實現(xiàn)計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用1。數(shù)字時鐘是指以微處理器為核心,充分利用數(shù)字技術和軟件技術,與各類脈沖信號的傳感器配合,記錄時間等的智能儀表。數(shù)字時鐘是日常生活、工業(yè)生產(chǎn)中常用的一種工具,社會擁有量和需求量都很大。功能上要求能夠完成準確走時、調(diào)時,性能上要求抗干擾能力強,穩(wěn)定可靠,同時在價格上具備競爭力2。結合以上幾點,設計了一款數(shù)字時鐘,達到了可靠和經(jīng)濟的雙重要求,同時易于與其它產(chǎn)品結合使用,是非常必要的。本設計主要著眼于數(shù)字鐘的可靠性與實用性,把工業(yè)用單片機技術、與微型機技術應該在數(shù)字時鐘設計中,開辟了單片機技術與現(xiàn)代計時方法相結合的一條新路。該數(shù)字時鐘設計工作原理為:單片機上電后,從芯片DS1302上講讀取時間數(shù)據(jù),計時開始。通過按鈕進行調(diào)時,上電復位進行校正時間,通過LCD顯示其值。日常生活中對單片機數(shù)字鐘的問題要求越來越高,本設計僅針對簡單的數(shù)字鐘進行研究,能夠實現(xiàn)數(shù)字時鐘的正確走時。2基于單片機的數(shù)字時鐘設計本系統(tǒng)由控制時鐘芯片DS1302、STC89C52RC單片機和字符點陣型LCD1602液晶顯示器等器件構成。用DS1302產(chǎn)生時鐘信號,再由單片機負責接收并且對其進行控制,然后通過編寫程序實現(xiàn)具體的功能,如年、月、日、星期、時、分、秒,以及時間的校準、鬧鐘的設置等。再通過編寫液晶器件的驅動程序,使其信息顯示在LCD1602液晶顯示器上, 最后測試電路完成所有功能后制成樣機,系統(tǒng)方框圖如圖2-1所示。圖2-1系統(tǒng)方框圖單片機時鐘芯片 電源 鍵盤LCD顯示鍵盤是為了完成時鐘、日歷的校對和日歷的顯示功能。由于此電子時鐘要求具有鬧鈴功能,所以設計有鬧鈴電路,進行聲音響鈴。整個電路使用了兩種電源,+5V電源將為整個電路供電。而+3V電源僅作為DS1302的備用電源。當+5V電源被切斷后,DS1302啟用+3V電源,可以保持DS1302繼續(xù)工作。當+5V電源恢復供電,LCD依舊顯示當前時間,而不會因為斷電使系統(tǒng)復位到初始化時間,避免了重新校時的麻煩。2.1主要芯片選擇2.1.1 STC89C52RC單片機簡介STC系列單片機是由STMicroelectronics 公司生產(chǎn),并有宏晶公司做大陸代理的。STMicroelectronics即意法半導體公司是1987年6月在意大利的SGS微電子公司和法國的湯姆遜微電子公司合并后產(chǎn)生的。1998年5月,公司由原來的SGS湯姆遜(SGSTHOMSON)微電子公司改名為意法半導體公司(STMicroelectronics),簡稱ST公司3。2.1.2 STC89C52RC引腳簡介STC89C52RC可以代替AT89C51,功能更強,速度更快,壽命更長,價格更低。將AT89C51中的程序直接燒錄到STC89C52RC中后,STC89C52RC就可以代替AT89C51直接工作(一般都不需要做任何改動即可正常工作)。STC89C52RC的內(nèi)核和AT51系列單片機一樣,故引腳相同,外形及引腳排列也相同。管腳說明:VCC供電電壓。GND接地。P0口8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口帶內(nèi)部上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口帶內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。在編程/校驗時,P3口可接收某些控制信號。具體的P3口功能,如表2-1所示。表2-1 P3口的特殊功能引腳 替代功能 說明P3.0 RXD 串行數(shù)據(jù)接收P3.1 TXD 串行數(shù)據(jù)發(fā)送P3.2 INT0 外部中斷0申請P3.3 INT1 外部中斷1申請 P3.4 T0 定時器0外部事件計數(shù)輸入 P3.5 T1 定時器1外部事件計數(shù)輸入 P3.6 WR 外部RAM寫選通 P3.7 RD 外部RAM讀選通RST復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)5。XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩器的輸出。2.2時鐘芯片DS1302在數(shù)字時鐘設計中,常用的實時時鐘芯片有DS12887、DS1216、DS1643、DS1302。每種芯片的主要時鐘功能基本相同,只是在引腳數(shù)量、備用電池的安裝方式、計時精度和擴展功能等方面略有不同。DS12887與DS1216芯片都有內(nèi)嵌式鋰電池作為備用電池; X1203引腳少,沒有嵌入式鋰電池,跟DS1302芯片功能相似,只是相比較之下,X1203與AT89S51搭配使用時占用I/O口較多。DS1643為帶有全功能實時時鐘的8K8非易失性SRAM,集成了非易失性SRAM、實時時鐘、晶振、電源掉電控制電路和鋰電池電源,BCD碼表示的年、月、日、星期、時、分、秒,帶閏年補償。同樣,DS1643擁有28只管腳,硬件連接起來占用微處理器I/O口較多,不方便系統(tǒng)功能拓展和維護。故而從性價比和貨源上考慮,本設計采用時鐘芯片DS1302。2.2.1 DS1302簡介DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘日歷芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.55.5V。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。有主電源和備份電源雙引腳,而且備份電源可由大容量電容(1F)來替代。需要強調(diào)的是,DS1302需要使用32.768KHz的晶振6。2.2.2 DS1302引腳說明DS1302引腳圖參照圖2-2。圖2-2 DS1302芯片引腳圖 其的引腳功能參照表2-2。表2-2 DS1302管腳的功能描述 管腳名功能說明X1,X232.768KHz 晶振管腳GND地RST復位腳I/O數(shù)據(jù)輸入/輸出引腳SCLK串行時鐘Vcc1,Vcc2電源供電管腳在編程過程中要注意DS1302的讀寫時序。DS1302是SPI總線驅動方式。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數(shù)據(jù)。要想與DS1302通信,首要先了解DS1302的控制字。DS1302的控制字如表2-3。表2-3 DS1302控制字(即地址及命令字節(jié)) BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT01RAMA4A3A2A1A0RD控制字的作用是設定DS1302的工作方式、傳送字節(jié)數(shù)等。每次數(shù)據(jù)的傳輸都是由控制字開始??刂谱指魑坏暮x和作用如下:BIT7:控制字的最高有效位,必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。BIT 6:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);BIT 5至BIT 1(A4A0):用A4A0表示,定義片內(nèi)寄存器和RAM的地址。定義如下:當BIT 6位=0時,定義時鐘和其他寄存器的地址。A4A0=06,順序為秒、分、時、日、月、星期、年的寄存器。當A4A0=7,為芯片寫保護寄存器地址。當A4A0=8,為慢速充電參數(shù)選擇寄存器。當A4A0=31,為時鐘多字節(jié)方式選擇寄存器。當BIT 6=1時,定義RAM的地址,A4A0=030,對應各子地址的RAM,地址31對應的是RAM多字節(jié)方式選擇寄存器。BIT 0(最低有效位):如為0,表示要進行寫操作,為1表示進行讀操作。控制字總是從最低位開始輸出。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。DS1302的數(shù)據(jù)讀寫方式有兩種,一種是單字節(jié)操作方式,一種是多字節(jié)操作方式。每次僅寫入或讀出一個字節(jié)數(shù)據(jù)稱為單字節(jié)操作,每次對時鐘/日歷的8字節(jié)或31字節(jié)RAM進行全體寫入或讀出的操作,稱其為多字節(jié)操作方式。當以多字節(jié)方式寫時鐘寄存器時,必須按數(shù)據(jù)傳送的次序依次寫入8個寄存器。但是,當以多字節(jié)方式寫RAM時,不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一個字節(jié)都將傳送至RAM。為了啟動數(shù)據(jù)的傳輸,RST引腳信號應由低變高,當把RST驅動至邏輯1的狀態(tài)時,SCLK必須為邏輯0,數(shù)據(jù)在SCLK的上升沿串行輸入。無論是讀周期還是寫周期,也無論送方式是單字節(jié)傳送還是多字節(jié)傳送,都要通過控制字指定40字節(jié)中的哪個將被訪問。在開始8個時鐘周期把命令字(具有地址和控制信息的8位數(shù)據(jù))裝入移位寄存器之后,另外的時鐘在讀操作時輸出數(shù)據(jù),在寫操作時輸入數(shù)據(jù),所有的數(shù)據(jù)在時鐘的下降沿變化。所有寫入或讀出操作都是先向芯片發(fā)送一個命令字節(jié)。對于單字節(jié)操作,包括命令字節(jié)在內(nèi),每次為2個字節(jié),需要16個時鐘;對于時鐘/日歷多字節(jié)模式操作,每次為7個字節(jié),需要72個時鐘;而對于RAM多字節(jié)模式操作,每次則為32字節(jié),需要多達256個時鐘。這里僅給出單字節(jié)讀寫時序。多字節(jié)操作方式與其類似,只是后面跟的字節(jié)數(shù)不止一個。2.2.3 DS1302的片內(nèi)寄存器表2-4 日歷、時間寄存器及其控制字 寄存器名稱寫操作讀操作取值范圍76 5 43 2 1秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN時寄存器84H85H002312/2410HRHR日寄存器86H87H0131010DATEDATE月寄存器88H89H011200 10MMONTH周寄存器8AH8BH010700 0 0DAY年寄存器8CH8DH009910YEARYEAR通過控制字對DS1302片內(nèi)寄存器進行尋址之后,即可就所選中寄存器的各位進行操作。片內(nèi)各寄存器及各位的功能定義如表2-4所示。DS1302有關日歷、時間的寄存器共有10個,時鐘/日歷包含在其中的7個寫/讀寄存器內(nèi),這7個寄存器分別是秒、分、小時、日、月、星期和年。小時寄存器(85H、84H)的位7用于定義DS1302是運行于12小時模式還是24小時模式。當為12小時制式時,位5為“0”表示AM;為“1”表示PM。在24小時制式下,位5是第二個10小時位(2023時)。 秒寄存器(81H、80H)的位7定義為時鐘暫停標志(CH)。當該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位置為0時,時鐘開始運行。一般在設置時鐘時,可以停止其工作,設定完之后,再啟動其工作??刂萍拇嫫鳎?FH、8EH)的位7是寫保護位(WP),其它7位均置為0。在任何片內(nèi)時鐘/日歷寄存器和RAM,在寫操作之前,WP位必須為0,否則將不可寫入。當WP位為1時,寫保護位防止對任一寄存器的寫操作。因此,通過置寫保護位,可以提高數(shù)據(jù)的安全性。另外,還有慢速充電控制寄存器和RAM寄存器。 慢速充電寄存器控制著DS1302的慢速充電特性。寄存器的BIT4BIT7(TCS)決定是否具備充電性能:僅在編碼為1010的條件下才具備充電性能,其他編碼組合不允許充電。2.3 LCD液晶顯示器2.3.1液晶顯示器LCD1602簡介液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。本系統(tǒng)使用是是LCD1602液晶顯示器,它可以顯示兩行,每行16個字符,采用單+5V電源電,外圍電路配置簡單,價格便宜,具有很高的性價比7。LCD1602封裝圖如圖2-3所示。圖2-3 LCD1602封裝圖LCD1602采用標準的16腳接口,其中VSS為地電源,VDD接5V正電源,VEE為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。D0D7為8位雙向數(shù)據(jù)線。BLA背光源正極,BLK背光源負極。2.3.2 LCD的基本指令LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,具體的命令見表2-5所示。表2-5 LCD1602控制指令 指 令RSR/WD7D6D5D4D3D2D1D01清屏00000000012光標復位000000001*3光標和顯示模式設置00000001I/DS4顯示開關控制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址(AGG)8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址(ADD)9讀忙標志或地址01BF計數(shù)器地址(AC)10寫入CGRAM/DDRAM10要寫的數(shù)11讀CGRAM/ DDRAM數(shù)11讀出的數(shù)據(jù)1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。1.清屏指令功能:(1) 清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的ASCII碼20H;(2) 光標歸位,即將光標撤回液晶顯示屏的左上方;(3) 將地址計數(shù)器(AC)的值設為0。2.光標復位指令 功能:(1) 把光標撤回到顯示器的左上方;(2) 把地址計數(shù)器(AC)的值設置為0;(3) 保持DDRAM的內(nèi)容不變。3.光標和顯示模式設置指令 功能:設定每次定入1位數(shù)據(jù)后光標的移位方向,并且設定每次寫入的一個字符是否移動。4.顯示開關控制指令功能:控制顯示器開/關、光標顯示/關閉以及光標是否閃爍。5.設定顯示屏或光標移動方向指令功能:使光標移位或使整個顯示屏幕移位。6.功能設定指令功能:設定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。7.設定CGRAM地址指令功能:設定下一個要存入數(shù)據(jù)的CGRAM的地址。8.設定DDRAM地址指令功能:設定下一個要存入數(shù)據(jù)的DDRAM的地址。9.讀取忙信號或AC地址指令功能:(1) 讀取忙碌信號BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時無法接收單片機送來的數(shù)據(jù)或指令;當BF=0時,液晶顯示器可以接收單片機送來的數(shù)據(jù)或指令;(2) 讀取地址計數(shù)器(AC)的內(nèi)容。10.數(shù)據(jù)寫入DDRAM或CGRAM指令一覽功能:(1) 將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對應的字符;(2) 將使用者自己設計的圖形存入CGRAM。11. 從CGRAM或DDRAM讀出數(shù)據(jù)的指令一覽功能:讀取DDRAM或CGRAM中的內(nèi)容。3數(shù)字時鐘硬件電路設計3.1時鐘電路設計系統(tǒng)時鐘應用了時鐘芯片DS1302,其連接如圖3-1所示。該硬件電路設計簡單,抗干擾能力強。STC89C52RC單片機P1.2直接接DS1302的RST端,上電后,STC89C52RC的P1.2腳自動輸出高電平。P1.3作為串行時鐘接口,P1.4作為時鐘數(shù)據(jù)的I/O。DS1302采用雙電源供電,平時由+5V電源供電,當+5V掉電之后,由圖中BT1(+3V備用電池)供電。特別需要注意X1和X2兩端連接的晶振,該晶振頻率為32.768KHz。圖 3-1系統(tǒng)時鐘電路 3.2顯示電路系統(tǒng)的顯示電路采用的是液晶顯示方式。采用1602字符點陣型液晶模塊,上一行顯示日期,星期,下一行顯示時間或是鬧鐘。使用起來比較靈活,操作簡單,易控制,能夠帶來很大的方便。在LCD1602液晶顯示模塊和單片機STC89C52RC相連接時的,具體的接法為:將VSS接地,VDD接高電平,VEE接入一個電位器來調(diào)整LCD1602的對比度。將RS接到P2.0口,R/W接到P2.1口,E接到P2.2口。D0D7接到P0口來控制命令,輸入及數(shù)據(jù)的輸入/輸出。具體的連接電路如圖3-2所示。圖3-2 LCD1602液晶和單片機STC89C52RC接口電路3.3按鍵電路設計根據(jù)功能需要,本時鐘需要設置以下功能鍵:時間校準鍵,加1操作鍵,減1操作鍵,鬧鈴校準鍵。按照鍵盤與CPU的連接方式可分為獨立式鍵盤和矩陣式鍵盤。獨立式鍵盤是各個按鍵相互獨立,每個按鍵占用一個I/O口線,每根I/O口線上的按鍵不會影響其他I/O口上按鍵工作狀態(tài)。獨立式鍵盤電路配置靈活,軟件結構簡單,但每個按鍵必須占用一根I/O口,在按鍵數(shù)量較多時,I/O口線浪費較大,且電路結構復雜。矩陣式鍵盤適合按鍵較多時使用。由于本設計的電子鐘最多需要4個按鍵,若采用矩陣式鍵盤時會有按鍵浪費,故采用的是獨立式鍵盤。對于內(nèi)置了上拉電阻的I/O引腳來說,外接上拉電阻沒有意義,如圖3-3所示。圖 3-3鍵盤電路K1、K2、K3、K4鍵為自動復位按鍵,每次按下后,會自動彈出。單片機管腳只有在按鍵按下時為低電平,按鍵彈出后重新恢復高電平。按鍵操作說明如下:K1鍵:該鍵為自動復位鍵,在校對狀態(tài)下,每次按動該鍵,都會使相應校對位進行減1操作。例如:校對小時狀態(tài),每按一下,小時位減1,當加至小時最高值23時,再按K1鍵,小時位回0。調(diào)分、秒、年、月、日與皆之相同,只是各位最高值不同。K2鍵:該鍵為自動復位鍵,與K1鍵類似,不同之處是該鍵每次按下將使相應校對位進行加1操作。K3鍵:該鍵為自動復位鍵,在正常顯示時間狀態(tài)下,第一次按下后,開始校對小時,以后每次按下都會分別進入對分、秒、年、月、日的校對狀態(tài)。K4鍵:該鍵為自動復位鍵,在正常顯示時間狀態(tài)下,第一次按下后,開始校對鬧鐘時、鬧鐘分的校對狀態(tài)。3.4鬧鈴電路設計鬧鈴音樂可以直接采用蜂鳴器鬧鈴,如當前時刻與鬧鈴時間相同,單片機向蜂鳴器送出低電平,蜂鳴器發(fā)聲。采用蜂鳴器鬧鈴結構簡單,控制方便,但是發(fā)出的鬧鈴聲音單一。也可以在編程的時候編寫一段音樂程序,待鬧鈴時間到時,調(diào)用該音樂程序給揚聲器,便響起音樂。不過該方法只能做一些簡單音樂,并且音樂程序會占用很多單片機存儲資源。還有一種方法是采用錄音放音芯片1420做鬧鈴,先對錄放音設備錄入一段音樂,當?shù)皆O定時間時,單片機控制錄放音設備放音。采用錄放音電路,鈴聲可以是預先設定的一段自己喜歡的音樂,符合電器設備人性化的要求。且1420芯片可以分段錄音,還具有語音報時功能。另外,也可以購置一塊音樂集成電路,加置在單片機和蜂鳴器之間,當單片機連接鬧鈴電路的管腳送出低電平時,音樂集成電路會給蜂鳴器特定脈沖,使蜂鳴器發(fā)聲。此類集成電路體積較小,使用方便,不足的是音樂簡單、單一。鬧鈴的音樂不是本設計中的重點,故采用最簡單的方法,占用單片機一根I/O口P2.3, 中間用PNP型三極管連接P2.3和蜂鳴器。當P2.3引腳為低電平時,三極管的發(fā)射極和集電極導通,使蜂鳴器發(fā)聲。當響鈴標志位為“1”時,P2.3送一定頻率脈沖,使蜂鳴器發(fā)出聲音,如圖3-4所示。圖 3-4鬧鈴電路3.5復位電路設計復位是單片機的初始化操作,以便使CPU和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。除了進入系統(tǒng)的正常初始化之外,當單片機系統(tǒng)在運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,也可按復位鍵重新啟動。如圖3-5所示8。圖 3-5復位電路3.6電源的設計電子設備都需要穩(wěn)定的直流電源。功率較小的直流電源大多數(shù)都是將50Hz的圖 3-6 電源電路交流電經(jīng)過變壓、整流、濾波和穩(wěn)壓后獲得。本設計所用電源電路如圖3-6所示。3.6.1單相橋式整流電路介紹單相橋式整流電路的工作原理可分析如下。為簡單起見,二極管用理想模型來處理,即正向導通電阻為零,反向電阻為無窮大。在此規(guī)定右上側二極管為D1,順時針依次為D2、D3、D4。在變壓器二次側電壓的負半周,電流從變壓器副邊線圈的下端流出,只能經(jīng)過二極管D1 流向負載,再由二極管 D3流回變壓器,所以D1、D3正向導通,D2、D4反向截止。在負載上產(chǎn)生一個極性為上正下負的輸出電壓。在變壓器二次側電壓的正半周,其極性與以上過程相反,電流從變壓器副邊線圈的上端流出,只能經(jīng)過二極管D4流向負載,再由二極管D2流回變壓器,所以D1、D3反向截止,D2、D4正向導通。電流流過負載時產(chǎn)生的電壓極性仍是上正下負,與正半周時相同9。 綜上所述,橋式整流電路巧妙地利用了二極管的單向導電性,將四個二極管分為兩組,根據(jù)變壓器副邊電壓的極性變化,將變壓器副邊電壓的正極性端與負載電阻的上端相連,負極性端與負載電阻的下端相連,使負載上始終可以得到一個單方向的脈動電壓。橋式整流電路的優(yōu)點是輸出電壓高,紋波電壓較小,管子所承受的最大反向電壓較低,同時因電源變壓器在正、負半周內(nèi)都有電流供給負載,電源變壓器得到了充分的利用,效率較高。3.6.2變壓器和整流二極管的選擇1.變壓器的選擇根據(jù)需要,因后續(xù)電路要用到+5V直流電壓,而穩(wěn)壓塊7805要求其輸入的帶有波動的電壓要比輸出的直流電壓高35V,所以變壓器選擇初級電壓為220V交流電,次級電壓為8V10V的變壓器,在這里選用的是次級電壓為12V的變壓器。2.整流二極管的選擇由于所選變壓器為220V/12V的變壓器,所以變壓器的次級電壓的峰值為12V16.9V。而橋式整流電路中的整流二極管所承受的最大反向電壓為次級電壓的峰值,流過整流二極管的電流的最大值約為0.2A,查電子工程師手冊,選用2CZ11型整流二極管。3.6.3濾波電路濾波電路用來濾除整流后單向脈沖電壓中的交流成分,變成平滑的直流電壓。整流電路將交流電變?yōu)槊}動直流電,但其中含有大量的交流成分(稱為紋波電壓)。為了獲得平滑的直流電壓,應在整流電路的后面加接濾波電路,以濾去交流部分。 此電路采用的是電容濾波電路,即在橋式整流電路輸出端與負載之間并聯(lián)一個大電容。濾波電容容量較大,因此一般采用電解電容,電容濾波電路利用電容的充、放電作用,使輸出電壓趨于平滑,最后加一個0.1F小電容濾除電源中的高頻分量。3.6.4濾波電容的選擇1.電容的選擇:由于采用電解電容,考慮到電網(wǎng)電壓的波動范圍為,電容的耐壓值應大于U2,其中U2為12V,所以選擇電解電容的耐壓值為大于14伏的。2.電容容量:為了獲得較好的濾波效果,在實際電路中,應選擇濾波電容的容量滿足,其中,由于后續(xù)電路大概需要200mA的電流,輸出電壓平均值,經(jīng)計算可知,所以查電子工程師手冊可以選用鋁電解電容CD22寬溫限型,容量選擇1000F。所以電容的參數(shù)是:耐壓值為17 V,電容值為1000F的鋁電解電容。 3.6.5穩(wěn)壓電路穩(wěn)壓電路的作用是當輸入交流電壓波動、負載和溫度變化時,維持輸出直流電壓的穩(wěn)定。穩(wěn)壓器采用7805系列即輸出電壓值5 V,它屬于三端固定輸出集成穩(wěn)壓,兩邊為輸入、輸出,中間接地。它的最大輸入電壓為35V,7805最適合的輸入電壓為8V,輸出電流分為1.5A、0.5A、0.1A三個檔次。而這里變壓器的次級電壓有效值為12V,在7805穩(wěn)壓的范圍內(nèi)。在單相橋式整流電路中已經(jīng)知道,后續(xù)電路的穩(wěn)壓電路的負載電流大概為0.2A左右,所以在這里所選擇的穩(wěn)壓塊的最大輸出電流為0.5A10,11。7805參數(shù)如表3-1所示。表3-1 7805的參數(shù) 參數(shù)名稱符號典型值單位輸出電壓Vo5V靜態(tài)電流Io4.2mA最大壓差|Vr-Vo|min2.0V經(jīng)過一系列的變壓、整流、濾波、穩(wěn)壓后,VCC處得到+5V直流穩(wěn)壓電源。4系統(tǒng)的軟件設計4.1 DS1302時鐘模塊DS1302中的年、月、日、時、分、秒以及星期的信息存入到一個結構體中。該結構體中還包括兩個數(shù)組DateString9和TimeString9分別用來暫時存放年、月、日和時、分、秒的信息。4.1.1宏定義DS1302中寄存器地址DS1302芯片中的相關寄存器的讀操作對應的地址,將它們定義成宏定義,以有利于程序的可讀性,具體見表4-1所示。4.1.2時鐘芯片的單字節(jié)傳送方式1.向DS1302中寫入一字節(jié)數(shù)據(jù)通過單字節(jié)傳送,可以向DS1302時鐘芯片中寫入秒、分、時、年、月、日等字節(jié)數(shù)據(jù),只是命令字不同。其中傳送的數(shù)據(jù)可以是秒、分、時、年、月、日、星期等字節(jié)數(shù)據(jù),也可以是其相應的寄存器的地址。要想往DS1302中輸入數(shù)據(jù),必須讓DS1302的SCLK為上升沿的時候才能輸入數(shù)據(jù),數(shù)據(jù)從0位開始。該部分是通過void write_byte(uchar d)函數(shù)實現(xiàn)的,其中d為要寫入的數(shù)據(jù)12。表4-1 宏定義DS1302中寄存器地址 寄存器宏定義讀地址秒寄存器分寄存器時寄存器星期寄存器日寄存器月寄存器年寄存器DS1302_SECONDDS1302_MINUTEDS1302_HOURDS1302_WEEKDS1302_DAYDS1302_MONTHDS1302_YEAR0x800x820x840x8A0x860x880x8C2.從DS1302中讀出一字節(jié)數(shù)據(jù)通過單字節(jié)傳送,可以從DS1302時鐘芯片的相應寄存器中讀取秒、分、時、年、月、日等字節(jié)數(shù)據(jù)。從DS1302中讀出一字節(jié)數(shù)據(jù)是一位一位的讀出的。當DS1302的SCLK為下降沿時才能讀出一位數(shù)據(jù),該部分通過uchar read_byte(void)函數(shù)實現(xiàn)的。3.向DS1302中某個地址寫入數(shù)據(jù)通過單字節(jié)傳送,可以向DS1302的相應寄存器中寫入秒、分、時、年、月、日等字節(jié)數(shù)據(jù)。首先,將DS1302的RST置為高電平來啟動所有的數(shù)據(jù)傳送。然后,在CLK的上升沿時輸入要寫入的目標寄存器地址以及要存入該寄存器的數(shù)據(jù),數(shù)據(jù)從0位開始。最后當單數(shù)據(jù)寫入結束時,將DS1302的RST置為低電平,終止數(shù)據(jù)的傳送。該部分通過void Write_ds1302(unsigned char ucAddr,unsigned char ucDa)函數(shù)實現(xiàn)的。其中ucAddr為DS1302的某個寄存器的地址,ucData為向寄存器要寫的數(shù)據(jù)。4.讀取DS1302某地址的數(shù)據(jù)通過單字節(jié)傳送,可以從DS1302寄存器中讀出秒、分、時、年、月、日等字節(jié)數(shù)據(jù)。首先,將DS1302的RST置為高電平來啟動所有的數(shù)據(jù)傳送。然后,在CLK的下降沿時輸出要讀取的目標寄存器地址,數(shù)據(jù)從0位開始。接著,從該寄存器中讀取數(shù)據(jù)。最后當單數(shù)據(jù)輸出結束時,將DS1302的RST置為低電平,防止有額外的SCLK周期,重新發(fā)送數(shù)據(jù)信息。該部分通過unsigned char read_ds1302(unsigned char ucAddr)函數(shù)實現(xiàn)的12。4.1.3是否寫保護寄存器操作當寫保護寄存器的最高位為0時,允許數(shù)據(jù)寫入寄存器。當寫保護寄存器的最高位為1時,禁止數(shù)據(jù)寫入寄存器。寫保護寄存器可以通過命令字節(jié)8E來規(guī)定禁止寫入/讀出,寫保護位不能在多字節(jié)傳送模式下寫入。void DS1302_SetProtect(bit flag)函數(shù)通過一個flag位來控制是否寫入還是讀出。當flag為1時,數(shù)據(jù)禁止寫入時鐘芯片的寄存器;當flag為0時,數(shù)據(jù)允許寫入時鐘芯片的寄存器。4.1.4時鐘芯片的初始化要想使時鐘走時,每次上電必須把秒寄存器最高位(第7位)設置為0。如果需要寫入數(shù)據(jù)和時鐘日歷信息,必須將“寫保護”寄存器設置成為0。該部分通過void init_ds1302(void)函數(shù)實現(xiàn)。4.1.5時鐘停止/啟動走時時鐘停止/走時是由函數(shù)void DS1302_TimeStop(bit flag)來實現(xiàn)的。具體流程如圖4-1所示。返回開始讀取DS1302的秒寄存器中的數(shù)據(jù)電子日歷停止走時電子日歷開始走時允許寫數(shù)據(jù)是否Flag=0?圖 4-1 時鐘停止/啟動走時流程圖4.1.6數(shù)據(jù)信息的顯示時鐘日歷用BCD碼存儲,獲得的時鐘日歷的信息存儲在結構體的unsigned char DateString9和unsigned char TimeString9數(shù)組中,然后將其送到液晶顯示器件中進行顯示12。4.2 LCD顯示模塊部分4.2.1基本操作程序讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:無寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無4.2.2 RAM地址映射圖控制器內(nèi)部帶有80字節(jié)的RAM緩沖區(qū),對應關系如表4-2所示。表4-2 對應關系 000102030405060708090A0B0C0D0E27404142434445464748494A4B4C4D4E674.2.3狀態(tài)字說明1602的狀態(tài)字說明如下表4-3所示。其中,STA0STA6為當前地址指針的數(shù)值,STA7讀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)域家用紡織品市場可持續(xù)發(fā)展策略分析考核試卷
- 機器視覺在智能交通信號燈故障檢測中的應用考核試卷
- 2024年事業(yè)單位考試山西省長治《公共基礎知識》高分沖刺試題含解析
- 績效考評工作實施方案(3篇)
- 線下與線上聯(lián)合運營方案
- 公司安全生產(chǎn)工作總結(匯編14篇)
- 四川省眉山市東坡區(qū)校際聯(lián)考2024-2025學年高一下學期6月期末政治試卷(含答案)
- 策劃方案的藍圖與執(zhí)行路徑
- 江城區(qū)七一慰問活動方案
- 漢服讀書活動方案
- 混凝土配合比自動計算書
- 過敏性休克搶救步驟流程圖
- 骨代謝標志物在骨質疏松診療中的應用指南
- 百詞斬雅思核心詞匯
- 電氣控制及Plc應用技術電子教案
- 部編版四季之美課件完美版公開課一等獎課件省課獲獎課件
- 同濟大學信紙
- PFMEA模板完整版文檔
- ECMO IABP完整版可編輯
- 珠心算習題匯總(可以打印版A4)
- 沖壓基礎知識及常見缺陷培訓
評論
0/150
提交評論