基于MCS51單片機的電子萬年歷設(shè)計_第1頁
基于MCS51單片機的電子萬年歷設(shè)計_第2頁
基于MCS51單片機的電子萬年歷設(shè)計_第3頁
基于MCS51單片機的電子萬年歷設(shè)計_第4頁
基于MCS51單片機的電子萬年歷設(shè)計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成 績: 江西科技師范大學(xué)畢業(yè)設(shè)計(論文三稿)題 目(中文): 基于MCS51的電子萬年歷的設(shè)計 (英文):The design of the electronic calendar based on MCS51 院 (系): 通信與電子學(xué)院 專 業(yè): 電子信息工程 姓 名: 蘭小玲 學(xué) 號: 20122623 指導(dǎo)教師: 宗文軍 2016年4月22日目錄基于MCS51的電子萬年歷的設(shè)計摘要:隨著現(xiàn)今世界信息化時代和經(jīng)濟的快速發(fā)展的來臨,各式各樣的小型智能家電產(chǎn)物陸續(xù)出現(xiàn)在我們的生活中。日歷是人們不可或缺的日常用品。但一般日歷都是紙制的,使用不便,壽命不長。電子萬年歷采用智能電子控制和顯示技術(shù)

2、,改善了紙制日歷的缺陷。本設(shè)計以AT89C51單片機為核心,構(gòu)成單片機 主控制電路,結(jié)合DS1302時鐘芯片和DS18B20溫度芯片,完成時間的自動調(diào)整和掉電保護,全部信息用液晶顯示。時間、日期調(diào)整由三個按鍵來實現(xiàn),并可對鬧鈴開關(guān)進行設(shè)置。日歷能顯示年、月、日以及星期、時、分、秒。關(guān)鍵詞:電子萬年歷51單片機時鐘芯片溫度芯片液晶顯示器第一章 引言 跟著微電子技術(shù)和超大范圍集成電路技術(shù)的不停進步,家用電子產(chǎn)物不光種類日益豐碩,還變得加倍經(jīng)濟實用,單片微型計算機體積小、性價比高、功能強、可靠性高等獨有的特點,在各個范疇得到了廣泛普遍。電子萬年歷是一種非常廣泛的日常計時工具,數(shù)字電子鐘已經(jīng)越來越流行

3、,特別適用于車站、廣場以及辦公,還可用于家庭居室。LED數(shù)字顯示的電子鐘顯示清晰直觀、走時精準、能夜視,還能夠延伸出其他功能。功能也越來越齊全,除了公歷年、月份、日期、時分秒、禮拜顯示及鬧鈴。但通過我們對各類電子鐘的不停觀察,總結(jié)發(fā)現(xiàn)目前市場的電子鐘都出現(xiàn)一些不足之處,例如:時鐘不精確、產(chǎn)物本錢太高、無環(huán)境溫度顯示等,這都給人們的使用帶來了一些不便。為此設(shè)計了一種功能周全、計時精確、本錢便宜的基于MSC51的電子萬年歷。1.1 研究背景與意義當(dāng)今社會的電子技術(shù)可謂是發(fā)展迅速,特別是隨著大規(guī)?;蛘叱蠹呻娐返某霈F(xiàn),給人類學(xué)習(xí)、工作、娛樂、以及生活、都帶來了本質(zhì)性的改變。尤其是單片機的應(yīng)用產(chǎn)物已

4、經(jīng)進入了每家每戶。電子萬年歷給人類帶來了許多方便。利用單片機制作的的電子萬年歷 其編程靈活,便于功能擴展,高精度等特點,而且它走時精準、顯示清晰,很是受大眾歡迎。通過單片機設(shè)計的電子萬年歷,能夠用軟件編程進行功能的調(diào)整和改進,促使其可以精準顯示年、月、日、時辰、禮拜的同時,還可以有許多其他功能。例如:設(shè)置鬧鐘、語音報時、顯示溫度等有一定的實用性,同時體積小、方便使用、方便攜帶,當(dāng)然,還有其成本不高、計時準確、性能穩(wěn)定、更新周期也短,維護方便等優(yōu)點,至此、探索電子萬年歷有著非常現(xiàn)實的意義,同時也具有很大的實用價值。1.2 電子萬年歷的發(fā)展現(xiàn)狀現(xiàn)今,電子萬年歷技術(shù)已經(jīng)進入了優(yōu)化-家庭-環(huán)境的團隊關(guān)

