在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Bang-Bang控制的溫濕度調(diào)節(jié)系統(tǒng)設(shè)計方案

      基于Bang-Bang控制的溫濕度調(diào)節(jié)系統(tǒng)設(shè)計方案

      作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
      系統(tǒng)硬件設(shè)計

      基于C8051F020的檔案庫溫濕度控制器,主器件為8051F020,從器件為I2C總線數(shù)字溫濕度傳感器SHT11。

      本文引用地址:http://www.biyoush.com/article/201611/322320.htm

      SHT11是瑞士Sennsirion公司生產(chǎn)的具有I2C總線接口的單片全校準(zhǔn)數(shù)字式相對濕度和溫度傳感器。傳統(tǒng)的模擬式濕度傳感器一般都要設(shè)計信號調(diào)理電路并經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,因此測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。SHT11是瑞士Sennsirion公司推出的基于CMOSensTM技術(shù)(將溫濕度傳感器、信號放大調(diào)理、A/D轉(zhuǎn)換、I2C總線全部集成在一個芯片上)的新型溫濕度傳感器,該傳感器的濕度值輸出分辨率為14位,溫度值輸出分辨率為12位,并可編程為12位和8位。

      C8051F020單片機(jī)是集成在1塊芯片上的混合信號系統(tǒng)級單片機(jī),具有與MCS8051內(nèi)核及指令完全兼容的微控制器。除了具有標(biāo)準(zhǔn)8051機(jī)的數(shù)字外設(shè)部件外,片內(nèi)還集成了數(shù)據(jù)采集與控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,內(nèi)部還具有JTAG和調(diào)試電路,通過JATG接口可以使用安裝在最終應(yīng)用系統(tǒng)產(chǎn)品上的單片機(jī)進(jìn)行非侵入、全速及在線系統(tǒng)調(diào)試。

      由二者組成的溫濕度控制器的硬件連接如圖1所示。



      圖1 C8051F020與SHT11的接線圖

      利用I/O端口初始化程序啟動優(yōu)先權(quán)交叉開關(guān)譯碼器把P0.0、P0.1引腳分別配置成SDA

      (串行數(shù)據(jù))、SCL(串行時鐘),然后分別接SHT11的DATA和SCK,在時鐘的控制下來完成對SHT11采集并進(jìn)行A/D轉(zhuǎn)換后的溫濕度數(shù)據(jù)的讀取,P0.2、P0.3被配置成基本輸入輸出,根據(jù)讀取的溫濕度值的高低來控制兩個繼電器,進(jìn)而達(dá)到控制溫濕度調(diào)節(jié)器的目的。在串行通信過程中主器件為8051F020,從器件為SHT11。

      軟件設(shè)計

      1 Bang-Bang控制

      在檔案室溫濕度控制中,對溫濕度的要求不是一個定值,而是一個范圍。執(zhí)行機(jī)只有兩種狀態(tài):on,運(yùn)轉(zhuǎn);off,不運(yùn)轉(zhuǎn)。對于這種執(zhí)行機(jī),采用典型的數(shù)字控制算法為Bang-Bang控制算法。這樣需要兩個溫度設(shè)置點:THIGH和TLOW,兩個濕度設(shè)置點HHIGH和HLOW。溫度控制和濕度控制一樣,所以只介紹溫度的控制。如果溫度高于THIGH,則控制器關(guān)閉電源(繼電器釋放),如果溫度低于TLOW,則控制器打開電源(繼電器吸合)。THIGH與TLOW之差稱為滯后。使用滯后延長了繼電器的使用壽命,因為它減少了繼電器開關(guān)次數(shù)。

      2程序設(shè)計

      該程序包括:

      ● 系統(tǒng)復(fù)位子程序(Reset_Init):完成對內(nèi)部振蕩器的設(shè)置,對XBR0和XBR2的設(shè)置將SMB連到通用的I/O引腳;

      ● SMBus初始化子程序(SMBus_Init):配置并使能SMBus,設(shè)置SMBus時鐘速率,為第一次傳輸清除SM_BUSY標(biāo)志;

      ● A/D轉(zhuǎn)換和讀取轉(zhuǎn)換數(shù)據(jù)得子程序(ADCRead);Bang-Bang控制算法子程序(Bang-Bang);

      ● 輸出控制子程序(OUTcontrol)。現(xiàn)把主要的啟動A/D轉(zhuǎn)換及讀取數(shù)據(jù)子程序給出。

      ADCRead:

      WRITE EQU 00H

      //SMBus寫命令

      READ EQU 01H

      //SMBus寫命令

      Chip-A EQU 00H

      //SHT11從地址

      MEAMURE_TEMP EQU 03H

      //SHT11測量溫度命令

      MEARURE_HUMI EQU 05H

      //SHT11測量濕度命令

      CLR RW

      //寫從地址

      MOV A,#CHIP_A

      ORL A,#WRITE

      MOV WRIT_ADC, A

      SETB SM_BUSY

      SETB STA

      JB SM_BUSY, $

      //寫溫度測量命令

      CLR RW

      MOV A,# MEAMURE_TEMP

      ORL A,#WRITE

      MOV WRIT_ADC, A

      SETB SM_BUSY

      SETB STA

      JB SM_BUSY, $

      //讀測得的溫度

      SETB RW

      MOV A, # CHIP_A

      ORL A,#READ

      MOV READ_ADC, A

      SETB SM_BUSY

      SETB STA

      ACALL DELAY

      MOV TEMPR, RECEIVE_BYTE

      ------------------

      //寫濕度測量命令

      ------------------

      //讀測得的濕度值

      由于濕度測量和溫度測量程序相同,所以沒有給出,測量后的溫度數(shù)據(jù)和濕度數(shù)據(jù)分別放在TEMPR和HUMIR兩個寄存器中,然后經(jīng)過線性修正程序和棒棒算法程序后控制繼電器的動作。

      結(jié)束語

      本文設(shè)計溫濕度調(diào)節(jié)系統(tǒng),主器件為8051F020,從器件為I2C總線數(shù)字溫濕度傳感器SHT11,接口電路用I/O端口初始化程序啟動優(yōu)先權(quán)交叉開關(guān)譯碼器把引腳分別配置成串行數(shù)據(jù)及串行時鐘,并配置基本輸入輸出。軟件設(shè)計則采用Bang-Bang控制算法,需高低兩個溫度設(shè)置點,溫度高于高點則關(guān)閉電源,低于低點則打開電源。控制程序含系統(tǒng)復(fù)位、初始化、A/D轉(zhuǎn)換和讀取數(shù)據(jù)轉(zhuǎn)換、Bang-Bang控制算法及輸出控制子程序。



      評論


      技術(shù)專區(qū)

      關(guān)閉
      ×

      “芯”朋友见面大会
      珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>