基于51單片機的電子萬年歷畢業(yè)論文設(shè)計
《基于51單片機的電子萬年歷畢業(yè)論文設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于51單片機的電子萬年歷畢業(yè)論文設(shè)計(49頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、I 摘 要 隨著社會的發(fā)展,信息量的不斷提升以前對信息交換的要求提高,電子萬年歷的發(fā)展以及投入市場變得非常有必要。本設(shè)計是基于 51 單片機并模擬日常所用的日歷,而 51系列單片機是各單片機中最為典型和最有代表性的一種。通過本次設(shè)計,學(xué)習(xí)和鞏固了單片機指令編程的相關(guān)知識,熟悉單片機各部件的組成及其功能。本設(shè)計將制作一種基于單片機控制的帶實時溫度顯示、具有定時功能的電子萬年歷。傳統(tǒng)的電子日歷大都體積大,功耗大,顯示不準(zhǔn)確等特點。為了縮小體積,減小功耗,使其變得小巧靈敏,本設(shè)計加入了時鐘芯片 DS1302,可對時間進行準(zhǔn)確記時,同時可設(shè)置定時時間,實現(xiàn)定時功能。另外本設(shè)計具有顯示實時溫度的功能。傳
2、統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D 轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計算機處理,處理電路復(fù)雜、可靠性相對較差,占用計算機的資源比較多。本設(shè)計將采用 DS18B20 一線制數(shù)字溫度傳感器,可將溫度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,實現(xiàn)了時間溫度同時顯示的效果。最后,溫度和時間都將通過 12864 液晶顯示器進行顯示。測試表明系統(tǒng)達到了設(shè)計要求的各項功能,各部分工作正常。關(guān)鍵詞:時鐘 溫度檢測 單片機 溫度IIABSTRACTWith the development of the society, the amount of information is improving
3、 the requirements of the information exchange. the development of the electronic calendar and the investment market become very necessary. This design is based on 51 single-chip microcomputer and simulation used in the daily calendar, and 51 series microcontroller is the MCU in the most typical and
4、most representative one. Through this design, learning and consolidate the single chip microcomputer instruction programming knowledge, be familiar with composition and function of the microcontroller parts.This design creates an electronic calendar with real-time temperature display and timing func
5、tion based on single chip control. Most of traditional calendars are characterized by large size, high power consumption and inaccurate display. In order to reduce volume and power consumption and make calendars become small and exquisite, the design adds a clock chip DS1302, which can accurately re
6、cord the time and set a regular time to achieve timing function. In addition, this design displays real-time temperature function. Traditional temperature sensor system is mostly amplified, recuperated and A / D converted. The converted digital signal is input the computer to be processed, but the p
7、rocessing circuit is complicated with relatively poor reliability and occupies more resources of the computer. This design uses the DS18B20 first-line system digital temperature sensor to directly convert the temperature signal into digital signal and send it the microprocessor, whose circuit is sim
8、ple and low cost, achieving the displayed effect of time and temperature simultaneously. Finally, the temperature and time will be displayed through the 12864 liquid crystal display. The test indicates that the system has reached various functions of the design requirements and each part operates sm
9、oothly.Keywords:Keywords: clock temperature-detection SCM temperatureIII目 錄1 1 緒論緒論 .1 12 2 系統(tǒng)基本方案選擇和論證系統(tǒng)基本方案選擇和論證 .1 12.12.1 單片機芯片的選擇方案和論證單片機芯片的選擇方案和論證.12.22.2 顯示模塊的選擇方案和論證顯示模塊的選擇方案和論證.12.32.3 時鐘芯片的選擇方案和論證時鐘芯片的選擇方案和論證.22.42.4 溫度傳感器的選擇方案和論證溫度傳感器的選擇方案和論證.32.52.5 電路設(shè)計最終方案確定電路設(shè)計最終方案確定.43 3 系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件
10、電路設(shè)計 .1 13.1 系統(tǒng)功能模塊劃分.13.2 各單元模塊功能分析及模塊電路設(shè)計.23.2.1 時鐘模塊.23.2.2 溫度模塊.23.2.3 顯示模塊.53.2.4 獨立鍵盤模塊.53.2.5 蜂鳴器模塊.63.2.6 單片機模塊.73.2.7 溫度信息的采集.83.3 電路原理圖的繪制和電路的焊接.13.3.1 原理圖繪制軟件 PROTEL .13.3.2 PCB 制作 .13.3.3 元器件的焊接.34 4 系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計 .1 14.1 萬年歷軟件系統(tǒng)的流程圖.14.3 溫度的讀取.5下面是溫度讀取的子程序:.64.4 鍵盤模塊.64.5 蜂鳴器模塊.6結(jié)束語結(jié)束語 .
11、1 1致致 謝謝 .1 1參考文獻參考文獻 .1 1附錄附錄 .1 111 1 緒論緒論二十一世紀(jì)是數(shù)字化技術(shù)高速發(fā)展的時代,而單片機在數(shù)字化高速發(fā)的時代扮演著極為重要的角色。隨著單片機技術(shù)在社會生活中的應(yīng)用越來越廣泛,對單片機的應(yīng)用和開發(fā)也是現(xiàn)代電子工程技術(shù)員必須掌握的一門技術(shù)。而且隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準(zhǔn)數(shù)字計時的消費需求也越來越多。電子萬年歷的開發(fā)與研究在信息化時代的今天則是當(dāng)務(wù)之急,因為它應(yīng)用在學(xué)校、機關(guān)、企業(yè)等眾多的公共場合,可以說遍及人們生活的每個角落。目前市場上各式各樣的電子時鐘數(shù)不勝數(shù),但大多數(shù)只是針對時間顯示,功能單一不能滿足人們?nèi)粘?/p>
12、生活需求。本次設(shè)計的萬年歷功能多樣,顯示直觀,讀取方便,價格也更加低廉,符合電子儀器儀表的未來發(fā)展趨勢,具有廣闊的市場前景。所以數(shù)字萬年歷無論從實用的角度和培養(yǎng)能力的角度都很有價值。電子萬年歷顯示功能,包括公歷年、月、日,時間、溫度、星期、農(nóng)歷等等;附帶功能有:定時鬧鈴、以及按鈕是否可以正常調(diào)動。本文提出了一種基于 AT89S52 單片機的萬年歷設(shè)計方案,采用 LCD 顯示。本方案以 AT89S52 單片機作為主控核心,與時鐘芯片 DS1302、溫度芯片 DS18B20、人體紅外感應(yīng)模塊、鬧鐘模塊、按鍵、LCD 顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有 7 個獨立按鍵和一個 LCD 顯示器,能
13、顯示豐富的信息,根據(jù)使用者的需要可以隨時對時間進行校準(zhǔn)、時間、溫度顯示等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。尤其是單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。萬年歷中使用的 LCD 的應(yīng)用很廣泛,如手表上的液晶顯示屏,儀表儀器上的液晶顯示器或者是電腦筆記本上的液晶顯示器,都使用了 LCD。在一般的辦公設(shè)備上也很常見,如傳真機,復(fù)印機,以及一些娛樂器材玩具等也常常見到 LCD 的足跡
14、。字符型液晶顯示模塊是一種專門用于顯示字母,數(shù)字,符號等的點陣式液晶顯示模塊。在顯示器件上的設(shè)計,它是由若干個 57 或 511 等點陣符位組成。每一個點陣字符位都可以顯示一個字符。點陣字符位之間有一空點距的間隔起到了字符間距和行距的作用。目前市面上常用的有 16 字1 行,16 字2 行,20 字2 行和 40 字2 行等的字符模塊組。這些 LCD 雖然顯示字數(shù)各不相同,但是都具有相同的輸入輸出界面。2市場上有許多電子萬年歷的專用芯片,如:LM8363、LM8365 等,但它們功能單一,電路連接復(fù)雜,不便于調(diào)試制作。因此本系統(tǒng)采用了以 AT89S52 單片機技術(shù)為核心,配合 DS18B20
15、溫度測量模塊,DS1302 時鐘模塊,人體感應(yīng)模塊,LCD 顯示模塊,鍵盤模塊使該設(shè)計具有現(xiàn)實功能齊全,人機交互,節(jié)能的特點。 隨著單片機的發(fā)展,電子萬年歷呈現(xiàn)了微型化 ,功能豐富化的趨勢,而且價格在不斷下降,考慮到資源問題,現(xiàn)在的設(shè)計設(shè)計的萬年歷都采用了節(jié)能設(shè)計方案,萬年歷對人們的生活有著十分重要的作用,所以電子萬年歷還是有很大的發(fā)展前景的。12 2 系統(tǒng)基本方案選擇和論證系統(tǒng)基本方案選擇和論證2.12.1 單片機芯片的選擇方案和論證單片機芯片的選擇方案和論證方案一:采用 89C51 芯片作為硬件核心,89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器,采用 Flash ROM,內(nèi)部
16、具有 4KB ROM 存儲空間,能于 3V 的超低壓工作,而且與 MCS-51 系列單片機完全兼容,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位 CPU 和閃爍存儲器組合在單個芯片中,89C51 是一種高效微控制器,51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案但是運用于電路設(shè)計中時由于不具備在線編程(ISP)技術(shù),當(dāng)在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插可能對芯片造成一定的損壞,目前該型號芯片已經(jīng)停產(chǎn)。方案二:采用 AT89S52 單片機,AT89S52 單片機是 ATMEL 生產(chǎn)的單片機,是新一代
17、8051 單片機,指令代碼完全兼容傳統(tǒng) 8051。內(nèi)部集成看門狗電路。AT89S52 單片機內(nèi)部有 8KB 的程序 Flash 存儲器。由于我們設(shè)計的萬年歷燒寫文件大概在 7KB 左右 ,而 AT89S52 單片機的程序 Flash 為 8KB,不用再外接程序存儲器了。經(jīng)過綜合比較最終選擇方案二,即選擇 AT89S52 作為主控制器。2.22.2 顯示模塊的選擇方案和論證顯示模塊的選擇方案和論證方案一:LCD12864 液晶是一種具有 8 位并行接口方式的點陣圖形液晶顯示模塊;其顯示分辨率為 12864。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示 1
18、616 點陣的漢字,也可完成圖形顯示,低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多。萬年歷要求顯示年月日、時分秒、星期、和農(nóng)歷。LCD12864 液晶可以完成設(shè)計的要求 。方案二: 系統(tǒng)采用 LED 顯示。LED 應(yīng)用可分為兩大類:一是 LED 單管應(yīng)用,包括背光源2LED,紅外線 LED 等;另外就是 LED 顯示屏,目前,中國在 LED 基礎(chǔ)材料制造方面與國際還存在著一定的差距,但就 LED 顯示屏而言,中國的設(shè)計和生產(chǎn)技術(shù)水平基本與國際同步。LED 顯示屏是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃
19、描驅(qū)動,具有:耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點。采用 LED數(shù)碼管動態(tài)掃描.價格上比較經(jīng)濟實惠,但不能顯示文字,性價比不是很高,操作起來比較液晶顯示來說略顯繁瑣,所以也不用此種作為顯示。經(jīng)過綜合比較最終選擇方案一,即選擇 LCD12864 液晶顯示屏。2.32.3 時鐘芯片的選擇方案和論證時鐘芯片的選擇方案和論證方案一:采用單片機定時。單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC 機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。直接采
20、用單片機定時計數(shù)器提供秒信號,計數(shù)的脈沖由外部提供,定時的脈沖由外部晶振提供,定時加 1 的周期為一個機器周期;定時時間與初值和晶振頻率有關(guān)。使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案減少芯片的使用,節(jié)約成本,但程序復(fù)雜度較高。方案二:采用 DS1302 時鐘芯片。DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶RAM 的實時時鐘電路,它可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,工作電壓為 2.5V5.5V。采用雙電源供電(主電源和備用電源) ,可設(shè)置備用電源充電方式,提供了對后背電源進行涓細電流充電的能力。DS1302 用于數(shù)據(jù)記錄,特
21、別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。采用三線接口與 CPU 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM 數(shù)據(jù)。DS1302 內(nèi)部有一個 318 的用于臨時性存放數(shù)據(jù)的 RAM 寄存器。采用 DS1302 只需要寫出驅(qū)動程序,調(diào)用程序讀出寄存器內(nèi)數(shù)據(jù)經(jīng)過簡單的變換就可以輸出萬年歷的數(shù)據(jù)。經(jīng)過綜合比較最終選擇方案二,即采用 DS1302 時鐘芯片。32.42.4 溫度傳感器的選擇方案和論證溫度傳感器的選擇方案和論證方案一:采用熱敏電阻作為溫度傳感器。熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件。熱敏電阻
22、由半導(dǎo)體陶瓷材料組成,利用的原理是溫度引起電阻變化。熱敏電阻的主要特點是:靈敏度較高,其電阻溫度系數(shù)要比金屬大 10100 倍以上;工作溫度范圍寬,常溫器件適用于-55315,高溫器件適用溫度高于 315(目前最高可達到2000)低溫器件適用于-27355;體積小,能夠測量其他溫度計無法測量的空隙、腔體及生物體內(nèi)血管的溫度;使用方便,電阻值可在 0.1100k 間任意選擇;易加工成復(fù)雜的形狀,可大批量生產(chǎn);穩(wěn)定性好、過載能力強。由于半導(dǎo)體熱敏電阻有獨特的性能,所以在應(yīng)用方面它不僅可以作為測量元件(如測量溫度、流量、液位等) ,還可以作為控制元件(如熱敏開關(guān)、限流器)和電路補償元件。熱敏電阻廣泛
23、用于家用電器、電力工業(yè)、通訊、軍事科學(xué)、宇航等各個領(lǐng)域,發(fā)展前景極其廣闊。 使用熱敏電阻作為傳感器,用熱敏電阻與一個相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行 A/D 轉(zhuǎn)換。此設(shè)計方案需用 A/D 轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二:采用 DS18B20 溫度傳感器。在應(yīng)用與高精度、高可靠性的場合時 DALLAS(達拉斯)公司生產(chǎn)的 DS18B20 溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強,精度高,附加功能強,使得 DS18B20 更受歡迎。對于我們普通的電子
24、愛好者來說,DS18B20 的優(yōu)勢更是我們學(xué)習(xí)單片機技術(shù)和開發(fā)溫度相關(guān)的小產(chǎn)品的不二選擇。這是世界上第一片支持“一線總線”接口的溫度傳感器。DS18B20 數(shù)字溫度計提供 9 位(二進制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過單線接口送入 DS18B20 或從 DS18B20 送出,因此從單片機到 DS18B20 僅需一條線連接即可。它可在 1 秒鐘(典型值)內(nèi)把溫度變換成數(shù)字經(jīng)過綜合比較最終選擇方案二,即采用采用 DS18B20 溫度傳感器。42.52.5 電路設(shè)計最終方案確定電路設(shè)計最終方案確定最終選擇單片機 AT89S52 作為主控制器;選擇 LCD12864 型液晶作為顯示模塊,此模塊可以
25、顯示字母、數(shù)字符號、中文字型及圖形,具有繪圖及文字畫面混合顯示功能;選擇采用 DS1302 時鐘芯片,使程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒,即農(nóng)歷陽歷時間的顯示。采用 DS18B20 溫度傳感器,可以對溫度做出比較精確的測量,而且和單片機通訊只要一個 IO,連接方便。13 3 系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路設(shè)計3.13.1 系統(tǒng)功能模塊劃分系統(tǒng)功能模塊劃分根據(jù)系統(tǒng)功能要求,可大致畫出系統(tǒng)所需硬件結(jié)構(gòu)框圖如圖 3-1 所示:圖圖 3-13-1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖主控模塊采用性價比較高的 AT89S52 單片機芯片,在其內(nèi)部燒寫好程序,可通過程序的運行控制測溫模塊進行測溫;測溫模塊主要是
26、由 DS18B20 構(gòu)成,將其與所測對象進行接觸即可獲取被測對象的溫度數(shù)據(jù),而所測得的溫度和時鐘芯片測得的實時日歷將通過顯示模塊的液晶顯示器以數(shù)字形式顯示;單片機調(diào)用程序,讀取 DS1302 內(nèi)寄存器,可以得到萬年歷的時間數(shù)據(jù),經(jīng)過程序處理就可以輸出在 LCD 上;鍵盤電路可對實時日歷進行調(diào)整;蜂鳴器可以在鬧鐘定時中,作為聲音提醒。23.23.2 各單元模塊功能分析及模塊電路設(shè)計各單元模塊功能分析及模塊電路設(shè)計3.2.13.2.1 時鐘模塊時鐘模塊 DS1302 的工作原理和單片機的接口:DS1302 為美國 DALLAS 公司的一種實時時鐘芯片,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提
27、供可編程的充電功能,并且可以關(guān)閉充電功能。采用 32.768Hz 晶振。它可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。DS1302 用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。在本設(shè)計中,它的實際電路圖如圖 3-2 所示:圖圖 3-23-2 DS1302DS1302 與單片機的連接與單片機的連接DS1302 需要外接 32.768K 的晶振,1 號引腳接主電源 VCC(5V)電源,8 號引腳接備用電池(3V) ,當(dāng)主電源掉電后,備用電源為
28、 DS1302 提供電源,維持 DS1302 內(nèi)數(shù)據(jù)不丟失,這正是時鐘芯片所必須的特性。3.2.23.2.2 溫度模塊溫度模塊傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D 轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計算機處理,處理電路復(fù)雜、可靠性相對較差,占用計算機的資源比較多,本設(shè)計測溫模塊采用一線制總線數(shù)字溫度傳感器 DS18B20,可將溫度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,其電路原理圖如圖 3-3 所示:3圖圖 3-33-3 DS18B20DS18B20 溫度模塊溫度模塊從圖中可看出,將溫度傳感器的一線制總線通過端口 2 與本設(shè)計主控芯片STC12C5A6S2 的端口標(biāo)號為 DS1
29、8B20 的相連即可實現(xiàn)相互之間的通信。設(shè)計中的測溫元件采用的是 DS18B20 測溫元件,DS18B20 是由 DALLAS(達拉斯)公司生產(chǎn)的一種溫度傳感器。超小的體積,超低的硬件開消,抗干擾能力強,精度高,附加功能強,使得 DS18B20 很受歡迎。這是世界上第一片支持“一線總線”接口的溫度傳感器。DS18B20 數(shù)字溫度計提供 9 位(二進制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過單線接口送入 DS18B20 或從DS18B20 送出,因此從單片機到 DS18B20 僅需一條線連接即可。它可在 1 秒鐘(典型值)內(nèi)把溫度變換成數(shù)字。3.2.2.13.2.2.1 DS18B20DS18B20
30、 的主要特征:的主要特征:1)DS18B20 的主要特征: 全數(shù)字溫度轉(zhuǎn)換及輸出; 先進的單總線數(shù)據(jù)通信; 最高12位分辨率,精度可達土0.5; 12位分辨率時的最大工作周期為750毫秒; 可選擇寄生工作方式; 檢測溫度范圍為55+125; 內(nèi)置EEPROM,限溫報警功能; 64位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機掛接; 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。42)DS18B20芯片其封裝結(jié)構(gòu)如下: 圖圖 3-43-4 DS18B20DS18B20 芯片封裝圖芯片封裝圖 由其引腳可看出,其 3 個引腳: GND 為電壓地直接接地;DQ 為單數(shù)據(jù)總線用來與單片機相連接,本系統(tǒng)中 DS 與單片機 P2
31、.6 接口連接,僅此一個連接就能保證 DS18B20 與單片機之間的數(shù)據(jù)交換;VDD 引腳接電源電壓。3.2.2.23.2.2.2 DS18B20DS18B20 的工作原理的工作原理DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。DS18B20共有三種形態(tài)的存儲器資源,分別是:ROM 只讀存儲器,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H) ,后面48位是芯片唯一的序列號,最后8位是以上56位的CRC碼(冗余校驗) 。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位RO
32、M, RAM 數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。我們在
33、每一次讀溫度之前都必須進行復(fù)雜的且精準(zhǔn)時序的處理,因為DS18B20的硬件簡單結(jié)果就會導(dǎo)致軟件的巨大開消。53.2.33.2.3 顯示模塊顯示模塊本設(shè)計顯示模塊主要采用 LCD12864 液晶顯示器,其電路原理圖如下:圖圖 3-53-5 LCD12864LCD12864 模塊模塊LCD12864 液晶顯示器通過數(shù)據(jù)端口也即端口 714 與主控芯片 AT89S52 的 I/O 端口P3 相連接實現(xiàn)數(shù)據(jù)與指令的傳輸,再通過控制端口 RS、RW、EN 也即端口 46 與主控芯片 P1.5,P1.6,P1.7 端口相接實現(xiàn)對數(shù)據(jù)和指令傳輸?shù)目刂?。顯示模塊采用 12864 液晶顯示器可實現(xiàn)對溫度和時間
34、的直接顯示,清晰明了。 3.2.43.2.4 獨立鍵盤模塊獨立鍵盤模塊鍵盤是人與萬年歷實現(xiàn)信息交互的接口,本設(shè)計中,我們采用 3 個獨立鍵盤,電路原理如下圖 3-9:6圖圖 3-93-9 獨立鍵盤獨立鍵盤當(dāng)按鍵按下,與主控芯片連接的端口被降為低電平,按鍵松開則也升為高電平。按鍵采用的是 Tack Switch 按鈕開關(guān),它具有自動恢復(fù)(彈回)的功能。當(dāng)我們按下按鈕時,其中的接點接通(或切斷) ,放開按鈕后,接點恢復(fù)為切斷(或接通) 。按照尺寸區(qū)分,電子電路或微型計算機所使用的 Tack Swith 可分為 8mm、10mm、12mm 等。雖然 Tack Switch 有 4 個引腳,但實際上,
35、其內(nèi)部只有一對 a 接點,即其中兩個引腳是內(nèi)部相連通的,而另外兩個引腳內(nèi)部也是相連通的。7 個按鍵實現(xiàn)了開機模式選擇,日期調(diào)節(jié)等功能,獨立按鍵的引入使得體現(xiàn)了本設(shè)計的人性化,智能化,功能的強大。3.2.53.2.5 蜂鳴器模塊蜂鳴器模塊蜂鳴器模塊是本設(shè)計中體現(xiàn)人機交互的又一大設(shè)計亮點,其電路原理圖如下圖:圖圖 3-103-10 蜂鳴器模塊蜂鳴器模塊(1)蜂鳴器的介紹蜂鳴器的作用:蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣 1泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時7器等電子產(chǎn)品中作發(fā)聲器件。 蜂鳴器的分類:蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴
36、器兩類。 2 蜂鳴器的電路圖形符號:蜂鳴器在電路中用字母“H”或“HA” (舊標(biāo)準(zhǔn)用“FM” 、 3“LB” 、 “JD”等)表示。本設(shè)計里,我們采用有源蜂鳴器,由于蜂鳴器的工作電流一般比較大,以至于單片機的 I/O 口是無法直接驅(qū)動的,所以要利用放大電路來驅(qū)動,我們使用三極管來放大電流,驅(qū)動蜂鳴器,此模塊只要通過 BELL(連接到到單片機 P2.7)輸入的 PWM 波既可以使蜂鳴器分出聲音,我們設(shè)計的這款萬年歷可以在鬧鐘定時中作為聲音提醒信號。3.2.63.2.6 單片機模塊單片機模塊AT89S52 是 ATMEL 公司生產(chǎn)的低功耗,高性能 CMOS8 位單片機,片內(nèi)含 8k bytes 的
37、可系統(tǒng)編程的 Flash 只讀程序存儲器,器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) 8051 指令系統(tǒng)及引腳,它集 Flash 存儲器既可在線編輯(ISP)也可用傳統(tǒng)方法進行編輯及通用 8 位微處理器于單片芯片中,功能強大AT89S52 單片機可為您提供許多高性價比的應(yīng)用場合。器管腳圖如圖 3-2:圖圖 3-13-1 AT89S52AT89S52 管腳圖管腳圖在本系統(tǒng)中,AT89S52 單片機內(nèi)部的功能單元已經(jīng)能夠滿足系統(tǒng)設(shè)計需要,不需要系統(tǒng)擴展。AT89S52 具有以下的特點:主要性能 8 與 MCS-51 單片機產(chǎn)品兼容 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器
38、 1000 次擦寫周期 全靜態(tài)操作:0Hz33Hz 三級加密程序存儲器 32 個可編程 I/O 口線 三個 16 位定時器/計數(shù)器 八個中斷源 全雙工 UART 串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門狗定時器 雙數(shù)據(jù)指針 掉電標(biāo)識符 AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用 Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89
39、S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,一個 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。3.2.73.2.7 溫度信息的采集溫度
40、信息的采集通過DS18B20單線總線的所有執(zhí)行處理都從一個初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復(fù)位脈沖和隨后由從機發(fā)出的存在脈沖:(1)復(fù)位:首先我們必須對DS18B20芯片進行復(fù)位,復(fù)位就是由控制器(單片機)給DS18B20單總線至少480us的低電平信號。當(dāng)18B20接到此復(fù)位信號后則會在1560us后回發(fā)一個芯片的存在脈沖。 (2)存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在91560us后接收存在脈沖,存在脈沖為一個60240us的低電平信號。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與18B20間的數(shù)據(jù)通信。(3)控制器發(fā)送ROM指令
41、:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。各自功能如下: Read ROM(讀ROM)33H (方括號中的為16進制的命令字): 這個命令允許總線控制器讀到DS18B20的64位ROM。只有當(dāng)總線上只存在一個DS18B20的時候才可以使用此指令。Match ROM(指定匹配芯片)55H: 這個指令后面緊跟著由控制器發(fā)出了64位序列號,當(dāng)總線上有多只DS18B20時,只有與控制發(fā)出的序列號相同的芯片才能做出反應(yīng),其它芯片將等待下一次復(fù)位。這條指令適合單芯片和多芯片掛接。 Sk
42、ip ROM(跳躍ROM指令)CCH: 這條指令使芯片不對ROM編碼做出反應(yīng),在單總線的情況之下,為了節(jié)省時間則可以選用此指令。如果在多芯片掛接時使用此指令將會出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯誤出現(xiàn)。 Search ROM(搜索芯片)F0H: 在芯片初始化后,搜索指令允許總線上掛接多芯片時用排除法識別所有器件的64位ROM。 Alarm Search(報警芯片搜索)ECH: 在多芯片掛接的情況下,報警芯片搜索指令只對附合溫度高于TH或小于TL報警條件的芯片做出反應(yīng)。只要芯片不掉電,報警狀態(tài)將被保持,直到再一次測得溫度值達不到報警條件為止。 ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進行操作。其主
43、要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個18B20芯片時可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令” ) 。(4)控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為8位,共6條,存儲器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復(fù)制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報警值復(fù)制到RAM、工作方式切換。 Write Scratchpad (向RAM中寫數(shù)據(jù))4EH
44、:這是向RAM中寫入數(shù)據(jù)的指令,隨后寫入的兩個字節(jié)的數(shù)據(jù)將會被存到地址2(報警RAM之TH)和地址3(報警RAM之TL) 。寫入過程中可以用復(fù)位信號中止寫入。 10 Read Scratchpad (從RAM中讀數(shù)據(jù))BEH:此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時間。 Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)48H:此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于EEPROM儲存處理,當(dāng)控制器發(fā)一個讀時間隙時
45、,總線上輸出“0” ,當(dāng)儲存工作完成時,總線將輸出“1” 。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持10MS,來維持芯片工作。 Convert T(溫度轉(zhuǎn)換)44H:收到此指令后芯片將進行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0” ,當(dāng)儲存工作完成時,總線將輸出“1” 。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持500MS,來維持芯片工作。 Recall EEPROM(將EEPROM中的報警值復(fù)制到RAM)B8H:此指令將EEPROM中的報警值復(fù)制到RAM中的第3、4個字節(jié)里。
46、由于芯片忙于復(fù)制處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0” ,當(dāng)儲存工作完成時,總線將輸出“1” 。另外,此指令將在芯片上電復(fù)位時將被自動執(zhí)行。這樣RAM中的兩個報警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。 Read Power Supply(工作方式切換)B4H:此指令發(fā)出后發(fā)出讀時間隙,芯片會返回它的電源狀態(tài)字, “0”為寄生電源狀態(tài), “1”為外部電源狀態(tài)。 存儲器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。 (5)執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結(jié)束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。 DS18B20需要嚴格的協(xié)議以確保數(shù)據(jù)的完整
47、性。協(xié)議包括幾種單線信號類型:復(fù)位脈沖、存在脈沖、寫0、寫1 、讀0和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。和DS18B20間的任何通訊都需要以初始化序列開始。一個復(fù)位脈沖跟著一個存在脈沖表明DS18B20已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)(適當(dāng)?shù)腞OM命令和存儲器操作命令) 。DS18B20的復(fù)位時序:11 圖圖4-24-2 DS18B20DS18B20復(fù)位時序圖復(fù)位時序圖DS18B20 的讀時序:對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線拉低之后,在15us之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS1
48、8B20在完成一個讀時序過程,至少需要60us才能完成。 圖圖4-34-3 DS18B20DS18B20讀時序圖讀時序圖DS18B20 的寫時序:對于 DS18B20 的寫時序仍然分為寫 0 時序和寫 1 時序兩個過程。對于 DS18B20 寫 0 時序和寫 1 時序的要求不同,當(dāng)要寫 0 時序時,單總線要被拉低至少 60us,保證 DS18B20能夠在 15us 到 45us 之間能夠正確地采樣 IO 總線上的“0”電平,當(dāng)要寫 1 時序時,單總線被拉低之后,在 15us 之后就得釋放單總線。13.33.3 電路原理圖的繪制和電路的焊接電路原理圖的繪制和電路的焊接在硬件的設(shè)計前期,根據(jù)框圖對
49、電路中可能出現(xiàn)的電路,進行了模擬實驗,并根據(jù)實驗結(jié)果對后期的硬件設(shè)計進行了合理化的修改完善。在前面已分析了系統(tǒng)并繪制了框圖,并根據(jù)框圖分別設(shè)計了各部分電路。由于溫度傳感器與時鐘芯片集成度較高,所以在硬件電路設(shè)計時不需要太多其他元件即可實現(xiàn)預(yù)期功能。因此在 PROTEL 上對原理圖進行了繪制,從而得出了最終的完整電路原理圖附錄 1。 3.3.13.3.1 原理圖繪制軟件原理圖繪制軟件 PROTELPROTEL PROTEL 是 PORTEL 公司在 80 年代末推出的 EDA 軟件,在電子行業(yè)的 CAD 軟件中,它當(dāng)之無愧地排在眾多 EDA 軟件的前面,是電子設(shè)計者的首選軟件,它包含了電原理圖繪
50、制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(shè)計(包含印制電路板自動布線) 、可編程邏輯器件設(shè)計、圖表生成、電子表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務(wù)器)體系結(jié)構(gòu),同時還兼容一些其它設(shè)計軟件的文件格式,如 ORCAD,PSPICE,EXCEL 等,其多層印制線路板的自動布線可實現(xiàn)高密度 PCB 的 100布通率。Protel 99SE 采用數(shù)據(jù)庫的管理方式。該軟件沿襲了 Protel 以前版本方便易學(xué)的特點,內(nèi)部界面與 Protel 99 大體相同,新增加了一些功能模塊,功能更加強大。新增的層堆棧管理功能,可以設(shè)計 32 個信號層,16 個地電層,16
51、 個機械層。新增的 3D 功能在加工印制版之前可以看到板的三維效果。其具有的打印功能,可以輕松修改打印設(shè)置控制打印結(jié)果。Protel 99SE 容易使用的特性還體現(xiàn)在其幫助功能,按下右上角的小問號,然后輸入你所要的信息,可以很快地看到特性的功能,然后用到設(shè)計中,按下狀態(tài)欄末端的按鈕,使用幫助顧問。3.3.23.3.2 PCBPCB 制作制作 2 當(dāng)通過 PROTEL 繪制出完整的電路原理圖后,就可以按照繪制好的原理圖制作 PCB了,具體步驟如下:(1)打印電路板。將繪制好的電路板用轉(zhuǎn)印紙打印出來,注意滑的一面面向自己,一般打印兩張電路板,即一張紙上打印兩張電路板。在其中選擇打印效果最好的制作線
52、路板。(2)裁剪覆銅板,也就是表面面都覆有銅膜的線路板,將覆銅板裁成電路板的大小,不要過大,以節(jié)約材料。(3)預(yù)處理覆銅板。用細砂紙把覆銅板表面的氧化層打磨掉,以保證在轉(zhuǎn)印電路板時,熱轉(zhuǎn)印紙上的碳粉能牢固的印在覆銅板上,打磨好的標(biāo)準(zhǔn)是板面光亮,沒有明顯污漬。(4)轉(zhuǎn)印電路板。將打印好的電路板裁剪成合適大小,把印有電路板的一面貼在覆銅板上,對齊好后把覆銅板放入熱轉(zhuǎn)印機,放入時一定要保證轉(zhuǎn)印紙沒有錯位。一般來說經(jīng)過 2-3 次轉(zhuǎn)印,電路板就能很牢固的轉(zhuǎn)印在覆銅板上。熱轉(zhuǎn)印機事先就已經(jīng)預(yù)熱,溫度設(shè)定在 90-1400 攝氏度,由于溫度很高,操作時注意安全。(5)腐蝕線路板,回流焊機。先檢查一下電路板
53、是否轉(zhuǎn)印完整,若有少數(shù)沒有轉(zhuǎn)印好的地方可以用黑色油性筆修補。然后就可以腐蝕了,等線路板上暴露的銅膜完全被腐蝕掉時,將線路板從腐蝕液中取出清洗干凈,這樣一塊線路板就腐蝕好了。腐蝕液的成分為濃鹽酸、濃雙氧水、水,比例為 1:2:3,在配制腐蝕液時,先放水,再加濃鹽酸、濃雙氧水,若操作時濃鹽酸、濃雙氧水或腐蝕液不小心濺到皮膚或衣物上要及時用清水清洗,由于要使用強腐蝕性溶液,操作時一定注意安全。(6)線路板鉆孔。線路板上是要插入電子元件的,所以就要對線路板鉆孔了。依據(jù)電子元件管腳的粗細選擇不同的鉆針,在使用鉆機鉆孔時,線路板一定要按穩(wěn),鉆機速度不能開的過慢。(7)線路板預(yù)處理。鉆孔完后,用細砂紙把覆在
54、線路板上的墨粉打磨掉,用清水把線路板清洗干凈。水干后,用松香水涂在有線路的一面,為加快松香凝固,我們用熱風(fēng)機加熱線路板,只需 2-3 分鐘松香就能凝固。按照上面的流程,我們就做出來一塊 PCB 電路板了。由于采用實驗板成本更低,最后實物制作時采用了實驗板焊接。33.3.33.3.3 元器件的焊接元器件的焊接元器件裝焊順序依據(jù)的原則是:先低后高,先小后大。一般情況下,應(yīng)按電阻、電容、二極管、三極管、集成電路、大功率管順序焊接。(1)對元器件焊接的要求電阻的焊接:按圖將電阻準(zhǔn)確裝入規(guī)定位置,型號標(biāo)記要易見且方向也盡量一致。 1要求焊接一種規(guī)格后再焊接另一種規(guī)格。電容的焊接:按圖將電容準(zhǔn)確裝入規(guī)定位
55、置,并注意有極性電容的極性方向不能錯。 2電容上的型號標(biāo)記要易見見且方向也盡量一致。電解電容要緊靠 PCB 板,不可懸浮。 二極管的焊接:正確辨認正負極性后按要求裝入規(guī)定位置,型號標(biāo)記要易見,焊接 3時間盡量可能短。 三極管的焊接:正確辨認各引腳后按要求裝入規(guī)定位置,型號標(biāo)記要易見,焊接時 4間盡可能短。 場效應(yīng)管的焊接:正確辨認各引腳后按要求裝入規(guī)定位置,焊接時間盡可能短。 5需要加散熱片的,將接觸面打磨光滑并加硅脂后再緊固。 集成電路(芯片)的焊接: 6 集成電路(芯片)焊接時,要注意按圖紙要求檢查型號、焊接位置是否符合要求,焊接時先焊芯片邊沿的兩只引腳,以便使其定位,然后再從左到右或從上
56、到下進行逐點焊接。焊接時間盡可能短,禁止拉焊。(2) 焊接質(zhì)量檢查 元器件不得有錯裝、漏裝、錯聯(lián)和歪斜松動等。 1 焊點應(yīng)吃錫飽滿,無毛刺、無針孔、無氣泡、裂紋、掛錫、拉點、漏焊、碰焊、 2虛焊等缺陷。焊接后電路板上的金屬件表面應(yīng)無銹蝕和其它雜質(zhì)。 34焊接完成的電路板不得有斑點、裂紋、氣泡、發(fā)白等現(xiàn)象,銅箔及敷形涂覆層不得 4脫落、不起翹、不分層。元器件的引腳或引線表面應(yīng)滲錫均勻。 5在完成電路的焊接后,測試之前,一定要先對電路檢測,看是否有短路情況出現(xiàn),以免芯片損壞。電源輸入電壓也是關(guān)鍵因素,在供電之前務(wù)必用萬用表先測量。14 4 系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計中,我們使用了 Kei
57、l Vision2。Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢,所以我們選擇該軟件來開發(fā)我們的萬年歷程序。4.14.1 萬年歷軟件系統(tǒng)的流程圖萬年歷軟件系統(tǒng)的流程圖圖圖 4-14-1 系統(tǒng)軟件流程圖系統(tǒng)軟件流程圖當(dāng)接通電源開始工作后,單片機中的程序開始運行,將對DS18B20進行初始化,以便和單片機芯片達成通信協(xié)議。完成初始化后,由于本系統(tǒng)只有一個測溫元件,單片機會向其發(fā)出跳過RAM指令,接下來便可向其發(fā)送操作指令,啟動測溫程序,測溫過程完成后,2發(fā)出溫度轉(zhuǎn)換指令,從而便可將溫度轉(zhuǎn)化成數(shù)字模式進行顯示讀??;同時D
58、S1302將讀取時分秒星期以及年月日寄存器然后通過液晶顯示實時時間、星期及日期;鍵盤電路中按鍵可對實時日歷時鐘進行調(diào)整。圖-C 時間調(diào)整程序流程圖34.24.2 KS0108KS0108 的軟件設(shè)計的軟件設(shè)計液晶控制器 KS0108 一共有七條指令,從作用上可分為兩類,顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀/寫操作指令。詳見指令系統(tǒng)可查看圖形液晶顯示器產(chǎn)品有關(guān)手冊。顯示起始行設(shè)置中 L5L0 為顯示起始行的地址,取值在 0-3FH(1-64 行)范圍內(nèi)。頁面地址設(shè)置中 P2-P0 為選擇的頁面地址,取值范圍為 0-7H,代表 1-8 頁。列地址設(shè)置中 C5-C0 為 Y 地址計數(shù)器的內(nèi)容,取值在 0-3FH
59、(1-64 行)范圍內(nèi)。顯示器上 128 點64 點,每 8 點為一字節(jié)數(shù)據(jù),都對應(yīng)著顯示數(shù)據(jù) RAM(在 KS0108 芯片內(nèi)),一點對應(yīng)一個 bit,計算機寫入或讀出顯示存儲器的數(shù)據(jù)代表顯示屏上某一點列上的垂直 8 點行的數(shù)據(jù)。D0 代表最上一行的點數(shù)據(jù),D1 為第二行的點數(shù)據(jù),D7 為第八行的點數(shù)據(jù)。該 bit=1 時該點則顯示黑點出來,該 bit=0 時該點則消失。另外 LCD 指令中有條 display ON/OFF 指令,display ON 時顯示 RAM 數(shù)據(jù)對應(yīng)顯示的畫面;display OFF 則畫面消失,RAM 中顯示數(shù)據(jù)仍存在。點陣字模文件的建立:由于 MGLS1286
60、4 液晶顯示器沒有內(nèi)部字符發(fā)生器,所以在屏幕上顯示的任何字符、漢字等須自己建立點陣字模庫,然后均按圖形方式進行顯示。由于 KS0108 顯示存儲器的特性,不能將計算機內(nèi)的漢字庫和其它字模庫提出直接使用,需要將其旋轉(zhuǎn) 90 度后再寫入。點陣字模庫建立包括以下幾個方面:1.建立 816 點陣常用字符、數(shù)字、符號字模庫。采用字模軟件提取字模。2.建立所用到的 1616 點陣字模庫。采用字模軟件直接提取了“冬臘月初”這幾個字。43.大字體數(shù)字顯示的取模,采用了寬 x 高=16x32 點陣方式,這樣時間很清晰,如下圖。5變量初始化關(guān)閉DS1302寫保護復(fù)位關(guān)閉DS1302地址寫入延時向該地址寫入數(shù)據(jù)復(fù)位
61、關(guān)閉寫入DS1302地址延時開始讀地址的數(shù)據(jù)讀出地址增加地址增加顯示數(shù)據(jù)數(shù)據(jù)寫完否?數(shù)據(jù)讀完否?YNYN 圖圖 4-74-7 DS1302DS1302 讀寫程序模塊流程圖讀寫程序模塊流程圖4.34.3 溫度的讀取溫度的讀取DS1802 是這樣測溫的:用一個高溫度數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。DS18B20 的復(fù)位脈沖 主機通過拉低單總線至少 480us 以產(chǎn)生復(fù)位脈沖 然后主機釋放單總線并進入接收模式 此時單總線電平被拉高 DS18B20 檢測到上升沿后 延時 1560us,拉低總線 60240us 產(chǎn)生應(yīng)答脈沖 6下面是溫
62、度讀取的子程序:void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ 復(fù)位 delay_18B20(8); /稍做延時 DQ = 0; /單片機將 DQ 拉低 delay_18B20(80); /精確延時 大于 480us DQ = 1; /拉高總線 delay_18B20(14); x=DQ; /稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay_18B20(20);4.44.4 鍵盤模塊鍵盤模塊鍵盤模塊的軟件程序相對于溫度模塊和時鐘模塊比較簡單。鍵盤模塊的設(shè)計,關(guān)鍵是消陡。通常的按鍵所用開關(guān)為機械彈性開關(guān),當(dāng)機械
63、觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。按鍵的消抖,可用硬件或軟件兩種方法。因為硬件消抖需要添加額外的硬件,故這里我們采用軟件消抖。軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個延時程序,5ms10ms 的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。當(dāng)檢測到按鍵釋放后,也要給 5ms10ms 的延時,待后沿抖動消失后才能轉(zhuǎn)入該鍵的處理程序。4.54.5 蜂鳴器模塊蜂鳴器模塊蜂鳴器模塊的設(shè)計,主要是讓單片機產(chǎn)
64、生一定頻率的電流信號,在我們的設(shè)計中,使用單片機通過程序輸出方波信號,來產(chǎn)生蜂鳴器需要的信號,當(dāng)鬧鐘定時結(jié)束時,就可以調(diào)用蜂鳴器程序,讓蜂鳴器發(fā)出聲音。當(dāng)然,我們的萬年歷再開機時會提醒用戶是否開啟按鍵時,蜂鳴器是否聲音提醒,實現(xiàn)的方法是:我們在蜂鳴器中設(shè)置了 flag 標(biāo)志位,7當(dāng)開機時,用戶的選擇會賦給 flag 標(biāo)志位,從而由單片機判斷是否讓蜂鳴器工作,為了記錄用戶的選擇,我們將 flag 標(biāo)志位放在了 DS1302 的空閑寄存器中,以保證用戶的選擇不會因為系統(tǒng)的掉電而消失,當(dāng)系統(tǒng)重新上電時,系統(tǒng)還可以恢復(fù)用戶的選擇。1結(jié)束語結(jié)束語在硬件電路焊接和軟件程序設(shè)計分別完成的基礎(chǔ)之上,進行軟硬件
65、的結(jié)合與調(diào)試。通過下載將在電腦上已完成的程序下載到單片機芯片中。在調(diào)試中發(fā)現(xiàn)軟件中存在的問題,及時解決問題,確保系統(tǒng)能正常工作并達到設(shè)計要求。通過反復(fù)的調(diào)試與實驗,可以證明該系統(tǒng)能夠較好地完成設(shè)計所需的基本要求。即能夠正確的顯示萬年歷。在完成軟件系統(tǒng)時,剛開始我是用的是12M的晶振,所有器件正常,后來我換了11.0592M的晶振,結(jié)果溫度就不正常了,經(jīng)過認真排查才發(fā)現(xiàn)是由于DS18B20在數(shù)據(jù)讀取時,對時間要求很精確,由于晶振的不同造成了讀數(shù)據(jù)的錯誤,經(jīng)過這次調(diào)試,讓我更清晰的認識到了時序?qū)υ骷闹匾浴T谠O(shè)計中,因為考慮到鬧鐘定時功能,我們希望我們設(shè)置的鬧鐘時刻不會因為系統(tǒng)的掉電而丟失,考
66、慮到DS1302是有鋰電池作為電源的,不會因為主系統(tǒng)掉電丟失內(nèi)部數(shù)據(jù),所以我們將鬧鐘的定時時刻放到了DS1302內(nèi)的空余寄存器里面,像這些靈活的技巧就需要我們認真的閱讀元件的數(shù)據(jù)手冊,從中索取對自己有用的信息。經(jīng)過萬年歷的設(shè)計,讓我學(xué)到了很多,讓我認識到了學(xué)習(xí)基礎(chǔ)知識的重要性,當(dāng)設(shè)計完整的系統(tǒng)時,要考慮到硬件和軟件兩者的結(jié)合,有時硬件的不足,我們可以用軟件程序來彌補,從而節(jié)約硬件成本,在設(shè)計軟件程序時要模塊化,可以提高程序的可讀性。1致致 謝謝在論文即將完成之際,我要特別感謝我的指導(dǎo)老師余良俊老師對我的熱情關(guān)懷和細心指導(dǎo)。在我做畢業(yè)設(shè)計的整個過程中,余老師都以他最大的可能來幫助我,教導(dǎo)我,跟著余老師做畢業(yè)設(shè)計,我學(xué)會了好多東西,這些都對我未來的工作和生活產(chǎn)生重大的影響。他不僅僅是我們學(xué)術(shù)上的良師,更是生活中的益友。他以一個教育工作者熱忱的心胸不厭其煩地指導(dǎo)著我們,教育者我們,使我們不僅學(xué)到了扎實的專業(yè)知識,更學(xué)到了做人的道理。他孜孜不倦悉心細致的教誨和嚴謹治學(xué)一絲不茍的工作作風(fēng)使我永遠都不能忘記。在此,特向他表示真誠的感謝。祝余老師身體健康,桃李滿天下。同時,在我四年的大學(xué)生活中,也得
- 溫馨提示:
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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案