5、系的階段之間,它向著超微型、超高效以及集成電路的微型化方向成長,并為電子萬年歷上的集中控制奠基了根本。目前,市場上出售的電子萬年歷類別繁多,其中大致是基于單片機技術(shù)的電子系統(tǒng)。它們通常包括輸入脈沖電路、單片機、晶振和復(fù)位電路、外部存儲器電路和LED顯示電路等構(gòu)成?,F(xiàn)今,電子萬年歷基本上是用于計時、自動報警、定時、時間查詢以及自動控制。由于單片機技術(shù)以及數(shù)字集成電路技術(shù)的成長和高端的石英技術(shù),使得如今的電子萬年歷系統(tǒng)具有體積小、耗電少、計時精確、機能穩(wěn)定、維護方便、走時精準、攜帶方便等長處。其他,現(xiàn)今的市場上也有現(xiàn)成的數(shù)字萬年歷集成電路芯片買,而且價格實惠、用起來也很方便。1.3 電子萬年歷的優(yōu)

6、勢它是一種非常普遍的平常計時工具,它可以對年、月份、日期、時、分、秒來計時。它是采用數(shù)字電路設(shè)計的,以51系列單片機為核心,通過LCD液晶顯示器來進行顯示,能夠同時顯示陽歷或是農(nóng)歷、年、月份、日刻、時、分、秒、禮拜、溫度等內(nèi)容。而且有可調(diào)整日期和時間的功能。像 定時自動報警、按時自動響鈴、時間程序自動控制、定時廣播、自動開閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至種種定時電器的自動應(yīng)用等,但是所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。所以,探索萬年歷以及擴大它的應(yīng)用,有著非常重要的現(xiàn)實意義。第二章、系統(tǒng)中主要芯片介紹2.1 工作原理和電路設(shè)計框圖 電子萬年歷電路,它的內(nèi)部是由主控制芯片AT89C51、

7、時鐘器件DS1302、溫度傳感器DS18B20、LCD12864 液晶顯示屏及鍵盤掃描電路組成。電子萬年歷配鬧鐘就是運用單片機加上一個時鐘元件DS1302以及數(shù)個與門芯片組成一個可調(diào)整年、月份、日期、時刻、分秒,以及能夠獲取當(dāng)前時刻的一個電路和鬧鐘功能。實現(xiàn)我們平常生活中的日歷的作用。 由于電路 的硬件設(shè)計程序復(fù)雜,本電路采用89c51單片機作為控制核心,它具有在線編程功能,低功耗,可以在3V超低壓工作;時鐘電路由DS1302提供,它是一種高機能、低損耗、帶RAM的實時時鐘電路,它可以對年、月份、日刻、時、分、秒等來計時,還有閏年補償特點,工作電壓為2.5V-5.5V。通過三線接口與CPU進行

8、同步通信,并可通過突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個用來臨時存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月份、日期、時刻、分、秒。以及通過與門芯片和按鍵開關(guān)來實現(xiàn)年、月、日、時、分、秒的調(diào)節(jié)。具體框架結(jié)構(gòu)圖如下:2.2 系統(tǒng)概述 本次設(shè)計電路是以AT89C51的最小系統(tǒng)為控制核心,時鐘電路由高精度低功耗的DS1302提供,采用了三線接口與CPU進行同步通信,輸入部分就是采用的4個獨立按鍵S1、SS3、S4。顯示部分采用的是LCD12864液晶顯示器,D0D7口與單片機P0口相連。2.3 主要器件的結(jié)構(gòu)及其特性 2.3.1 AT89C51的管腳說明 AT89C51是一種

