版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì) 論 文</p><p> 基于單片機(jī)的時(shí)間溫度顯示系統(tǒng)</p><p><b> XXX </b></p><p> 指導(dǎo)老師姓名: XXX</p><p> 專(zhuān) 業(yè) 名 稱(chēng):物聯(lián)網(wǎng)工程學(xué)院</p><p> 班 級(jí) 學(xué) 號(hào):
2、 11131131</p><p> 論文提交日期: 20XX年X月X日</p><p> 論文答辯日期: 20XX年 月 日</p><p> 20XX年 月 日</p><p><b> 摘 要</b></p><p> 【摘要】:該系統(tǒng)是設(shè)計(jì)一個(gè)能在液晶屏幕上顯示當(dāng)前日期
3、和溫度的51單片機(jī)控制系統(tǒng)。本設(shè)計(jì)多功能數(shù)字時(shí)鐘系統(tǒng)是由中央控制器、時(shí)鐘系統(tǒng)、溫度檢測(cè)器、顯示器和鍵盤(pán)部分主成??刂破鞑捎脝纹瑱C(jī)AT89C51,溫度檢測(cè)部分采用DS18B20溫度傳感器,時(shí)鐘系統(tǒng)采用時(shí)鐘芯片DS1302,用LCD液晶1602A作為顯示器。單片機(jī)通過(guò)時(shí)鐘芯片DS1302獲取時(shí)間數(shù)據(jù)對(duì)數(shù)據(jù)處理后顯示時(shí)間,溫度傳感器DS18B20采集溫度信號(hào)送給單片機(jī)處理,單片機(jī)再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)送液晶顯示器1602顯示,結(jié)果能在LCD正
4、常顯示時(shí)間和溫度值。</p><p> 【關(guān)鍵詞】:AT89C51單片機(jī) 數(shù)字溫度傳感器DS18B20 時(shí)鐘芯片DS1302</p><p> LCD1602液晶顯示器 </p><p><b> Abstract</b></p><p> 【Abstract】: The system is to d
5、esign a can on the LCD screen displays the current date and temperature of 51 single-chip microcomputer control system. This design multi-function digital clock system is determined by the central controller, clock syste
6、m, temperature detector, a display and a keyboard part as a Lord. Controller by single chip microcomputer AT89C51, part adopts DS18B20 temperature sensor temperature detection, USES the clock chip DS1302 clock system, us
7、ing LCD 1602 a as a display. S</p><p> 【Keywords】: AT89C51 SCM Digital temperature sensor </p><p> clock chip character type liquid crystal display </p><p><b> 目 錄&
8、lt;/b></p><p> 第一章 設(shè)計(jì)原理及要求2</p><p> 1.1設(shè)計(jì)原理......................................................... 2</p><p> 1.2設(shè)計(jì)思路及實(shí)現(xiàn)功能............................................. 2&l
9、t;/p><p> 第二章 系統(tǒng)硬件組成3</p><p> 2.1 AT89C51芯片介紹3</p><p> 2.1.1AT89C51簡(jiǎn)介...................................................... 3</p><p> 2.1.2.主要性能.....................
10、.................................... 3</p><p> 2.1.3.管腳說(shuō)明........................................................ 3</p><p> 2.2單片機(jī)系統(tǒng)的晶振3</p><p> 2.3單片機(jī)系統(tǒng)的復(fù)位....................
11、........................... 4</p><p> 2.4 LCD1602液晶顯示屏4</p><p> 2.4.1引腳功能及接口方式4</p><p> 2.4.2 LED1602的內(nèi)部控制器5</p><p> 2.5數(shù)字溫度傳感器DS18B206</p><p> 2
12、.5.1 DS18B20封裝圖及接口方式圖6</p><p> 2.5.2 DS18B20功能命令集6</p><p> 2.5.3 DS18B20復(fù)位應(yīng)答關(guān)系及讀寫(xiě)方式7</p><p> 2.6時(shí)鐘芯片DS13028</p><p> 2.6.1 DS1302 的引腳功能及接口方式9</p><p&g
13、t; 2.6.2 DS1302 內(nèi)部寄存器10</p><p> 2.6.3 DS1302數(shù)據(jù)傳送及讀寫(xiě)時(shí)序方式11</p><p> 2.7按鍵部分12</p><p> 2.8 MAX232芯片12</p><p> 第三章 系統(tǒng)軟件實(shí)現(xiàn)方式14</p><p> 3.1主程序流程圖14&l
14、t;/p><p> 3.2液晶顯示方式15</p><p> 3.3 時(shí)間轉(zhuǎn)換方式16</p><p> 3.4溫度轉(zhuǎn)換方式16</p><p> 第四章 調(diào)試現(xiàn)象17</p><p> 4.1運(yùn)行環(huán)境17</p><p> 4.2程序下載18</p><
15、p> 4.3實(shí)驗(yàn)過(guò)程現(xiàn)象.................................................... 19 </p><p><b> 總結(jié)20</b></p><p><b> 致謝21</b></p><p><b> 參考文獻(xiàn)22</b><
16、/p><p><b> 附錄23</b></p><p> 附錄A:原理圖23</p><p> 附錄B: 元器件清單23</p><p> 附錄C:設(shè)計(jì)程序24</p><p><b> 緒 論</b></p><p> 隨著社會(huì)文
17、化的不斷發(fā)展,人們的消費(fèi)標(biāo)準(zhǔn)不斷改變,時(shí)間顯示器更是扮演著越來(lái)越重要的角色,不論是汽車(chē)站,火車(chē)站,股市交易市場(chǎng),還是學(xué)校都離不開(kāi)它,然而傳統(tǒng)的時(shí)間顯示器不論是在顯示效果、耗電量還是可修改性上都無(wú)法滿(mǎn)足當(dāng)前社會(huì)的需求,傳統(tǒng)的時(shí)間顯示器亟待改進(jìn)。</p><p> 由于單片機(jī)技術(shù)的不斷發(fā)展與傳統(tǒng)的時(shí)間顯示器在顯示效果以及可修改性上都有著無(wú)法比擬的優(yōu)勢(shì),而且單片機(jī)的日益平民化以及LCD技術(shù)的不斷創(chuàng)新,使得高亮度高清晰
18、的LCD不斷推廣,為其在生活的應(yīng)用奠定了基礎(chǔ)。并且由于電子產(chǎn)品的不斷改良,設(shè)計(jì)更加的人性化;不僅為用戶(hù)提供方便快捷的操作界面,而且設(shè)計(jì)更加實(shí)用方便,為用戶(hù)會(huì)提供更有效的信息.像密碼鎖、智能小車(chē)、智能溫控等在人們?nèi)粘I钪械膽?yīng)用;還有一些工業(yè)生產(chǎn)中的智能控制方面的應(yīng)用,在很多工廠里生產(chǎn)的儀器的主控芯片和顯示芯片就是單片機(jī),其中有兩個(gè)是控制電機(jī)的左右位移和上下高度;比較的實(shí)用方便。并且單片機(jī)的開(kāi)發(fā)周期較其他芯片要快,有較強(qiáng)的商業(yè)價(jià)值,也為開(kāi)
19、發(fā)者提供很大的開(kāi)發(fā)空間</p><p> 第一章 設(shè)計(jì)原理及要求</p><p><b> 1.1設(shè)計(jì)原理</b></p><p> DS1302包括時(shí)鐘/日歷寄存器和8位的數(shù)據(jù)暫存寄存器,數(shù)據(jù)通信通過(guò)一條串行的輸入輸出口,實(shí)時(shí)時(shí)鐘日歷提供包括秒分時(shí)日期月份和年份的信息。時(shí)間要能夠顯示年,月,日,時(shí),分,秒,周,并且要具有閏年補(bǔ)償功能,年
20、,月,日,時(shí),分,秒,周能夠正常進(jìn)位……</p><p> 1.2設(shè)計(jì)思路及實(shí)現(xiàn)功能</p><p> 整個(gè)系統(tǒng)主要由五個(gè)模塊組成,包括單片機(jī)控制模塊,液晶顯示模塊,時(shí)鐘模塊,鍵盤(pán)模塊,溫度采集模塊,其系統(tǒng)的整體設(shè)計(jì)框圖如圖1-1所示:</p><p> 圖1-1 系統(tǒng)的整體設(shè)計(jì)框圖 </p><p> 第二章 系統(tǒng)硬件組成</
21、p><p> 2.1 AT89C51芯片介紹</p><p> 2.1.1.AT89C51簡(jiǎn)介</p><p> AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低電壓、高性能COMS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程
22、可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中。</p><p> 2.1.2.主要性能 圖2-1 AT89C51引腳圖 </p><p
23、> 與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫(xiě)周期、 全靜態(tài)操作:0Hz~33Hz 、 三級(jí)加密程序存儲(chǔ)器 、 32個(gè)可編程I/O口線 、三個(gè)16位定時(shí)器/計(jì)數(shù)器、 八個(gè)中斷源 、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門(mén)狗定時(shí)器 、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。</p><p> 2.1.3.管腳說(shuō)明</p><
24、p> 1.VCC:供電電壓</p><p><b> 2.GND:接地</b></p><p> 3.XTAL1——振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端 </p><p> 4.XTAL2——振蕩器反
25、相放大器的輸出端</p><p> 5.RST——復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> 6.EA/VPP——片外程序存儲(chǔ)器訪問(wèn) 允許信號(hào)。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地),如果EA端為高電平(接Vcc端),則CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。 </p><
26、;p> 7.P1口,P2口——P1,P2是一組帶內(nèi)部上拉電阻的8位雙向I/O口。運(yùn)行時(shí)通過(guò)P1口控制驅(qū)動(dòng)電路的工作,將數(shù)據(jù)送到數(shù)碼管,顯示相應(yīng)的段碼,為了達(dá)到減少功耗或滿(mǎn)足端口對(duì)最大電流的限制,應(yīng)加上一限流電阻。P2.0——P2.7口控制數(shù)碼管的位選,使六個(gè)數(shù)碼管輪流顯示數(shù)據(jù),等于0時(shí)位選三極管導(dǎo)通,等于1 時(shí)位選三極管截止。</p><p> 2.2單片機(jī)系統(tǒng)的晶振電路</p><
27、p> 晶振就是我們所需要的一種理想結(jié)構(gòu),使用晶振和電容可以組成一個(gè)選頻網(wǎng)絡(luò),</p><p> 利用單片機(jī)內(nèi)部時(shí)鐘,就可以產(chǎn)生一個(gè)和晶振頻率一樣的時(shí)鐘信號(hào)。本設(shè)計(jì)的晶振電路圖如下圖2-2所示:</p><p> 圖2-2 晶振電路原理圖</p><p> 2.3單片機(jī)的復(fù)位電路</p><p> 復(fù)位電路的目的就是在上電的瞬間
28、提供一個(gè)與正常工作狀態(tài)下相反的電平。一般利用電容電壓不能突變的原理,將電容與電阻串聯(lián),上電時(shí)刻,電容沒(méi)有充電,兩端電壓為零,此時(shí),提供復(fù)位脈沖,電源不斷的給電容充電,直至電容兩端電壓為電源電壓,電路進(jìn)入正常工作狀態(tài)。其復(fù)位電路如圖右圖2-3所示:</p><p> 圖2-3 復(fù)位電路圖</p><p> 2.4 LCD1602液晶顯示屏</p><p> 16
29、02液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。</p><p> 2.4.1引腳功能及接口方式</p><p><b> 管腳功能:</b></p><
30、;p> 1.第1腳:VSS為電源地 </p><p> 2.第2腳:VCC接5V電源正極 </p><p> 3.第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高 </p><p> 4.第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器 圖2-4 LCD1602
31、引腳圖</p><p> 5.第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作 </p><p> 6.第6腳:E(或EN)端為使能(enable)端 </p><p> 7.第7~14腳:D0~D7為8位雙向數(shù)據(jù)端 </p><p> 8.第15~16腳:空腳或背燈電源,15腳背光正極,16腳背
32、光負(fù)極。</p><p> 1602在本設(shè)計(jì)中的接口方式如下圖2-5所示:</p><p> 圖2-5 液晶的接口方式</p><p> 2.4.2 LED1602的內(nèi)部控制器</p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令,液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的,如表2-1所示為L(zhǎng)CD1602
33、控制命令表</p><p> 表2-1 1602控制命令表</p><p> 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置</p><p> 指令2:光標(biāo)復(fù)位,返回到地址00H位置</p><p> 指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,
34、低電平則無(wú)效。</p><p> 指令4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。</p><p> 指令6:功能設(shè)置命令
35、DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p> 指令7:字符發(fā)生器RAM地址設(shè)置。</p><p> 指令8:DDRAM地址設(shè)置。</p><p> 指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者
36、數(shù)據(jù),如果為低電平表示不忙。</p><p><b> 指令10:寫(xiě)數(shù)據(jù)。</b></p><p><b> 指令11:讀數(shù)據(jù)。</b></p><p> 2.5 數(shù)字溫度傳感器DS18B20</p><p> DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器。DS18B20通過(guò)一
37、個(gè)單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線(加上地線)。它的測(cè)溫范圍為-55~+125℃,并且在-10~+85℃精度為±5℃。</p><p> 2.5.1 DS18B20的引腳及接口方式</p><p><b> 引腳功能:</b></p><p> 1.GND 電壓地 </p>
38、<p> 2.DQ 單數(shù)據(jù)總線 </p><p> 3.VDD 電源電壓 </p><p><b> 4.NC 空引腳 </b></p><p> 如圖2-6為本設(shè)計(jì)中DS18B20的接口方式圖:</p><p> 圖2-6 DS18B20接口方式圖</p><p> 2.
39、5.2 DS18B20功能命令集</p><p> 在主機(jī)發(fā)出ROM 命令以訪問(wèn)某個(gè)指定的DS18B20, 接著就可以發(fā)出DS18B20 支持的某個(gè)功能命令。這些命令允許主機(jī)寫(xiě)入或讀出DS18B20 暫存器,啟動(dòng)溫度轉(zhuǎn)換以及判斷從機(jī)的供電方式。DS18B20功能命令集如表2-2所示:</p><p> 表2-2 DS18B20功能命令集</p><p><
40、b> 注:</b></p><p> 1.在溫度轉(zhuǎn)換和復(fù)制暫存器數(shù)據(jù)至EEPROM 期間,主機(jī)必須在單總線上允許強(qiáng)上拉,并且在此期間總線上不能進(jìn)行其它數(shù)據(jù)傳輸。</p><p> 2.通過(guò)發(fā)出復(fù)位脈沖,主機(jī)能夠在任何時(shí)候中斷數(shù)據(jù)傳輸。</p><p> 3.在復(fù)位脈沖發(fā)出前,必須寫(xiě)入全部的三個(gè)字節(jié)。</p><p>
41、 2.5.3 DS18B20復(fù)位應(yīng)答關(guān)系及讀寫(xiě)方式</p><p> DS18B20每一次通信之前必須進(jìn)行復(fù)位,復(fù)位的時(shí)間、等待時(shí)間、回應(yīng)時(shí)間應(yīng)嚴(yán)格按時(shí)序編程,圖2-7為DS18B20的復(fù)位應(yīng)答圖:</p><p> 圖2-7 DS18B20復(fù)位及應(yīng)答圖</p><p> DS18B20的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)序處理位和命令字來(lái)確認(rèn)信息交換的。寫(xiě)時(shí)序分為寫(xiě)“0”和
42、寫(xiě)“1”,時(shí)序如圖7。在寫(xiě)數(shù)據(jù)的前15uS總線需要是被控制器拉置低電平,而后則將是芯片對(duì)總線數(shù)據(jù)的采樣時(shí)間,采樣時(shí)間在15~60uS,采樣時(shí)間內(nèi)如果控制器將總線拉高則表示寫(xiě)“1”,如果控制器將總線拉低則表示寫(xiě)“0”。每一位的發(fā)送都應(yīng)該有一個(gè)至少15uS的低電平起始位,隨后的數(shù)據(jù)“0”或“1”應(yīng)該在45uS內(nèi)完成。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在60~120uS,否則不能保證通信的正常。如圖2-8為DS18B20的寫(xiě)時(shí)序圖: </p>
43、;<p><b> 圖2-8寫(xiě)時(shí)序圖</b></p><p> 讀時(shí)序時(shí)控制時(shí)的采樣時(shí)間應(yīng)該更加的精確才行,讀數(shù)據(jù)也是必須先由主機(jī)產(chǎn)生至少1uS的低電平,表示讀時(shí)間的起始。隨后在總線被釋放后的15uS中DS18B20會(huì)發(fā)送內(nèi)部數(shù)據(jù)位,這時(shí)控制如果發(fā)現(xiàn)總線為高電平表示讀出“1”,如果總線為低電平則表示讀出數(shù)據(jù)“0”。每一位的讀取之前都由控制器加一個(gè)起始信號(hào)。如圖2-9為DS1
44、8B20的讀時(shí)序圖: </p><p><b> 圖2-9讀時(shí)序圖</b></p><p> 2.6 時(shí)鐘芯片DS1302</p><p> DS1302 是DALLAS 公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘日歷和31 字節(jié),靜態(tài)RAM 通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘、日歷電路提供秒分時(shí)日期月年的信息,每月的天數(shù)和閏年
45、的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過(guò)AM/PM 指示決定采用24 或12 小時(shí)格式。DS1302 工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW。DS1302 是由DS1202 改進(jìn)而來(lái)增加了以下的特性雙電源管腳用于主電源和備份電源供應(yīng)Vcc1 為可編程涓流充電電源附加七個(gè)字節(jié)存儲(chǔ)器它廣泛應(yīng)用于電話(huà)傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。</p><p> 2.6.1 DS1302 的引腳功能及接口方式
46、 </p><p> DS1302芯片引腳圖如圖2-10所示:</p><p><b> 圖2-10引腳圖</b></p><p> 1.Vcc1:主電源;Vcc2:備份電源。</p><p> 在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2
47、大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電,上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。 </p><p> SCLK:串行時(shí)鐘,輸入。</p><p> 控制數(shù)據(jù)的輸入與輸出,只有在SCLK為低電平時(shí),才能將RST置為高電平。 3.I/O:三線接口時(shí)的雙向數(shù)據(jù)線。</p><
48、p> 如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。4.CE:輸入信號(hào),在讀、寫(xiě)數(shù)據(jù)期間,必須為高。</p><p> 該引腳有兩個(gè)功能:第一,CE開(kāi)始控制字訪問(wèn)移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?lt;/p><p> 5.RST :復(fù)位腳,RST是復(fù)位/片選線。</p><p> 通過(guò)
49、把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:一、 RST接通控制邏輯,允許地址/命令序列送入移位寄存器;二、 RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的方法。6.X1和X2:振蕩源,外接32.768kHz晶振。</p><p> DS1302接口方式圖如圖2-11所示:</p><p> 圖2-11 DS1302接口方式</p><p>
50、2.6.2 DS1302 內(nèi)部寄存器</p><p> DS1302內(nèi)部共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘有關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及控制字。寄存器內(nèi)容的定義如下表2-3所示:</p><p> 表2-3 寄存器內(nèi)容定義表</p><p> CH:時(shí)鐘暫停位,當(dāng)此位設(shè)置為1時(shí),振蕩器停止,DS1302處于低功率的備份方式;
51、當(dāng)此位設(shè)置為0時(shí),時(shí)鐘開(kāi)始啟動(dòng)。</p><p> 12/24:小時(shí)寄存器的位7定義為12或24小時(shí)方式選擇位。當(dāng)它為高電平時(shí),選擇12小時(shí)方式。在12小時(shí)方式下,位5是AM/PM位,此位為邏輯高電平表示PM。在24小時(shí)方式下,位5是第2個(gè)10小時(shí)位(20-23時(shí))。</p><p> WP:寫(xiě)保護(hù)位,寫(xiě)保護(hù)寄存器的低7位(D0~D6)置為0,在讀操作時(shí)總是讀出0。在對(duì)時(shí)鐘或RAM進(jìn)行
52、寫(xiě)操作之前,位7(WP)必須為0,當(dāng)它為高電平時(shí),寫(xiě)保護(hù)位防止對(duì)任何其他寄存器進(jìn)行寫(xiě)操作。</p><p> 2.6.3 DS1302數(shù)據(jù)傳送及讀寫(xiě)時(shí)序方式</p><p> DS1302支持單字節(jié)和多字節(jié)兩種數(shù)據(jù)讀寫(xiě)方式。單字節(jié)方式是在把控制命令字寫(xiě)入DS1302之后的8個(gè)SCLK周期的上升沿輸入/輸出數(shù)據(jù)字節(jié)。</p><p> 單字節(jié)傳送方式描述如2-1
53、2所示:</p><p> 圖2-12 單字節(jié)傳送方式</p><p> 當(dāng)命令字節(jié)為BE 或BF 時(shí)DS1302 工作在多字節(jié)傳送模式8 個(gè)時(shí)鐘/日歷寄存器從寄存器0 地址開(kāi)始連續(xù)讀寫(xiě)從0 位開(kāi)始的數(shù)據(jù)當(dāng)命令字節(jié)為FE 或FF 時(shí)DS1302 工作在多字節(jié)RAM 傳送模式31 個(gè)RAM 寄存器從0 地址開(kāi)始連續(xù)讀寫(xiě)從0 位開(kāi)始的數(shù)據(jù)。多字節(jié)傳送方式描述如2-13所示:</p&g
54、t;<p> 圖2-13多字節(jié)傳送方式</p><p> DS1302數(shù)據(jù)傳送必須按照正確的時(shí)序才能完成,其讀寫(xiě)時(shí)序如圖2-14、2-15所示</p><p> 圖2-14 DS1302讀時(shí)序</p><p> 圖2-15 DS1302寫(xiě)時(shí)序</p><p><b> 2.7 按鍵部分</b>&l
55、t;/p><p> 本設(shè)計(jì)采用的是獨(dú)立式按鍵,簡(jiǎn)單易于控制,四個(gè)按鍵通過(guò)編程實(shí)現(xiàn)一鍵多能的作用,能對(duì)時(shí)間進(jìn)行調(diào)整。</p><p> 本設(shè)計(jì)的按鍵電路如圖2-16所示: </p><p> 圖2-16 按鍵電路</p><p> 2.8 MAX232芯片</p><p> MAX232芯片是美信(MAXIM)公司
56、專(zhuān)為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。如圖2-17為MAX232的引腳圖:</p><p> 圖2-17 MAX引腳圖</p><p> MAX232的工作原理是把單片機(jī)的TTL電平轉(zhuǎn)化為計(jì)算機(jī)的RS232電平。TTL電平邏輯1為+5V,邏輯0為0V。RS232電平邏輯1為+3V~+15V,邏輯0為-3V~-15V。也就是說(shuō)我們所轉(zhuǎn)換的數(shù)據(jù)電平+5V
57、->(+3V~+15V),0V->(-3V~-15V)即可。</p><p> 本設(shè)計(jì)MAX232引腳連接圖如圖2-18所示:</p><p> 圖 2-18 MAX232引腳連接圖</p><p> 第三章 系統(tǒng)軟件實(shí)現(xiàn)方式</p><p><b> 3.1主程序流程圖</b></p>
58、<p> 主函數(shù)包括三個(gè)部分。時(shí)間的獲取和轉(zhuǎn)換、溫度的采集及轉(zhuǎn)換和將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送到液晶屏1602上。具體如流程圖3-1所示</p><p> 圖3-1 主函數(shù)流程圖</p><p> 3.2液晶顯示流程圖</p><p> 為使液晶正常顯示,先要對(duì)液晶進(jìn)行初始化,對(duì)4位總線和雙行顯示設(shè)置,對(duì)光標(biāo)定位及文字位置設(shè)置和設(shè)置開(kāi)顯示和光標(biāo)作用再清屏。
59、對(duì)讀取溫度和時(shí)間進(jìn)行數(shù)據(jù)處理,然后通過(guò)寫(xiě)命令確定溫度和時(shí)間在液晶上的顯示位置,最后通過(guò)寫(xiě)數(shù)據(jù)將時(shí)間和溫度顯示在液晶屏幕上。如圖3-2為液晶顯示的流程圖。</p><p> 圖3-2 液晶顯示流程圖</p><p> 3.3 時(shí)間獲取函數(shù)流程圖</p><p> 在本設(shè)計(jì)中分別對(duì)年月日,時(shí)分秒和星期進(jìn)行寄存然后處理。從DS1302芯片中讀取年的數(shù)據(jù),將高四位進(jìn)行
60、ASCII碼的轉(zhuǎn)換,也將低四位也進(jìn)行ASCII碼的轉(zhuǎn)換,再對(duì)月、日、時(shí)、分、秒進(jìn)行類(lèi)似的處理。如圖3-3為溫度轉(zhuǎn)換的流程圖:</p><p> 圖3-3 時(shí)鐘獲取模塊流程圖</p><p> 3.4讀取溫度函數(shù)流程圖</p><p> 溫度讀取函數(shù)首先要對(duì)DS18B20進(jìn)行初始化,再跳過(guò)ROM指令,然后啟動(dòng)溫度轉(zhuǎn)換、延時(shí),再進(jìn)行DS18B20初始化,再跳過(guò)RO
61、M指令,然后讀取溫度,讀取溫度中要對(duì)負(fù)溫度進(jìn)行判斷,再進(jìn)行溫度轉(zhuǎn)換,最后顯示實(shí)際溫度,溫度轉(zhuǎn)換流程圖如3-4所示:</p><p> 圖3-4 溫度轉(zhuǎn)換圖</p><p><b> 第四章調(diào)試現(xiàn)象</b></p><p><b> 4.1運(yùn)行環(huán)境</b></p><p> 此實(shí)驗(yàn)還需要運(yùn)行環(huán)
62、境,51單片機(jī)運(yùn)行的環(huán)境是keil 51。</p><p> 以下圖表顯示Keil的開(kāi)發(fā)工具以及它們相互之間的接口。如下圖4-1為程序調(diào)試圖:</p><p> 圖4-1 程序調(diào)試圖示</p><p><b> 4.2程序下載</b></p><p> STC-ISP 是一款單片機(jī)下載編程燒錄軟件,是針對(duì)STC系
63、列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052 系列和12C5410等系列的STC單片機(jī)。如圖4-2為程序下載圖:</p><p> 圖4-2 程序下載圖 </p><p><b> 4.3實(shí)驗(yàn)過(guò)程現(xiàn)象</b></p><p> 如下圖4-3,4-4為實(shí)驗(yàn)板和實(shí)驗(yàn)現(xiàn)象:</p><p> 圖4-3
64、實(shí)驗(yàn)板 圖4-4 實(shí)驗(yàn)現(xiàn)象</p><p><b> 結(jié) 論</b></p><p> 通過(guò)這次的畢業(yè)設(shè)計(jì),我對(duì)單片機(jī)的知識(shí)有了進(jìn)一步的了解。大學(xué)生活即將結(jié)束,這次的畢業(yè)設(shè)計(jì)是對(duì)我們?nèi)晁鶎W(xué)知識(shí)的檢驗(yàn),以此來(lái)提高我們的綜合能力同時(shí)也對(duì)我們所學(xué)知識(shí)進(jìn)行了有效的鞏固。根據(jù)設(shè)計(jì)任務(wù),提供參考書(shū)目讓我們自己學(xué)習(xí)自己
65、思考,對(duì)于在設(shè)計(jì)中遇到的重點(diǎn)與難點(diǎn)通過(guò)典型分析和老師的講解,啟發(fā)我們思考幫助我們掌握自學(xué)的方法達(dá)到很好的效果。</p><p> 這次畢業(yè)設(shè)計(jì)的課題是基于單片機(jī)的時(shí)間溫度顯示系統(tǒng),具體為設(shè)計(jì)一個(gè)能在液晶屏幕上顯示當(dāng)前日期和溫度的51單片機(jī)控制系統(tǒng)。主要選取的芯片是AT89C51單片機(jī),時(shí)鐘芯片DS1302,數(shù)字溫度傳感器DS18B20以及字符液晶LCD1602。剛剛拿到這課題時(shí)雖然有學(xué)過(guò)單片機(jī)但還是有點(diǎn)不知所措
66、,結(jié)果在畫(huà)原理圖時(shí)就出現(xiàn)了很多的問(wèn)題經(jīng)過(guò)大家的努力原理圖終于完成了接下來(lái)就是制板,從未弄過(guò)的我們不知從何下手還好有會(huì)的同學(xué)教我們幫我們監(jiān)督著在他的幫助下終于完成了板子的制作。接下來(lái)更困難的是就是寫(xiě)程序,雖然學(xué)過(guò)C語(yǔ)言可是只是懂一些表面的東西匯編雖然也接觸過(guò)但是也是上課老師直接給我們的所以編程是一個(gè)困難的過(guò)程沒(méi)。調(diào)試的時(shí)候我們發(fā)現(xiàn)了好多錯(cuò)誤,先是板子的焊接出現(xiàn)錯(cuò)誤,再是程序的錯(cuò)誤,然后我們一遍又一遍的更改。畢業(yè)論文是對(duì)我大學(xué)三年所學(xué)基礎(chǔ)知
67、識(shí)的專(zhuān)業(yè)知識(shí)的一次全面檢驗(yàn),通過(guò)撰寫(xiě)論文和畢業(yè)答辯,我覺(jué)得對(duì)自己的語(yǔ)言組織能力,表達(dá)能力,溝通交際能力,運(yùn)用所學(xué)知識(shí)的能力,分析問(wèn)題并解決問(wèn)題的能力都有所提高。</p><p> 在此項(xiàng)目中不僅學(xué)到了技能,更重要的是學(xué)到一種團(tuán)隊(duì)精神,一種分享收獲的喜悅,一個(gè)小組一個(gè)團(tuán)隊(duì)要有統(tǒng)一的目標(biāo)、統(tǒng)一的意見(jiàn)和一個(gè)優(yōu)秀的領(lǐng)導(dǎo)人,這樣才能更有效的完成我們前進(jìn)中遇到的難題和困難。做任何事包括做實(shí)驗(yàn)都不是孤立的而是一個(gè)需要和他人交
68、往的過(guò)程。這就要求我們要團(tuán)結(jié),要有合作精神,要注意和他人的溝通,要謙虛,不懂就問(wèn)。從課題的框架到原理圖的設(shè)計(jì),從芯片的選擇到實(shí)物模塊的鏈接都凝聚了我們辛勤的汗水,當(dāng)然我們?cè)谶@中間也磕磕碰碰走過(guò)許多彎路,經(jīng)過(guò)多次修改與調(diào)整最終我們才完成現(xiàn)在的硬件電路。只有一次次的失敗才能離成功更近,然而我們往往對(duì)成功期望太高才會(huì)懼怕失敗。</p><p> 在整個(gè)實(shí)驗(yàn)操作和論文完成的過(guò)程中,我體會(huì)到的是實(shí)驗(yàn)的艱辛和收獲的充實(shí),感
69、受到的是一種堅(jiān)持不懈、契而不舍的科研精神。實(shí)驗(yàn)現(xiàn)象的無(wú)法實(shí)現(xiàn)會(huì)讓我們著急因?yàn)槲覀冏约阂膊恢浪叩穆肥遣皇浅晒Φ姆较颍粐L試又怎會(huì)知道。只有嘗試過(guò)努力過(guò)我們才會(huì)走的更遠(yuǎn)。</p><p><b> 致 謝</b></p><p> 在這次畢業(yè)設(shè)計(jì)的過(guò)程中得到了許多人的幫助也在這次的畢業(yè)設(shè)計(jì)中學(xué)到了許多。在此我對(duì)學(xué)校、老師以及我的同學(xué)表示由衷的感謝,在畢業(yè)設(shè)計(jì)階段
70、上老師給予我們悉心的指導(dǎo),從最初的定題到原理圖的確定再到板子的調(diào)試最后論文的定稿老師都給我們提供了幫助,提供了很多專(zhuān)業(yè)知識(shí)。更有在我們制板時(shí)給予我們很大幫助的同學(xué),從PCB板的到板子的完成都給了我們很大的建議以及幫助。</p><p> 這次的畢業(yè)設(shè)計(jì)也讓我感覺(jué)到小組團(tuán)結(jié)的重要性, 在通過(guò)小組同學(xué)的共同努力我們的畢業(yè)設(shè)計(jì)終于完成了,這意味著大學(xué)的生活即將結(jié)束。在大學(xué)階段,我在學(xué)習(xí)和思想上都受益匪淺這除了自身的努
71、力外,與老師們、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)使分不開(kāi)的。感謝幫助過(guò)我的同學(xué)們?yōu)槲医鉀Q了不少問(wèn)題也感謝學(xué)校為我提供了一個(gè)良好的環(huán)境。雖然大學(xué)生活將要結(jié)束但我依然會(huì)努力前進(jìn),在沒(méi)有老師指導(dǎo)同學(xué)陪伴下依舊努力學(xué)習(xí)。</p><p> 再次感謝學(xué)院,感謝老師,還要我們的組長(zhǎng)及組員!</p><p><b> 參考文獻(xiàn)</b></p><p> [
72、1] 楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì).北京:清華大學(xué)出版社.</p><p> [2] 何立民.單片機(jī)應(yīng)用技術(shù)選編〔M〕,北京:北京航空大學(xué)出版社,1998;</p><p> [3] 李華.MCS-51系列單片機(jī)使用接口技術(shù)〔M〕,北京航空航天大學(xué)出版社,1993;</p><p> [4] 彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講〔M〕,北京電子
73、工業(yè)出版社,2006;</p><p> [5] 潘永雄.新編單片機(jī)原理與應(yīng)用〔M〕,西安電子科技大學(xué)出版社,2003;</p><p> [6]秦實(shí)宏,徐春輝.MCS-51單片機(jī)原理及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2010,(6)。</p><p> [7江志紅. 51 單片機(jī)技術(shù)與應(yīng)用系統(tǒng)開(kāi)發(fā)案例精選[M]. 北京:清華大學(xué)出版社,2008。&l
74、t;/p><p> [8]鄒應(yīng)全.51系列單片機(jī)原理與實(shí)驗(yàn)教程[M].西安:西安電子科技大學(xué)出版社,2007,(12)。</p><p><b> 附錄</b></p><p><b> 附錄A:原理圖</b></p><p><b> 附錄B:元器件清單</b></
75、p><p><b> 附錄C:設(shè)計(jì)程序</b></p><p> #include<reg51.h></p><p> #include <intrins.h></p><p> #define uchar unsigned char</p><p> #define
76、 uint unsigned int</p><p> #define AM(X)X</p><p> #define PM(X)(X+12) // 轉(zhuǎn)成24小時(shí)制</p><p> #define DS1302_SECOND0x80</p><p> #define DS1302_MINUTE0x
77、82</p><p> #define DS1302_HOUR0x84 </p><p> #define DS1302_WEEK0x8A</p><p> #define DS1302_DAY0x86</p><p> #define DS1302_MONTH0x88</p><p> #de
78、fine DS1302_YEAR0x8C</p><p> #define DS1302_RAM(X)(0xC0+(X)*2) //用于計(jì)算 DS1302_RAM 地址的宏 </p><p> void time0_init(void);</p><p> void delayx_us(unsigned char i);</p>&
79、lt;p> void soft_10ms(void);</p><p> void soft_1ms(void);</p><p> void delay_2s(void);</p><p> void Delay_1ms(unsigned char ms);</p><p> void key_scan(void);<
80、/p><p> uchar Init_DS18B20(void);</p><p> uchar ReadBit(void);</p><p> uchar ReadOneChar(void);</p><p> void WriteOneChar(unsigned char dat);</p><p> flo
81、at ReadTemperature(void);</p><p> void DS1302InputByte(unsigned char d);</p><p> unsigned char DS1302OutputByte(void);</p><p> void Write1302(unsigned char ucAddr, unsigned char
82、ucData);</p><p> unsigned char Read1302(unsigned char ucAddr);</p><p> void DS1302_SetProtect(bit flag);</p><p> void DS1302_SetTime(unsigned char Address, unsigned char Value);&
83、lt;/p><p> void DS1302_GetTime(void);</p><p> void lcd_wrcmd(unsigned char lcdcmd);</p><p> void Initial_DS1302(void);</p><p> void lcd_moveto(char position); </p&g
84、t;<p> void lcd_wrdata(char lcddata);</p><p> void lcd_string(char *strpoint);</p><p> void lcd_init(void);</p><p> uchar DateTime0[8];</p><p> uchar DateTi
85、me1[8];</p><p> sbit DQ=P1^7;//定義通信端口 </p><p> sbit DS1302_CLK=P3^4; //實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 </p><p> sbit DS1302_IO=P3^5; //實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 </p><p>
86、 sbit DS1302_RST=P3^7; //實(shí)時(shí)時(shí)鐘復(fù)位線引腳</p><p> sbit ACC0=ACC^0;</p><p> sbit ACC7=ACC^7;</p><p> sbit dc=P2^1; //RS </p><p> sbit rw=P2^
87、2; //R/W </p><p> sbit cs=P2^3; //E </p><p> sfr lcdbus=0x80; //lcdbus P0</p><p> sbit a=P2^0;</p><p> uchar T[5];</p><p> uch
88、ar Week ;</p><p> unsigned char M;//判斷正負(fù)標(biāo)志位</p><p> unsigned char FLAG=0;</p><p> sbit key_mode=P1^3;</p><p> sbit key_plus=P1^2;</p><p> sbit key_mi
89、nus=P1^1;</p><p> sbit key_enter=P1^0;</p><p> unsigned char TimeCount,Time_250ms;</p><p> ////////////////////////////////////</p><p> void delayx_us(unsigned char
90、 i) //11*x+12</p><p><b> {</b></p><p> while(i--); </p><p><b> }</b></p><p> void delay1_us() // 1.45us</p><p> {_nop
91、_();_nop_();_nop_();</p><p> _nop_();_nop_();_nop_();</p><p><b> }</b></p><p> ////////////////////////////////////</p><p> void soft_10ms(void)</p&g
92、t;<p> {unsigned int i; </p><p> for(i=0;i<16000;i++); </p><p><b> } </b></p><p> void soft_1ms(void)</p><p> {unsigned int i; </p>&l
93、t;p> for(i=0;i<1600;i++); </p><p><b> } </b></p><p> void delay_2s(void)</p><p> {unsigned char i;</p><p> for(i=0;i<20;i++)</p><p&
94、gt; soft_10ms();</p><p><b> }</b></p><p> void Delay_1ms(unsigned char ms)</p><p><b> {</b></p><p> unsigned int i;</p><p> w
95、hile(ms != 0)</p><p><b> {</b></p><p> for(i = 0;i < 980;i++)</p><p> {_nop_();_nop_();_nop_(); _nop_();}</p><p><b> ms--;</b></p>
96、<p><b> }</b></p><p><b> }</b></p><p> unsigned char second,minute,hour,day,month,year;</p><p> unsigned char stop_ds1302_flag = 0;</p><
97、p> unsigned char mode;</p><p> void TOBCD(void)</p><p><b> {</b></p><p> unsigned char tempyear1 = 0,tempyear2 = 0;</p><p> unsigned char tempmonth1
98、 = 0,tempmonth2 = 0;</p><p> unsigned char tempday1 = 0,tempday2 = 0;</p><p> unsigned char temphour1 = 0,temphour2 = 0;</p><p> unsigned char tempminute1 = 0,tempminute2 = 0;<
99、;/p><p> unsigned char tempsecond1 = 0,tempsecond2 = 0;</p><p> tempyear1 = year / 10;</p><p> tempyear2 = year % 10;</p><p> year = (tempyear1<<4) + tempyear2;
100、</p><p> tempmonth1 = month / 10;</p><p> tempmonth2 = month % 10;</p><p> month = (tempmonth1<<4) + tempmonth2;</p><p> tempday1 = day / 10;</p><
101、p> tempday2 = day % 10;</p><p> day = (tempday1<<4) + tempday2;</p><p> temphour1 = hour / 10;</p><p> temphour2 = hour % 10;</p><p> hour = (temphour1&
102、lt;<4) + temphour2;</p><p> tempminute1 = minute / 10;</p><p> tempminute2 = minute % 10;</p><p> minute = (tempminute1<<4) + tempminute2;</p><p> temps
103、econd1 = second / 10;</p><p> tempsecond2 = second % 10;</p><p> second = (tempsecond1<<4) + tempsecond2;</p><p><b> }</b></p><p> unsigned char
104、 Mode_Sta;</p><p> ////////////////////////////.///////</p><p> void key_scan(void)</p><p><b> {</b></p><p> unsigned char i;</p><p> if(k
105、ey_enter==0) //確認(rèn)鍵</p><p><b> {</b></p><p> if(stop_ds1302_flag == 0)</p><p><b> {</b></p><p><b> return;</b></p>
106、<p><b> }</b></p><p> Delay_1ms(10);</p><p> if(key_enter==0)</p><p><b> {</b></p><p> while(!key_enter);</p><p><b&
107、gt; mode=0;</b></p><p><b> TOBCD();</b></p><p> Write1302(0x8E,0x00);</p><p> for(i = 0; i < 6; i++)</p><p><b> {</b></p>&
108、lt;p> if(Mode_Sta & 0x01)</p><p><b> {</b></p><p><b> switch(i)</b></p><p><b> {</b></p><p> case 5:Write1302(DS1302_YEA
109、R,year);mode=0;break;</p><p> case 4:Write1302(DS1302_MONTH,month);mode=0;break;</p><p> case 3:Write1302(DS1302_DAY,day);mode=0;break;</p><p> case 2:Write1302(DS1302_HOUR,hour)
110、;mode=0;break;</p><p> case 1:Write1302(DS1302_MINUTE,minute);mode=0;break;</p><p> case 0:Write1302(DS1302_SECOND,second);mode=0;break;</p><p> default:mode=0;break;</p>
111、;<p><b> } </b></p><p><b> }</b></p><p> Mode_Sta >>= 1;</p><p><b> }</b></p><p> Mode_Sta = 0;</p><p&
112、gt; Write1302(0x8E,0x80);</p><p> stop_ds1302_flag=0;</p><p><b> }</b></p><p><b> }</b></p><p> if(key_mode==0)</p><p><b&g
113、t; {</b></p><p> Delay_1ms(10);</p><p> if(key_mode==0)</p><p><b> {</b></p><p> while(!key_mode);</p><p> if(mode == 0)</p>
114、<p><b> {</b></p><p> DS1302_GetTime();</p><p> year = DateTime1[6] * 10 + DateTime1[7];</p><p> month = DateTime1[3] * 10 + DateTime1[4];</p><p&
115、gt; day = DateTime1[0] * 10 + DateTime1[1];</p><p> hour = DateTime0[6] * 10 + DateTime1[7];</p><p> minute = DateTime0[3] * 10 + DateTime1[4];</p><p> second = DateTime0[0
116、] * 10 + DateTime1[1];</p><p> mode = 1; </p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> m
117、ode++;</b></p><p> if(mode>6)</p><p><b> mode=1;</b></p><p><b> }</b></p><p> stop_ds1302_flag=1;//不讀取ds1302的值</p><
118、;p><b> }</b></p><p><b> }</b></p><p> // switch(mode)</p><p><b> // {</b></p><p> // case 1: lcd_wrcmd(0x94); //sec
119、ond</p><p> // lcd_wrcmd(0x0f);</p><p> // break;</p><p> // case 2: lcd_wrcmd(0x92); //minute</p><p> // lcd_wrcmd(0x0f);</p><p
120、> // break;</p><p> // case 3: lcd_wrcmd(0x90); //hour</p><p> // lcd_wrcmd(0x0f);</p><p> // break;</p><p> // case 4: lcd_wrcmd(0
121、x85); //day</p><p> // lcd_wrcmd(0x0f);</p><p> // break;</p><p> // case 5: lcd_wrcmd(0x83); //month</p><p> // lcd_wrcmd(0x0f);</p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)畢業(yè)論文--基于單片機(jī)的led顯示屏設(shè)計(jì)
- 基于單片機(jī)的溫度采集系統(tǒng)畢業(yè)論文
- 基于單片機(jī)的溫度測(cè)量系統(tǒng)-畢業(yè)論文
- 單片機(jī)課設(shè)報(bào)告基于單片機(jī)的液晶顯示畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的溫度控制
- 畢業(yè)論文---基于單片機(jī)的溫度濕度采集顯示控制系統(tǒng)
- 51單片機(jī)畢業(yè)論文---基于單片機(jī)的進(jìn)制換算
- 畢業(yè)論文---基于單片機(jī)的溫度濕度采集顯示控制系統(tǒng)
- 基于單片機(jī)的溫度控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的溫度控制系統(tǒng)
- 基于單片機(jī)的溫度控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的溫度控制系統(tǒng)
- 單片機(jī)的溫度控制系統(tǒng)畢業(yè)論文
- 基于at89s51單片機(jī)單片機(jī)控制空調(diào)溫度系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文-單片機(jī)溫度控制系統(tǒng)
- 畢業(yè)論文-單片機(jī)溫度控制系統(tǒng)
- 單片機(jī)溫度控制系統(tǒng)畢業(yè)論文
- 基于單片機(jī)的溫度顯示器
- 畢業(yè)論文----基于51單片機(jī)的led滾動(dòng)顯示系統(tǒng)
- 單片機(jī)溫度控制系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論