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