9、帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示。 特性概述:AT89C51 提供以

10、下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。管腳說明: VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠

11、用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P

12、2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期

13、的高電平時間。/EA:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。 2.3.2 ds1302的管腳說明1. VCC1是后備電源,而VCC2是主電源。當(dāng)主電源關(guān)閉時,還可以維持時鐘繼續(xù)工作。ds1302是通過VCC1或VCC2之間更大的一方來提供電源。當(dāng)VCC2VCC10.2V時,VCC2給ds1302提供電源。當(dāng)VCC2小于VCC1時,VCC1給ds1302提供電源。 X1和X2是振蕩源,需要再接一個32.768kHz的晶振。RST是復(fù)位/片選端,

14、通過把RST輸入驅(qū)動置“1”來開啟全部數(shù)據(jù)的接送。2. RST輸入2種特點:第一,RST接通控制邏輯,允許地址/命令序列 送到移位寄存器;第二,RST提供中止單字節(jié)或者是多字節(jié)數(shù)據(jù)的輸送方法。當(dāng)RST為“1”時,所有的數(shù)據(jù)輸送便會被初始化,可以對ds1302執(zhí)行操作。若在輸送過程中RST置為“0”,就會中止這次數(shù)據(jù)輸送,I/O管腳改為高阻態(tài)。上電工作后,在VCC2.5V之前,RST必須保持“0”。僅當(dāng)在SCLK為“0”時,才能夠把RST置為“1”。3. I/O 是串行數(shù)據(jù)輸入輸出端(雙向),SCLK是時鐘輸入端。4. ds1302的寄存器:ds1302包括了12個寄存器,當(dāng)中有7個寄存器與日歷

15、、時鐘有聯(lián)系,存放的數(shù)據(jù)位是BCD碼形式 。而且,ds1302 也有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器以及跟RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器能夠一次性順序讀寫,除充電寄存器之外的所有寄存器內(nèi)容。5、ds1302的管腳特點:5.ds1302的控制字:6、ds1302的控制字節(jié) (1) 控制字節(jié)的最高有效位(位7)必須是邏輯1,若它為0,就無法把數(shù)據(jù)寫到ds1302中,位6為1時說明存取RAM數(shù)據(jù)若為0,就說明 存取日歷時鐘數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)若為0,說明要執(zhí)行寫操作,為1說明要執(zhí)行讀操作,控制字節(jié)都是從最低位開始輸出。 (2) 當(dāng)控制指令字輸

16、入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從低位開始。同理,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出ds1302的數(shù)據(jù),讀數(shù)據(jù)時也是從低位0至高位7。 2.3.3 ds18b20的管腳說明ds18b20是普遍使用的溫度傳感器,其傳感器的體積小,而且成本低,抗干擾性強,精度也高的特點。ds18b20的存儲器、含有高速暫存器RAM跟可電擦除RAM,可電擦除RAM里又含有溫度觸發(fā)器TH與TL,以及一個配置寄存器。ds18b20能夠用外部電源VDD,或者是使用芯片里面的寄生電源。1、ds18b20的基本特性a) 通用電壓范疇較廣,電壓范疇:3.0到5.5V,在

17、寄生電源模式下,能夠用數(shù)據(jù)線供電。b) 特別的單線接口方式,ds18b20在跟微處理器連接時、只需要一條口線就能實現(xiàn)微處理器與ds18b20的兩向通訊。c) 溫度范疇是55攝氏度到+125攝氏度,當(dāng)溫度是-10到+85攝氏度時精度是0.5攝氏度d) 可編程 的分辨率是912位,其相對應(yīng)的可分辨溫度有:0.5攝氏度、0.25攝氏度、0.125攝氏度以及0.0625攝氏度,能夠進行高精度測溫。e) 負壓特性:當(dāng)電源極性接反,芯片并不會由于發(fā)熱而有所損壞, 卻無法正常使用。2、ds18b20的外觀與內(nèi)部構(gòu)造它包括四部分:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。d

