



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、西南科技大學(xué)自動化專業(yè)方向設(shè)計報告設(shè)計名稱:電子萬年歷地仿真與設(shè)計姓名:陳衛(wèi)東學(xué)號:20096264班級:自動化 0903 班指導(dǎo)教師:胡天鏈起止日期:2012.11.1-2012.11.13西南科技大學(xué)信息工程學(xué)院制方向設(shè)計任務(wù)書學(xué)生班級:自動化 0903學(xué)生姓名:陳 衛(wèi) 東學(xué)號:20096264設(shè)計名稱:電子萬年歷地仿真與設(shè)計起止日期:2012.11.1-2012.11.13指導(dǎo)教師:胡天鏈設(shè)計要求:1、電子萬年歷基本要求1)用液晶顯示器顯示年、月、日、時、分、秒能計算閏年情況;2)能測量顯示室溫度值并具有一年地溫度記憶功能.2、擴展要求1)具有鬧鐘提醒功能 , 可設(shè)定至年、月、日、時、分
2、、秒.2)具有計時和 60 秒鐘倒數(shù)功能 .3、電子萬年歷系統(tǒng)地設(shè)計根據(jù)要求采用 Proteus 設(shè)計電路 ,C 程序仿真 .4 、課程設(shè)計論文應(yīng)完成地工作摘要 , 要求 100 字內(nèi)地論文摘要 , 中英文均要求 .關(guān)鍵詞( 35 個) , 中英文關(guān)鍵詞 .前言、方案論證及方案選擇、仿真系統(tǒng)地設(shè)計、調(diào)試及結(jié)論、致謝、參考文獻方向設(shè)計學(xué)生日志時間設(shè)計內(nèi)容11.1-11.2查找資料 ,確定總體方案11.3-11.5在 proteus里面設(shè)計硬件電路 ,并調(diào)試通過11.6-11.7軟件設(shè)計 ,編寫程序11-8-11.9在 proteus里整體調(diào)試仿真11.10-11.13撰寫設(shè)計報告11.14答辯2
3、電子萬年歷【摘要】單片機應(yīng)用技術(shù)飛速發(fā)展, 縱觀我們現(xiàn)在生活地各個領(lǐng)域, 從導(dǎo)彈地導(dǎo)航裝置, 到飛機上各種儀表地控制, 從計算機地網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸, 到工業(yè)自動化過程地實時控制和數(shù)據(jù)處理, 以及我們生活中廣泛使用地各種智能IC 卡、電子寵物等, 這些都離不開單片機. 單片機是集CPU ,RAM ,ROM ,定時 , 計數(shù)和多種接口于一體地微控制器. 它體積小 , 成本低 , 功能強 , 廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上. 而 51 系列單片機是各單片機中最為典型和最有代表性地一種. 這次設(shè)計通過對它地學(xué)習(xí), 應(yīng)用 , 從而達到學(xué)習(xí)、設(shè)計、開發(fā)軟、硬地能力.本文通過對一個基于單片機地能實現(xiàn)萬年
4、歷功能電子時鐘地設(shè)計, 從而達到學(xué)習(xí)、了解單片機相關(guān)指令在各方面地應(yīng)用. 系統(tǒng)由主控制器AT89C51、時鐘電路DS1302、溫度檢測電路DS18B20、顯示電路和按鍵電路等部分構(gòu)成 , 能實現(xiàn)時鐘日歷顯示地功能 , 能進行時、分、秒、溫度地顯示 , 并帶鬧鐘功能 . 【關(guān)鍵詞】 單片機 , 萬年歷 , 時鐘芯片 DS1302,LCD1602液晶顯示 , 溫度傳感器 DS18B20Abstract:SCM application technology develop rapidly, looking around us now in all spheres of life, from miss
5、iles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable fr
6、om the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical
7、 and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities.Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying and
8、 understanding the relevant directives SCM in all aspects of the application. By main control AT89C51、clock circuit DS1302、temperature measuring circuit、 display circuit and keystroke circuit componented, to achieve clock calendar display function can be carried out, hours seconds of the show and re
9、al-time temperature display.moreover,the alarm is attached.Keywords: Monolithic single-chip, perpetual calendars,clock chip DS1302,LCD liquid crystal display,temperature transducerDS18B20.3前言隨著人們生活水平地提高和生活節(jié)奏地加快,對時間地要求越來越高 ,精準數(shù)字計時地消費需求也是越來越多 .二十一世紀地今天 ,最具代表性地計時產(chǎn)品就是電子時鐘,它是近代世界鐘表業(yè)界地第三次革命 .第一次是擺和擺輪游絲地發(fā)明
10、,相對穩(wěn)定地機械振蕩頻率源使鐘表地走時差從分級縮小到秒級 ,代表性地產(chǎn)品就是帶有擺或擺輪游絲地機械鐘或表.第二次革命是石英晶體振蕩器地應(yīng)用,發(fā)明了走時精度更高地石英電子鐘表,使鐘表地走時月差從分級縮小到秒級.第三次革命就是單片機數(shù)碼計時技術(shù)地應(yīng)用,使計時產(chǎn)品地走時日差從分級縮小到1/600 萬秒 ,從原有傳統(tǒng)指針計時地方式發(fā)展為人們?nèi)粘8鼮槭煜さ匾构鈹?shù)字顯示方式,直觀明了 ,并增加了全自動日期、星期地顯示功能 ,它更符合消費者地生活需求!因此,電子時鐘地出現(xiàn)帶來了鐘表計時業(yè)界跨躍性地進步 .我國生產(chǎn)地電子時鐘有很多種 ,總體上來說以研究多功能電子時鐘為主 ,使萬年歷除了原有地顯示時間 ,日期等
11、基本功能外 ,還具有鬧鈴 ,溫度顯示等功能 .商家生產(chǎn)地電子萬年歷更從質(zhì)量 , 價格 ,實用上考慮 ,不斷地改進電子時鐘地設(shè)計 ,使其更加地具有市場 .本文提出了一種基于 AT89C52單片機地時鐘設(shè)計方案 ,本方案以 AT89C52單片機作為主控核心 ,與時鐘芯片 DS1302、溫度傳感器 DS18B20、按鍵、 LCD1602 顯示等模塊組成硬件系統(tǒng) . 在硬件系統(tǒng)中設(shè)有獨立按鍵和 LED 顯示器 ,能顯示豐富地信息 ,根據(jù)使用者地需要可以隨時對時間進行校準、選擇時間等 ,綜上所述此電子時鐘具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表地發(fā)展趨勢,具有廣闊
12、地市場前景 .一、方案論證1、 技術(shù)可行性隨著國內(nèi)超大規(guī)模集成電路地出現(xiàn),微處理器及其外圍芯片有了迅速地發(fā)展.集成技術(shù)地最新發(fā)展之一是將CPU 和外圍芯片 ,如程序存儲器、數(shù)據(jù)存儲器、并行I/O 口、串行 I/O 口、定時 /計數(shù)器、中斷控制器及其他控制部件集成在一個芯片之中,制成單片計算機(Single-ChipMicrocomputer).而近年來推出地一些高檔單片機還包括有許多特殊功能單元 ,如 A/D 、 D/A 轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、 DMA 、浮點運算單元、 PWM 控制輸出單元、 PWM 輸出時地死區(qū)可編程控制功能等 .因此 ,只要外加一些擴展電路及必要地通道接
13、口就可以構(gòu)成各種計算機應(yīng)用系統(tǒng) ,如工業(yè)流水線控制系統(tǒng)、作為家用電器地主控制器、分布式控制系統(tǒng)地終端節(jié)點或作為其主控制節(jié)點起中繼地作用、數(shù)據(jù)采集系統(tǒng)、自動測試系統(tǒng)等.單片機地出現(xiàn) ,并在各技術(shù)領(lǐng)域中得到如此迅猛地發(fā)展 ,與單片機構(gòu)成計算機應(yīng)用系統(tǒng)所形成地下述特點有關(guān):(1)單片機構(gòu)成地應(yīng)用系統(tǒng)有較大地可靠性.這些可靠性地獲得除了依靠單片機芯片本身地高可靠性以及應(yīng)用有最少地聯(lián)接外,還可以方便地采用軟、硬件技術(shù).(2)系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模地應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高地4軟、硬件利用系數(shù) .(3)由于構(gòu)成地應(yīng)用系統(tǒng)是一個計算機系統(tǒng),相當(dāng)多地測、控功能由軟件實現(xiàn),故具有柔性特
14、征 ,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能.(4)有優(yōu)異地性能、價格比.2、 單片機地選擇方案一:采用傳統(tǒng)地AT89C52 作為電機地控制核心.單片機算術(shù)運算功能強,軟件編程靈活、自由度大 ,可用軟件編程實現(xiàn)各種算法和邏輯控制 ,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點 ,使其在各個領(lǐng)域應(yīng)用廣泛 .方案二:采用 FTC10F04 單片機 ,還帶有非易失性Flash 程序存儲器 .它是一種高性能、 低功耗地 8 位 CMOS 微處理芯片 ,市場應(yīng)用最多 .其主要特點如下: 8KB Flash ROM, 可以擦除 1000 次以上 ,數(shù)據(jù)保存 10 年.由于本系統(tǒng)對 CPU 運算速度要求
15、很高 ,需要執(zhí)行很復(fù)雜地運算 ,方案一成本比較低 ,適合做設(shè)計 ,方案二運算速度高 ,性能好 ,所以兩種方案都有可取之處 .選用方案一作為主方案 ,方案二作為備用方案 .3、時鐘模塊地選擇方案一:用單片機地定時器產(chǎn)生1S 地時基信號 , 然后用程序來實現(xiàn)時鐘地時、 分、秒計時 ,同時用程序來產(chǎn)生年、月、日 . 該方案優(yōu)點是減少使用外設(shè)芯片;缺點是用單片機模擬時鐘 , 使編程量增大 , 且用定時器產(chǎn)生時基信號 , 精度不高 .方案二:使用時鐘芯片 DS12C887優(yōu).點是 8 位數(shù)據(jù)線并行控制 , 控制簡單;自帶有鋰電池 , 外部掉電時 , 其內(nèi)部時間信息還能夠保持 10 年之久 . 缺點是并行
16、控制 , 占用太多地 IO 口, 且價格很高 , 不適合一般地電子制作 .方案三:采用 DS1302時鐘芯片實現(xiàn)時鐘 ,DS1302芯片是一種高性能地時鐘芯片 , 可自動對秒、分、時、日、周、月、年以及閏年補償?shù)啬赀M行計數(shù) , 而且精度高 , 位地 RAM作為數(shù)據(jù)暫存區(qū) , 工作電壓 2.5V-5.5V 范圍內(nèi) ,2.5V 時耗電小于 300Ma.僅使用 3 個 IO 口 , 占用最少地單片機資源;其內(nèi)部功能強大 . 更重要地是其價格便宜 , 具有非常高地性價比 . 缺點是串行通信 , 控制比較復(fù)雜 .綜上 , 由于本設(shè)計對時間要求較精準 , 且具閏年計算功能 , 因此本設(shè)計選擇方案三 , 采
17、用時鐘芯片 DS1302.4、 顯示模塊地選擇方案一:采用 LED 數(shù)碼管動態(tài)掃描 ,LED 數(shù)碼管價格適中 , 對于顯示數(shù)字最合適 , 而且采用動態(tài)掃描法與單片機相連接時 , 占用地單片機口線少 , 但所需要地數(shù)碼管數(shù)量太多 , 焊接困難極易出錯 , 所以不采用 LED數(shù)碼管作為顯示 .方案二:采用點陣式數(shù)碼管顯示 , 點陣式數(shù)碼管是由八行八列地發(fā)光二極管組成 , 對于顯示文字比較合適 , 如果用在顯示數(shù)字顯得太浪費 , 且價格也相對較高 , 所以也不用此種作為顯示 .5方案三:采用 LCD液晶顯示屏 , 液晶顯示屏地顯示功能強大 , 可顯示大量文字 , 圖形 , 顯示多樣 , 清晰可見 ,
18、 但是價格昂貴 , 需要地接口線多 .本設(shè)計所需顯示較多且需要文字, 又基于設(shè)計要求,所以在本次設(shè)計中采用方案三, 使用LCD1602液晶顯示屏 .5 、溫度檢測模塊地選擇方案一:使用熱敏電阻作為傳感器 , 用熱敏電阻與一個相應(yīng)阻值電阻相串聯(lián)分壓 , 利用熱敏電阻阻值隨溫度變化而變化地特性 , 采集這兩個電阻變化地分壓值 , 并進行 A/D 轉(zhuǎn)換 , 此設(shè)計方案需要 A/D 轉(zhuǎn)換電路 , 增加了硬件成本而且熱敏電阻地感溫特性曲線并不是嚴格性地 , 會產(chǎn)生較大地測量誤差 .方案二:采用數(shù)字式溫度傳感器 DS18B20,此類傳感器為數(shù)字式傳感器 , 而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸 , 易于與單片
19、機連接 , 可以去除 A/D 模塊 , 降低了硬件成本 , 簡化系統(tǒng)電路 . 另外 , 數(shù)字式溫度傳感器還具有測量精度高 , 測量范圍廣等優(yōu)點 .根據(jù)上述論述 , 本設(shè)計采用方案二 , 選擇數(shù)字式溫度傳感器DS18B20.6、 設(shè)置模塊地選擇在對日期、溫度和鬧鐘進行切換,對日期和時間進行調(diào)節(jié)校準過程中,系統(tǒng)需要產(chǎn)生激勵電流 ,因此需要用按鍵 .方案一:使用獨立式鍵盤 .獨立式鍵盤是指直接用 I/O 口線構(gòu)成地單個按鍵電路 .獨立式按鍵電路配置靈活 ,軟件結(jié)構(gòu)簡單 .方案二:使用矩陣式鍵盤 .矩陣式鍵盤是由行線和列線組成 ,按鍵位于行、列地交叉點上 , 行線、列線分別連接到按鍵開關(guān)地兩端 .其特
20、點是簡單且不增加成本 ,這種鍵盤適合按鍵數(shù)量較多地場合 .根據(jù)以上地論述 ,因本系統(tǒng)需要地按鍵不多 ,日期加加減 ,月數(shù)加減 ,年數(shù)加減 ,分數(shù)加減 ,時數(shù)加減 ,設(shè)置切換鍵 ,要求簡單 ,只需要四個按鍵即可滿足要求 .所以采用方案一獨立式鍵盤 .7、鬧鐘模塊此模塊采用無源蜂鳴器實現(xiàn), 只要編寫相應(yīng)地程序即可實現(xiàn)發(fā)出不同頻率地聲音.8、最終方案決定綜上各方案所述 ,對此次設(shè)計地方案選定:采用AT89C52 作為主控制系統(tǒng); DS1302 提供時鐘; LCD1602 液晶顯示器作為顯示;以DS18B20 作為檢測溫度地傳感器;用蜂鳴器實現(xiàn)鬧鐘響鈴 .二、仿真系統(tǒng)硬件設(shè)計1、電路設(shè)計框圖1602
21、液晶顯示模設(shè)置模塊塊6AT89C52主控制模塊鬧鐘模塊DS1302時鐘模塊DS18B20溫度檢測圖( 1) 總體設(shè)計框圖2、單片機控制系統(tǒng)單片機中央處理系統(tǒng)地方案設(shè)計 , 選用 AT89C52單片機作為中央處理器 , 如圖( 2)所示 . 該單片機除了擁有 MCS-51系列單片機地所有優(yōu)點外 , 內(nèi)部還具有 8K 地在系統(tǒng)可編程 FLASH存儲器 , 低功耗地空閑和掉電模式 , 極大地降低了電路地功耗 , 還包含了定時器、程序存儲器、數(shù)據(jù)存儲器等硬件 , 其硬件能符合整個控制系統(tǒng)地要求 , 不需要外接其他存儲器芯片和定時器件 , 方便地構(gòu)成一個最小系統(tǒng) . 整個系統(tǒng)結(jié)構(gòu)緊湊 , 抗干擾能力強
22、, 性價比高 .3、DS1302時鐘電路時鐘電路主要由時鐘芯片 DS1302、晶振等幾部分組成 , 如下圖所示 .DS1302 采用 3 線串行接口 , 占用引腳少 , 內(nèi)部集成了可編程日歷時鐘 , 用戶可以根據(jù)需要通過單片機地控制來自行設(shè)置 , 支持雙電源供電 , 可以使用外部主電源和備用電源 , 備份電源能夠使時鐘芯片繼續(xù)工作 .7圖( 3) DS1302 管腳圖圖( 4) DS1302 時鐘電路DS1302各引腳地功能為:8: Vcc1 :備用電池端;1: Vcc2 : 5V 電源 . 當(dāng) Vcc2Vcc1+0.2V 時, 由 Vcc2 向 DS1302供電 , 當(dāng) Vcc2 Vcc1
23、時, 由Vcc1 向 DS1302供電;7: SCLK :串行時鐘 , 輸入;6: I/O :數(shù)據(jù)輸入輸出口;5: CE/RST :復(fù)位腳;2、3: X1 、 X2 是外接晶振腳( 32.768KHZ地晶振);4: 地( GND) .DS1302有關(guān)日歷、時間地寄存器:圖( 5) DS1302有關(guān)日歷、時間地寄存器1、秒寄存器( 81h、80h)地位 7 定義為時鐘暫停標志( CH). 當(dāng)初始上電時該位置為 1, 時鐘振蕩器停止 ,DS1302 處于低功耗狀態(tài);只有將秒寄器地該位置改寫為 0 時, 時鐘才能開始運行 .2、小時寄存器( 85h、84h)地位 7 用于定義 DS1302是運行于
24、12 小時模式還是 24 小時模式 . 當(dāng)為高時 , 選擇 12 小時模式 . 在 12 小時模式時 , 位 5 是 , 當(dāng)為 1 時, 表示 PM.在 24 小時模式時 , 位 5 是第二個 10 小時位3、控制寄存器( 8Fh、8Eh)地位 7 是寫保護位( WP), 其它 7 位均置為 0. 在對任何地時8鐘和 RAM地寫操作之前 ,WP位必須為 0. 當(dāng) WP位為 1 時, 寫保護位防止對任一寄存器地寫操作 . 也就是說在電路上電地初始態(tài) WP是 1, 這時是不能改寫上面任何一個時間寄存器地 , 只有首先將 WP改寫為 0, 才能進行其它寄存器地寫操作 . DS1302讀寫時序DS13
25、02是 SPI 總線驅(qū)動方式 . 它不僅要向寄存器寫入控制字 , 還需要讀取相應(yīng)寄存器地數(shù)據(jù) .DS1302地控制字如圖( 6):圖( 6) DS1302地控制字圖控制字地最高有效位(位7)必須是邏輯 1, 如果它為 0, 則不能把數(shù)據(jù)寫入到DS1302中 .位 6:如果為 0, 則表示存取日歷時鐘數(shù)據(jù) , 為 1 表示存取 RAM數(shù)據(jù);位 5 至位 1(A4A0):指示操作單元地地址;位 0(最低有效位):如為 0, 表示要進行寫操作 , 為 1 表示進行讀操作 .讀數(shù)據(jù):讀數(shù)據(jù)時在緊跟8 位地控制字指令后地下一個SCLK脈沖地下降沿 , 讀出 DS1302地數(shù)據(jù) ,讀出地數(shù)據(jù)是從最低位到最
26、高位.寫數(shù)據(jù):控制字總是從最低位開始輸出. 在控制字指令輸入后地下一個SCLK時鐘地上升沿時 , 數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入也是從最低位(0 位)開始 .4、顯示電路1602 液晶也叫 1602 字符型液晶 它是一種專門用來顯示字母、數(shù)字、符號等地點陣型液晶模塊 它有若干個 5X7 或者 5X11 等點陣字符位組成 , 每個點陣字符位都可以顯示一個字符 . 顯示電路采用 LCD1602液晶顯示 , 如圖 (7) 所示 , 圖中只畫出了其相應(yīng)地接口 ,3 腳用于調(diào)節(jié)LCD1602地背光 ,4 、 5、 6 為 LCD1602地控制口 , 用于控制其寫入或是讀出指令 ,7 至 14 腳為L
27、CD1602地數(shù)據(jù)口 , 將數(shù)傳送到 LCD1602中.9圖( 7) LCD1602顯示電路LCD1602地特性:+5V 電壓 , 對比度可調(diào);內(nèi)含復(fù)位電路;提供各種控制命令 , 如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;有 80 字節(jié)顯示數(shù)據(jù)存儲器DDRAM;內(nèi)建有 160 個 5X7 點陣地字型地字符發(fā)生器CGROM,8個可由用戶自定義地5X7地字符發(fā)生器 CGRAM;基本操作時序:讀狀態(tài):輸入: RS=L,RW=H,E=H;輸出: DB0DB7=狀態(tài)字;寫指令:輸入: RS=L,RW=L,E=下降沿脈沖 ,DB0 DB7=指令碼;輸出:無 .讀數(shù)據(jù):輸入: RS=H,RW=H,E
28、=H;輸出: DB0DB7=數(shù)據(jù) ;寫數(shù)據(jù):輸入: RS=H,RW=L,E=下降沿脈沖 ,DB0 DB7=數(shù)據(jù) ;輸出:無 .LCD1602地各種指令不再一一說明.5、DS18B20溫度檢測電路通過 1820 進行讀數(shù)據(jù) , 將讀出來地數(shù)據(jù)進行進制轉(zhuǎn)換, 轉(zhuǎn)換后送到 12864 顯示 .工作原理介紹: DS18B20是單總線地數(shù)字溫度傳感器. 其與單片機地接口只需要一根數(shù)據(jù)線即可 . 當(dāng)然連線簡單意味著軟件處理上可能要麻煩一點.DS18B20地內(nèi)部存儲器分為以下幾部分 ROM:存放該器件地編碼 . 前 8 位為單線系列地編碼 (DS18B20 地編碼是 19H)后面 48 位為芯片地唯一序列號
29、 . 在出場地時候就已經(jīng)設(shè)置好 , 用戶無法更改 . 最后 8 位是以上 56 位地 CRC碼.RAM: DS18B20地內(nèi)部暫存器共9 個字節(jié) . 其中第一個和第二個字節(jié)存放轉(zhuǎn)換后地溫10度值 . 第二個和第三個字節(jié)分別存放高溫和低溫告警值.( 可以用 RAM指令將其拷貝到 EEPROM中)第四個字節(jié)為配置寄存器. 第 57 個字節(jié)保留 . 第 9 個字節(jié)為前 8 個字節(jié)地 CRC碼.圖( 8) DS18B20地溫度存放圖( 9)DS18B20電路其中 S 位符號位 . 當(dāng)溫度值為負值時 ,S = 1 ,反之則 S = 0 .我們把得到地溫度數(shù)據(jù)乘上對應(yīng)地分辨率即可以得到轉(zhuǎn)換后地溫度值.DS
30、18B20地通訊協(xié)議:在對 DS18B20進行讀寫編程時 , 必須嚴格保證讀寫地時序 . 否則將無法讀取測溫結(jié)果 . 根據(jù)DS18B20地通訊協(xié)議 , 主機控制 DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過 3 個步驟 : 每一次讀寫之前都要對 DS18B20進行復(fù)位 , 復(fù)位成功后發(fā)送一條 ROM指令 , 最后發(fā)送 RAM指令 . 這樣才能對 DS18B20 進行預(yù)定地操作 .復(fù)位要求主機將數(shù)據(jù)線下拉500us, 然后釋放 ,DS18B20 收到信號后等待16160us 然后發(fā)出60240us 地存在低脈沖 , 主機收到此信號表示復(fù)位成功.圖( 10)DS18B20地復(fù)位時序圖 .11圖( 11)讀操
31、作地時序圖圖( 12) 寫操作地時序圖6、按鍵電路按鍵電路由四個輕觸開關(guān)組成 , 如圖 (12) 所示 . 按鍵用來調(diào)整時間 , 其一端直接接到單片機地端口 , 另一端接地 , 當(dāng)按下按鍵時 , 相應(yīng)地端口變?yōu)榈碗娖?, 通過與個各鍵相連地端口P1.4,P1.5,P1.6,P1.7可以判斷是哪個鍵按下 , 從而作相應(yīng)地操作 .圖( 13) 按鍵電路7、蜂鳴器電路鬧鐘模塊采用單片機輸出一定頻率地方波從而使蜂鳴器發(fā)出聲音.12圖( 14) 方波信號圖( 15) 蜂鳴器電路三、仿真系統(tǒng)軟件設(shè)計軟件設(shè)計是本設(shè)計地關(guān)鍵, 軟件程序編寫地好壞直接影響著系統(tǒng)運行情況地良好. 因本程序涉及地模塊較多 , 所以
32、程序編寫也采用模塊化設(shè)計,C 語言具有編寫靈活、移植方便、便于模塊化設(shè)計地特點 , 所以本系統(tǒng)地軟件采用C51 編寫 .整個軟件系統(tǒng)采用規(guī)模化地程序設(shè)計方法, 共分為時間設(shè)定、鬧鈴設(shè)定、倒計時和溫度檢測系統(tǒng) . 軟件系統(tǒng)地主要特點是整個過程完全在鍵盤地控制之下, 實現(xiàn)了完全地友好地人機交互功能 . 程序框圖如下:時間、日期、溫度、鬧鐘和倒計時設(shè)置模塊開始初始化DS1302,1602從 DS1302讀取信息1602 液晶顯示相關(guān)信息判斷是否有按鍵按溫度檢測模塊沒有按鍵按下13四、調(diào)試結(jié)果及分析電路設(shè)計中單片機采用 AT89C52,編譯環(huán)境為 keil, 程序使用 C語言進行編寫 , 使用 pro
33、teus 仿真軟件進行仿真調(diào)試 , 設(shè)計硬件制作比較順利 , 很快就把硬件電路做好 . 接著 , 主要是程序地調(diào)試 . 程序調(diào)試地難點在于設(shè)計地功能模塊過多 , 程序結(jié)構(gòu)比較復(fù)雜 , 使得調(diào)試起來比較費時間 . 在軟件調(diào)試過程中 , 當(dāng)調(diào)節(jié)時間和日期后 , 單片機上電后更新地是 PC 地時間 , 后來查找資料發(fā)現(xiàn) , 是設(shè)置 ds1302 地問題 , 還有一個問題 , 在按鍵操作時有時會出現(xiàn)功能不穩(wěn)定 , 這是由于按鍵存在抖動 , 所以后來加個去抖動地延時后在判斷 , 基本就可以解決問題 .仿真正確顯示了時間 , 在 LCD1602中正確顯示了當(dāng)前日期、 時間 , 通過按按鍵 K1, 就可以開
34、始設(shè)置時間或鬧鈴 , 依次按 K1 依次在年、月、日、時、分之間切換, 按 K2 鍵用于加 1 操作 ,K3鍵用于減 1 操作 ,K4 是取消按鈕 , 單獨按加減按鍵可以顯示溫度和進入倒計時. 通過調(diào)試和仿真 ,基本實現(xiàn)了設(shè)計所要求地所有功能.1:顯示年、月、日、時、分、秒信息.2:具有可調(diào)整日期和時間功能.3: DS1302自帶閏年補償功能 , 可自動判斷平閏年 , 正確顯示時間 .4:實現(xiàn)鬧鐘提醒功能 , 且鬧鐘可設(shè)置至年 , 月, 日, 時, 分, 秒.5:實時顯示環(huán)境溫度 .6:顯示 60 秒倒計時功能 .但唯一不足地是不能實現(xiàn)一年地溫度記憶功能 , 我用 AT2404調(diào)了很長時間 ,
35、 還是不能實現(xiàn)溫度地存儲和顯示 , 可能是我不太會用那個芯片 , 看了它地資料 , 還是不能寫出正確地程序 .結(jié)束語本系統(tǒng)以 AT89C52為核心部件 , 使用串行時鐘芯片 DS1302,實現(xiàn)時間和鬧鐘地功能設(shè)置 , 用溫度傳感器 DS18B20實現(xiàn)對環(huán)境實時溫度地檢測 . 通過鍵盤和液晶顯示屏可方便地校對時鐘、設(shè)置鬧鐘時間和顯示溫度 , 本系統(tǒng)基本完成了實用電子鐘地功能 , 并添加了許多附加功能 , 使電子萬年歷更具多樣化 , 特色化 . 盡量做到了硬件電路簡單穩(wěn)定 , 減少電磁干擾和其他環(huán)境干擾 . 在該系統(tǒng)設(shè)計 , 調(diào)試完成之后 , 對最后地成功進行分析 , 同時結(jié)合在調(diào)試過程中出現(xiàn)地錯
36、誤和不足進行綜合分析 , 總結(jié)在實際系統(tǒng)設(shè)計和調(diào)試過程中地寶貴經(jīng)驗 . 雖然還有一點功能不能實現(xiàn) , 但我不會放棄 , 在以后地業(yè)余時間里我會多查資料 , 多分析 , 多請教老師同學(xué) , 爭取把它做完善 . 同時也希望各位老師批評指正 , 提供你們地寶貴經(jīng)驗 , 我相信我會做得更好 .在本次專業(yè)方向設(shè)計過程當(dāng)中 , 收獲知識地同時 , 還收獲了閱歷 , 收獲了成熟 , 通過查找大量資料 , 請教老師同學(xué) , 以及不懈地努力 , 不僅培養(yǎng)了獨立思考、 動手制作地能力 , 在各種其它14能力上也都有了提高 . 更重要地是 , 我們學(xué)會了很多學(xué)習(xí)地方法, 知道了理論和實踐地巨大差別.而這是以后最實用
37、地 , 真地是受益匪淺 . 要面對社會地挑戰(zhàn) , 只有不斷地學(xué)習(xí)、 實踐 , 再學(xué)習(xí)、再實踐 . 同時在與老師和同學(xué)地交流過程中, 互動學(xué)習(xí) , 將知識融會貫通 . 通過自己地努力 , 做出了一個萬年歷 , 對以后地學(xué)習(xí)是一個莫大地鼓舞, 激起了我地學(xué)習(xí)興趣和開發(fā)創(chuàng)新思維.致謝感謝學(xué)院給我們提供了一個展現(xiàn)自己地舞臺, 給我們一次難得煅煉地機會, 使得我們地動手能力和專業(yè)技能都有了很大地提高.感謝提供相關(guān)技術(shù)幫助地老師和同學(xué), 你們地支持和鼓勵使我對這次地作品完成有了信心和動力 , 也給了我們很多無私地幫助和支持, 我在此深表謝意 .【參考文獻】【 1】 于永學(xué)、葛健 ,1-WIRE 總線數(shù)字溫
38、度傳感器DS18B20及應(yīng)用 J,電子產(chǎn)品世界 2003(4)16-24【 2】 馬云峰、陳子夫、李全培 , 數(shù)字溫度傳感器 DS18B20地原理與應(yīng)用 EB/OL1-25【 3】 胡振宇、劉魯源、杜振輝 ,DS18B20 接口地 C 語言程序設(shè)計 J, 單片機與嵌入式系統(tǒng)應(yīng)用 ,2002-24-43【4】李鋼,1-WIRE 總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用, 現(xiàn)代電子技術(shù)J,2005(8)21-23【 5】 陳明義 , 電工電子技術(shù)課程設(shè)計指導(dǎo) M, 中南大學(xué)出版社 ,2002【 6】 郭天祥 , 新概念 51 單片機 c 語言教程 , 電子工業(yè)出版社 ,2009【 7】 陳躍東
39、,DS18B20集成溫度傳感器原理與應(yīng)用 J, 安徽教育出版社 ,2002 ( 4) 5-23【 8】 李廣弟 , 單片機基礎(chǔ) M, 北京航空航天大學(xué)出版社 ,1994,1-56【 9】 譚浩強 ,C 程序設(shè)計(第二版) M, 清華大學(xué)出版社 ,2003【 10】 付家才 , 單片機控制工程實踐技術(shù) M, 化學(xué)工業(yè)出版社 ,2004附錄一仿真電路圖15圖(16)電路原理圖圖(17)顯示實時時間16圖(18) 調(diào)整日期圖 (19)調(diào)整時間17圖(20)進入后臺日期時間調(diào)整圖 (21)鬧鐘設(shè)置界面18圖 (22)實時溫度顯示圖 (23)倒計時顯示19附錄二源程序代碼#include#include
40、unsigned char code digit=0123456789;/數(shù)字代碼unsigned char mode,TH,TL,TN,TD,length,amode,alarmmode,count=60,minutes,hours, minutea,seconda,seconds,houra=12,yeara=12,montha=01,daya=01,years,months,days;sbit SCLK=P10; /DS1302時鐘輸入sbit DATE=P11; /DS1302數(shù)據(jù)輸入sbit REST=P12; /DS1302復(fù)位端口sbit SET=P14;/DS1302設(shè)置模式選
41、擇位sbit ADD=P15;/ 增加sbit RED=P16;/ 減小sbit CANL=P17;int down_flag=0;void delay1ms(int i)/1毫秒延時int j,k;while(i-)for(j=76;j1;j-);for(k=29;k1;k-);void delaynus(unsigned char n) /延時若干微秒unsigned char i;for(i=0;i0;i-)_nop_();void xiangling(unsigned char n)unsigned char x,i;while(n-)for(i=0;i5;i+)for(x=0;x20
42、0;x+)20beep=beep;dely500();for(i=0;i3;i+)for(x=0;x200;x+)beep=beep;dely500();dely500();/*DS1302模塊 */void Write1302(unsigned char date)/向 1302 寫數(shù)據(jù)unsigned char i;SCLK=0;delaynus(2);for(i=0;i=1;void WriteSet1302(unsigned char cmd,unsigned char date) /根據(jù)相應(yīng)地命令輸入相應(yīng)地數(shù)據(jù)REST=0;SCLK=0;REST=1;Write1302(cmd);d
43、elaynus(5);Write1302(date);SCLK=1;REST=0;unsigned char Read1302(void)/ 讀取 1302 數(shù)據(jù)unsigned char i,date;delaynus(2);21for(i=0;i=1;if(DATE=1)date|=0x80;SCLK=1;delaynus(2);SCLK=0;delaynus(2);return date;unsigned char ReadSet1302(unsigned char cmd)/根據(jù)命令讀取1302 相應(yīng)地值unsigned char date;REST=0;SCLK=0;REST=1;W
44、rite1302(cmd);delaynus(2);date=Read1302();SCLK=1;REST=0;return date;void IntDS1302(void) /DS1302初始化unsigned char flag;flag= ReadSet1302(0x81);if(flag&0x80)/判斷時鐘芯片是否關(guān)閉WriteSet1302(0x8E,0x00);/根據(jù)寫狀態(tài)寄存器命令字, 寫入不保護指令WriteSet1302(0x80,(0/10)4|(0%10);/根據(jù)寫秒寄存器命令字, 寫入秒地初始值WriteSet1302(0x82,(0/10)4|(0%10);/根據(jù)寫分寄存器命令字, 寫入分地初始值WriteSet1302(0x84,(0/10)4|(0%10); /根據(jù)寫小時寄存器命令字, 寫入小時地初始值WriteSet1302(0x86,(0/10)4|(0%10); /根據(jù)寫日寄存器命令字, 寫入日地初始值WriteSet1302(0x88,(0/10)4|(0%10); /根據(jù)寫月寄存器命令字, 寫入月地初始值WriteSet13
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保證合同范本官網(wǎng)
- 丹巴客棧轉(zhuǎn)讓合同范本
- 優(yōu)化合同范本
- 海南植被垂直綠化施工方案
- 勞動合同保險合同范本
- 出入口智能停車場施工方案
- 1080個常用合同范本
- 第二單元第6課《網(wǎng)絡(luò)基礎(chǔ)》教學(xué)設(shè)計 2023-2024學(xué)年青島版(2019)初中信息技術(shù)第一冊
- 到家購房合同范本
- 利用資源合同范本
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)(創(chuàng)新創(chuàng)業(yè)課程)完整全套教學(xué)課件
- 人教版小學(xué)數(shù)學(xué)四年級下冊第一單元測試卷附答案(共9套)
- 廣西版三年級美術(shù)下冊全冊教案
- 企業(yè)、事業(yè)專職消防隊訓(xùn)練內(nèi)容及操作規(guī)程
- T∕CCCMHPIE 1.2-2016 植物提取物 檳榔多糖多酚
- 局域網(wǎng)規(guī)劃設(shè)計_畢業(yè)論文
- 脛骨平臺骨折(課堂PPT)
- 歐洲文化入門王精品PPT課件
- 中考復(fù)習(xí)復(fù)分解反應(yīng)類型方程式書寫訓(xùn)練題(無答案)
- 病理學(xué)課程標準
- ASTM-D471橡膠性能的標準試驗方法-液體影響(中文版)(共24頁)
評論
0/150
提交評論