嵌入式以太网温湿度远程监控系统(MCU、上位机源码+论文)

(毕业设计)嵌入式以太网温湿度远程监控系统(MCU源码+上位机源码+毕业论文):

前言:

      温度和湿度的检测是许多行业的重要工作之一,不论是货品仓库、生产车间,都需要有规定的温度和湿度,然而温度和湿度却是最不易保障的指标,针对这一情况,研制可靠且实用的温度和湿度检测系统就显得非常重要。

温湿度远程监控系统设计原理:

        本文以AM2301/DHT21 数字温湿度传感器模块为例,具体介绍了I2C 通信,串行通信以及网络通信。讨论了基于单片机的嵌入式以太网远程温湿度监控系统的设计,提出了远程温湿度监控的一种设计方法。通过本设计方法,温湿度传感器采集温湿度信号后传输到控制单元,所采集的信号数据经控制单元处理后传输到本地液晶显示,本地终端和远程终端分别显示。本地终端将接收到数据显示并存储,控制单元对数据进行跟踪和监控实现温湿度的自动调节,终端上位机可以设置温湿度阈值并进行报警。

更具体的详细说明,详见附件内容


系统整体结构设计图:

none.gif

湿度远程监控系统上位机截图:

none.gif

有关该设计开发板的详细的例程和资料,点击链接:https://bbs.usoftchina.com/thread-210646-1-1.html

系统部分源程序清单:
  1. *********初始化端口********************
  2. void Initial_Io()
  3. {
  4. P4SEL=0X00;
  5. P2SEL=0x00;
  6. P4DIR|=0xff;
  7. P2DIR|=BIT0+BIT1+BIT2+BIT3+BIT4;
  8. P3SEL |= 0xf0;
  9. P3DIR |= 0x50;
  10. P3DIR &= ~0xA0;
  11. }
  12. ***********读取 DHT21 温湿度计****************
  13. void receive(void)
  14. {
  15. unsigned char Value = 0x00;
  16. unsigned char i = 0;
  17. unsigned char j = 0;
  18. for (i = 0;i < 5;i++)
  19. {
  20. for (j = 0;j <8;j++)
  21. {
  22. while(!(P2IN&BIT7));
  23. delay_us(50);
  24. if (P2IN&BIT7)
  25. {
  26. Value |= (0x80 >> j);
  27. while(P2IN&BIT7);
  28. }
  29. }
  30. DHT21_Code[i] = Value;
  31. Value = 0x00;
  32. }
  33. }
  34. **********效验和处理 DHT21 温湿度计****************
  35. void Read(void)
  36. {
  37. P2DIR|=BIT7;
  38. HIGH;
  39. LOW;
  40. delay_ms(20);
  41. HIGH;
  42. delay_us(30);
  43. P2DIR&=~BIT7;
  44. while(P2IN&BIT7);
  45. while(!(P2IN&BIT7));
  46. while(P2IN&BIT7);
  47. receive();
  48. if (DHT21_Code[4] = DHT21_Code[0]+DHT21_Code[1]+DHT21_Code[2]+DHT21_Code[3])
  49. {
  50. DHTData1= DHT21_Code[0];
  51. DHTData1<<=8;
  52. DHTData1|=DHT21_Code[1];
  53. tab[0]=DHTData1/100+0x30;
  54. tab[1]=DHTData1%100/10+0x30;
  55. tab[2]=DHTData1%10+0x30;
  56. DHTData2= DHT21_Code[2];
  57. DHTData2<<=8;
  58. DHTData2|=DHT21_Code[3];
  59. if(DHTData2&0x8000)
  60. {
  61. flagtemp=1;
  62. DHTData2&=0x7FFF;
  63. }
  64. tab[3]=DHTData2/100+0x30;
  65. tab[4]=DHTData2%100/10+0x30;
  66. tab[5]=DHTData2%10+0x30;
  67. }
  68. **************初始化 UART********************
  69. void initUART1_9600(void)
  70. {
  71. U1CTL = SWRST;
  72. U1BR0 = 0x03;
  73. U1BR1 = 0x00;
  74. U1MCTL = 0x4A;
  75. U1CTL = SWRST+CHAR;
  76. U1TCTL = SSEL0;
  77. U1RCTL = 0;
  78. ME2 |= URXE1 +UTXE1;
  79. P3SEL |= 0xC0;
  80. P3DIR |= 0x40;
  81. P3DIR &= ~0x80;
  82. U1CTL &= ~SWRST;
  83. IE2 |= 0;
  84. }
  85. **********主控制器定时器终端函数******************
  86. #pragma vector=TIMERA1_VECTOR
  87. __interrupt void Timer_A(void)
  88. {
  89. switch( TAIV )
  90. {
  91. case 2: break;
  92. case 4: break;
  93. case 10:
  94. Read();
  95. Display();
  96. Send_Byte(0xff);
  97. Send_Byte(tab[0]);
  98. Send_Byte_ART1(tab[0]);
  99. Send_Byte(tab[1]);
  100. Send_Byte_ART1(tab[1]);
  101. Send_Byte(tab[2]);
  102. Send_Byte_ART1(tab[2]);
  103. Send_Byte(tab[3]);
  104. Send_Byte(tab[4]);
  105. Send_Byte_ART1(tab[4]);
  106. Send_Byte(tab[5]);
  107. Send_Byte_ART1(tab[5]);
  108. Send_Byte_ART1(0xff);
  109. Send_Byte(0xff);
  110. break;
  111. }
  112. }
复制代码


 

U客论坛下载-嵌入式以太网远程温湿度监控系统的设计与实现——(修改DHT21为AM2301版本.pdf

 

文件到原文下载,原文出自:https://bbs.usoftchina.com/thread-210644-1-1.html
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值