18、s18b20管腳有:(1)DQ是數(shù)字信號輸入/輸出端;(2)GND是地;(3)VDD是外接供電電源其輸入端(當(dāng)接寄生電源時,VDD接地)。 2.3.4 LCD12864 液晶顯示屏 帶中文字庫的128X64 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標一級、二級簡體 中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192 個16*16 點漢字,和128 個16*8 點ASCII 字符 集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示84 行1616 點 陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯

19、著特點。 由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊?;緟?shù)(1)低電源電壓(VDD:+3.0-+5.5V)(2)顯示分辨率:12864 點(3)內(nèi)置漢字字庫,提供8192 個1616 點陣漢字(簡繁體可選)(4)內(nèi)置128 個168 點陣字符(5)2MHZ 時鐘頻率(6)顯示方式:STN、半透、正顯(7)驅(qū)動方式:1/32DUTY,1/5BIAS(8)視角方向:6 點(9)背光方式:側(cè)部高亮白色LED,功耗僅為普通LED 的1/51/10(10)通訊方式:串行、并口可選(11)內(nèi)置DC

20、-DC 轉(zhuǎn)換電路,無需外加負壓(12)無需片選信號,簡化軟件設(shè)計(13)工作溫度: 0 - +55 ,存儲溫度: -20 - +60管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC35V電源正3VO-對比度(亮度)調(diào)整4RS(CS)H/LRS=”H”,表示DB7DB0為顯示指令;RS=”L”,表示DB7DB0為顯示數(shù)據(jù);5R/W(SID)H/LR/W=”H”,E=”H”,數(shù)據(jù)讀到DB7DB0;R/W=”L”,E=”H到L”,DB7DB0的數(shù)據(jù)寫到IR或DR;6E(SCLK)H/L使能信號714DB0DB7H/L均是三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式;:串口方式16NC-空

21、腳17RESETH/L復(fù)位端,低電平有效;18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)20KVSS背光源負端模塊接口說明:*注釋1:如在實際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。*注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。模塊有并行和串行兩種連接方法(時序如下):1、8位并行連接時序圖MPU寫資料到模塊MPU從模塊讀出資料2、 由于此設(shè)計是并行連接,所以串行連接時序圖不作介紹。3、 用戶指令集(指令表如下:)指令

22、指令碼 說明執(zhí)行時間(540kHz)RSRWDB7DB6DB5DB4DB3DB2DB1DB0消除顯示0000000001將DDRAM填滿“20H”,并且設(shè)定DDRAM的地址計數(shù)器(AC)到“00H”4.6ms地址歸位000000001X設(shè)定DDRAM的地址計數(shù)器(AC)到“00H”,并且將游標移到開頭原點位置;這個指令并不改變DDRAM的內(nèi)容4.6ms進入點設(shè)定00000001I/DS指定在資料的讀取與寫入時,設(shè)定游標移動方向及指定顯示的移位72us 進入點設(shè)定:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計數(shù)器控制的,該命令自動將A0-A5位地址送入Z地址計數(shù)器,起始地

23、址可以是0-63范圍內(nèi)任意一行。Z地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當(dāng)掃描完一行后自動加一。顯示狀態(tài)開/關(guān)0000001DCBD=1;整體顯示ONC=1;游標ONB=1;游標位置ON72us游標或移位控制000001S/CR/LXX設(shè)定游標的移動與顯示的移動控制位元;這個指令并不改變DDRAM的內(nèi)容;72us功能設(shè)定00001DLX0REXXDL=1;(必須設(shè)為1)RE=1;擴充指令集動作RE=0;基本指令集動作72us備注:1、 當(dāng)模塊在接受指令前,微處理順必須先確認模塊內(nèi)部處于非忙碌狀態(tài),即讀取BF標志時BF需為0,方可接受新的指令;如果在送出一個指令前并不檢查BF標志,那么

