|
|
一次實(shí)驗(yàn)項(xiàng)目做的工程,用MSP430F5529為主控,用WiFi模塊傳輸數(shù)據(jù),用DHT11模塊檢測(cè)溫濕度,同時(shí)還檢測(cè)光照情況和毒氣檢測(cè)功能。
單片機(jī)源程序如下:
- /*
- * light.c
- *
- * Created on: 2018年9月27日
- * Author: Wade
- * call:13594729060
- */
- #include <msp430f5529.h>
- #include "HAL_Dogs102x6.h"
- #include "NumberShow.h"
- #include "delay.h"
- #include "DHT11.h"
- #include "light.h"
- #include "gas.h"
- #include "led.h"
- #include "wifi.h"
- int LedStatus;
- void Menu(){
- Dogs102x6_stringDraw(0, 0, "Smart Home System", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(2, 0, "Tem:", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(2, 46, "C", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(3, 0, "Hum:", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(3, 46, "%", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(4, 0, "Lig:", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(5, 0, "Gas:", DOGS102x6_DRAW_NORMAL);
- Dogs102x6_stringDraw(6, 0, "LED:", DOGS102x6_DRAW_NORMAL);
- }
- void main( void )
- {
- WDTCTL=WDTPW+WDTHOLD;
- UCSCTL4 |= SELS__DCOCLK ;
- Dogs102x6_init();
- Dogs102x6_clearScreen(); //清屏
- Dogs102x6_init();//初始化LCD
- Dogs102x6_backlightInit();
- Dogs102x6_setContrast(15); //設(shè)置對(duì)比度
- Dogs102x6_setBacklight(11);//設(shè)置背光度
- WifiConfig(); //wifi初始化(含串口)
- while (1)
- {
- Dogs102x6_clearScreen();//清屏
- Menu(); //重畫菜單界面
- DHT11( ); //測(cè)量溫濕度數(shù)據(jù),并顯示在LCD上
- light(); //測(cè)量光照情況,并把結(jié)果顯示在LCD上
- gas(); //測(cè)量煙霧情況,并把結(jié)果顯示在LCD上
- led(); //檢測(cè)LED狀態(tài),并把結(jié)果顯示在LCD上
- delay_ms(2000); //延時(shí)2s,確保溫濕度測(cè)量時(shí)間間隔
- }
- }
- // Echo back RXed character, confirm TX buffer is ready first
- #pragma vector=USCI_A1_VECTOR
- __interrupt void USCI_A1_ISR(void)
- {
- switch(__even_in_range(UCA1IV,4))
- {
- case 0:break; // Vector 0 - no interrupt
- case 2: // Vector 2 - RXIFG
- if('1' == UCA1RXBUF)
- {
- P1DIR |= 0x01;
- P1OUT |= 0x01; //點(diǎn)亮LED燈
- LedStatus = 1; //LED的FLAG,作為在LCD上顯示狀態(tài)的依據(jù)
- }
- else if('0' == UCA1RXBUF)
- {
- P1DIR |= 0x01;
- P1OUT &= 0xFE; //熄滅LED燈
- LedStatus = 0; //LED的FLAG,作為在LCD上顯示狀態(tài)的依據(jù)
- }
- else if('2' == UCA1RXBUF)
- {
- WifiSendMessage(); //WiFi將測(cè)量的數(shù)據(jù)發(fā)送到客戶端
- }
- break;
- case 4:break; // Vector 4 - TXIFG
- default: break;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
基于msp430f5529的溫濕度測(cè)量程序.rar
(1.24 MB, 下載次數(shù): 83)
2018-10-21 04:27 上傳
點(diǎn)擊文件名下載附件
msp430 DHT11 Wifi模塊 光敏+毒氣檢測(cè)
|
|