基于C8051F020的檔案庫溫濕度控制器設(shè)計(jì)
ORL A,#WRITE本文引用地址:http://www.ex-cimer.com/article/159969.htm
MOV WRIT_ADC, A
SETB SM_BUSY
SETB STA
JB SM_BUSY, $
//寫溫度測(cè)量命令
CLR RW
MOV A,# MEAMURE_TEMP
ORL A,#WRITE
MOV WRIT_ADC, A
SETB SM_BUSY
SETB STA
JB SM_BUSY, $
//讀測(cè)得的溫度
SETB RW
MOV A, # CHIP_A
ORL A,#READ
MOV READ_ADC, A
SETB SM_BUSY
SETB STA
ACALL DELAY
MOV TEMPR, RECEIVE_BYTE
------------------
//寫濕度測(cè)量命令
------------------
//讀測(cè)得的濕度值
由于濕度測(cè)量和溫度測(cè)量程序相同,所以沒有給出,測(cè)量后的溫度數(shù)據(jù)和濕度數(shù)據(jù)分別放在TEMPR和HUMIR兩個(gè)寄存器中,然后經(jīng)過線性修正程序和棒棒算法程序后控制繼電器的動(dòng)作。
結(jié)束語
本文設(shè)計(jì)溫濕度調(diào)節(jié)系統(tǒng),主器件為8051F020,從器件為I2C總線數(shù)字溫濕度傳感器SHT11,接口電路用I/O端口初始化程序啟動(dòng)優(yōu)先權(quán)交叉開關(guān)譯碼器把引腳分別配置成串行數(shù)據(jù)及串行時(shí)鐘,并配置基本輸入輸出。軟件設(shè)計(jì)則采用Bang-Bang控制算法,需高低兩個(gè)溫度設(shè)置點(diǎn),溫度高于高點(diǎn)則關(guān)閉電源,低于低點(diǎn)則打開電源??刂瞥绦蚝到y(tǒng)復(fù)位、初始化、A/D轉(zhuǎn)換和讀取數(shù)據(jù)轉(zhuǎn)換、Bang-Bang控制算法及輸出控制子程序。
評(píng)論