24、在前一個指令和這個指令中間必須延遲一段較長的時間,即要等待前一個指令確實執(zhí)行完成。2“RE”為基本指令集與擴充指令集的選擇控制位,當(dāng)變更“RE”位后,往后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時,不需每次重設(shè)“RE”位。第三章 主要單元電路設(shè)計3.1 單片機主控制模塊、采用AT89C51芯片,它能以3V的超低電壓工作,同時也與MCS-51系列單片機完全兼容,該芯片內(nèi)部存儲器為8KB ROM存儲空間,同時具有89C51的功能,且具有在線編程可擦除技術(shù)。其主要工作原理:P1口有兩個作用,一個接上DS1302的AD0-AD7(雙向地址/數(shù)據(jù)復(fù)用總線),控制著DS130

25、2的8位并行數(shù)據(jù)的地址和數(shù)據(jù)的傳輸,另接上液晶的DB0-DB7(數(shù)據(jù)總線)控制著向液晶發(fā)送8位并行數(shù)據(jù)。P1.1接上DS1302的單數(shù)據(jù)線,發(fā)送并接受數(shù)據(jù),地址的操作。 P3.0到P3.3作為獨立按鍵口。P2.4口為液晶的數(shù)據(jù)/命令選擇端,1為數(shù)據(jù),0為命令,P2.3口控制液晶讀/寫選擇端,1為讀命令,0為寫操作,P2.2口控制液晶使能信號。對DS1302、P2.0口控制DS1302的片選信號的輸入(CS1),P2.1口控制DS1302的片選信號的輸入(CS2),P1.4接入鬧鐘,到設(shè)置時間到了,buzzer響應(yīng)。 復(fù)位電路:由按鍵復(fù)位和上電復(fù)位兩部分組成。通常在復(fù)位引腳RST上連接一個電容到

26、VCC,再連接一個電阻到GND,由此形成一個RC充放電回路、保證單片機在上電時RST腳上有足夠時間的高電平進行復(fù)位,隨后回歸到低電平進入正常工作狀態(tài)。 按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。 此次設(shè)計采用12MHz的晶體振蕩器作為振蕩源,由于單片機內(nèi)部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可。3.2 時鐘電路模塊的設(shè)計 圖示為DS1302的管腳排列,其中VCC1為后備電源,VCC2為主電源,在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行,DS1302由VCC1或VCC2兩者中的較大

27、者供電,當(dāng)VCC2大于VCC1+0.2V時,VCC2給DS1302供電,當(dāng)VCC2小于VCC1時候VCC1供電。X1和X2是振蕩源,外接32.768KHz晶振,RST是復(fù)位片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段,當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作,如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O管腳變?yōu)楦咦钁B(tài),上電運行時,在VCC大于等于2.5V之前,RST必須保持低電平,中有在SCLK為低電平時

28、,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端,SCLK始終是輸入端。 3.3 溫度采集模塊 溫度采集部分是使用了數(shù)字式溫度傳感器DS18B20,接地和接電源的部分完成后,就是其中的第二腳連接到單片機的P2.6腳,并且接上一個上拉電阻。3.4 顯示部分模塊 帶中文字庫的128X64 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標一級、二級簡體 中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192 個16*16 點漢字,和128 個16*8 點ASCII 字符 集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面。3.

