新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于51單片機(jī)的多功能溫度控制器的設(shè)計(jì)

一種基于51單片機(jī)的多功能溫度控制器的設(shè)計(jì)

作者: 時(shí)間:2011-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

1.3.3 DSl8820的控制步驟
(1)首先對(duì)DSl8820進(jìn)行復(fù)位。由單片機(jī)將數(shù)據(jù)線DQ拉至低電平480-960 μs,然后將DQ拉高15-60 μs,以便單片機(jī)檢測(cè)到DSl8820送來(lái)的低電平響應(yīng)。然后檢測(cè)DQ,若DQ仍然為高電平,則復(fù)位操作失敗,可采用循環(huán)的方式再次對(duì)其進(jìn)行復(fù)位;若DQ為低電平,則復(fù)位操作成功。
(2)DSl8820的ROM操作命令。DSl8820復(fù)位后,主機(jī)可以發(fā)器件ROM的操作命令如讀ROM[33H]、匹配ROM[55H]、跳過(guò)ROM[0CCH],報(bào)警搜索[4EH]等。在單點(diǎn)的情況下,可發(fā)跳過(guò)ROM[0CCH]操作命令,以節(jié)省時(shí)間。另外,文中有報(bào)警的功能,溫度轉(zhuǎn)換后還需要發(fā)報(bào)警搜索命令,該命令會(huì)將最近一次測(cè)得的溫度值T與高速RAM中的TH或TL作比較,若T>TH或TTL,則該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。
(3)DSl8820的存儲(chǔ)器操作命令。如啟動(dòng)溫度轉(zhuǎn)換命令[44H],寫(xiě)入命令[4EH](寫(xiě)入該命令后,緊接著要寫(xiě)入報(bào)警上限TH,報(bào)警下限TL及配置寄存器字節(jié)),讀暫存器RAM的內(nèi)容命令[0BEH](讀取將從第一個(gè)字節(jié)開(kāi)始一直到第9個(gè)字節(jié)結(jié)束,如僅需要部分字節(jié),主機(jī)可以在合適的時(shí)刻發(fā)復(fù)位命令來(lái)終止讀取)及復(fù)制命令[48H](把暫存器RAM的第2、3、4字節(jié)轉(zhuǎn)存到DSl8820的EEROM中)等。
(4)DSl8820的ROM或RAM操作的讀寫(xiě)時(shí)序。對(duì)于讀時(shí)序,首先將DQ拉低并延時(shí)1-15μs以?xún)?nèi)(延時(shí)時(shí)間不能太長(zhǎng)),然后將DQ拉高并延時(shí)幾個(gè)μs后再讀取DQ的值,讀完一位后需要延時(shí)45 μs以上才能讀取下一位;對(duì)于寫(xiě)時(shí)序,先將DQ拉低10-15μs,接著向寫(xiě)入數(shù)據(jù)并延時(shí)50μs以上,最后將DQ拉高1μs以上再進(jìn)行下一位的寫(xiě)入。
1.4 液晶顯示模塊
采用的是長(zhǎng)沙太陽(yáng)人電子有限公司生產(chǎn)的SMCl602A。
1.4.1 主要技術(shù)參數(shù)
芯片的工作電壓4.5~5.5V,能顯示兩行,每行顯示16個(gè)字符,字符的大小為2.95×4.35mm。
1.4.2 接口信號(hào)說(shuō)明
除電壓、背光引腳及8個(gè)I/O引腳外,主要的控制引腳還有數(shù)據(jù)/命令選擇RS引腳,該引腳為高電平時(shí)表示I/O引腳出現(xiàn)的是數(shù)據(jù),該引腳為低電平時(shí)表示I/O引腳出現(xiàn)的是命令;讀/寫(xiě)選擇引腳及使能引腳E(該引腳為高電平時(shí)對(duì)SMCl602A的操作才有效)。
1.4.3 指令說(shuō)明
(1)初始化設(shè)置
a.顯示模式設(shè)置。指令碼:00111000b,用于設(shè)置16×2顯示,5×7點(diǎn)陣。
b.顯示開(kāi)/關(guān)及光標(biāo)設(shè)置。二進(jìn)制指令碼:00000DCB中D位用來(lái)控制顯示開(kāi)或關(guān),C位用來(lái)控制顯示光標(biāo),B位控制光標(biāo)是否閃爍。二進(jìn)制指令碼:000001NS中N位控制讀寫(xiě)一個(gè)數(shù)據(jù)后地址指針和光標(biāo)加或減1,S位控制字符的移動(dòng)。
c.?dāng)?shù)據(jù)指針設(shè)置。指令碼:80H+地址碼(0-27H,40H-67H)用于設(shè)置數(shù)據(jù)指針。
(2)其他設(shè)置。如指令碼01H:顯示清屏且數(shù)據(jù)指針清零。
1.4.4 的初始化步驟
(1)延時(shí)15ms,寫(xiě)指令38H(不檢測(cè)忙信號(hào));
(2)延時(shí)5ms,寫(xiě)指令38H(不檢測(cè)忙信號(hào)),上述過(guò)程執(zhí)行兩遍,后面的過(guò)程每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)之前均需要檢測(cè)忙信號(hào);
(3)寫(xiě)指令38H:顯示模式設(shè)置;
(4)寫(xiě)指令08H:關(guān)閉顯示;
(5)寫(xiě)指令0lH:清屏且數(shù)據(jù)指針清零;
(6)寫(xiě)指令06H:字符不移動(dòng),光標(biāo)和指針加1;
(7)寫(xiě)指令0FH:顯示開(kāi),光標(biāo)閃爍。
1.5 恒溫保持控制模塊
選用6V固態(tài)繼電器作為開(kāi)關(guān)器件,通過(guò)控制其斷與通的時(shí)序從而控制加熱器件的工作時(shí)長(zhǎng),以實(shí)現(xiàn)樣品的恒溫保持功能。



關(guān)鍵詞: 1-Wire 總線 DSl8820傳感器 LCDl602

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