版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 中文摘要</b></p><p> 本設(shè)計(jì)萬(wàn)年歷以AT89C51為控制中心,與溫度傳感器DS18B20,時(shí)鐘芯片DS1302綜合應(yīng)用為一體,不僅能夠準(zhǔn)確顯示時(shí)間、日期,鬧鐘設(shè)置,環(huán)境溫度測(cè)量及溫度高低溫報(bào)警等功能。</p><p> 單片機(jī)是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)等于一體的器件,只需要外加電源和晶振就可實(shí)現(xiàn)
2、對(duì)數(shù)字信息的處理和控制。單片機(jī)與數(shù)字萬(wàn)年歷相結(jié)合,用于時(shí)間顯示,溫度測(cè)試等不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被檢測(cè)數(shù)值的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī),溫度傳感器,C語(yǔ)言,液晶顯示</p><p><b> ABSTRACT</b></p><p> This d
3、esign USES AT89C51 as calendar control center, and the temperature sensor DS18B20, the clock DS1302 chip integrated application as a whole, and not only be able to accurately display the time, date, alarm, the environmen
4、t temperature measurement and high temperature, low temperature alarm functions.</p><p> SCM is a collection of CPU, RAM, ROM, I/O interface and interrupt system is one of the devices, only require addition
5、al power can be used for vibration and grain is the process of digital information and control. Single-chip microcomputer and digital calendar, combining for time to show, temperature testing has not only control conveni
6、ent, simple and flexible configuration advantages, and which could increase the technical index of the tested value, which can greatly improve the quality of the p</p><p> Key words:Single-chip microcompute
7、r, Temperature Sensor, C language,Liquid crystal displ</p><p><b> 目錄</b></p><p><b> 第一章 前言5</b></p><p> 1.1 系統(tǒng)開(kāi)發(fā)背景及現(xiàn)狀5</p><p> 1.2 系統(tǒng)開(kāi)發(fā)的目
8、的5</p><p> 第二章 總體設(shè)計(jì)6</p><p> 2.1 本設(shè)計(jì)實(shí)現(xiàn)的功能和要求6</p><p> 2.2 設(shè)計(jì)的選擇方案和論證6</p><p> 2.2.1 單片機(jī)芯片的選擇方案和論證6</p><p> 2.2.2 顯示模塊選擇方案和論證6</p><p&g
9、t; 2.2.3 時(shí)鐘芯片的選擇方案和論證7</p><p> 2.3.4 溫度傳感器的選擇方案與論證7</p><p> 2.3總體設(shè)計(jì)框圖7</p><p> 第三章 硬件設(shè)計(jì)8</p><p> 3.1 主要元器件介紹8</p><p> 3.1.1 單片機(jī)簡(jiǎn)介8</p>
10、<p> 3.1.2 傳感器DS18B20介紹9</p><p> 3.1.3 LCD1602液晶顯示介紹10</p><p> 3.2 各模塊設(shè)計(jì)11</p><p> 3.2.1 主控制電路11</p><p> 3.2.2 LCD1602顯示模塊設(shè)計(jì)12</p><p> 3.
11、2.3 DS18B20溫度傳感器模塊12</p><p> 3.2.4 鍵盤(pán)輸入模塊設(shè)計(jì)13</p><p> 3.2.5 蜂鳴器模塊設(shè)計(jì)13</p><p> 3.2.6 DS1302時(shí)鐘電路模塊14</p><p> 第四章 軟件設(shè)計(jì)15</p><p> 第五章 安裝與調(diào)試17<
12、;/p><p> 5.1 安裝制作17</p><p> 5.2 硬件調(diào)試17</p><p> 5.2.1 布線(xiàn)的原則與焊接17</p><p> 5.2.2 硬件調(diào)試與測(cè)試18</p><p> 5.3 軟件調(diào)試18</p><p> 5.3.1 軟件測(cè)試儀器18<
13、/p><p> 5.3.2 軟件調(diào)試與測(cè)試18</p><p><b> 5.4 聯(lián)調(diào)19</b></p><p> 5.5測(cè)試結(jié)果分析與結(jié)論20</p><p><b> 第六章 總結(jié)21</b></p><p><b> 參考文獻(xiàn)22</b
14、></p><p><b> 附錄A23</b></p><p><b> 附錄B25</b></p><p><b> 致謝27</b></p><p><b> 第一章 前言</b></p><p> 1
15、.1 系統(tǒng)開(kāi)發(fā)背景及現(xiàn)狀</p><p> 當(dāng)今世界,知識(shí)更新的速度越來(lái)越快。特別是在電子技術(shù)領(lǐng)域,新的技術(shù),新的產(chǎn)品層出不窮,日新月異,隨著電子產(chǎn)品的發(fā)展,在這個(gè)快節(jié)奏的年代,時(shí)間就是效益,就是金錢(qián),因此,時(shí)間對(duì)人們來(lái)說(shuō)是越來(lái)越寶貴了。但在這種快節(jié)奏的生活中,人們常常忘記了時(shí)間,一旦遇到重要的事情都要事先做好合理的時(shí)間安排,所以一個(gè)能夠進(jìn)行報(bào)時(shí)以及有其他多種用途的萬(wàn)年歷是對(duì)人們的生活工作是非常具有現(xiàn)實(shí)意義的。
16、</p><p> 人們對(duì)計(jì)時(shí)工具在性能和準(zhǔn)確度方面的要求是越來(lái)越高,傳統(tǒng)的時(shí)鐘正在慢慢被淘汰,因?yàn)樵诤芏喾矫嫫胀〞r(shí)鐘已不能滿(mǎn)足人們?cè)谀承┓矫娴男枨罅?,特別是在準(zhǔn)確度方面,而多功能數(shù)字鐘它占了很大的優(yōu)勢(shì),因?yàn)樗捎脭?shù)字電路來(lái)實(shí)現(xiàn)對(duì)時(shí)、分、秒的設(shè)計(jì)。不管在性能還是在款式樣式上都發(fā)生了質(zhì)的飛躍變化,電子鬧鐘,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,公司,娛樂(lè)場(chǎng)所,碼頭,辦公室等等公共場(chǎng)所,成為人們?nèi)粘I钪斜夭豢缮俚?/p>
17、生活必需品。因?yàn)閿?shù)字萬(wàn)年歷從原理上講是一種典型的數(shù)字電路,由于數(shù)字集成電路的不停發(fā)展和石英晶體振蕩器的發(fā)展以及廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過(guò)傳統(tǒng)的鐘表,鐘表的數(shù)字化給人們的生產(chǎn)生活帶來(lái)了極大的便利而且大大地?cái)U(kuò)展了鐘表原先的功能。因此,研究多功能數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p> 1.2 系統(tǒng)開(kāi)發(fā)的目的</p><p> 多功能數(shù)字萬(wàn)年歷系統(tǒng)的最基本功能就是時(shí)
18、間的顯示,鬧鐘,溫度的采集和報(bào)警,本設(shè)計(jì)的意義在于傳統(tǒng)的時(shí)鐘不能滿(mǎn)足現(xiàn)代人們多元化快節(jié)奏的生活需求,此設(shè)計(jì)將單片機(jī)作為數(shù)字鐘的核心控制器,可以通過(guò)DS1302數(shù)字時(shí)鐘芯片進(jìn)行秒,分,時(shí)來(lái)計(jì)時(shí)實(shí)現(xiàn)計(jì)時(shí)校時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用LCD1602顯示器液晶顯示出來(lái)。采用DS18B20對(duì)室內(nèi)壞境進(jìn)行溫度測(cè)量報(bào)警,人性化的設(shè)計(jì)提醒忙碌人們要注意天氣溫度變化,冬天要保暖御寒,夏天防止高溫中暑,通過(guò)鍵盤(pán)可以進(jìn)行手動(dòng)時(shí)間定時(shí)、校時(shí)鬧鈴設(shè)定,
19、環(huán)境溫度上下限設(shè)定報(bào)警等等。該系統(tǒng)較傳統(tǒng)時(shí)鐘不僅測(cè)量精確度高,工作穩(wěn)定,而且功能可以擴(kuò)展,使用起來(lái)方面,可以廣泛用于人們?nèi)粘I钪?,所以具有較好的實(shí)用價(jià)值。</p><p><b> 第二章 總體設(shè)計(jì)</b></p><p> 2.1 本設(shè)計(jì)實(shí)現(xiàn)的功能和要求</p><p> 1、基于單片機(jī)的多功能萬(wàn)年歷,采用LCM1602液晶顯示,顯示
20、項(xiàng)目有:年月日、星期、時(shí)分秒、帶有鬧鐘功能,帶溫度顯示,高低溫報(bào)警。</p><p> 2、采用時(shí)鐘芯片DS1302,走時(shí)非常精確。板載3V紐扣電池,斷電重新上電無(wú)需重新設(shè)置時(shí)間,由3V提供時(shí)鐘芯片繼續(xù)計(jì)時(shí)。同時(shí)自動(dòng)隨時(shí)期更變星期。</p><p> 3、采用DS18b20溫度傳感器,溫度精確顯示到0.1度。并且可以設(shè)置高低溫度報(bào)警。</p><p> 4、帶
21、鬧鐘功能,且鬧鐘時(shí)間可調(diào),上電默認(rèn)為:11:00:00,具有掉電鬧鐘時(shí)間保存功能,并可設(shè)置鬧鐘開(kāi)關(guān)等功能。</p><p> 5、四個(gè)鍵操作:設(shè)置時(shí)間、加減、鬧鐘切換等。蜂鳴按鍵提示音功能。</p><p> 2.2 設(shè)計(jì)的選擇方案和論證</p><p> 2.2.1 單片機(jī)芯片的選擇方案和論證</p><p> 方案一: 采用89C
22、51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線(xiàn)編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。</p><p> 方案二: 采用AT8C52,片內(nèi)ROM全都采用Flash ROM,能以3V的超底壓工作
23、,同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,同樣具有89C51的功能,且具有在線(xiàn)編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。</p><p> 本設(shè)計(jì)選擇采用AT89C52作為主控制系統(tǒng)。</p><p> 2.2.2 顯示模塊選擇方案和論證</p>
24、;<p> 方案一:采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見(jiàn),但是價(jià)格昂貴,需要的接口線(xiàn)多,所以在此設(shè)計(jì)中不采用LED液晶顯示屏。</p><p> 方案二: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。</p><p
25、> 方案三:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線(xiàn)少。</p><p> 本設(shè)計(jì)采用了LED數(shù)碼管作為顯示。</p><p> 2.2.3 時(shí)鐘芯片的選擇方案和論證</p><p> 方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。
26、采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。</p><p> 方案二:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA。</p><p> 本設(shè)計(jì)采用DS13
27、02時(shí)鐘芯片。</p><p> 2.3.4 溫度傳感器的選擇方案與論證</p><p> 方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線(xiàn)并不是嚴(yán)格線(xiàn)性的,會(huì)產(chǎn)生較大的測(cè)量誤差。</p><
28、;p> 方案二:采用數(shù)字式溫度傳感器DS18B20,此類(lèi)傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線(xiàn)進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除A/D模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。</p><p> 綜上各方案所述,對(duì)此次作品的方案選定:采用AT89S52作為主控制系統(tǒng),DS1302提供時(shí)鐘,數(shù)字式溫度傳感器,LED數(shù)碼管動(dòng)態(tài)掃描作為顯示。</
29、p><p><b> 2.3總體設(shè)計(jì)框圖</b></p><p> 本次設(shè)計(jì)的基于單片機(jī)控制的電子萬(wàn)年歷,其具有年、月、日、星期、時(shí)、分、秒的顯示等功能;具有高低溫報(bào)警功能;可以設(shè)置鬧鈴的功能。如圖2-1所示為硬件總體設(shè)計(jì)框圖。其具體實(shí)現(xiàn)過(guò)程就是由主控制發(fā)送信息給DS1302時(shí)鐘芯片再由時(shí)鐘芯片反饋給單片機(jī),再由主控制器傳送給LCD顯示信息。并且可以在鍵盤(pán)設(shè)置模塊輸入
30、修改時(shí)間,設(shè)置鬧鈴等信息,當(dāng)鍵盤(pán)設(shè)置時(shí)間、日期時(shí),單片機(jī)主控制根據(jù)輸入信息,通過(guò)串口通信傳送給DS1302時(shí)鐘芯片,DS1302芯片讀取當(dāng)前新信息產(chǎn)生反饋傳送給單片機(jī),然后單片機(jī)根據(jù)控制最后輸送顯示信息到LCD模塊上顯示。</p><p> 本設(shè)計(jì)總體框圖如圖2-1所示。</p><p> 圖2-1 硬件設(shè)計(jì)總體框圖</p><p><b> 第三章
31、 硬件設(shè)計(jì)</b></p><p> 3.1 主要元器件介紹</p><p> 3.1.1 單片機(jī)簡(jiǎn)介</p><p> 單片機(jī)引腳圖如圖3-1所示。</p><p> 圖3-1 單片機(jī)引腳圖</p><p><b> VCC:供電電壓。</b></p>&l
32、t;p><b> GND:接地。</b></p><p><b> P0口:</b></p><p> P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí)被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)
33、行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p><b> P1口: </b></p><p> P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 &
34、lt;/p><p><b> P2口:</b></p><p> P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的
35、高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p><b> P3口:</b></p><p> P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并
36、用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口作為AT89C51的一些特殊功能口。 </p><p><b> 管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /
37、INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)<
38、;/p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外
39、部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p
40、><p> /EA /VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p>&l
41、t;p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p> 3.1.2 傳感器DS18B20介紹</p><p> DS18B20“一線(xiàn)總線(xiàn)”數(shù)字化溫度傳感器是DALLAS最新單線(xiàn)數(shù)字溫度傳感器, 同DS1820一樣,DS18B20也 支持“一線(xiàn)總線(xiàn)”接口,測(cè)量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±
42、0.5°C。DS1822的精度較差為± 2°C ?,F(xiàn)場(chǎng)溫度直接以“一線(xiàn)總線(xiàn)”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 </p><p> DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方
43、式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!DS1822與 DS18B20軟件兼容,是DS18B20的簡(jiǎn)化版本。省略了存儲(chǔ)用戶(hù)定義報(bào)警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 繼“一線(xiàn)總線(xiàn)”的早期產(chǎn)品后,DS1820開(kāi)辟了溫度傳感器技術(shù)的
44、新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。</p><p> 3.1.3 LCD1602液晶顯示介紹</p><p> 1、LCD1602顯示器的結(jié)構(gòu):1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表,液晶顯示
45、模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在,哪里顯示字符。內(nèi)部顯示地址如圖3-2所示。</p><p> 圖3-2 1602的內(nèi)部顯示地址</p><p><b> 2、主要技術(shù)參數(shù):</b></p><p> 顯示容量:16
46、215;2個(gè)字符,芯片工作電壓:4.5—5.5V,工作電流:2.0mA(5.0V),模塊最佳工作電壓:5.0V,字符尺寸:2.95×4.35(W×H)mm。</p><p> 3、引腳功能說(shuō)明如表3-1,引腳圖如圖3-3所示。</p><p> 圖3-3 1602引腳圖</p><p> 表3-1 1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光
47、)或16腳(帶背光)接口,各引腳接口說(shuō)明。</p><p><b> 3.2 各模塊設(shè)計(jì)</b></p><p> 3.2.1 主控制電路</p><p> 單片機(jī)最小化系統(tǒng)如圖3-4所示。</p><p> 圖3-4 單片機(jī)最小化系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)確保單片機(jī)的正常工
48、作,主要由晶振電路和復(fù)位電路組成。任何復(fù)雜的單片機(jī)系統(tǒng),都是在單片機(jī)最小系統(tǒng)這個(gè)基礎(chǔ)上通過(guò)添加模塊設(shè)計(jì)出來(lái)的。</p><p> 1、單片機(jī)的引腳40要接電源端,采用+6V電源供電。</p><p><b> 2、晶振電路</b></p><p> 單片機(jī)的18、19引腳接外部晶振,晶振的頻率決定了單片機(jī)系統(tǒng)的時(shí)鐘頻率。比如晶振的頻率選擇
49、12MHZ,那么單片機(jī)工作的時(shí)鐘頻率就是12MHZ。單片機(jī)常用的晶振的頻率是11.0592MHZ,12MHZ,通常一個(gè)單片機(jī)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。晶振上還要接兩個(gè)起振電容,可在20~40pF間選取。本設(shè)計(jì)的晶振由1個(gè)12MHZ的晶振,2個(gè)33pF起振電容組成。 </p>&
50、lt;p><b> 3、復(fù)位電路</b></p><p> 單片機(jī)的引腳9是復(fù)位端。單片機(jī)系統(tǒng)在剛上電時(shí),或者是發(fā)生故障,都要進(jìn)行復(fù)位。</p><p> 本設(shè)計(jì)采用的復(fù)位電路,是手動(dòng)按鍵復(fù)位電路。例如頻率為12MHZ,即每機(jī)器周期為1us,引腳9只需持續(xù)時(shí)間2us以上的高電平,就發(fā)生復(fù)位。</p><p> 4、單片機(jī)的引腳31
51、,決定是訪問(wèn)內(nèi)部存儲(chǔ)器還是外部存儲(chǔ)器。由于現(xiàn)在單片機(jī)內(nèi)部存儲(chǔ)器的容量都足夠大,基本都是從內(nèi)部存儲(chǔ)讀取程序,即不需要擴(kuò)展外部存儲(chǔ)器,因此EA引腳應(yīng)該應(yīng)該接高電平。但是,如果將EA引腳懸空,會(huì)導(dǎo)致程序執(zhí)行不正常。</p><p> 3.2.2 LCD1602顯示模塊設(shè)計(jì)</p><p> LCD1602顯示器工作原理 </p><p> 線(xiàn)段的顯示:點(diǎn)陣圖形式液
52、晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線(xiàn),長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí),
53、則屏幕的右下角顯示一條短亮線(xiàn);當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時(shí),則在屏幕的頂部顯示一條由8段亮線(xiàn)和8條暗線(xiàn)組成的虛線(xiàn)。這就是LCD顯示的基本原理。</p><p> 字符的顯示:用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使
54、每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來(lái)就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。原理圖如圖3-5所示。 </p><p> 圖3-5 LCD1
55、602顯示器模塊原理圖</p><p> 3.2.3 DS18B20溫度傳感器模塊</p><p> 溫度采樣在本系統(tǒng)采用了美國(guó)DALLAS公司生產(chǎn)的單總線(xiàn)式數(shù)字溫度傳感DS18B20,測(cè)溫分辨率高達(dá)0.0625攝氏度,將結(jié)果轉(zhuǎn)換成串行數(shù)字信號(hào)。由于采用單總線(xiàn)結(jié)構(gòu),節(jié)級(jí)了口線(xiàn)的資源,本系統(tǒng)只占用了p2.0口對(duì)溫度經(jīng)行采樣。原理圖如圖3-6所示。</p><p>
56、; 圖3-6 DS1802溫度傳感模塊原理圖</p><p> 3.2.4 鍵盤(pán)輸入模塊設(shè)計(jì)</p><p> 本系統(tǒng)四個(gè)按鍵占用了四個(gè)I/O口,分別接在AT89S52單片機(jī)的P2口的P2.4,P2.5, P2.6 , P3.4引腳上。采用獨(dú)立式鍵盤(pán)接口,每個(gè)按鍵各接一根輸入線(xiàn),通過(guò)檢測(cè)輸入線(xiàn)的電平狀態(tài)很容易判斷哪個(gè)鍵被按下。根據(jù)多功能數(shù)字鐘設(shè)置鍵,加一鍵,減一鍵,確定鍵,通過(guò)鍵
57、盤(pán)可以隨時(shí)手動(dòng)設(shè)置日期、時(shí)間、鬧鐘、溫度上限和下限數(shù)值報(bào)警功能。原理圖如圖3-7所示。</p><p> 圖3-7 鍵盤(pán)模塊原理圖</p><p> 3.2.5 蜂鳴器模塊設(shè)計(jì)</p><p> 該系統(tǒng)采用一個(gè)普通的發(fā)光二極管和一個(gè)蜂鳴器組成來(lái)實(shí)現(xiàn)鬧鐘、當(dāng)時(shí)間到達(dá)設(shè)定值,蜂鳴器響,蜂鳴器占用了1個(gè)I/O口P2.7,它的動(dòng)作由P2.7控制,當(dāng)溫度超過(guò)設(shè)定溫度上下
58、限值時(shí),二極管導(dǎo)通,二極管和蜂鳴器發(fā)出光聲報(bào)警。原理圖如圖3-8所示。</p><p> 圖3-8 蜂鳴器發(fā)聲電路</p><p> 3.2.6 DS1302時(shí)鐘電路模塊</p><p> DS1302 是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)實(shí)鐘/日歷和字節(jié)靜態(tài)RAM,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)、日、日
59、期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過(guò)AM/PM指示決定采用24或12小時(shí)格式。DS1302與單片機(jī)之間能簡(jiǎn)單地采用同步的方式進(jìn)行通信,僅需用到三個(gè)口線(xiàn) 1、RST 復(fù)位 2、I/O數(shù)據(jù)線(xiàn) 3、SCLK串行時(shí)鐘。 時(shí)鐘/RAM的讀/寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的字符組方式通信。DS1302工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW。原理圖如圖3-9所示。</p><p>
60、 圖3-9 時(shí)鐘電路原理</p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p><b> 1、系統(tǒng)流程圖</b></p><p> 本設(shè)計(jì)以單片機(jī)為控制中心,以溫度傳感器DS18B20,液晶顯示LCD1602,時(shí)鐘芯片DS1302組成外圍電路,通過(guò)相關(guān)的編程,用手動(dòng)按鍵進(jìn)行復(fù)位和時(shí)間控制調(diào)整,共同完成日
61、期、時(shí)間、溫度報(bào)警和鬧鐘功能。軟件流程圖如圖4-1所示。</p><p> 圖4-1 軟件流程圖</p><p> 圖4-1 軟件流程圖</p><p> 2、時(shí)間日期時(shí)間顯示控制流程圖</p><p> DS1302的初始化,依次先在秒寄存器、分寄存器、時(shí)寄存器、日寄存器、月寄存器、周寄存器、年寄存器中寫(xiě)入世間的初始值,然后單片機(jī)再
62、從秒寄存器、分寄存器、時(shí)寄存器、日寄存器、月寄存器、周寄存器、年寄存器中讀出時(shí)間的讀出時(shí)間的初始值,經(jīng)由LCD1602顯示出來(lái)。</p><p> 當(dāng)通過(guò)按鍵來(lái)調(diào)整時(shí)間時(shí),就是在相應(yīng)的寄存器中寫(xiě)入調(diào)整后的時(shí)間值,然后單片機(jī)再?gòu)南鄳?yīng)的寄存器中讀出調(diào)整后的時(shí)間值,經(jīng)由LCD 1602顯示調(diào)整后的時(shí)間。流程圖如圖4—2所示。</p><p> 圖4-2 日期時(shí)間設(shè)置流程圖</p>
63、<p> 3、溫度鬧鐘設(shè)置報(bào)警</p><p> 本模塊通過(guò)按設(shè)定鬧鐘和高低溫的值,通過(guò)程序控制和蜂鳴模塊,共同實(shí)現(xiàn)鬧鐘和溫度報(bào)警功能。流程圖如圖4-3所示。</p><p> 圖4-3 溫度鬧鐘設(shè)置報(bào)警流程圖</p><p><b> 第五章 安裝與調(diào)試</b></p><p><b>
64、 5.1 安裝制作 </b></p><p> 1.清理元器件,重點(diǎn)辯別認(rèn)清電阻器阻值及相應(yīng)代號(hào),對(duì)電阻、電容、發(fā)光二極管、三極管、電源變壓器等要用萬(wàn)用表一一檢測(cè)。</p><p> 2.安裝時(shí),電阻器、整流二極管采用臥式插裝,并近貼電路板。瓷介電容器、電解電容器、三極管等采用立式插裝,也要近貼電路板。發(fā)光二極管安裝時(shí)可不講極性,因?yàn)槠涔╇婋娐窞榻涣麟娫?,其余有極性元件:
65、如電解電容器、整流二極管、穩(wěn)壓二極管、三極管、集成電路等必須按正確的極性插裝,否則電路不會(huì)正常工作。 </p><p> 3.焊完元器件后,在覆銅面剪掉多余元器件的引線(xiàn),最好用斜口鉗,可防止因剪線(xiàn)而使覆銅皮損壞。 </p><p> 4.焊接完后,請(qǐng)認(rèn)真對(duì)照電路原理圖、安裝圖檢查電路板上有無(wú)漏焊、錯(cuò)焊、短路、斷路等錯(cuò)誤現(xiàn)象,確認(rèn)無(wú)誤后才能通電。</p><p>
66、<b> 5.2 硬件調(diào)試</b></p><p> 5.2.1 布線(xiàn)的原則與焊接</p><p> 畫(huà)硬件原理圖時(shí)應(yīng)注意些原則:</p><p> 1、按統(tǒng)一的要求選擇圖紙幅面、圖框格式、電路圖中的圖形符號(hào)、文字符號(hào)。</p><p> 2、應(yīng)根據(jù)萬(wàn)年歷的工作原理,將各元器件自左到右,自上而下地排成數(shù)列。&l
67、t;/p><p> 3、圖面安排時(shí),電源部分一般安排在左下方,輸入端在左側(cè),輸出端在右側(cè)。</p><p> 4、圖中可動(dòng)元件的工作狀態(tài),原則上應(yīng)處于開(kāi)端、不加電的工作位置。</p><p> 5、將所有芯片的電源和引腳全部利用,不要懸空。</p><p> 在實(shí)際畫(huà)的過(guò)程中應(yīng)考慮自己的制作水平,應(yīng)防止制作出的PCB板有斷線(xiàn)等情況的發(fā)生。
68、</p><p> 在畫(huà)PCB時(shí)應(yīng)注意先看元器件的實(shí)物,然后看軟件是否有相對(duì)應(yīng)的庫(kù)元器件,如果沒(méi)有就需要根據(jù)實(shí)物自己畫(huà)出相應(yīng)的元件,以免做好板后才發(fā)現(xiàn)元器件是無(wú)法插入相應(yīng)的孔中。</p><p><b> 焊接:</b></p><p> 萬(wàn)年歷的制作過(guò)程中焊接最容易出現(xiàn)問(wèn)題,在焊接前,必須先對(duì)照元器件的PCB圖和原理圖,以免防止元器件的
69、正負(fù)極接反或者把元器件搞錯(cuò),在焊接時(shí)要注意虛焊。根據(jù)焊接的經(jīng)驗(yàn),在焊點(diǎn)錫是尖角的,一般都是焊實(shí)的;如果焊點(diǎn)處出現(xiàn)圓顆狀。則容易出現(xiàn)虛焊,元器件的管腳沒(méi)有焊實(shí),出現(xiàn)接觸不良的情況。檢查是否虛焊可以在完成焊接以后,插上電源,看電路是否正常工作。如果不行,則可以用數(shù)字萬(wàn)用表進(jìn)行檢測(cè)。用數(shù)字萬(wàn)用表檢測(cè)的時(shí)候,可以很方便的檢測(cè)出電路的通斷。也很容易檢測(cè)是否虛焊。</p><p> 5.2.2 硬件調(diào)試與測(cè)試</p&
70、gt;<p> 在制作出實(shí)物后,硬件并非按照理論上的情況成功進(jìn)行。經(jīng)過(guò)檢測(cè)發(fā)現(xiàn)單片機(jī)的工作電壓不能達(dá)到6V,導(dǎo)致LCD不能正常顯示,經(jīng)過(guò)穩(wěn)壓電路供電有問(wèn)題,經(jīng)過(guò)對(duì)焊接的修正和電容的更換,使單片機(jī)能獲得6V的正常工作,LCD正常工作。</p><p> 硬件測(cè)試:電子萬(wàn)年歷的電路系統(tǒng)較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線(xiàn)較多,對(duì)
71、于各種鋒利的引腳要注意處理,否則會(huì)刺被帶有包皮的導(dǎo)線(xiàn),則會(huì)對(duì)電路造成短路現(xiàn)象。</p><p> 在本成電子萬(wàn)年歷的設(shè)計(jì)調(diào)試中遇到了很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,以下為主要的問(wèn)題:</p><p> (1)LED數(shù)碼管的斷碼錯(cuò)亂,原因出于沒(méi)有認(rèn)真看清a、b 、c等引腳信息。</p><p> 解決:重新排列74LS47的輸出端,相應(yīng)接
72、入LED數(shù)碼管,即可解決出現(xiàn)在的斷碼或亂碼。</p><p> ( 2)對(duì)萬(wàn)年歷修改時(shí)間或日期時(shí),有時(shí)LED數(shù)碼管被屏蔽掉,造成不亮現(xiàn)象。</p><p> 解決:根據(jù)儀器的測(cè)試,發(fā)現(xiàn)電路的驅(qū)動(dòng)能力不足,最后在DS1302時(shí)鐘芯片的/CS、SCLK、RET端接入5.1K的上拉電阻后,電路的驅(qū)動(dòng)能力才能滿(mǎn)足,即可解決不亮現(xiàn)象。</p><p><b>
73、 5.3 軟件調(diào)試</b></p><p> 5.3.1 軟件測(cè)試儀器</p><p> 5.3.2 軟件調(diào)試與測(cè)試</p><p> 軟件調(diào)試方法與選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊設(shè)計(jì)技術(shù),則逐個(gè)模塊調(diào)好以后,再進(jìn)行系統(tǒng)程序總調(diào)試。</p><p> 對(duì)于模塊結(jié)構(gòu)程序,要對(duì)子程序逐個(gè)進(jìn)行調(diào)試。調(diào)試子程序是,
74、一定要符合入口條件和出口條件,調(diào)試手段可采用單步運(yùn)行方式和斷點(diǎn)運(yùn)行方式,通過(guò)檢查用戶(hù)系統(tǒng)CPU的現(xiàn)場(chǎng)、RAM的內(nèi)容和I/O口的狀態(tài),檢測(cè)程序執(zhí)行結(jié)果是符合設(shè)計(jì)要求。通過(guò)檢測(cè)可以發(fā)現(xiàn)程序中的死循環(huán)錯(cuò)誤、機(jī)器碼錯(cuò)誤和轉(zhuǎn)移地址的錯(cuò)誤,同時(shí)也可以發(fā)現(xiàn)用戶(hù)系統(tǒng)中的硬件故障,軟件算法和硬件設(shè)計(jì)錯(cuò)誤,在調(diào)試過(guò)程中不斷調(diào)整用戶(hù)系統(tǒng)的軟件和硬件,完成每個(gè)程序模塊的調(diào)試。</p><p> 每個(gè)程序模塊通過(guò)后,可以聯(lián)合各功能模塊進(jìn)
75、行整體程序綜合調(diào)試。在這一階段如果發(fā)生故障,可以分析子程序在運(yùn)行時(shí)是否破壞現(xiàn)場(chǎng)、緩沖單元是否發(fā)生沖突、零位的建立和清除在設(shè)計(jì)上是否失誤、堆棧區(qū)域是否溢出或輸入設(shè)備的狀態(tài)是否正常等。若用戶(hù)系統(tǒng)是在開(kāi)發(fā)系統(tǒng)的監(jiān)控程序下運(yùn)行,還要考慮用戶(hù)緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。</p><p> 單步運(yùn)行只能驗(yàn)證程序正確與否,而不能確定定時(shí)精度、CPU的實(shí)時(shí)響應(yīng)等問(wèn)題,所以單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試。除了觀
76、察穩(wěn)定性之外,還要觀察用戶(hù)系統(tǒng)的操作是否符合原始設(shè)計(jì)要求,以及安排的用戶(hù)操作是夠合理等,必要時(shí)還要做適當(dāng)修正。</p><p> DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫(xiě)DS1302,即寫(xiě)保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定
77、寫(xiě)操作(輸入), D0=1,指定讀操作(輸出)。 </p><p> 在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 </p><p> DS1302
78、與RAM相關(guān)的寄存器分為兩類(lèi):一類(lèi)是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;再一類(lèi)為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫(xiě)所有的RAM的31個(gè)字節(jié)。 </p><p> 電子成年歷是多功能的數(shù)字型,可以看當(dāng)前日期(陰、陽(yáng)歷),時(shí)間,還有溫度的儀器。電子成年歷功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫(xiě)程序和調(diào)
79、試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下:</p><p> 1、修改時(shí)間、日期時(shí)沒(méi)有農(nóng)歷沒(méi)有自動(dòng)對(duì)應(yīng)上。</p><p> 解決:把不相關(guān)的程序暫時(shí)屏蔽,地農(nóng)歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),
80、最后解決了此問(wèn)題。</p><p> 2、加入溫度的程序后,進(jìn)行修改時(shí)間、日期時(shí)相應(yīng)的數(shù)碼管位沒(méi)有按要求閃動(dòng)。</p><p> 解決:由于DS18B20是串行通信數(shù)據(jù),只用一個(gè)口線(xiàn)傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把萬(wàn)年歷的程序相接入時(shí),會(huì)對(duì)延時(shí)有很大的影響。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序反回時(shí)再打開(kāi)定時(shí)器1中斷允許,最終解決了此問(wèn)題。<
81、;/p><p><b> 5.4 聯(lián)調(diào)</b></p><p> 聯(lián)調(diào)是指讓用戶(hù)系統(tǒng)的軟件在其硬件上實(shí)際運(yùn)行,進(jìn)行軟、硬件聯(lián)合調(diào)試,從中發(fā)現(xiàn)硬件故障或軟、硬件設(shè)計(jì)錯(cuò)誤。這是對(duì)用戶(hù)系統(tǒng)檢驗(yàn)的重要一關(guān)。</p><p> 聯(lián)調(diào)主要解決以下問(wèn)題:</p><p> 1、軟、硬件能否按預(yù)定要求配合工作,如果不能,那么問(wèn)題出在
82、哪里?如何解決?</p><p> 2、系統(tǒng)運(yùn)行中是否有潛在的設(shè)計(jì)是難以預(yù)料的錯(cuò)誤,如硬件延時(shí)過(guò)長(zhǎng)造成工作時(shí)序不符合要求、布線(xiàn)不合理造成有信號(hào)串?dāng)_等。</p><p> 3、系統(tǒng)的動(dòng)態(tài)性能指標(biāo)(包括精度、速度參數(shù))是否滿(mǎn)足設(shè)計(jì)要求。</p><p> 系統(tǒng)聯(lián)調(diào)時(shí),首先采用單步、斷點(diǎn)、連續(xù)運(yùn)行方式調(diào)試與硬件相關(guān)的各程序段既可以檢驗(yàn)這些用戶(hù)程序段的正確性,又可以在
83、各功能獨(dú)立的情況下,檢驗(yàn)軟、硬件的配合情況。然后,將軟、硬件按系統(tǒng)工作要求進(jìn)行綜合運(yùn)行,采用全速斷點(diǎn)、連續(xù)運(yùn)行方式進(jìn)行總調(diào)試,以解決在系統(tǒng)總體運(yùn)行的情況下軟、硬件的協(xié)調(diào)與提高系統(tǒng)動(dòng)態(tài)性能。在具體操作中,用戶(hù)系統(tǒng)在開(kāi)發(fā)系統(tǒng)環(huán)境下,先借用仿真器的CPU、存儲(chǔ)器等資源進(jìn)行工作。若發(fā)現(xiàn)問(wèn)題,按上述軟、硬件調(diào)試方法準(zhǔn)確定位錯(cuò)誤,分析錯(cuò)誤原因,找出解決辦法。用戶(hù)系統(tǒng)調(diào)試完后,將用戶(hù)程序固化到用戶(hù)系統(tǒng)的程序存儲(chǔ)器中,再借用仿真器CPU使用戶(hù)系統(tǒng)運(yùn)行。
84、若無(wú)問(wèn)題,則用戶(hù)系統(tǒng)插上單片機(jī)即可正確工作(注意,不要忘記用戶(hù)系統(tǒng)時(shí)鐘、復(fù)位電路的調(diào)試)。</p><p> 5.5測(cè)試結(jié)果分析與結(jié)論</p><p><b> 1、測(cè)試結(jié)果分析:</b></p><p> (1) 在測(cè)試中遇到發(fā)光二極管、LCD液晶顯示屏為不顯示時(shí),首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察是否存在漏焊虛焊,或者元件損壞。<
85、;/p><p> (2) LCD液晶顯示屏顯示不正常,還有亮度不夠,首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察電路是否存在短路現(xiàn)象。查看燒寫(xiě)的程序是否正確無(wú)誤,對(duì)程序進(jìn)行認(rèn)真修改。</p><p> 2、測(cè)試結(jié)論:經(jīng)過(guò)多次的反復(fù)測(cè)試與分析,可以對(duì)電路的原理及功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力,同時(shí)在軟件的編程方面得到更到的提高,對(duì)編程能力得到加強(qiáng)。同時(shí)對(duì)所學(xué)的知識(shí)得到很大的提高與
86、鞏固。 </p><p><b> 第六章 總結(jié)</b></p><p> 制作這次畢業(yè)設(shè)計(jì)一切都是從零開(kāi)始,從最簡(jiǎn)單的畫(huà)流程圖起步。一步一個(gè)腳印地走過(guò)來(lái)。如果說(shuō)我們以前學(xué)的都是一些理論知識(shí)和分散的知識(shí),那么在這次畢業(yè)設(shè)計(jì)中則是系統(tǒng)的把大學(xué)里所學(xué)的連貫的靈活運(yùn)用起來(lái)。從最簡(jiǎn)單的電阻電容的識(shí)別和個(gè)電阻阻值的選擇,以及各種電子元器件的識(shí)別、使用及其檢測(cè),到電烙鐵的正確
87、使用以及焊接的要求及注意點(diǎn)、PCB板的布局及其制作了解,都有了更詳細(xì)和更專(zhuān)業(yè)的學(xué)習(xí)和實(shí)踐。</p><p> 這次的畢業(yè)設(shè)計(jì)對(duì)我來(lái)說(shuō)無(wú)疑是一次較好的動(dòng)手鍛煉機(jī)會(huì),因此從一開(kāi)始就抱著一種較認(rèn)真的態(tài)度,無(wú)論是從了解電子萬(wàn)年歷背景、意義、及其實(shí)現(xiàn)原理,還是后來(lái)的焊接對(duì)我來(lái)說(shuō)都是一種提高。</p><p> 在硬件部分的設(shè)計(jì)中。我在方案選擇上花了很大的功夫,比如說(shuō):在萬(wàn)年歷的顯示上到底是用LE
88、D數(shù)碼顯示還是用LCD液晶顯示,我做了很詳細(xì)的比較,選出最適合的。這樣在硬件設(shè)計(jì)時(shí)有關(guān)LCD液晶顯示的給、原理都有詳細(xì)的介紹。經(jīng)過(guò)查閱資料和版塊設(shè)計(jì)我不僅把大學(xué)所學(xué)的都回憶了一遍并且靈活得把他們串起來(lái)運(yùn)用。在硬件還有焊接的問(wèn)題,其要注意不能虛焊、漏焊、短焊。在軟件部分和調(diào)試部分,中間也遇到過(guò)一些問(wèn)題,但通過(guò)同學(xué)的幫助和老師的指導(dǎo)終于完成了設(shè)計(jì)。</p><p> 這次的制作使我明白做任何一件事都需要互相幫助和學(xué)
89、習(xí),任何事只有自己動(dòng)手了才會(huì)學(xué)得更多和理解的更透徹。在現(xiàn)代高速發(fā)展的今天,僅僅用一些理論知識(shí)來(lái)武裝大腦是不夠的,我們還需要用實(shí)際動(dòng)手操作能力來(lái)裝扮我們的雙手,只有這樣我們才能全面發(fā)展自己,成為社會(huì)需要的人才。 </p><p><b> 參考文獻(xiàn)</b></p><p> [1] 鄒伯敏. 自動(dòng)控制理論(第2版)[M].北京:機(jī)械工業(yè)出版社,2002,100~10
90、5。</p><p> [2] 胡輝 . 單片機(jī)原理及應(yīng)用設(shè)計(jì)[M].北京:中國(guó)水利水電出版社,2005,98~99。</p><p> [3] 康華光. 電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,1999,97~99。</p><p> [4] 陳杰,黃鴻.傳感器與感測(cè)技術(shù)[M].北京:高等教育出版社,2002,65~68。</p>
91、<p> [5] 劉守義. 單片機(jī)應(yīng)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2002,68~69。</p><p> [6] 秦實(shí)宏. 單片機(jī)原理與應(yīng)用技術(shù)[M].北京:中國(guó)水利水電出版社,2005,72~75。</p><p> [7] 雷思孝. 單片機(jī)原理及實(shí)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2004, 101~103。</p><p&
92、gt; [8]周航慈. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)(修訂版)[M].北京:北京航空航天大學(xué)出版社,2002,200。</p><p> 19] 張為民. CS-51系列單片機(jī)系統(tǒng)及其應(yīng)用,[M].北京:高等教育出版社,2004,59~62。</p><p> [10] 自動(dòng)化學(xué)報(bào)[J].2009,15(4):15~16。</p><p> [11]傳感器世界[J
93、].2009,15(3):18~19。</p><p><b> 附錄A</b></p><p><b> 總程序:</b></p><p> include "lcd1602.h"</p><p> #include "comm.h"</p&
94、gt;<p> #include "ds1302.h"</p><p> #include "key_contrl.h"</p><p> #include "18b20.h"</p><p> char array1[] = {0x11};//要寫(xiě)向 ram 里的數(shù)據(jù) 用來(lái)判斷
95、是否初始化 </p><p> char array2[] = {0x22};</p><p> void set_flag_init(void) //設(shè)置 是否初始化標(biāo)志 </p><p><b> {</b></p><p> Write1302(0x8e,0x40);</p>
96、<p> Write1302(0xc0, 0x11);</p><p> Write1302(0x8e,0x80);</p><p><b> }</b></p><p> void get_flag_init(void)</p><p><b> {</b></p>
97、<p> array2[0] = Read1302(0xc0|read);</p><p><b> }</b></p><p> void t0(void) interrupt 1 using 0</p><p> { TH0=(65535-50000)/256; //50ms定時(shí)</p><p
98、> TL0=(65535-50000)%256; </p><p> timecount++;re_disp++;</p><p> if(timecount>9){timecount=0;flag=~flag;} //50ms到了則反顯</p><p> if(re_disp>200){re_disp=0;if(id)id=0;
99、} //10秒到了則由調(diào)整模式自動(dòng)進(jìn)入正常顯示模式</p><p><b> }</b></p><p> void main(void)</p><p><b> {</b></p><p> TMOD=0x01;//初始化定時(shí)器 t0方式1</p><p&
100、gt; TH0=(65535-50000)/256;</p><p> TL0=(65535-50000)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1; </b><
101、/p><p> LCMInit(); //LCM初始化</p><p> Delay5Ms(); //延時(shí)片刻(可不要) </p><p> get_flag_init();</p><p> if(array2[0]==0x11)</p><p><b> {</b></p&
102、gt;<p><b> ;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Set1302(inittime);</p>
103、;<p> set_flag_init();</p><p><b> }</b></p><p> Write1302(0x90,0xa0);//關(guān)閉充電二級(jí)管,不能對(duì)后備電池進(jìn)行充電,防止發(fā)脹,原來(lái)的程序是打開(kāi)的請(qǐng)關(guān)閉 </p><p> Write1302(0x8e,0x80);//寫(xiě)禁止寫(xiě)操作</p>
104、;<p> Write1302(0x8e,0x00);//允許寫(xiě)操作</p><p> Write1302(0x8e,0x80);//寫(xiě)保護(hù),禁止寫(xiě)操作</p><p><b> while(1)</b></p><p><b> {</b></p><p> Scan_Ke
105、y();</p><p><b> }</b></p><p><b> }</b></p><p> 定義一個(gè)接口和延時(shí)函數(shù)</p><p> #ifndef __comm_h</p><p> #define __comm_h</p><p
106、> #include "lcd1602.h"</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit beep = P2^7;</p><p> void delay_LCM(uint k)
107、</p><p> {uint i,j;</p><p> for(i=0;i<k;i++){for(j=0;j<60;j++){;} }</p><p><b> 附錄B</b></p><p><b> 實(shí)物圖和仿真圖</b></p><p><
108、b> 總原理圖</b></p><p><b> 致謝</b></p><p> 第一次花費(fèi)如此長(zhǎng)的時(shí)間和如此多的精力,完成一篇具有一定學(xué)術(shù)價(jià)值的論文,其中的艱辛與困難難以訴說(shuō),雖然其中沒(méi)有什么值得特別炫耀的成果,但對(duì)我而言,它是寶貴的——它是無(wú)數(shù)教誨、關(guān)愛(ài)和幫助的結(jié)果。</p><p> 首先我要感謝我的指導(dǎo)教師**
109、*老師。***雖身負(fù)教學(xué)、科研重任,仍抽出時(shí)間,在炎熱的夏天不時(shí)召集我們組的同學(xué)給與指導(dǎo)、督促,殷殷之情盡在諄諄教誨中。這篇論文更傾注了她的大量心血。從初稿到定稿,***不厭其煩,一審再審,大到篇章布局的偏頗,小到語(yǔ)句格式的瑕疵,都一一予以指出。同時(shí),我要感謝所有給我上過(guò)課老師,是他們傳授給我方方面面的知識(shí),拓寬了我的知識(shí)面,培養(yǎng)了我的功底,這些對(duì)論文的完成有莫大的作用。我還要感謝學(xué)院的各位工作人員,他們細(xì)致的工作使我和同學(xué)們的學(xué)習(xí)和生
110、活井然有序。</p><p> 我還要向我的父母和家人表示誠(chéng)摯的謝意。他們無(wú)微不至的關(guān)懷,是我前進(jìn)的動(dòng)力;他們的殷殷希望,激發(fā)我不斷前行。沒(méi)有他們就沒(méi)有今天的我。</p><p> 讓我依依不舍的還有各位同學(xué)和朋友們。在我需要幫助的時(shí)候,他們盡心地幫助讓我很受感動(dòng)。能和他們相遇、相交、相知是人生的一大幸事。</p><p> 本論文的完成遠(yuǎn)非終點(diǎn),文中的不足和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 51單片機(jī)萬(wàn)年歷畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬(wàn)年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的萬(wàn)年歷設(shè)計(jì)
- 基于51單片機(jī)的液晶萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 51基于單片機(jī)的電子萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 【畢業(yè)設(shè)計(jì)】基于51單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)
- 基于51單片機(jī)的電子萬(wàn)年歷畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)
- 基于at89c51單片機(jī)萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于mcs-51單片機(jī)的萬(wàn)年歷設(shè)計(jì)
- 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬(wàn)年歷的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)萬(wàn)年歷的設(shè)計(jì)
- 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)萬(wàn)年歷系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于at89c51單片機(jī)萬(wàn)年歷的畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的測(cè)溫萬(wàn)年歷畢業(yè)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的萬(wàn)年歷
評(píng)論
0/150
提交評(píng)論