




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1 數字溫度計設計任務、功能要求說明1.1 數字溫度計設計任務學生通過理論設計和實物制作解決相應的實際問題,鞏固和運用在單片機技術中所學的理論知識和實驗技能,掌握單片機應用系統的一般設計方法,提高設計能力和實踐動手能力,為以后從事電子電路設計、研發電子產品打下良好的基礎。(1) 熟悉單片機的定義、名稱、分類方法;(2) 了解單片機的特點、應用范圍及發展歷史;(3) 熟悉單片機應用系統、單片機開發系統的區別;(4) 了解單片機芯片內部各功能模塊的作用;(5) 了解單片機的時序定時單位;(6) 熟悉單片機的信號引腳;(7) 熟悉單片機并行I/O口的結構及特點;(8) 熟悉單片機的不同工作方式;(9
2、) 掌握單片機存儲器的分類及特點;(10) 掌握單片機的時鐘電路、復位電路的工作原理。1.2 數字溫度計設計功能要求說明設計一個具有特定功能的數字溫度計。該數字溫度計上電或按鍵復位后能自動顯示系統提示符“P.”,進入準備工作狀態。測量溫度范圍099,測量精度小數點后兩位,可以通過開始和結束鍵控制數字溫度計的工作狀態。編程語言:匯編或C51。1.3 設計總體方案介紹及工作原理說明采用數字溫度芯片DS18B20 測量溫度,輸出信號全數字化。便于單片機處理及控制,省去傳統的測溫方法的很多外圍電路。且該芯片的物理化學性很穩定,此元件線形較好。在0100 攝氏度時,最大線形偏差小于1 攝氏度。DS18B
3、20 的最大特點之一采用了單總線的數據傳輸,由數字溫度計DS18B20和微控制器AT89S51構成的溫度測量裝置,它直接輸出溫度的數字信號,可直接與計算機連接。這樣,測溫系統的結構就比較簡單,體積也不大。采用51 單片機控制,軟件編程的自由度大,可通過編程實現各種各樣的算術算法和邏輯控制,而且體積小,硬件實現簡單,安裝方便。既可以單獨對多DS18B20控制工作,還可以與PC 機通信上傳數據,另外AT89S51 在工業控制上也有著廣泛的應用,編程技術及外圍功能電路的配合使用都很成熟。系統框圖主要由主控制器、單片機復位、時鐘振蕩、LED顯示、溫度傳感器組成,系統總體框圖如圖1所示。主控制器AT89
4、S52驅動顯示電路DS18B20圖1 系統總體框圖利用溫度傳感器DS18B20可以直接讀取被測溫度值,進行轉換的特性,模擬溫度值經過DS18B20處理后轉換為數字值,然后送到單片機中進行數據處理,處理后的數據送到LED中顯示。本課題以是AT89S52單片機為核心設計的一種數字溫度控制系統,系統整體硬件電路包括,傳感器數據采集電路,溫度顯示電路,單片機主板電路等組成。系統框圖如圖2所示。圖2 數字溫度計系統框圖2 數字溫度計硬件系統的設計2.1 數字溫度計硬件系統各模塊功能簡要介紹在課題設計的溫度控制系統設計中,控制核心是AT89S52單片機,該單片機為51系列增強型8位單片機,它有32個I/O
5、口,片內含4K FLASH工藝的程序存儲器,便于用電的方式瞬間擦除和改寫,其外部晶振為12MHz,一個指令周期為1S。使用該單片機完全可以完成設計任務,各模塊的功能如下:DS18B20測溫模塊:單片機P3.0口接單線總線,為保證在有效的DS18B20時鐘周期內提供足夠的電流。單片機最小系統:由AT89S52單片機、時鐘電路和復位電路構成。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。時鐘電路由一個12MHz的石英晶體振蕩器和兩個33pF的的電容組成振蕩電路和分頻電路。復位電路采用上電復位和按鍵復位結合的方式對電路進行復位,主要是通過RST引腳送入
6、單片機。單片機最小系統為整個電路的核心。LED顯示電路模塊:采用兩個四位一體共陽型數碼管顯示器進行顯示。由于位控線的驅動電流較大,因此在P2口線上接了8個PNP型三極管提高驅動能力;在單片機的P1口線和P2口線上接了16個470的電阻,這些電阻起限流的作用。將段控口a-dp接在P0.0-P0.7上,位控口接在P2口線上,實現對顯示的控制。LED顯示電路模塊主要用來顯示溫度及報警信息。蜂鳴電路模塊:單片機P3.1口線上接上一個1K電阻然后再通過一個PNP型三極管與蜂鳴器相連接組成蜂鳴器電路,接入PNP型三極管是為了增強蜂鳴器的驅動電流。獨立式鍵盤模塊:采用獨立式鍵盤接法,共有8個按鍵來對電路進行
7、控制。分別通過上拉電阻接在單片機的P1口線上。其中S1S5在本電路中完成各項功能。片內振蕩器和時鐘產生電路:但石英晶體和微調電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達40MHz,因而大大的提高了指令的執行速度。2.2 溫度檢測DS18B20是DALLAS公司生產的一線式數字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強易配處理器等優點,特別適合用于構成多點溫度測控系統,可直接將溫度轉化成串行數字信號(按9位二進制數字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測量范圍55125,可編程為912
8、位A/D轉換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數字量方式串行輸出,其工作電源既可在遠端引入,業可采用寄生電源方式產生,多個DS18B20可以并聯到三根或者兩根線上,CPU(Central Processing Unit,計算機中央處理器)只需一根端口線就能與多個DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠距離多點溫度檢測系統。DS18B20的內部結構如圖3所示。圖3 DS18B20的內部結構圖在本系統中采用溫度芯片DS18B20測量溫度。該芯片的物理化學性很穩定,它能用做工業測溫元件,且此元件
9、線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機傳輸數字信號,便于單片機處理及控制。 圖4 溫度芯片DS18B20在本系統中采用溫度芯片DS18B20測量溫度。該芯片的物理化學性很穩定,它能用做工業測溫元件,且此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機傳輸數字信號,便于單片機處理及控制。其測溫電路如圖5所示。圖5 18B20測溫電路圖正確接線的方法如圖6所示。左負右正,一旦接反就會立刻燒掉。接反是導致該傳感器總是顯示85的原因。圖6 18B20接線圖2.3 AT89S52主控制模塊AT89S52 是一個低功耗,高性能CMOS 8位
10、單片機,片內含8k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及AT89S52引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應用系統提供高性價比的解決方案。AT89S51具有如下特點:40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個1
11、6位可編程定時計數器,2個全雙工串行通信口,片內時鐘振蕩器。此外,AT89S52設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。由于系統控制方案簡單 ,數據量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設計中選用 A TMEL 公司的 A T89S52單片機作為主控芯片。主控模塊采用單片機最小系統是由于 A T89S52芯片內含有4 kB的 E2PROM ,無需外擴存儲器 ,電路簡單可靠 ,其時鐘頻率為 024 MHz ,并
12、且價格低廉 ,批量價在 4元左右。AT89S52內部結構圖如圖7所示。圖7 AT89S52內部結構圖其主要功能特性: 兼容MCS-51指令系統 4k可反復擦寫(>1000次)ISP Flash ROM 32個雙向I/O口 4.5-5.5V工作電壓 2個16位可編程定時/計數器 時鐘頻率0-33MHz 全雙工UART串行中斷口線 128x8 bit內部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密 靈活的ISP字節和分頁編程 雙數據寄存器指針 可以看出AT89S52提供以下標準功能:4K字節Flash閃速存儲器,128字節內部RAM,32個I/O口線,兩個數據指針
13、,兩個16位定時器/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘。AT89S52引角功能說明Vcc:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數據總線復用口,作為輸出口用時,每位能驅動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端口。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。P1口:P1是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)
14、4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號校驗期間,P1接收低8位地址。P1口第二功能如表1所示。表1 P1口的第二功能引腳號第二功能P1.0T2(定時器/計數器T2的外部計數輸入),時鐘輸出P1.1T2EX(定時器/計數器T2的重載觸發信號和方向控制)P1.5MOSI(在系統編程用)P1.6MISO(在系統編程用)P1.7SCK(在系統編程用)P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平
15、,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流I。在訪問位地址的外部數據存儲器(如執行:MOVX Ri 指令)時,P2口線上的內(也即特殊功能寄存器,在整個訪問期間不改變。Flash 編程或校驗時,P2也接收高位地址和其它控制信號。)P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。作輸入端口時,被外部拉低的P3口將用上拉電阻輸出電流I。P3的特殊功能如表2所示。表2 P3的特殊功能口管腳備選功能P3.0 RXD(串行
16、輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)RST:復位輸入。當振蕩工作時,RST引腳出現兩個機器周期上高電平將使單片機復位。WDT益出將使該引腳輸出高電平,設置SFR AUXR 的 DISRTO 位(地址8EH)可打開或關閉該功能。DISRTO 位缺省為RESET輸出高電平打開狀態。ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位
17、字節。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出的正脈沖信號,因此它可對外輸出時鐘或用于定時目地,要注意的是:第當訪問外部數據存儲器時將跳過一個ALE脈沖。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令ALE才會被激活。此外,該引腳伎被微弱拉高,單片機執行外部程序時,應設置ALE無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數據存儲器,高有兩次有效的PSEN信
18、號。EA/VPP:外部訪問允許。欲使CPU公訪問外部程序存儲器(地址0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU則執行內部程序存儲器中的指令。Flash存儲器編程時,該引腳加上12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內部時鐘發生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。AT89S52單片機引腳圖如圖8: 圖8 AT89S52單片機引腳圖 2.4 最小系統電路簡介在課題設計的溫度控制系統設計中,控制核心是AT89S52單片機,該單片機為51系列增強型8位單片機,它
19、有32個I/O口,片內含4K FLASH工藝的程序存儲器,便于用電的方式瞬間擦除和改寫,其外部晶振為12MHz,一個指令周期為1S。使用該單片機完全可以完成設計任務,其最小系統主要包括:復位電路、晶振電路、電源電路以及數碼管顯示電路。2.4.1 復位電路單片機在啟動時都需要復位,以使CPU及系統各部件處于確定的初始狀態,并從初態開始工作。89系列單片機的復位信號是從RST引腳輸入到芯片內的施密特觸發器中的。當系統處于正常工作狀態時,且振蕩器振蕩器 振蕩器是收發設備的基礎電路,它的作用是產生一定頻率的交流信號,是一種能量轉換裝置將直流電能轉換為具有一定頻率的交流電能。 全文穩定后,如果RST引腳
20、上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應并將系統復位。AT89S52單片機基本復位電路共有上電復位、按鍵電平復位和按鍵脈沖復位3種。本次課程設計的復位電路采用按鍵電平復位,按鍵電平復位是通過使復位端經電阻與vcc電源接通實現的復位電路的基本功能是:系統上電時提供復位信號,直至系統電源穩定后,撤銷復位信號。為可靠起見,電源穩定后還要經過一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。單片機復位電路參數的選定須在振蕩穩定后保證復位高電平持續時間大于2個機器周期。復位電路如圖9所示。圖9 復位電路2.4.2 晶振電路晶振是石英振蕩器
21、的簡稱,英文名為Crystal,晶振分為有源晶振和無源晶振兩種,其作用是在電路產生震蕩電流,發出時鐘信號。它是時鐘電路中最重要的部件,它的作用是向IC等部件提供基準頻率,它就像個標尺,工作頻率不穩定會造成相關設備工作頻率不穩定,自然容易出現問題。由于制造工藝不斷提高,現在晶振的頻率偏差、溫度穩定性、老化率、密封性等重要技術指標都很好,已不容易出現故障,但在選用時仍可留意一下晶振的質量。晶振的作用是為系統提供基本的時鐘信號。通常一個系統共用一個晶振,便于各部分保持同步。有些通訊系統的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。晶振通常與鎖相環電路配合使用,以提供系統所需的時鐘頻率
22、。如果不同子系統需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環來提供。單片機晶振兩個電容的作用:這兩個電容叫晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,一般在幾十皮發。它會影響到晶振的諧振頻率和輸出幅度,一般訂購晶振時候供貨方會問你負載電容是多少。在本系統中設計電容大小為3pf。其晶振電路圖如圖10所示。 圖10 晶振電路 2.4.3 電源電路 在本系統中使用+5V穩壓電源,可以使用USB電源插座。也可以使用下載線口提供電。還可以使用插針供電,電路圖如圖11所示。圖11 電源電路2.4.4 LED顯示電路數碼管可以分為共陽極與共陰極兩種,共陽極就是把所有LED的陽極連接到共
23、同接點vcc,而每個LED的陰極分別為a、b、c、d、e、f、g及dp(小數點);共陰極則是把所有LED的陰極連接到共同接點,而每個LED的陽極分別為a、b、c、d、e、f、g及dp(小數點)。下圖中的8個LED分別與上面那個圖中的ADP各段相對應,通過控制各個LED的亮滅來顯示數字。顯示電路有兩個四位7段數碼管顯示。如圖12所示。 圖12 數碼管顯示電路2.5 數字溫度計電路原理圖、PCB圖、元器件布局圖2.5.1 電路原理圖原理圖見附錄A 。2.5.2 PCB圖PCB圖見附錄B。2.5.3 元器件布局圖元器件布局圖見附錄C。2.6 數字溫度計元器件清單元器件清單見附錄D。2.7 數字溫度計
24、系統仿真設計 利用軟件proteus仿真原理圖如圖13所示。 圖13 數字溫度計proteus仿真原理圖3 數字溫度計軟件系統的設計3.1 數字溫度計使用單片機資源的情況整個系統的功能是由硬件電路配合軟件來實現的,當硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監控軟件(主程序),它是整個控制系統的核心,專門用來協調各執行模塊和操作者的關系。二是執行軟件(子程序),它是用來完成各種實質性的功能如測量、計算、顯示、通訊等。每一個執行軟件也就是一個小的功能執行模塊。這里將各執行模塊一一列出,并為每一個執行模塊進行功能定義和接口定義。各執行模塊規劃好后,就可以規劃監控
25、程序了。首先要根據系統的總體功能選擇一種最合適的監控程序結構,然后根據實時性的要求,合理地安排監控軟件和各執行模塊之間地調度關系。本設計采用獨立式鍵盤,鍵盤直接接在P1口上且按鍵的結果存貯在單片機的內部數據存儲器里面。用到的LED顯示器接到了單片機的P0口線上和P2口線上。DS18B20和蜂鳴器接在P3口線上。3.2 數字溫度計軟件系統各模塊功能簡要介紹3.2.1 主程序#include<intrins.h> /包含_nop_()函數定義的頭文件/#define T 100unsigned char duan16=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82
26、,#include<reg52.h> /包含單片機寄存器的頭文件 0xF8,0x80,0x90,0x8c,0xce,0x86,0xAB,0xA1,0xff;/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15/ PTEnD滅 unsigned char wei=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;以下是DS18B20的操作程序 sbit DQ=P30;unsigned char time; /設置全局變量,專門用于嚴格延時3.2.2 DS18B20傳感器初始化bit Init_DS18B20(void) bit fl
27、ag; /儲存DS18B20是否存在的標志,flag=0,表示存在;flag=1,表示不存在 DQ = 1; /先將數據線拉高 for(time=0;time<2;time+) /略微延時約6微秒; DQ = 0; /再將數據線從高拉低,要求保持480960us for(time=0;time<200;time+) /略微延時約600微秒 ; /以向DS18B20發出一持續480960us的低電平復位脈沖 DQ = 1; /釋放數據線(將數據線拉高) for(time=0;time<16;time+) ; /延時約30us(釋放總線后需等待1560us讓DS18B20輸出存在
28、脈沖) flag=DQ; /讓單片機檢測是否輸出了存在脈沖(DQ=0表示存在) for(time=0;time<200;time+) /延時足夠長時間,等待存在脈沖輸出完畢 ; return (flag); /返回檢測成功標志3.2.3 DS18B20讀取字節數據unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat; /儲存讀出的一個字節數據for (i=0;i<8;i+) DQ =1; / 先將數據線拉高 _nop_(); /等待一個機器周期 DQ = 0; /單片機從DS18B20讀書據時,將數據線
29、從高拉低即啟動讀時序dat>>=1; _nop_(); /等待一個機器周期 DQ = 1; /將數據線"人為"拉高,為單片機檢測DS18B20的輸出電平作準備 for(time=0;time<2;time+) ; /延時約6us,使主機在15us內采樣 if(DQ=1) dat|=0x80; /如果讀到的數據是1,則將1存入datelsedat|=0x00; /如果讀到的數據是0,則將0存入dat /將單片機檢測到的電平信號DQ存入ri for(time=0;time<8;time+) ; /延時3us,兩個讀時序之間必須有大于1us的恢復期 ret
30、urn(dat); /返回讀出的十進制數據3.2.4 DS18B20寫入字節數據void WriteOneChar(unsigned char dat) unsigned char i=0;for (i=0; i<8; i+) DQ =1; / 先將數據線拉高 _nop_(); /等待一個機器周期 DQ=0; /將數據線從高拉低時即啟動寫時序 DQ=dat&0x01; /利用與運算取出要寫的某位二進制數據, /并將其送到數據線上等待DS18B20采樣 for(time=0;time<10;time+) ; /延時約30us,DS18B20在拉低后的約1560us期間從數據線
31、上采樣 DQ=1; /釋放數據線 for(time=0;time<1;time+) ; /延時3us,兩個寫時序間至少需要1us的恢復期 dat>>=1; /將dat中的各二進制位數據右移1位 for(time=0;time<4;time+) ; /稍作延時,給硬件一點反應時間3.2.5 啟動溫度測量 void ReadyReadTemp(void) Init_DS18B20(); /將DS18B20初始化WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉換 for(time=0;time<100
32、;time+) ; /溫度轉換需要一點時間Init_DS18B20(); /將DS18B20初始化WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar(0xBE); /讀取溫度寄存器,前兩個分別是溫度的低位和高位3.2.6 讀取溫度void display_delay(void) unsigned int time1=100; while(time1) time1- ; void display(unsigned char gewei,unsigned char shiwei ,unsigned char baiwei,unsigned char shi,un
33、signed char bai,unsigned char qian,unsigned char wan) P0=duanwan; P2=wei6; /十分位 display_delay(); P2=0xff; P0=duanqian; P2=wei5; /十分位 display_delay(); P2=0xff; P0=duanbai; P2=wei4; /十分位 display_delay(); P2=0xff; P0=duanshi; P2=wei3; /十分位 display_delay(); P2=0xff; P0=duangewei&0x7f; P2=wei2; /個位 d
34、isplay_delay(); P2=0xff; P0=duanshiwei; P2=wei1; /十位 display_delay(); P2=0xff; P0=duanbaiwei; P2=wei0; /百位 display_delay(); P2=0xff; P0=0xff; void main(void)unsigned char TL,TH,TD,TN; unsigned char gewei,shiwei,baiwei,shi,bai,qian,wan; unsigned int xiaoshu; DQ=1;while(1) ReadyReadTemp(); TL=ReadOneC
35、har(); /先讀的是溫度值低位TH=ReadOneChar(); /接著讀的是溫度值高位TN=TH*16+TL/16; /實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16 TD=(TL&0x0f);xiaoshu=625*TD;gewei=TN%10;shiwei=(TN/10)%10;baiwei=TN/100;if(baiwei=0) baiwei=15;/滅 if(baiwei=15&&shiwei=0) shiwei=15;/滅shi=(xiaoshu/1000)%10;bai=(xiaoshu/100)%10;qian=(xiaoshu
36、/10)%10;wan=xiaoshu%10;display(gewei,shiwei,baiwei,shi,bai,qian,wan);3.3 數字溫度計軟件系統程序流程框圖 圖14 主程序流程框圖圖15 DS18B20傳感器初始化程序流程框圖圖16 DS18B20讀取字節數據程序流程框圖圖17 DS18B20寫入字節數據程序流程框圖圖18 啟動溫度測量程序流程框圖圖19 DS18B20讀取溫度程序流程框圖3.4 數字溫度計軟件系統程序清單 數字溫度計軟件系統程序清單見附錄F。4 數字溫度計設計結論、設計結果、誤差分析、教學建議4.1 設計結論本課程設計課題是數字溫度計,本課程設計說明書介紹
37、了基于AT89S52單片機的數字溫度計控制系統的設計,對整個硬件電路和軟件程序設計做了分析,文中介紹了數字溫度計的現狀及發展,介紹了數字溫度計的設計方案選擇及原理介紹,加深了51單片機的知識了解,介紹51單片機的結構、特點等。并學習了數字溫度傳感器DS18B20,設計軟件仿真,更直觀的反應設計的正確性。本課程設計說明書對其中的一些基本原理也做了簡要的概述。其實寫完了本課程設計說明書,也僅僅是對數字溫度計控制系統做出了一個簡單的設計方案,數字溫度計科利用在很多領域,在一些人不能直接進入的場所,利用單片機控制的數字溫度計,可以設置并控制其中的溫度,數字溫度計還可以利用在溫室中,這樣就可以方便的控制
38、溫室中的溫度,當溫度超過所要求的溫度時,可發生報警。報警溫度范圍為(高于23度或低于15度)。數字溫度計其利用在很多領域。本課題只是單片機控制數字溫度計系統得一種設計方法。4.2 設計結果如圖20所示,上電或復位后溫度計進入準備狀態,顯示“P.”。圖20 復位顯示P.如下圖21所示,當按下第1個鍵時,顯示的是此時測量的溫度值。圖21 溫度測量結果圖4.3 誤差分析在本課程設計中設置DS18B20的分辨率為默認的12位分辨率,其可分辨溫度為:0.0625。在課程設計功能要求中,要求精確到小數點后兩位,讀數精度為0.1。由此可知這中間存在著的誤差有可能來源是:對所測溫度數據進行處理時進行了四舍五入
39、;由DS18B20的分辨率本身決定。減小誤差的方法:從分辨率來看12位分辨率已是DS18B20的最大分辨率,所以無法通過加大分辨率來來減小誤差,但我們可以同過顯示三位小數,在數據處理過程中減小誤差4.4 設計總結在做這次課程設計的過程中,我感觸最深的當屬查閱大量的設計資料了。為了讓自己的設計更加完善,查閱這方面的實際資料是十分必要的,也是必不可少的。其次,在這次課程設計中,我們運用了以前學過的專業課知識,如:proteus仿真、匯編語言、模擬和數字電路知識等。雖然過去我從未獨立應用過他們,但在學習的過程中帶著問題去學我發現效率很高,這是我做這次課程設計一收獲。最后,要做好一個課程設計,就必須做
40、到:在設計程序之前,對所用單片機的內部結構有一個系統的了解,知道該單片機有哪些資源;要有一個清晰的思路和一個完整的軟件流程圖;在設計程序時,不能妄想一次將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養成注釋程序的好習慣,這樣為資料的保留和交流提供了方便;在設計中遇到的問題要記錄,以免下次遇到同樣的問題。在這次的課程設計中,我真正的意識到,在以后的學習中,要理論聯系實際,把我們所學的理論知識用到實際當中,學習單片機更是如此,程序只有在經常寫與讀的過程中才能提高,這就是這次課程設計的最大收獲。4.4 教學建議與凌云老師一起學習了學期的單片機技術后,我受益匪淺,這不僅在學習上,而且也在
41、做人和生活上。經過這一學期的學習后,我覺得老師有很多教學方法都是十分對學生和老師有意處的,值得在今后的教學中繼續推廣,比如:能負責本門課程的相關實驗和課程設計,而不是只負責理論課或其他任何一項,這樣有助于同學們學習的連貫性,同時,老師也可以更好的掌握同學們的學習情況。希望這一點能在跟多的老師中得到推廣。把集中在期末的課程設計這個相對的大工程分散化,這樣能夠減輕同學們在緊張的期末的任務,有利于同學們跟好的調節學習進程。能夠積極的參與職教班級的班級活動,有助于老師與同學之間的升入了解,從單純的師生關系上升到朋友關系,能夠緩解相對緊張的教學氛圍。結束語通過課程設計的學習,還是學到了不少的知識!不僅糾
42、正了課程學習過程中出現的許多錯誤,還在試驗中驗證了自己的一些猜想。在學習的過程中有失敗,當然也有困惑,有成功,當然就有喜悅。雖然只是課程設計,但我拿出了自己的全部精力去對待,能學到知識固然值得驕傲,能認識到自己的過錯和不足不也是一件幸事嗎!做學問也是做人,再作學問的過程中體味做人的道理不也是一種收獲嗎?記得古語中說:“學,然后知不足”!希望這次學習只是我學習單片機的開始,也算是啟蒙吧!我必將更加努力的學習它完善自己。我想這就是我學習這門課的最大感受吧!此次課程設計令我受益匪淺,但遇到的困難也不少。在電路設計上,讓我深刻體會到自身在專業知識方面的缺乏,一些專業素語還是第一次接觸,這時互聯網就很好
43、的發揮了作用,搜一搜,很快就可以得到答案。由于對電路設計缺乏經驗,此次設計需要大量借鑒相關專業知識的書籍,并且詢問同學老師,請求指導。古人說的好“三人同行必有我師”,不明白的問題,同學間的討論,老師的用心指導,是我得以順利完成本次數字溫度計設計課題任務的前提。在這個過程中,我體會到了從耕耘到收獲的快樂,從遇到困難到解決困難,從提出問題到解決問題,從茫然到明了,這些過程都讓我收獲甚多,學到了一些未曾涉及到的知識。在此,我要感謝老師的悉心指導,感謝提供幫助的老師和同學。致謝本課程設計是在指導老師凌云老師的細心指導以及同學們的幫助下完成的。從課程設計的選題、具體設計到論文的最后完稿所取得的每一點成績
44、都傾注了老師的心血。指導老師嚴謹治學的態度、淵博的學識、對事業執著追求的精神以及對本人在學習、生活等各方面無微不至的關懷和幫助,都將使我終生受益。在此,十分感謝在課程設計中幫助過我的同學!值此論文完成之際,謹向導師致以最崇高的敬意和最衷心的感謝。參考文獻1 李廣弟,朱月秀,王秀山.單片機基礎北京航空航天大學出版社M,2001(07).LiGuangDi, ZhuYueXiu, WangXiuShan. The single chip microcomputer basis of the Beijing university of aeronautics &astronautics pr
45、ess, M2001 (7). (in Chinese)2 蔡美琴,張為民等.MCS-51系列單片機系統及其應用高等教育出版社,M2004(06).CaiMeiQin, ZhangWeiMin etc. The MCS - 51 series microcontroller system and its application "higher education press, M2004 (6). (in Chinese)3 康華光.電子技術基礎 模擬部分高等教育出版社 ,M1998(08). Kang hua. "electronic technology foundat
46、ion simulation part of higher education press, 1998 (euro). 4 (6). M (in Chinese)附錄A附錄B圖B 數字溫度計PCB圖附錄C圖C1 PCB頂層圖圖C2 PCB底層圖圖C3 PCB元器件布局圖元器件及材料名稱規格數目備注AT89S5240P1DS18B201AT89S52芯片插座40P1四位一體共陽數碼管2數碼管單排插座(母)40P1晶振12MHz1發光二極管9單排插針(公)40P1三極管90129蜂鳴器1小按鍵9下載口座子十芯1六腳按鍵開關1Usb電源線1Usb電源線插座1電阻2001電阻4.7k1電阻1K3電阻47024電解電容22uf1瓷片電容33pf2排阻10k2短路冒2杜邦線8P1PCB板子1附錄D表1 數字溫度計元器件清單附錄E圖E1 實物正面圖圖E2 實物反面圖附錄FC語言程序清單:/*/項目名:數字溫度計設計者:郭盈才時間:2012年12月1日/*/項目功能:設計一個具有特定功能的數字溫度計。該數字溫度計上電或按鍵復位后能自動顯示系統提示符“P.”,進入準備工作狀態。測量溫度范圍099,溫度高于25報警,低于13
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧農業農業科技項目策劃書
- 新疆吐魯番市高昌區亞爾鎮中學2024-2025學年數學三下期末聯考模擬試題含解析
- 版臨時場地租用合同
- 東鄉區合同交易中心
- 長沙二手車買賣合同范本
- 企業飲用水采購合同集中采購
- 不可撤銷買賣合同模板
- 第十一課 確立人生目標(2課時)公開課一等獎創新教案七年級道德與法治上冊
- 幼兒表演性舞蹈《邊走邊唱》
- 寧波市北侖區二年級數學(上冊)期末測試卷
- 員工食堂就餐協議書
- 創傷緊急救護知識課件
- 醫院單位單位內部控制自我評價報告
- 湖北省第十屆湖北省高三(4月)調研模擬考試數學試題及答案
- 2025年03月廣東深圳市光明區科技創新局公開招聘專干5人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 內蒙古通遼市科左中旗實驗小學2025屆數學三下期末質量檢測試題含解析
- 高溫急救知識培訓
- 學前教育學 課件 第1、2章 緒論;學前教育的目標、內容的方法
- 2025北京豐臺高三一模物理試題及答案
- 江南美術遺產融入美育的數智化路徑探索
- 西雅圖駕駛證考題及答案
評論
0/150
提交評論