|
設(shè)計(jì)背景
能夠獨(dú)立工作的溫度檢測和
傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,
AT89C51單片機(jī)作為主控制器件,DS18B20作為測溫傳感器,通過LM016L
DS18B20直接讀取被測溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性
0℃~100℃最大線性偏差小于0.01℃。該器件可直接向單片機(jī)傳
設(shè)計(jì)方案
總體設(shè)計(jì)思路方案與系統(tǒng)框圖
DS18B20測量溫度,輸出信號(hào)全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,
DS18B20和AT89C51單片機(jī)構(gòu)成的溫度測量裝置,DS18B20的DQ與AT89C51
P3.7口相連,與它直接輸出溫度的數(shù)字信號(hào),采用AT89C51單片機(jī)控制,溫度顯示由四位
LED顯示屏完成,LED的D0~D7為8位雙向數(shù)據(jù)端,與AT89C51的P1口相連,
芯片介紹
引腳定義:
DQ為數(shù)字信號(hào)輸入輸出端
GND為電源地
VDD為外接供電電源輸入端
0和1字節(jié))
AT89C51 時(shí)鐘電路 復(fù)位電路 DS18B20數(shù)字溫度傳感器 測溫物體 圖1 顯示電路
中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:
位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)
12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中
5位是符號(hào)位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625
0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625
DS18B20 的溫度操作是使用16 位,也就是說分辨率是0.0625。BIT15~BIT11 是符號(hào)位,
顯示屏(共陰)介紹
管腳是段選引腳,1,2,3,4是位選引腳(低電平有效),字形碼如下:
3.4.AT89C51芯片
:供電電壓。
:接地。
口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第
1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/
FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出
P0外部必須被拉高。
口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門
P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),
這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接
口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL
P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入
P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程
16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”
P2口輸出其特殊功
P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)
口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低
P3口將輸出電流(ILL)這是由于上拉的緣故。
口也可作為AT89C51的一些特殊功能口,如下表所示:
備選功能
(串行輸入口)
(串行輸出口)
(外部中斷0)
(外部中斷1)
(記時(shí)器0外部輸入)
(記時(shí)器1外部輸入)
(外部數(shù)據(jù)存儲(chǔ)器寫選通)
(外部數(shù)據(jù)存儲(chǔ)器讀選通)
口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。
:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在
編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈
1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然
ALE脈沖。如想禁止ALE的輸出
SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。
ALE禁止,置位無效。
:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次
有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否
注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),
FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
:來自反向振蕩器的輸出。
硬件電路圖
DS18B20的數(shù)據(jù)線DQ與主控芯片51單片機(jī)的P3.7相連接,
將采集到的數(shù)據(jù)送給單片機(jī),經(jīng)過單片機(jī)出來后,顯示在8位數(shù)據(jù)線與單片機(jī)P1
LED上。位選由P2控制。
程序設(shè)計(jì)
(見附件)
|
|