李新建 亓振軍
【摘要】本文設(shè)計(jì)的是監(jiān)測(cè)機(jī)房一套無線多溫度數(shù)據(jù)采集系統(tǒng),主要用于對(duì)環(huán)境溫度的采集與監(jiān)控,系統(tǒng)采用基于無線網(wǎng)絡(luò)的設(shè)計(jì)思想和溫度采集技術(shù)。
【關(guān)鍵詞】AT89C52;溫度采集
1.單片機(jī)主控制電路設(shè)計(jì)——AT89C52控制器電路設(shè)計(jì)
1.1 主控制器單片機(jī)AT89C52單片機(jī)控制器電路
圖1為主控制器單片機(jī)AT89C52單片機(jī)控制器電路。AT89C52單片機(jī)片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性存儲(chǔ)編程器編程;片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含128字節(jié)的RAM;有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口;具有兩個(gè)16位可編程定時(shí)器;中斷系統(tǒng)是具有6個(gè)中斷源、5個(gè)中斷矢量、2級(jí)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu);震蕩器頻率0到33MHZ,因此我們?cè)诖诉x用12MHZ的晶振是比較合理的;具有片內(nèi)看門狗定時(shí)器;具有斷電標(biāo)志POF等等。
圖1 AT89C52單片機(jī)控制器電路
1.2 AT89C52引腳說明
P0口:8位、開漏級(jí)、雙向I/O口。P0口可作為通用I/O口,但須外接上拉電阻;作為輸出口,每各引腳可吸收8各TTL的灌電流,作為輸入時(shí),首先應(yīng)將引腳置1。P0也可用做訪問外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器時(shí)的低8位地址/數(shù)據(jù)總線的復(fù)用線。在該模式下,P0口含有內(nèi)部上拉電阻。在FLASH編程時(shí),P0口接收代碼字節(jié)數(shù)據(jù);在編程效驗(yàn)時(shí),P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。
P1口:8位、雙向I/0口,內(nèi)部含有上拉電阻,P1口可作普通I/O口。輸出緩沖器可驅(qū)動(dòng)四個(gè)TTL負(fù)載,用作輸入時(shí),先將引腳置1,由片內(nèi)上拉電阻將其拉到高電平。P1口的引腳可由外部負(fù)載拉到低電平,通過上拉電阻提供電流。在FLASH并行編程和校驗(yàn)時(shí),P1口可輸入低字節(jié)地址。在串行編程和校驗(yàn)時(shí),P1.5/MOSI,P1.6/MISO和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。
P2口:具有內(nèi)部上拉電阻的8位雙向I/O口。P2口用做輸出口時(shí),可驅(qū)動(dòng)4各TTL負(fù)載,用做輸入口時(shí),先將引腳置1,由內(nèi)部上拉電阻將其拉到高電平。若負(fù)載為低電平,則通過內(nèi)部上拉電阻向外部輸出電流。CPU訪問外部16位地址的存儲(chǔ)器時(shí),P2口提供高8位地址,當(dāng)CPU用8位地址尋址外部存儲(chǔ)時(shí),P2口為特殊功能寄存器的內(nèi)容。在FLASH并行編程和校驗(yàn)時(shí),P2口可輸入高字節(jié)地址和某些控制信號(hào)。
P3口:具有內(nèi)部上拉電阻的8位雙向口。P3口用做輸出口時(shí),輸出緩沖器可吸收4各TTL的灌電流,用做輸入口時(shí),首先將引腳置1,由內(nèi)部上拉電阻拉到高電平。若外部的負(fù)載是低電平,則通過內(nèi)部上拉電阻向輸出電流。在與FLASH并行編程和校驗(yàn)時(shí),P3口可輸入某些控制信號(hào)。P3口除了通用I/O口功能外,還有第二功能,如表1所示。
表1 P3口的第二功能
引腳 符號(hào) 說明
P3.0 RXD 串行口輸入
P3.1 TXD 串行口輸出
P3.2 /INT0 外部中斷0
P3.3 /INT1 外部中斷1
P3.4 T0 T0定時(shí)器的外部的計(jì)數(shù)輸入
P3.5 T1 T1定時(shí)器的外部的計(jì)數(shù)輸入
P3.6 /WR 外部數(shù)據(jù)存儲(chǔ)器的寫選通
P3.7 /RD 外部數(shù)據(jù)存儲(chǔ)器的讀選通
RST:復(fù)位端。當(dāng)振蕩器工作時(shí),此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將系統(tǒng)復(fù)位。
ALE/:當(dāng)訪問外部存儲(chǔ)器時(shí),ALE(允許地址鎖存)是一個(gè)用于鎖存地址的低8位字節(jié)的書粗脈沖。在Flash 編程期間,此引腳也可用于輸入編程脈沖()。在正常操作情況下,ALE以振蕩器頻率的1/6的固定速率發(fā)出脈沖,它是用作對(duì)外輸出的時(shí)鐘,需要注意的是,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如果希望禁止ALE操作,可通過將特殊功能寄存器中位地址為8EH那位置的“0”來實(shí)現(xiàn)。該位置“1”后。ALE僅在MOVC指令期間激活,否則ALE引腳將被略微拉高。若微控制器在外部執(zhí)行方式,ALE禁止位無效。
:外部程序存儲(chǔ)器讀選取通信號(hào)。當(dāng)AT89C52在讀取外部程序時(shí),每個(gè)機(jī)器周期將其激活兩次。在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過兩個(gè)信號(hào)。
/Vpp:訪問外部程序存儲(chǔ)器允許端。為了能夠從外部程序存儲(chǔ)器的0000H至FFFFH單元中取指令,必須接地,然而要注意的是,若對(duì)加密位1進(jìn)行編程,則在復(fù)位時(shí),的狀態(tài)在內(nèi)部被鎖存,執(zhí)行內(nèi)部程序應(yīng)接VCC。
XTAL1:振蕩器反向放大器輸入端和內(nèi)部時(shí)鐘發(fā)生器的輸入端。
XTAL2:振蕩器反相放大器輸出端。
圖2 DS18B20方框圖
圖3 DS18B20電路原理圖
2.溫度采集模塊DS18B20電路設(shè)計(jì)
溫度芯片DS18B20具有3引腳TO-92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。測(cè)量溫度范圍為 -55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。由于每一個(gè)DS18B20都有唯一系列號(hào),因此多個(gè)DS18B20可以存在同一條單總線上。這允許多個(gè)不同地方放置溫度靈敏器件。DS18B20的內(nèi)部結(jié)構(gòu)如圖2所示,電路原理圖如圖3所示。
DS18B20有4個(gè)主要的數(shù)據(jù)部件:
a.64位激光ROM,64位激光ROM從高位到低位依次為8位CRC、48位序列號(hào)和8位家族代碼(28H)組成。
b.溫度靈敏元件。
c.非易失性溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限值。
d.配置寄存器,配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié),其中R0、R1為溫度計(jì)分辨率設(shè)置位,其對(duì)應(yīng)四種分辨率如表2所列,出廠時(shí)R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。
表2 分辨率關(guān)系表
R0 R1 分辨率/bit 最大轉(zhuǎn)換時(shí)間/us
0 0 9 93.75
0 1 10 187.5
1 0 11 375
1 1 12 750
高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表3所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。
表3 DS18B20存儲(chǔ)器
溫度LSB 溫度MSB TH TL 保留 保留 計(jì)數(shù)寄存器 計(jì)數(shù)寄存器 8位CRC
本設(shè)計(jì)采用的是單節(jié)點(diǎn)溫度測(cè)試,對(duì)硬件結(jié)構(gòu)簡(jiǎn)單的單線數(shù)字溫度傳感器DS18B20進(jìn)行操作,需要用較為復(fù)雜的程序完成。編寫程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操作順序進(jìn)行,讀、寫時(shí)間片程序要嚴(yán)格按要求編寫。尤其在使用DS18B20的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更高。
參考文獻(xiàn)
[1]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2005.
[2]張毅剛,彭喜元,姜守達(dá),喬立言.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006.
[3]樊明龍,任麗靜.單片機(jī)原理與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2005.
[4]余永權(quán).單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,1998.
[5]余小平,奚大順.電子系統(tǒng)設(shè)計(jì)——基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2010.
[6]黃正謹(jǐn).綜合電子設(shè)計(jì)與實(shí)踐[M].南京:東南大學(xué)出版社,2002.
作者簡(jiǎn)介:
李新建(1961—),男,山東東營人,工程師,現(xiàn)供職于山東省東營市廣播電視監(jiān)測(cè)中心,從事廣播電視監(jiān)測(cè)技術(shù)方面的工作。
亓振軍(1979—),男,山東濟(jì)南人,工程師,山東省廣播電視監(jiān)測(cè)中心科長。