29、5 按鍵部分按鍵部分如上圖所示,本設(shè)計總的用了4個按扭開關(guān)作為鍵盤,其中一個是切換界面鍵,(一共三個界面、一是主界面;顯示當(dāng)前時間以及溫度。二是鬧鐘設(shè)置;三是生日提醒。)第二個是Next鍵;第三個是調(diào)整加鍵(可調(diào)整年、月、周、日、時、分、秒等等)、第三個也是是鬧鐘開關(guān)切換鍵。3.6 鬧鐘模塊 鬧鐘模塊的接線如下圖所示。以下蜂鳴器電路中,使用PNP三極管進行驅(qū)動控制,設(shè)計中使用的是直流蜂鳴器,當(dāng)P1.4輸出低電平時,蜂鳴器鳴叫。(由于蜂鳴器為感性原件,可以在兩端并接一個二極管來起到泄放作用。) 第4章 、 單片機程序部分 初始化LCD12864、DS1302、DS18B20允許LCD顯示?關(guān)閉L

30、CD顯示讀DS18B20的溫度值和 DS1302的時間值 YesNO將讀出的值顯示到LCD12864上 掃描按鍵生日設(shè)定鬧鐘設(shè)定時間設(shè)定 4.1 系統(tǒng)主程序流程圖 開始 DS1302初始化從DS1302讀出數(shù)據(jù),放入RAM調(diào)用顯示子程序LCD12864顯示時間 掃描按鍵 設(shè)置時間數(shù)據(jù)寫回DS1302保存返回主菜單 4.2 顯示時間子程序流程圖 開始 DS18B20初始化從DS18B20中讀出數(shù)據(jù),放入RAMLCD模塊顯示溫度返回主菜單 4.3 溫度子程序流程圖 開始AT89C51初始化選擇鬧鐘、生日從AT89C51中讀出數(shù)據(jù),放入RAMLCD12864顯示鬧鐘、生日 按鍵掃描設(shè)置鬧鐘、生日數(shù)據(jù)

31、寫入AT89C51保存 返回主界面4.4 設(shè)置鬧鐘、設(shè)定生日的子程序流程圖4.5 程序編寫#include#include #define uchar unsigned char#define uint unsigned int#define port P0 /DB0DB7數(shù)據(jù)口/*12864 IO*/sbit e=P22;/使能sbit rw=P23;/讀寫sbit rs=P24;/數(shù)據(jù)/命令sbit cs2=P21;/片選sbit cs1=P20;sbit busy=P07;/檢測忙/*DS18B20 IO*/sbit DQ=P25;sbit buzz=P14;/-定義ds1302使用的I

32、O口-/sbit DSIO=P10;sbit RST=P12;sbit SCLK=P11;/-定義按鍵IO-/sbit menu=P30;sbit next=P31;sbit up=P16;sbit down=P17;/-DS1302時鐘初始化2015年1月23日星期五2點00分00秒。-/-存儲順序是秒分時日月周年,存儲格式是用BCD碼-/uchar TIME7 = 0, 0, 0x14, 0x23, 0x01, 0x05, 0x15;uchar code READ_RTC_ADDR7 = 0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d; uchar cod

33、e WRITE_RTC_ADDR7 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c;uchar alram_set1=0,0,0;uchar alram_set2=0,0,0;uchar alram_set3=0,0,0;uchar birthday_set=0,0,0,0,0;uchar data disdata5;uchar min,hour,day,mon;uint tvalue;/溫度值uchar tflag;/溫度正負標志uchar display_type;uchar alram_operate;uchar birthday_operate;u

34、char menu_num=0;uint timer=0,S=0;uchar q_data,bai_data,shi_data,ge_data;uchar code hz32=/*- 文字: 年 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x20,0x18,0xC7,0x44,0x44,0x44,0x44,0xFC,0x44,0x44,0x44,0x44,0x04,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*- 文字

35、: 月 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00,0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00,/*- 文字: 日 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82

36、,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00,/*- 文字: 星 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x00,0x44,0x42,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x41,0x4

37、0,0x00,0x00,/*- 文字: 期 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00,/*- 文字: 當(dāng) -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x40,0x42,0x44,0x58,0x40,0x40,0

38、x7F,0x40,0x40,0x50,0x48,0xC6,0x00,0x00,0x00,0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,/*- 文字: 前 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x08,0x08,0xE8,0x29,0x2E,0x28,0xE8,0x08,0x08,0xC8,0x0C,0x0B,0xE8,0x08,0x08,0x00,0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,

39、0x40,0x80,0x7F,0x00,0x00,0x00,/*- 文字: 溫 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x10,0x60,0x02,0x8C,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x04,0x04,0x7E,0x01,0x40,0x7E,0x42,0x42,0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00,/*- 文字: 度 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0xFC,0x2

40、4,0x24,0x24,0xFC,0x25,0x26,0x24,0xFC,0x24,0x24,0x24,0x04,0x00,0x40,0x30,0x8F,0x80,0x84,0x4C,0x55,0x25,0x25,0x25,0x55,0x4C,0x80,0x80,0x80,0x00;uchar code week32=/*- 文字: 日 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00

41、,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00,/*- 文字: 一 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 二 -*/*- 宋體12; 此字體下對應(yīng)

