找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5878|回复: 2
打印 上一主题 下一主题
收起左侧

基于msp430f5529的温湿度程序

[复制链接]
跳转到指定楼层
楼主
ID:412959 发表于 2018-10-21 04:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一次实验项目做的工程,用MSP430F5529为主控,用WiFi模块传输数据,用DHT11模块检测温湿度,同时还检测光照情况和毒气检测功能。

单片机源程序如下:
  1. /*
  2. * light.c
  3. *
  4. *  Created on: 2018年9月27日
  5. *      Author: Wade
  6. *        call:13594729060
  7. */
  8. #include <msp430f5529.h>
  9. #include "HAL_Dogs102x6.h"
  10. #include "NumberShow.h"
  11. #include "delay.h"
  12. #include "DHT11.h"
  13. #include "light.h"
  14. #include "gas.h"
  15. #include "led.h"
  16. #include "wifi.h"

  17. int LedStatus;

  18. void Menu(){
  19.                 Dogs102x6_stringDraw(0, 0, "Smart Home System", DOGS102x6_DRAW_NORMAL);
  20.                 Dogs102x6_stringDraw(2, 0, "Tem:", DOGS102x6_DRAW_NORMAL);
  21.                 Dogs102x6_stringDraw(2, 46, "C", DOGS102x6_DRAW_NORMAL);
  22.             Dogs102x6_stringDraw(3, 0, "Hum:", DOGS102x6_DRAW_NORMAL);
  23.             Dogs102x6_stringDraw(3, 46, "%", DOGS102x6_DRAW_NORMAL);
  24.             Dogs102x6_stringDraw(4, 0, "Lig:", DOGS102x6_DRAW_NORMAL);
  25.             Dogs102x6_stringDraw(5, 0, "Gas:", DOGS102x6_DRAW_NORMAL);
  26.             Dogs102x6_stringDraw(6, 0, "LED:", DOGS102x6_DRAW_NORMAL);
  27. }

  28. void main( void )
  29. {

  30.   WDTCTL=WDTPW+WDTHOLD;
  31.   UCSCTL4 |= SELS__DCOCLK ;

  32.   Dogs102x6_init();
  33.   Dogs102x6_clearScreen();                     //清屏

  34.   Dogs102x6_init();//初始化LCD
  35.   Dogs102x6_backlightInit();
  36.   Dogs102x6_setContrast(15); //设置对比度
  37.   Dogs102x6_setBacklight(11);//设置背光度

  38.   WifiConfig();  //wifi初始化(含串口)

  39.   while (1)
  40.   {
  41.                 Dogs102x6_clearScreen();//清屏
  42.                 Menu();                                        //重画菜单界面
  43.                 DHT11( );                                //测量温湿度数据,并显示在LCD上
  44.                 light();                                //测量光照情况,并把结果显示在LCD上
  45.                 gas();                                        //测量烟雾情况,并把结果显示在LCD上
  46.                 led();                                        //检测LED状态,并把结果显示在LCD上
  47.                 delay_ms(2000);                        //延时2s,确保温湿度测量时间间隔
  48.   }
  49. }


  50. // Echo back RXed character, confirm TX buffer is ready first
  51. #pragma vector=USCI_A1_VECTOR
  52. __interrupt void USCI_A1_ISR(void)
  53. {
  54.   switch(__even_in_range(UCA1IV,4))
  55.   {
  56.   case 0:break;                             // Vector 0 - no interrupt
  57.   case 2:                                   // Vector 2 - RXIFG
  58.             if('1' == UCA1RXBUF)
  59.             {
  60.                     P1DIR |= 0x01;
  61.                     P1OUT |= 0x01;                                        //点亮LED灯
  62.                     LedStatus = 1;                                        //LED的FLAG,作为在LCD上显示状态的依据
  63.             }
  64.             else if('0' == UCA1RXBUF)
  65.             {
  66.                     P1DIR |= 0x01;
  67.                     P1OUT &= 0xFE;                                        //熄灭LED灯
  68.                     LedStatus = 0;                                        //LED的FLAG,作为在LCD上显示状态的依据
  69.             }
  70.             else if('2' == UCA1RXBUF)
  71.             {
  72.                     WifiSendMessage();                                //WiFi将测量的数据发送到客户端
  73.             }
  74.     break;
  75.   case 4:break;                             // Vector 4 - TXIFG
  76.   default: break;
  77.   }
  78. }

复制代码

所有资料51hei提供下载:
基于msp430f5529的温湿度测量程序.rar (1.24 MB, 下载次数: 83)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:432941 发表于 2019-4-6 22:48 | 只看该作者
请问你毒气传感器,光照,WiFi用的是什么模块?
回复

使用道具 举报

板凳
ID:432941 发表于 2019-4-7 11:35 | 只看该作者
请问你用的毒气传感器和显示屏以及光照传感器分别是什么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表