【正文】
test has impact to our life, work, scientific research, each domain, has bee a very important thing, so the design of a temperature testing system is imperative. This paper introduces a detection system based on liquid crystal 1602 single chip microputer intelligent in detail using digital temperature sensor DS18B20 temperature measurement and control system in the development process, focusing on sensor under the single chip microputer hardware connection, software programming and the flow diagram of each module system are analyzed in detail, on the part of the circuit are introduced one by one, the system can easily realize the collection of temperature and alarm, and can according to need any upper and lower alarm temperature, it is quite convenient to use and has high precision, wide range, high sensitivity, small volume, low power consumption, suitable for our daily life and the temperature measurement in industrial and agricultural production, also can treat as temperature processing module into other systems, as an aid in the extension of other main with AT89S51 realize the minimalist temperature alarm system, the system structure is simple, strong antijamming capability, suitable for harsh environments onsite temperature measurement, have broad application prospects. Key words: single chip microputer。 1602 液晶也叫 1602 字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的 點陣 型液晶模塊。 5 LCD1602 有 16 個管腳,下面結(jié)合我本人收集的關(guān)于 LCD1602 的數(shù)據(jù)手冊來對引腳做詳細的分析: 1602 采用標準的 16 腳接口,其中: 第 1 腳: GND 為 電源地 第 2 腳: VCC 接 5V 電源正極 第 3 腳: V0 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生 “ 鬼影 ” ,使用時可以通過一個 10K 的電位器調(diào)整對比度)。 第 7~ 14 腳: D0~ D7 為 8 位雙向數(shù)據(jù)端。 LCD1602 的時序: 6 溫度傳感器 DS18B20 的選擇 DS18B20 是 Dallas 公司繼 DS1820 后推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)的熱敏電阻相比,只需一根線就能直接讀出被測溫度值,并可根據(jù)實際需求來編程實現(xiàn) 9~12 位數(shù)字值的讀數(shù)方式 [3]。因為每只 DS18B20 都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。它是一個大于 281*1012 的十進制編碼,作為該芯片的唯一標示代碼;最后 8 位為前 56 位的 CRC 循環(huán)冗余校驗碼,由于每個芯片的 64 位 ROM 代碼不同,因此在單總線上能夠并接多個 DS18B20 進行多點溫度實習(xí)檢驗。當接收到溫度轉(zhuǎn)換命令( 44H)后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以 16 位帶符號擴展的的二進制補碼形式表示,存儲在高速緩存器 RAM 的第 0, 1 字節(jié)中,二進制數(shù)的前 5 位是符號位。非易失性可點擦除 EEPROM 用來存放高溫觸發(fā)器 TH、低溫觸發(fā)器 TL 和配置寄存器中的信息。 9 DS18B20 分辨率的設(shè)置如表 所示: 表 DS18B20分辨率的設(shè)置 R1 R0 分辨率 最大轉(zhuǎn)換時間 /ms 0 0 9位 0 1 10位 1 0 11位 375 1 1 12位 750 DS18B20 依靠一個單線端口通訊。成功執(zhí)行完一條 ROM 操作序列后,即可進行存儲器和控制操作,控制器可以提供 6 條存儲器和控制操作指令中的任一條。如果沒有對 DS18B20使用報警搜索命令,這些寄存器可以做為一般用途的用戶存儲器使用。外部電源供電模式是將DS18B20 的 GND 直接接地, DQ 與但單總線相連 作為信號線, VDD 與外部電源正極相連。 單片機 DS18B20 外部 +5V 電源 VDD DQ VCC 其它單線器件 圖 DS18B20 外部供電方式 單片機 DS18B20 GND 圖 DS18B20 寄生電源供電方式 +5V VCC 11 圖 DS18B20 的測溫原理 DS1820 是這樣測溫的:用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。然后計數(shù)器又開始計數(shù)直到 0,如果門周期仍未結(jié)束,將重復(fù)這一過程。 DS18B20 內(nèi)部對此計算的結(jié)果可提供 ℃的分辨 率。 表 溫度數(shù)據(jù)關(guān)系 溫度 ℃ 數(shù)據(jù)輸出(二進制) 數(shù)據(jù)輸出(十六進制) +125 00000000 11111010 00FA +25 00000000 00110010 0032 + 00000000 00000001 0001 0 00000000 00000000 0000 11111111 11111111 FFFF 25 11111111 11001110 FFCE 12 55 11111111 10010010 FF92 S18B20 遵循單總線協(xié)議,每次測溫時都必須有 4 個過程 [6]: ? 初始化; ? 傳送 ROM 操作命令; ? 傳送 ROM 操作命令; ? 數(shù)據(jù)交換; DS18B20 的 ROM 命令 read ROM(讀 ROM) .命令代碼為 33H,允許主設(shè)備讀出 DS18B20 的 64 位二進制 ROM代碼。命令代碼為 CCH,在啟動所有 DS18B20 轉(zhuǎn)換之前或系統(tǒng)只有一個 DS18B20 時,該命令將允許主設(shè)備不提供 64 位二進制 ROM 代碼就適用存儲器操作命令。命令代碼為 ECH,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報警溫度值。 Read scratchpad(讀暫存器 )。 Copy scratchpad(復(fù)制暫存器 )。命令 代碼為 44H,啟動一次溫度轉(zhuǎn)換,若主機在該命令之后又發(fā)出其它操作,而 DS18B20 又忙于溫度轉(zhuǎn)換, DS18B20 就會輸出一個“ 0”,若轉(zhuǎn)換結(jié)束,則 DS18B20 輸出一個“ 1”。該操作是在 DS18B20 上電時自動執(zhí)行,若執(zhí)行該命令后又發(fā)出讀操作, DS18B20 會輸出溫度轉(zhuǎn)換忙標識: 0 為忙, 1 完成。 串口通信 模塊 的選擇 如圖所示為該系統(tǒng)所選擇的串口通信模塊 的基本構(gòu)成 : 串口是計算機上一種非常 通用設(shè)備 通信的協(xié)議。 串口通信的概念非常簡單,串口按位( bit)發(fā)送和接收字節(jié)。典型地,串口用 14 于 ASCII 碼字符的傳輸。串口通信最重要的參數(shù)是 波特率 、 數(shù)據(jù)位 、停止位和奇 偶校驗 。當我們提到 時鐘周期 時,我們就是指波特率例如如果協(xié)議需要 4800 波特率,那么時鐘是 4800Hz。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是 GPIB 設(shè)備的通信。擴展的 ASCII 碼是 0~這是衡量通信中實際數(shù)據(jù)位的參數(shù)。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語 “ 包 ” 指任何通信的情況。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。當然沒有校驗位也是可以的。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。用于驅(qū)動和連線的改進,實際應(yīng)用中 RS232 的傳輸長度或者速度常常超過標準的值。 蜂鳴器模塊如下圖所示: 該蜂鳴器起到的是報警提示的作用 ,當溫度過溫時,蜂鳴器發(fā)出叫聲。 格式形式第二行: normal 若溫度不正常,則顯示: 液晶 1602 顯示 格式形式第一行: The temp is: 30’ C。 RW=0。 delay_1ms(2)。 RW=0。 delay_1ms(2)。 delay_1ms(5)。 writecmd(0x38)。 writecmd(0x01)。 writ