42、的點陣為:寬x高=16x16 -*/0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,/*- 文字: 三 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0

43、x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*- 文字: 四 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,/*- 文字: 五

44、-*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x02,0x42,0x42,0x42,0xC2,0x7E,0x42,0x42,0x42,0x42,0xC2,0x02,0x02,0x00,0x00,0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00,/*- 文字: 六 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x2C,0x20,0x20,0x2

45、0,0x20,0x20,0x20,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x01,0x02,0x04,0x18,0x60,0x00,0x00;uchar code alram32=/*- 文字: 鬧 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0xF8,0x01,0x22,0x20,0x22,0x2A,0xF2,0x22,0x22,0x22,0x22,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x1F,0x01,0x01,0x7F,0x09,0x11,0x0

46、F,0x40,0x80,0x7F,0x00,0x00,/*- 文字: 鐘 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x20,0x10,0x2C,0xE7,0x24,0x24,0x00,0xF0,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,0x01,0x01,0x01,0x7F,0x21,0x11,0x00,0x07,0x02,0x02,0xFF,0x02,0x02,0x07,0x00,0x00,/*- 文字: 開 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x80,0x82,0x82,0x82,0

47、xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00,0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,/*- 文字: 關(guān) -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x10,0x11,0x16,0x10,0x10,0xF0,0x10,0x10,0x14,0x13,0x10,0x00,0x00,0x00,0x81,0x81,0x41,0x41,0x21,0x11,0x0D,

48、0x03,0x0D,0x11,0x21,0x41,0x41,0x81,0x81,0x00,/*- 文字: 設(shè) -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9E,0x82,0x82,0x82,0x9E,0xA0,0x20,0x20,0x00,0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x43,0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0x00,/*- 文字: 置 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x0

49、0,0x17,0x15,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x15,0x17,0x00,0x00,0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x40,0x40,0x00;uchar code birthday32=/*- 文字: 生 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x80,0x40,0x30,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x10,0x00,

50、0x00,0x40,0x40,0x42,0x42,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x42,0x42,0x40,0x40,0x00,/*- 文字: 日 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00,/*- 文字: 提

51、 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x10,0x10,0x10,0xFF,0x10,0x90,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x04,0x44,0x82,0x7F,0x01,0x80,0x42,0x3A,0x42,0x82,0xFE,0x92,0x92,0x92,0x82,0x00,/*- 文字: 醒 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0xF2,0x12,0xFE,0x12,0xFE,0x12,0xF2,0x00,0x00,0xBE,0x2A,0xEA,0x2A,0x3E,0x00,0x00,0xFF,0x4A,0x49,0x48,0x49,0x49,0xFF,0x00,0x42,0x49,0x49,0x7F,0x49,0x49,0x40,0x00,/*- 文字: 祝 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x08,0x08,0x89,0xEE,0x98,0x00,0x7E,0x42,0xC2,0x42,0x42,0xC2,0x42,0x7E,0x00,0x00,0x02,0x01,0x00,0xFF,0x80,0x43,0x20,0x18,0x07,0x00,0x00,0x3F,0x40,0x4

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論