版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著社會(huì)的發(fā)展,信息量的不斷提升以前對信息交換的要求提高,電子萬年歷的發(fā)展以及投入市場變得非常有必要。本設(shè)計(jì)是基于51單片機(jī)并模擬日常所用的日歷,而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。通過本次設(shè)計(jì),學(xué)習(xí)和鞏固了單片機(jī)指令編程的相關(guān)知識(shí),熟悉單片機(jī)各部件的組成及其功能。</p><p&
2、gt; 本設(shè)計(jì)將制作一種基于單片機(jī)控制的帶實(shí)時(shí)溫度顯示、具有定時(shí)功能的電子萬年歷。傳統(tǒng)的電子日歷大都體積大,功耗大,顯示不準(zhǔn)確等特點(diǎn)。為了縮小體積,減小功耗,使其變得小巧靈敏,本設(shè)計(jì)加入了時(shí)鐘芯片DS1302,可對時(shí)間進(jìn)行準(zhǔn)確記時(shí),同時(shí)可設(shè)置定時(shí)時(shí)間,實(shí)現(xiàn)定時(shí)功能。另外本設(shè)計(jì)具有顯示實(shí)時(shí)溫度的功能。傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計(jì)算機(jī)處理,處理電路復(fù)雜、可靠性相對較差,占用計(jì)算機(jī)的資源比較多。
3、本設(shè)計(jì)將采用DS18B20一線制數(shù)字溫度傳感器,可將溫度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,實(shí)現(xiàn)了時(shí)間溫度同時(shí)顯示的效果。最后,溫度和時(shí)間都將通過12864液晶顯示器進(jìn)行顯示。測試表明系統(tǒng)達(dá)到了設(shè)計(jì)要求的各項(xiàng)功能,各部分工作正常。</p><p> 關(guān)鍵詞:時(shí)鐘 溫度檢測 單片機(jī) 溫度</p><p><b> ABSTRACT</b>&l
4、t;/p><p> With the development of the society, the amount of information is improving the requirements of the information exchange. the development of the electronic calendar and the investment market become v
5、ery 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 most representative one. Through this design
6、, learning and consolidate the single chip microcomputer instruction programming </p><p> This design creates an electronic calendar with real-time temperature display and timing function based on single ch
7、ip 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
8、 design adds a clock chip DS1302, which can accurately record the time and set a regular time to achieve timing function. In addition, this design displays real-tim</p><p> Keywords: clock temperature-dete
9、ction SCM temperature</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 2 系統(tǒng)基本方案選擇和論證1</p><p> 2.1 單片機(jī)芯片的選擇方案和論證1</p><p&g
10、t; 2.2 顯示模塊的選擇方案和論證1</p><p> 2.3 時(shí)鐘芯片的選擇方案和論證2</p><p> 2.4 溫度傳感器的選擇方案和論證3</p><p> 2.5 電路設(shè)計(jì)最終方案確定4</p><p> 3 系統(tǒng)硬件電路設(shè)計(jì)1</p><p> 3.1 系統(tǒng)功能模塊劃分1<
11、/p><p> 3.2 各單元模塊功能分析及模塊電路設(shè)計(jì)2</p><p> 3.2.1 時(shí)鐘模塊2</p><p> 3.2.2 溫度模塊2</p><p> 3.2.3 顯示模塊5</p><p> 3.2.4 獨(dú)立鍵盤模塊5</p><p> 3.2.5 蜂鳴器模塊6&
12、lt;/p><p> 3.2.6 單片機(jī)模塊7</p><p> 3.2.7 溫度信息的采集8</p><p> 3.3 電路原理圖的繪制和電路的焊接1</p><p> 3.3.1 原理圖繪制軟件 PROTEL1</p><p> 3.3.2 PCB制作1</p><p>
13、3.3.3 元器件的焊接3</p><p> 4 系統(tǒng)軟件設(shè)計(jì)1</p><p> 4.1 萬年歷軟件系統(tǒng)的流程圖1</p><p> 4.3 溫度的讀取5</p><p> 下面是溫度讀取的子程序:6</p><p> 4.4 鍵盤模塊6</p><p> 4.5 蜂鳴
14、器模塊6</p><p><b> 結(jié)束語1</b></p><p><b> 致 謝1</b></p><p><b> 參考文獻(xiàn)1</b></p><p><b> 附錄1</b></p><p><
15、;b> 1 緒論</b></p><p> 二十一世紀(jì)是數(shù)字化技術(shù)高速發(fā)展的時(shí)代,而單片機(jī)在數(shù)字化高速發(fā)的時(shí)代扮演著極為重要的角色。隨著單片機(jī)技術(shù)在社會(huì)生活中的應(yīng)用越來越廣泛,對單片機(jī)的應(yīng)用和開發(fā)也是現(xiàn)代電子工程技術(shù)員必須掌握的一門技術(shù)。而且隨著人們生活水平的提高和生活節(jié)奏的加快,對時(shí)間的要求越來越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也越來越多。電子萬年歷的開發(fā)與研究在信息化時(shí)代的今天則是當(dāng)務(wù)之急,
16、因?yàn)樗鼞?yīng)用在學(xué)校、機(jī)關(guān)、企業(yè)等眾多的公共場合,可以說遍及人們生活的每個(gè)角落。目前市場上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但大多數(shù)只是針對時(shí)間顯示,功能單一不能滿足人們?nèi)粘I钚枨?。本次設(shè)計(jì)的萬年歷功能多樣,顯示直觀,讀取方便,價(jià)格也更加低廉,符合電子儀器儀表的未來發(fā)展趨勢,具有廣闊的市場前景。所以數(shù)字萬年歷無論從實(shí)用的角度和培養(yǎng)能力的角度都很有價(jià)值。</p><p> 電子萬年歷顯示功能,包括公歷年、月、日,時(shí)間、溫
17、度、星期、農(nóng)歷等等;附帶功能有:定時(shí)鬧鈴、以及按鈕是否可以正常調(diào)動(dòng)。本文提出了一種基于AT89S52單片機(jī)的萬年歷設(shè)計(jì)方案,采用LCD顯示。本方案以AT89S52單片機(jī)作為主控核心,與時(shí)鐘芯片DS1302、溫度芯片DS18B20、人體紅外感應(yīng)模塊、鬧鐘模塊、按鍵、LCD顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有7個(gè)獨(dú)立按鍵和一個(gè)LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時(shí)對時(shí)間進(jìn)行校準(zhǔn)、時(shí)間、溫度顯示等,綜上所述此萬年歷具有讀
18、取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。尤其是單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。</p><p> 萬年歷中使用的LCD的應(yīng)用很廣泛,如手表上的液晶顯示屏,儀表儀器上的液晶顯示器或者是電腦筆記本上的液晶顯示器,都使用
19、了LCD。在一般的辦公設(shè)備上也很常見,如傳真機(jī),復(fù)印機(jī),以及一些娛樂器材玩具等也常常見到LCD的足跡。字符型液晶顯示模塊是一種專門用于顯示字母,數(shù)字,符號等的點(diǎn)陣式液晶顯示模塊。在顯示器件上的設(shè)計(jì),它是由若干個(gè)5×7或5×11等點(diǎn)陣符位組成。每一個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。點(diǎn)陣字符位之間有一空點(diǎn)距的間隔起到了字符間距和行距的作用。目前市面上常用的有16字×1行,16字×2行,20字×
20、2行和40字×2行等的字符模塊組。這些LCD雖然顯示字?jǐn)?shù)各不相同,但是都具有相同的輸入輸出界面。</p><p> 市場上有許多電子萬年歷的專用芯片,如:LM8363、LM8365等,但它們功能單一,電路連接復(fù)雜,不便于調(diào)試制作。因此本系統(tǒng)采用了以AT89S52單片機(jī)技術(shù)為核心,配合DS18B20溫度測量模塊,DS1302時(shí)鐘模塊,人體感應(yīng)模塊,LCD顯示模塊,鍵盤模塊使該設(shè)計(jì)具有現(xiàn)實(shí)功能齊全,人機(jī)交
21、互,節(jié)能的特點(diǎn)。 </p><p> 隨著單片機(jī)的發(fā)展,電子萬年歷呈現(xiàn)了微型化 ,功能豐富化的趨勢,而且價(jià)格在不斷下降,考慮到資源問題,現(xiàn)在的設(shè)計(jì)設(shè)計(jì)的萬年歷都采用了節(jié)能設(shè)計(jì)方案,萬年歷對人們的生活有著十分重要的作用,所以電子萬年歷還是有很大的發(fā)展前景的。</p><p> 2 系統(tǒng)基本方案選擇和論證</p><p> 2.1 單片機(jī)芯片的選擇方案和論證&l
22、t;/p><p><b> 方案一:</b></p><p> 采用89C51芯片作為硬件核心,89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,8
23、9C51是一種高效微控制器,51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備在線編程(ISP)技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對芯片的多次拔插可能對芯片造成一定的損壞,目前該型號芯片已經(jīng)停產(chǎn)。</p><p><b> 方案二:</b></p><p> 采用AT89S52
24、單片機(jī),AT89S52單片機(jī)是ATMEL生產(chǎn)的單片機(jī),是新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051。內(nèi)部集成看門狗電路。AT89S52單片機(jī)內(nèi)部有8KB的程序Flash存儲(chǔ)器。由于我們設(shè)計(jì)的萬年歷燒寫文件大概在7KB左右 ,而AT89S52單片機(jī)的程序Flash為8KB,不用再外接程序存儲(chǔ)器了。</p><p> 經(jīng)過綜合比較最終選擇方案二,即選擇AT89S52作為主控制器。</p>&l
25、t;p> 2.2 顯示模塊的選擇方案和論證</p><p><b> 方案一:</b></p><p> LCD12864液晶是一種具有8位并行接口方式的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示16×16點(diǎn)陣的漢字,也可完成圖形顯示,低電壓低
26、功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多。萬年歷要求顯示年月日、時(shí)分秒、星期、和農(nóng)歷。LCD12864液晶可以完成設(shè)計(jì)的要求 。</p><p><b> 方案二:</b></p><p> 系統(tǒng)采用LED顯示。LED應(yīng)用可分為兩大類:一是LED單管應(yīng)用,包括背光源LED,紅外線LE
27、D等;另外就是LED顯示屏,目前,中國在LED基礎(chǔ)材料制造方面與國際還存在著一定的差距,但就LED顯示屏而言,中國的設(shè)計(jì)和生產(chǎn)技術(shù)水平基本與國際同步。LED顯示屏是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動(dòng),具有:耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。采用LED數(shù)碼管動(dòng)態(tài)掃描.價(jià)格上比較經(jīng)濟(jì)實(shí)惠,但不能顯示文字,性價(jià)比不是很高,操作起來比較液晶顯示來說略顯繁瑣,所以也不用此種作為顯示。</
28、p><p> 經(jīng)過綜合比較最終選擇方案一,即選擇LCD12864液晶顯示屏。</p><p> 2.3 時(shí)鐘芯片的選擇方案和論證</p><p><b> 方案一:</b></p><p> 采用單片機(jī)定時(shí)。單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)
29、控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。</p><p> 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號,計(jì)數(shù)的脈沖由外部提供,定時(shí)的脈沖由外部晶振提供,定時(shí)加1的周期為一個(gè)機(jī)器周期;定時(shí)時(shí)間與初值和晶振頻率有關(guān)。使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案減少芯片的使用,節(jié)約成本,但程序復(fù)雜度較高。</p><p>
30、;<b> 方案二:</b></p><p> 采用DS1302時(shí)鐘芯片。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302用于數(shù)據(jù)記錄,特別是對某
31、些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。采用DS1302只需要寫出驅(qū)動(dòng)程序,調(diào)用程序讀出寄存器內(nèi)數(shù)據(jù)經(jīng)過簡單的變換就可以輸出萬年歷的數(shù)據(jù)。</p><p> 經(jīng)過綜合比較最終選擇方案二,即采用
32、DS1302時(shí)鐘芯片。</p><p> 2.4 溫度傳感器的選擇方案和論證</p><p><b> 方案一:</b></p><p> 采用熱敏電阻作為溫度傳感器。熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件。熱敏電阻由半導(dǎo)體陶瓷材料組成,利用的原理是溫度引起電阻變化。熱敏電阻的主要特點(diǎn)是:靈敏度較高,其電阻溫度系數(shù)要比金屬大10
33、~100倍以上;工作溫度范圍寬,常溫器件適用于-55℃~315℃,高溫器件適用溫度高于315℃(目前最高可達(dá)到2000℃)低溫器件適用于-273℃~55℃;體積小,能夠測量其他溫度計(jì)無法測量的空隙、腔體及生物體內(nèi)血管的溫度;使用方便,電阻值可在0.1~100kΩ間任意選擇;易加工成復(fù)雜的形狀,可大批量生產(chǎn);穩(wěn)定性好、過載能力強(qiáng)。由于半導(dǎo)體熱敏電阻有獨(dú)特的性能,所以在應(yīng)用方面它不僅可以作為測量元件(如測量溫度、流量、液位等),還可以作為控
34、制元件(如熱敏開關(guān)、限流器)和電路補(bǔ)償元件。熱敏電阻廣泛用于家用電器、電力工業(yè)、通訊、軍事科學(xué)、宇航等各個(gè)領(lǐng)域,發(fā)展前景極其廣闊。 </p><p> 使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格
35、線性的,會(huì)產(chǎn)生較大的測量誤差。</p><p><b> 方案二:</b></p><p> 采用DS18B20溫度傳感器。在應(yīng)用與高精度、高可靠性的場合時(shí)DALLAS(達(dá)拉斯)公司生產(chǎn)的DS18B20溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得DS18B20更受歡迎。對于我們普通的電子愛好者來說,DS18B20的優(yōu)勢更是
36、我們學(xué)習(xí)單片機(jī)技術(shù)和開發(fā)溫度相關(guān)的小產(chǎn)品的不二選擇。這是世界上第一片支持“一線總線”接口的溫度傳感器。DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從單片機(jī)到DS18B20僅需一條線連接即可。它可在1秒鐘(典型值)內(nèi)把溫度變換成數(shù)字</p><p> 經(jīng)過綜合比較最終選擇方案二,即采用采用DS18B20溫度傳感器。</p&
37、gt;<p> 2.5 電路設(shè)計(jì)最終方案確定</p><p> 最終選擇單片機(jī)AT89S52作為主控制器;選擇LCD12864型液晶作為顯示模塊,此模塊可以顯示字母、數(shù)字符號、中文字型及圖形,具有繪圖及文字畫面混合顯示功能;選擇采用DS1302時(shí)鐘芯片,使程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒,即農(nóng)歷陽歷時(shí)間的顯示。采用DS18B20溫度傳感器,可以對溫度做出比較精確的測量,而且和單片機(jī)通訊只要一
38、個(gè)IO,連接方便。</p><p> 3 系統(tǒng)硬件電路設(shè)計(jì)</p><p> 3.1 系統(tǒng)功能模塊劃分</p><p> 根據(jù)系統(tǒng)功能要求,可大致畫出系統(tǒng)所需硬件結(jié)構(gòu)框圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)功能模塊圖</p><p> 主控模塊采用性價(jià)比較高的AT89S52單片機(jī)芯片,在其內(nèi)部
39、燒寫好程序,可通過程序的運(yùn)行控制測溫模塊進(jìn)行測溫;測溫模塊主要是由DS18B20構(gòu)成,將其與所測對象進(jìn)行接觸即可獲取被測對象的溫度數(shù)據(jù),而所測得的溫度和時(shí)鐘芯片測得的實(shí)時(shí)日歷將通過顯示模塊的液晶顯示器以數(shù)字形式顯示;單片機(jī)調(diào)用程序,讀取DS1302內(nèi)寄存器,可以得到萬年歷的時(shí)間數(shù)據(jù),經(jīng)過程序處理就可以輸出在LCD上;鍵盤電路可對實(shí)時(shí)日歷進(jìn)行調(diào)整;蜂鳴器可以在鬧鐘定時(shí)中,作為聲音提醒。</p><p> 3.2
40、各單元模塊功能分析及模塊電路設(shè)計(jì)</p><p> 3.2.1 時(shí)鐘模塊</p><p> DS1302的工作原理和單片機(jī)的接口:</p><p> DS1302為美國DALLAS公司的一種實(shí)時(shí)時(shí)鐘芯片,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用32.768Hz晶振。它可以對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí)
41、,且具有閏年補(bǔ)償?shù)榷喾N功能。DS1302 用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對長時(shí)間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。在本設(shè)計(jì)中,它的實(shí)際電路圖如圖3-2所示:</p><p> 圖3-2 DS1302與單片機(jī)的連接</p><p> DS1302需要外接32.768K的晶振,1號引腳
42、接主電源VCC(5V)電源,8號引腳接備用電池(3V),當(dāng)主電源掉電后,備用電源為DS1302提供電源,維持DS1302內(nèi)數(shù)據(jù)不丟失,這正是時(shí)鐘芯片所必須的特性。</p><p> 3.2.2 溫度模塊</p><p> 傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計(jì)算機(jī)處理,處理電路復(fù)雜、可靠性相對較差,占用計(jì)算機(jī)的資源比較多,本設(shè)計(jì)測溫模塊采用一線制總線
43、數(shù)字溫度傳感器DS18B20,可將溫度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,其電路原理圖如圖3-3所示:</p><p> 圖3-3 DS18B20溫度模塊</p><p> 從圖中可看出,將溫度傳感器的一線制總線通過端口2與本設(shè)計(jì)主控芯片STC12C5A6S2的端口標(biāo)號為DS18B20的相連即可實(shí)現(xiàn)相互之間的通信。設(shè)計(jì)中的測溫元件采用的是DS18B20測溫元件,DS
44、18B20是由DALLAS(達(dá)拉斯)公司生產(chǎn)的一種溫度傳感器。超小的體積,超低的硬件開消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得DS18B20很受歡迎。這是世界上第一片支持“一線總線”接口的溫度傳感器。DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從單片機(jī)到DS18B20僅需一條線連接即可。它可在1秒鐘(典型值)內(nèi)把溫度變換成數(shù)字。</p>
45、<p> 3.2.2.1 DS18B20的主要特征:</p><p> 1)DS18B20的主要特征:</p><p> ? ①全數(shù)字溫度轉(zhuǎn)換及輸出; </p><p> ??? ②先進(jìn)的單總線數(shù)據(jù)通信; </p><p> ??? ③最高12位分辨率,精度可達(dá)土0.5℃; </p><
46、p> ????④12位分辨率時(shí)的最大工作周期為750毫秒; </p><p> ????⑤可選擇寄生工作方式; </p><p> ????⑥檢測溫度范圍為–55℃——+125℃; </p><p> ????⑦內(nèi)置EEPROM,限溫報(bào)警功能; </p><p> ????⑧64位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機(jī)掛接; &
47、lt;/p><p> ????⑨多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。</p><p> 2)DS18B20芯片其封裝結(jié)構(gòu)如下: </p><p> 圖3-4 DS18B20芯片封裝圖</p><p> 由其引腳可看出,其3個(gè)引腳: GND為電壓地直接接地;DQ為單數(shù)據(jù)總線用來與單片機(jī)相連接,本系統(tǒng)中DS與單片機(jī)P2.6接口連接,僅此一個(gè)連接
48、就能保證DS18B20與單片機(jī)之間的數(shù)據(jù)交換;VDD引腳接電源電壓。</p><p> 3.2.2.2 DS18B20的工作原理</p><p> DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個(gè)芯片之上,從而抗干擾力更強(qiáng)。一個(gè)工作周期可分為兩個(gè)部分,即溫度檢測和數(shù)據(jù)處理。</p><p> DS18B20共有三種形態(tài)的存儲(chǔ)器資源,分別是:ROM 只讀存儲(chǔ)器
49、,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56位的CRC碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。DS18B20共64位ROM, RAM 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個(gè)字節(jié)RAM,每個(gè)字節(jié)為8位。第1、2個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個(gè)字節(jié)是用戶EEPROM(常用于溫度報(bào)警值儲(chǔ)存)的鏡像。
50、在上電復(fù)位時(shí)其值將被刷新。第5個(gè)字節(jié)則是用戶第3個(gè)EEPROM的鏡像。第6、7、8個(gè)字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。我們在每一次讀溫度之前都必須進(jìn)行復(fù)雜的且精準(zhǔn)時(shí)序的處理,因?yàn)镈S1
51、8B20的硬件簡單結(jié)果就會(huì)導(dǎo)致軟件的巨大開消。</p><p> 3.2.3 顯示模塊</p><p> 本設(shè)計(jì)顯示模塊主要采用LCD12864液晶顯示器,其電路原理圖如下:</p><p> 圖3-5 LCD12864模塊</p><p> LCD12864液晶顯示器通過數(shù)據(jù)端口也即端口7~14與主控芯片AT89S52的I/O端口
52、P3相連接實(shí)現(xiàn)數(shù)據(jù)與指令的傳輸,再通過控制端口RS、RW、EN也即端口4~6與主控芯片P1.5,P1.6,P1.7端口相接實(shí)現(xiàn)對數(shù)據(jù)和指令傳輸?shù)目刂?。顯示模塊采用12864液晶顯示器可實(shí)現(xiàn)對溫度和時(shí)間的直接顯示,清晰明了。</p><p> 3.2.4 獨(dú)立鍵盤模塊</p><p> 鍵盤是人與萬年歷實(shí)現(xiàn)信息交互的接口,本設(shè)計(jì)中,我們采用3個(gè)獨(dú)立鍵盤,電路原理如下圖3-9:</
53、p><p> 圖3-9 獨(dú)立鍵盤</p><p> 當(dāng)按鍵按下,與主控芯片連接的端口被降為低電平,按鍵松開則也升為高電平。按鍵采用的是Tack Switch按鈕開關(guān),它具有自動(dòng)恢復(fù)(彈回)的功能。當(dāng)我們按下按鈕時(shí),其中的接點(diǎn)接通(或切斷),放開按鈕后,接點(diǎn)恢復(fù)為切斷(或接通)。按照尺寸區(qū)分,電子電路或微型計(jì)算機(jī)所使用的Tack Swith可分為8mm、10mm、12mm等。雖然Tack
54、Switch有4個(gè)引腳,但實(shí)際上,其內(nèi)部只有一對a接點(diǎn),即其中兩個(gè)引腳是內(nèi)部相連通的,而另外兩個(gè)引腳內(nèi)部也是相連通的。7個(gè)按鍵實(shí)現(xiàn)了開機(jī)模式選擇,日期調(diào)節(jié)等功能,獨(dú)立按鍵的引入使得體現(xiàn)了本設(shè)計(jì)的人性化,智能化,功能的強(qiáng)大。</p><p> 3.2.5 蜂鳴器模塊</p><p> 蜂鳴器模塊是本設(shè)計(jì)中體現(xiàn)人機(jī)交互的又一大設(shè)計(jì)亮點(diǎn),其電路原理圖如下圖:</p><p
55、> 圖3-10 蜂鳴器模塊</p><p><b> ?。?)蜂鳴器的介紹</b></p><p> 蜂鳴器的作用:蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。</p><p> 蜂鳴器的分類:蜂鳴器主要分為壓電式蜂鳴
56、器和電磁式蜂鳴器兩類。</p><p> 蜂鳴器的電路圖形符號:蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。</p><p> 本設(shè)計(jì)里,我們采用有源蜂鳴器,由于蜂鳴器的工作電流一般比較大,以至于單片機(jī)的I/O 口是無法直接驅(qū)動(dòng)的,所以要利用放大電路來驅(qū)動(dòng),我們使用三極管來放大電流,驅(qū)動(dòng)蜂鳴器,此模塊只要通過BELL(連接到到單片機(jī)P2.7)輸入
57、的PWM波既可以使蜂鳴器分出聲音,我們設(shè)計(jì)的這款萬年歷可以在鬧鐘定時(shí)中作為聲音提醒信號。</p><p> 3.2.6 單片機(jī)模塊</p><p> AT89S52是ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8k bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳,它集Flash存儲(chǔ)器
58、既可在線編輯(ISP)也可用傳統(tǒng)方法進(jìn)行編輯及通用8位微處理器于單片芯片中,功能強(qiáng)大AT89S52單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合。器管腳圖如圖3-2:</p><p> 圖3-1 AT89S52管腳圖</p><p> 在本系統(tǒng)中,AT89S52單片機(jī)內(nèi)部的功能單元已經(jīng)能夠滿足系統(tǒng)設(shè)計(jì)需要,不需要系統(tǒng)擴(kuò)展。</p><p> AT89S52具有以下的
59、特點(diǎn):</p><p><b> 主要性能 </b></p><p> ● 與MCS-51單片機(jī)產(chǎn)品兼容 </p><p> ● 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器 </p><p> ● 1000次擦寫周期 </p><p> ● 全靜態(tài)操作:0Hz~33Hz </p>
60、<p> ● 三級加密程序存儲(chǔ)器 </p><p> ● 32個(gè)可編程I/O口線 </p><p> ● 三個(gè)16位定時(shí)器/計(jì)數(shù)器 </p><p><b> ● 八個(gè)中斷源 </b></p><p> ● 全雙工UART串行通道 </p><p> ● 低功耗空閑和掉電模
61、式 </p><p> ● 掉電后中斷可喚醒 </p><p><b> ● 看門狗定時(shí)器 </b></p><p><b> ● 雙數(shù)據(jù)指針 </b></p><p><b> ● 掉電標(biāo)識(shí)符 </b></p><p> AT89S52是一種
62、低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于</p><p> 常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 </p><p>
63、; AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷
64、或硬件復(fù)位為止。</p><p> 3.2.7 溫度信息的采集</p><p> 通過DS18B20單線總線的所有執(zhí)行處理都從一個(gè)初始化序列開始。初始化序列包括一個(gè)由總線控制器發(fā)出的復(fù)位脈沖和隨后由從機(jī)發(fā)出的存在脈沖:</p><p> ?。?)復(fù)位:首先我們必須對DS18B20芯片進(jìn)行復(fù)位,復(fù)位就是由控制器(單片機(jī))給DS18B20單總線至少480us的低電平
65、信號。當(dāng)18B20接到此復(fù)位信號后則會(huì)在15~60us后回發(fā)一個(gè)芯片的存在脈沖。 </p><p> ?。?)存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在15~60us后接收存在脈沖,存在脈沖為一個(gè)60~240us的低電平信號。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來將會(huì)是控制器與18B20間的數(shù)據(jù)通信。</p><p> (3)控制器發(fā)送ROM指令:雙方打完了招
66、呼之后最要將進(jìn)行交流了,ROM指令共有5條,每一個(gè)工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。各自功能如下:</p><p> Read ROM(讀ROM)[33H] (方括號中的為16進(jìn)制的命令字): 這個(gè)命令允許總線控制器讀到DS18B20的64位ROM。只有當(dāng)總線上只存在一個(gè)DS18B20的時(shí)候才可以使用此指令。</p><p&g
67、t; Match ROM(指定匹配芯片)[55H]: 這個(gè)指令后面緊跟著由控制器發(fā)出了64位序列號,當(dāng)總線上有多只DS18B20時(shí),只有與控制發(fā)出的序列號相同的芯片才能做出反應(yīng),其它芯片將等待下一次復(fù)位。這條指令適合單芯片和多芯片掛接。 </p><p> Skip ROM(跳躍ROM指令)[CCH]: 這條指令使芯片不對ROM編碼做出反應(yīng),在單總線的情況之下,為了節(jié)省時(shí)間則可以選用此指令。如果在多芯片掛接時(shí)
68、使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。 </p><p> Search ROM(搜索芯片)[F0H]: 在芯片初始化后,搜索指令允許總線上掛接多芯片時(shí)用排除法識(shí)別所有器件的64位ROM。 </p><p> Alarm Search(報(bào)警芯片搜索)[ECH]: 在多芯片掛接的情況下,報(bào)警芯片搜索指令只對附合溫度高于TH或小于TL報(bào)警條件的芯片做出反應(yīng)。只要芯片不掉電,報(bào)警狀態(tài)將被
69、保持,直到再一次測得溫度值達(dá)不到報(bào)警條件為止。</p><p> ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分辨一條總線上掛接的多個(gè)器件并作處理。誠然,單總線上可以同時(shí)掛接多個(gè)器件,并通過每個(gè)器件上所獨(dú)有的ID號來區(qū)別,一般只掛接單個(gè)18B20芯片時(shí)可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令”)。</p>&
70、lt;p> ?。?)控制器發(fā)送存儲(chǔ)器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲(chǔ)器操作指令了。操作指令同樣為8位,共6條,存儲(chǔ)器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復(fù)制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報(bào)警值復(fù)制到RAM、工作方式切換。</p><p> Write Scratchpad (向RAM中寫數(shù)據(jù))[4EH]:這是向RAM中寫入數(shù)據(jù)的指令,
71、隨后寫入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2(報(bào)警RAM之TH)和地址3(報(bào)警RAM之TL)。寫入過程中可以用復(fù)位信號中止寫入。 </p><p> Read Scratchpad (從RAM中讀數(shù)據(jù))[BEH]:此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個(gè)RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時(shí)間。 </p><
72、;p> Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)[48H]:此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于EEPROM儲(chǔ)存處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持10MS,來維持芯片工作。</p><p> Convert T(溫度轉(zhuǎn)換)[4
73、4H]:收到此指令后芯片將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持500MS,來維持芯片工作。 </p><p> Recall EEPROM(將EEPROM中的報(bào)警值復(fù)制到RAM)[B8H]:此指令將EEPROM中的報(bào)警值復(fù)制
74、到RAM中的第3、4個(gè)字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。另外,此指令將在芯片上電復(fù)位時(shí)將被自動(dòng)執(zhí)行。這樣RAM中的兩個(gè)報(bào)警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。 </p><p> Read Power Supply(工作方式切換)[B4H]:此指令發(fā)出后發(fā)出讀時(shí)間隙,芯片會(huì)返回它的電源狀態(tài)字,“0”為寄生電源狀態(tài),“1”為外部電源狀
75、態(tài)。</p><p> 存儲(chǔ)器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。 </p><p> ?。?)執(zhí)行或數(shù)據(jù)讀寫:一個(gè)存儲(chǔ)器操作指令結(jié)束后則將進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫,這個(gè)操作要視存儲(chǔ)器操作指令而定。</p><p> DS18B20需要嚴(yán)格的協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議包括幾種單線信號類型:復(fù)位脈沖、存在脈沖、寫0、寫1 、讀0和讀1
76、。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。和DS18B20間的任何通訊都需要以初始化序列開始。一個(gè)復(fù)位脈沖跟著一個(gè)存在脈沖表明DS18B20已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)(適當(dāng)?shù)腞OM命令和存儲(chǔ)器操作命令)。</p><p> DS18B20的復(fù)位時(shí)序:</p><p> 圖4-2 DS18B20復(fù)位時(shí)序圖</p><p> DS18B20的讀時(shí)序:&
77、lt;/p><p> 對于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。對于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15us之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。</p><p> 圖4-3 DS18B20讀時(shí)序圖</p><p> DS18B20的寫時(shí)序:&l
78、t;/p><p> 對于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程。對于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之后就得釋放單總線。</p><p> 3.3 電路原理圖的繪制和電路的焊接</p&
79、gt;<p> 在硬件的設(shè)計(jì)前期,根據(jù)框圖對電路中可能出現(xiàn)的電路,進(jìn)行了模擬實(shí)驗(yàn),并根據(jù)實(shí)驗(yàn)結(jié)果對后期的硬件設(shè)計(jì)進(jìn)行了合理化的修改完善。在前面已分析了系統(tǒng)并繪制了框圖,并根據(jù)框圖分別設(shè)計(jì)了各部分電路。由于溫度傳感器與時(shí)鐘芯片集成度較高,所以在硬件電路設(shè)計(jì)時(shí)不需要太多其他元件即可實(shí)現(xiàn)預(yù)期功能。因此在PROTEL上對原理圖進(jìn)行了繪制,從而得出了最終的完整電路原理圖[附錄1]。 </p><p> 3
80、.3.1 原理圖繪制軟件 PROTEL</p><p> PROTEL是PORTEL公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當(dāng)之無愧地排在眾多EDA軟件的前面,是電子設(shè)計(jì)者的首選軟件,它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(shè)計(jì)(包含印制電路板自動(dòng)布線)、可編程邏輯器件設(shè)計(jì)、圖表生成、電子表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務(wù)
81、器)體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如ORCAD,PSPICE,EXCEL等,其多層印制線路板的自動(dòng)布線可實(shí)現(xiàn)高密度PCB的100%布通率。Protel 99SE采用數(shù)據(jù)庫的管理方式。該軟件沿襲了Protel以前版本方便易學(xué)的特點(diǎn),內(nèi)部界面與Protel 99大體相同,新增加了一些功能模塊,功能更加強(qiáng)大。新增的層堆棧管理功能,可以設(shè)計(jì)32個(gè)信號層,16個(gè)地電層,16個(gè)機(jī)械層。新增的3D功能在加工印制版之前可以看到板的三維
82、效果。其具有的打印功能,可以輕松修改打印設(shè)置控制打印結(jié)果。Protel 99SE容易使用的特性還體現(xiàn)在其幫助功能,按下右上角的小問號,然后輸入你所要的信息,可以很快地看到特性的功能,然后用到設(shè)計(jì)中,按下狀</p><p> 3.3.2 PCB制作 </p><p> 當(dāng)通過PROTEL繪制出完整的電路原理圖后,就可以按照繪制好的原理圖制作PCB了,具體步驟如下:</p>
83、<p> (1)打印電路板。將繪制好的電路板用轉(zhuǎn)印紙打印出來,注意滑的一面面向自己,一般打印兩張電路板,即一張紙上打印兩張電路板。在其中選擇打印效果最好的制作線路板。</p><p> ?。?)裁剪覆銅板,也就是表面面都覆有銅膜的線路板,將覆銅板裁成電路板的大小,不要過大,以節(jié)約材料。</p><p> ?。?)預(yù)處理覆銅板。用細(xì)砂紙把覆銅板表面的氧化層打磨掉,以保證在轉(zhuǎn)印
84、電路板時(shí),熱轉(zhuǎn)印紙上的碳粉能牢固的印在覆銅板上,打磨好的標(biāo)準(zhǔn)是板面光亮,沒有明顯污漬。</p><p> ?。?)轉(zhuǎn)印電路板。將打印好的電路板裁剪成合適大小,把印有電路板的一面貼在覆銅板上,對齊好后把覆銅板放入熱轉(zhuǎn)印機(jī),放入時(shí)一定要保證轉(zhuǎn)印紙沒有錯(cuò)位。一般來說經(jīng)過2-3次轉(zhuǎn)印,電路板就能很牢固的轉(zhuǎn)印在覆銅板上。熱轉(zhuǎn)印機(jī)事先就已經(jīng)預(yù)熱,溫度設(shè)定在90-1400攝氏度,由于溫度很高,操作時(shí)注意安全。</p>
85、;<p> ?。?)腐蝕線路板,回流焊機(jī)。先檢查一下電路板是否轉(zhuǎn)印完整,若有少數(shù)沒有轉(zhuǎn)印好的地方可以用黑色油性筆修補(bǔ)。然后就可以腐蝕了,等線路板上暴露的銅膜完全被腐蝕掉時(shí),將線路板從腐蝕液中取出清洗干凈,這樣一塊線路板就腐蝕好了。腐蝕液的成分為濃鹽酸、濃雙氧水、水,比例為1:2:3,在配制腐蝕液時(shí),先放水,再加濃鹽酸、濃雙氧水,若操作時(shí)濃鹽酸、濃雙氧水或腐蝕液不小心濺到皮膚或衣物上要及時(shí)用清水清洗,由于要使用強(qiáng)腐蝕性溶液,
86、操作時(shí)一定注意安全。</p><p> (6)線路板鉆孔。線路板上是要插入電子元件的,所以就要對線路板鉆孔了。依據(jù)電子元件管腳的粗細(xì)選擇不同的鉆針,在使用鉆機(jī)鉆孔時(shí),線路板一定要按穩(wěn),鉆機(jī)速度不能開的過慢。</p><p> ?。?)線路板預(yù)處理。鉆孔完后,用細(xì)砂紙把覆在線路板上的墨粉打磨掉,用清水把線路板清洗干凈。水干后,用松香水涂在有線路的一面,為加快松香凝固,我們用熱風(fēng)機(jī)加熱線路板
87、,只需2-3分鐘松香就能凝固。</p><p> 按照上面的流程,我們就做出來一塊PCB電路板了。</p><p> 由于采用實(shí)驗(yàn)板成本更低,最后實(shí)物制作時(shí)采用了實(shí)驗(yàn)板焊接。</p><p> 3.3.3 元器件的焊接</p><p> 元器件裝焊順序依據(jù)的原則是:先低后高,先小后大。一般情況下,應(yīng)按電阻、電容、二極管、三極管、集成電
88、路、大功率管順序焊接。</p><p> ?。?)對元器件焊接的要求</p><p> 電阻的焊接:按圖將電阻準(zhǔn)確裝入規(guī)定位置,型號標(biāo)記要易見且方向也盡量一致。要求焊接一種規(guī)格后再焊接另一種規(guī)格。</p><p> 電容的焊接:按圖將電容準(zhǔn)確裝入規(guī)定位置,并注意有極性電容的極性方向不能錯(cuò)。電容上的型號標(biāo)記要易見見且方向也盡量一致。電解電容要緊靠PCB板,不可懸浮
89、。</p><p> 二極管的焊接:正確辨認(rèn)正負(fù)極性后按要求裝入規(guī)定位置,型號標(biāo)記要易見,焊接時(shí)間盡量可能短。</p><p> 三極管的焊接:正確辨認(rèn)各引腳后按要求裝入規(guī)定位置,型號標(biāo)記要易見,焊接時(shí)間盡可能短。</p><p> 場效應(yīng)管的焊接:正確辨認(rèn)各引腳后按要求裝入規(guī)定位置,焊接時(shí)間盡可能短。需要加散熱片的,將接觸面打磨光滑并加硅脂后再緊固。<
90、/p><p> 集成電路(芯片)的焊接:</p><p> 集成電路(芯片)焊接時(shí),要注意按圖紙要求檢查型號、焊接位置是否符合要求,焊接時(shí)先焊芯片邊沿的兩只引腳,以便使其定位,然后再從左到右或從上到下進(jìn)行逐點(diǎn)焊接。焊接時(shí)間盡可能短,禁止拉焊。</p><p> ?。?) 焊接質(zhì)量檢查</p><p> 元器件不得有錯(cuò)裝、漏裝、錯(cuò)聯(lián)和歪斜松動(dòng)
91、等。</p><p> 焊點(diǎn)應(yīng)吃錫飽滿,無毛刺、無針孔、無氣泡、裂紋、掛錫、拉點(diǎn)、漏焊、碰焊、虛焊等缺陷。</p><p> 焊接后電路板上的金屬件表面應(yīng)無銹蝕和其它雜質(zhì)。</p><p> 焊接完成的電路板不得有斑點(diǎn)、裂紋、氣泡、發(fā)白等現(xiàn)象,銅箔及敷形涂覆層不得脫落、不起翹、不分層。</p><p> 元器件的引腳或引線表面應(yīng)滲錫均
92、勻。</p><p> 在完成電路的焊接后,測試之前,一定要先對電路檢測,看是否有短路情況出現(xiàn),以免芯片損壞。電源輸入電壓也是關(guān)鍵因素,在供電之前務(wù)必用萬用表先測量。</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 系統(tǒng)軟件設(shè)計(jì)中,我們使用了Keil μVision2。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)
93、語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢,所以我們選擇該軟件來開發(fā)我們的萬年歷程序。</p><p> 4.1 萬年歷軟件系統(tǒng)的流程圖</p><p> 圖4-1 系統(tǒng)軟件流程圖</p><p> 當(dāng)接通電源開始工作后,單片機(jī)中的程序開始運(yùn)行,將對DS18B20進(jìn)行初始化,以便和單片機(jī)芯片達(dá)成通信協(xié)議。完成初始化后,由于本系
94、統(tǒng)只有一個(gè)測溫元件,單片機(jī)會(huì)向其發(fā)出跳過RAM指令,接下來便可向其發(fā)送操作指令,啟動(dòng)測溫程序,測溫過程完成后,發(fā)出溫度轉(zhuǎn)換指令,從而便可將溫度轉(zhuǎn)化成數(shù)字模式進(jìn)行顯示讀取;同時(shí)DS1302將讀取時(shí)分秒星期以及年月日寄存器然后通過液晶顯示實(shí)時(shí)時(shí)間、星期及日期;鍵盤電路中按鍵可對實(shí)時(shí)日歷時(shí)鐘進(jìn)行調(diào)整。</p><p> 圖-C 時(shí)間調(diào)整程序流程圖</p><p> 4.2 KS0108的軟件
95、設(shè)計(jì)</p><p> 液晶控制器KS0108 一共有七條指令,從作用上可分為兩類,顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀/寫操作指令。詳見指令系統(tǒng)可查看圖形液晶顯示器產(chǎn)品有關(guān)手冊。顯示起始行設(shè)置中L5~L0 為顯示起始行的地址,取值在0-3FH(1-64 行)范圍內(nèi)。頁面地址設(shè)置中P2-P0 為選擇的頁面地址,取值范圍為0-7H,代表1-8 頁。列地址設(shè)置中C5-C0 為Y地址計(jì)數(shù)器的內(nèi)容,取值在0-3FH(1-64 行)
96、范圍內(nèi)。</p><p> 顯示器上128 點(diǎn)×64 點(diǎn),每8點(diǎn)為一字節(jié)數(shù)據(jù),都對應(yīng)著顯示數(shù)據(jù)RAM(在KS0108 芯片內(nèi)),一點(diǎn)對應(yīng)一個(gè)bit,計(jì)算機(jī)寫入或讀出顯示存儲(chǔ)器的數(shù)據(jù)代表顯示屏上某一點(diǎn)列上的垂直8 點(diǎn)行的數(shù)據(jù)。D0 代表最上一行的點(diǎn)數(shù)據(jù),D1為第二行的點(diǎn)數(shù)據(jù),……D7為第八行的點(diǎn)數(shù)據(jù)。該bit=1 時(shí)該點(diǎn)則顯示黑點(diǎn)出來,該bit=0 時(shí)該點(diǎn)則消失。另外LCD 指令中有-條display
97、ON/OFF 指令,display ON 時(shí)顯示RAM 數(shù)據(jù)對應(yīng)顯示的畫面;display OFF 則畫面消失,RAM 中顯示數(shù)據(jù)仍存在。</p><p> 點(diǎn)陣字模文件的建立:</p><p> 由于MGLS12864 液晶顯示器沒有內(nèi)部字符發(fā)生器,所以在屏幕上顯示的任何字符、漢字等須自己建立點(diǎn)陣字模庫,然后均按圖形方式進(jìn)行顯示。由于KS0108 顯示存儲(chǔ)器的特性,不能將計(jì)算機(jī)內(nèi)的漢
98、字庫和其它字模庫提出直接使用,需要將其旋轉(zhuǎn)90 度后再寫入。點(diǎn)陣字模庫建立包括以下幾個(gè)方面:</p><p> 建立8×16 點(diǎn)陣常用字符、數(shù)字、符號字模庫。采用字模軟件提取字模。</p><p> 建立所用到的16×16 點(diǎn)陣字模庫。采用字模軟件直接提取了“冬臘月初”這幾個(gè)字。</p><p> 大字體數(shù)字顯示的取模,采用了寬x高=16x
99、32 點(diǎn)陣方式,這樣時(shí)間很清晰,如下圖。</p><p> 圖4-7 DS1302讀寫程序模塊流程圖</p><p><b> 4.3 溫度的讀取</b></p><p> DS1802是這樣測溫的:用一個(gè)高溫度數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)周期內(nèi)對一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得到溫度值。</p>&
100、lt;p> DS18B20的復(fù)位脈沖 主機(jī)通過拉低單總線至少480us以產(chǎn)生復(fù)位脈沖</p><p> 然后主機(jī)釋放單總線并進(jìn)入接收模式 此時(shí)單總線電平被拉高</p><p> DS18B20檢測到上升沿后 延時(shí)15~60us,拉低總線60~240us產(chǎn)生應(yīng)答脈沖 </p><p> 下面是溫度讀取的子程序:</p><p>
101、 void Init_DS18B20(void) </p><p><b> {</b></p><p> unsigned char x=0;</p><p> DQ = 1; //DQ復(fù)位</p><p> delay_18B20(8); //稍做延時(shí)</p><p&
102、gt; DQ = 0; //單片機(jī)將DQ拉低</p><p> delay_18B20(80); //精確延時(shí) 大于 480us</p><p> DQ = 1; //拉高總線</p><p> delay_18B20(14);</p><p> x=DQ; //稍做延時(shí)后
103、如果x=0則初始化成功 x=1則初始化失敗</p><p> delay_18B20(20);</p><p><b> 4.4 鍵盤模塊</b></p><p> 鍵盤模塊的軟件程序相對于溫度模塊和時(shí)鐘模塊比較簡單。鍵盤模塊的設(shè)計(jì),關(guān)鍵是消陡。通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)
104、在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。按鍵的消抖,可用硬件或軟件兩種方法。因?yàn)橛布缎枰砑宇~外的硬件,故這里我們采用軟件消抖。</p><p> 軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,5ms~10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測到
105、按鍵釋放后,也要給5ms~10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。</p><p><b> 4.5 蜂鳴器模塊</b></p><p> 蜂鳴器模塊的設(shè)計(jì),主要是讓單片機(jī)產(chǎn)生一定頻率的電流信號,在我們的設(shè)計(jì)中,使用單片機(jī)通過程序輸出方波信號,來產(chǎn)生蜂鳴器需要的信號,當(dāng)鬧鐘定時(shí)結(jié)束時(shí),就可以調(diào)用蜂鳴器程序,讓蜂鳴器發(fā)出聲音。當(dāng)然,我們的萬年歷再開機(jī)
106、時(shí)會(huì)提醒用戶是否開啟按鍵時(shí),蜂鳴器是否聲音提醒,實(shí)現(xiàn)的方法是:我們在蜂鳴器中設(shè)置了flag標(biāo)志位,當(dāng)開機(jī)時(shí),用戶的選擇會(huì)賦給flag標(biāo)志位,從而由單片機(jī)判斷是否讓蜂鳴器工作,為了記錄用戶的選擇,我們將flag標(biāo)志位放在了DS1302的空閑寄存器中,以保證用戶的選擇不會(huì)因?yàn)橄到y(tǒng)的掉電而消失,當(dāng)系統(tǒng)重新上電時(shí),系統(tǒng)還可以恢復(fù)用戶的選擇。</p><p><b> 結(jié)束語</b></p&g
107、t;<p> 在硬件電路焊接和軟件程序設(shè)計(jì)分別完成的基礎(chǔ)之上,進(jìn)行軟硬件的結(jié)合與調(diào)試。通過下載將在電腦上已完成的程序下載到單片機(jī)芯片中。在調(diào)試中發(fā)現(xiàn)軟件中存在的問題,及時(shí)解決問題,確保系統(tǒng)能正常工作并達(dá)到設(shè)計(jì)要求。通過反復(fù)的調(diào)試與實(shí)驗(yàn),可以證明該系統(tǒng)能夠較好地完成設(shè)計(jì)所需的基本要求。即能夠正確的顯示萬年歷。</p><p> 在完成軟件系統(tǒng)時(shí),剛開始我是用的是12M的晶振,所有器件正常,后來我換
108、了11.0592M的晶振,結(jié)果溫度就不正常了,經(jīng)過認(rèn)真排查才發(fā)現(xiàn)是由于DS18B20在數(shù)據(jù)讀取時(shí),對時(shí)間要求很精確,由于晶振的不同造成了讀數(shù)據(jù)的錯(cuò)誤,經(jīng)過這次調(diào)試,讓我更清晰的認(rèn)識(shí)到了時(shí)序?qū)υ骷闹匾?。在設(shè)計(jì)中,因?yàn)榭紤]到鬧鐘定時(shí)功能,我們希望我們設(shè)置的鬧鐘時(shí)刻不會(huì)因?yàn)橄到y(tǒng)的掉電而丟失,考慮到DS1302是有鋰電池作為電源的,不會(huì)因?yàn)橹飨到y(tǒng)掉電丟失內(nèi)部數(shù)據(jù),所以我們將鬧鐘的定時(shí)時(shí)刻放到了DS1302內(nèi)的空余寄存器里面,像這些靈活的技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)畢業(yè)論文
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)-畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文——基于51單片機(jī)的電子萬年歷的設(shè)計(jì)
- 基于51單片機(jī)電子萬年歷畢業(yè)論文
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的電子萬年歷畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的電子萬年歷
- 51基于單片機(jī)的電子萬年歷畢業(yè)設(shè)計(jì)
- 51單片機(jī)萬年歷畢業(yè)設(shè)計(jì)論文
- 萬年歷畢業(yè)論文---基于at89s52單片機(jī)的電子萬年歷設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷的設(shè)計(jì)
- 基于51單片機(jī)電子萬年歷
- 【畢業(yè)設(shè)計(jì)】基于51單片機(jī)的電子萬年歷設(shè)計(jì)
- 畢業(yè)論文范文——基于51單片機(jī)的電子萬年歷的設(shè)計(jì)
- 基于單片機(jī)萬年歷的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)萬年歷的設(shè)計(jì)畢業(yè)論文
- 基于51單片機(jī)的萬年歷畢業(yè)設(shè)計(jì)
- 單片機(jī)電子萬年歷畢業(yè)論文
- 單片機(jī)電子萬年歷畢業(yè)論文
評論
0/150
提交評論