• 大小: 24.42MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-07
  • 语言: 其他
  • 标签: 单片机  程序  毕设  

资源简介

基于51单片机的温室温湿度控制系统的仿真 该项目包括原理图电路图 程序源码 演示视频讲解文档全套资料 三分拿去 超值了

资源截图

代码片段和文件信息

/*主程序*/
#include
#include“ds1302.h“
#include“12864.h“
#include“DHT11.h“
#include“define.h“
unsigned char TempData[8];
void dis_time()         //向12864写时钟数据//
{
     lcd_pos(01);
 write_date(TempData[1]/10+0x30);
 write_date(TempData[1]%10+0x30);
 lcd_pos(03);
 write_date(TempData[2]/10+0x30);
 write_date(TempData[2]%10+0x30);
 lcd_pos(05);
 write_date(TempData[3]/10+0x30);
 write_date(TempData[3]%10+0x30);
 lcd_pos(11);
 write_date(TempData[7]%10+0x30);
 lcd_pos(12);
 write_date(TempData[4]/10+0x30);
 write_date(TempData[4]%10+0x30);
 lcd_pos(14);
 write_date(TempData[5]/10+0x30);
 write_date(TempData[5]%10+0x30);
 lcd_pos(16);
 write_date(TempData[6]/10+0x30);
 write_date(TempData[6]%10+0x30);
}
bit SetFlag;      //更新时间标志位
unsigned char time_buf2[16];
void UART_Init(void)
{
    SCON  = 0x50; /* SCON: 模式 1 8-bit UART 使能接收*/
    TMOD |= 0x20;        /* TMOD: timer 1 mode 2 8-bit reload  */
    TH1   = 0xFD;       /* TH1:  reload value for 9600 baud @ 11.0592MHz */
    TR1   = 1;           /* TR1:  timer 1 run   */
    EA    = 1;                  /*打开总中断*/
    ES    = 1;                  /*打开串口中断*/
}
main()
{
  unsigned char i;
       UART_Init();        
       ds1302_init(); /*DS302初始化函数*/
       //ds1302_write_time();
       lcd_init();    //初始化LCD
       delay(15);   //延时用于稳定功能
   dht11_receive();
   set_kongzhi();
       while(1)
       {
dht11_receive();
kongzhi();
    ds1302_read_time();//读取时钟信息
        for(i=1;i<8;i++)
   TempData[i]=time_buf1[i];
           dis_time();         //液晶显示时间信息
           //KeyPro();
   if(SetFlag)     //如果接收到串口信息则更新时钟
     {
 for(i=0;i<8;i++)
 {
time_buf1[i]=time_buf2[2*i]*10+time_buf2[2*i+1];//数据整合,如2个数 1和5整合成15
 }
 ds1302_write_time(); SetFlag=0; //时钟信息更新后标志位清零
 }
     }
   }
/******************************************************************/
/*                  串口中断程序                                  */
/******************************************************************/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
    unsigned char Temp;          //定义临时变量 
    unsigned char i;
   if(RI)                        //判断是接收中断产生
     {
  RI=0;                      //标志位清零
  Temp=SBUF;                 //读入缓冲区的值
  time_buf2[i]=Temp&0x0F;   i++;
  if(i==16)                  //连续接收16个字符信息
   {
    i=0;SetFlag=1;               //接收完成标志位置1
   }
      SBUF=Temp; //把接收到的值再发回电脑端
  //P1=Temp&0x0F; //调试时候显示
 }
   if(TI)  //如果是发送标志位,清零
     TI=0;
}
/*初始化*/
#ifndef _define_H
#define _define_H
#define uchar unsigned char 
#define uint  unsigned int
sbit speaker=P2^7; //蜂鸣器
sbit ji1=P2^0; //继电器1
sbit ji2=P2^1; //继电器2
sbit ji3=P2^2;  //继电器3
sbit ji4=P2^3; //继电器4
uchar shuzhi[2]={0};       //存储 输入键值 
#endif
/*--------------------------------------------------------------------------
REG52.H    AT89C52单片机系统初始化
-----------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-10 18:51  成品\
     目录           0  2018-04-03 21:44  成品\DHT11\
     目录           0  2018-04-03 16:55  成品\DHT11\12864取模软件\
     文件         130  2002-05-11 12:05  成品\DHT11\12864取模软件\ASC.PTL
     文件       18092  2002-05-15 15:31  成品\DHT11\12864取模软件\Gb2312.PTL
     文件        2122  2002-05-12 00:14  成品\DHT11\12864取模软件\notice.txt
     文件      310272  2002-05-11 19:53  成品\DHT11\12864取模软件\PCtoLCD2002.exe
     文件         519  2018-04-03 18:05  成品\DHT11\12864取模软件\PCtoLCD2002.INI
     文件        4427  2002-05-12 00:13  成品\DHT11\12864取模软件\readme2002.txt
     文件      676352  2002-02-01 22:00  成品\DHT11\12864取模软件\RTL60.BPL
     文件     1326080  2002-02-01 22:00  成品\DHT11\12864取模软件\VCL60.BPL
     文件           7  2009-06-22 16:15  成品\DHT11\12864取模软件\_index.TXT
     文件          41  2018-04-02 23:27  成品\DHT11\12864显示异常参考这个网页.txt
     文件      324027  2018-04-03 16:54  成品\DHT11\12864的取模方式.png
     文件       23118  2018-04-03 21:03  成品\DHT11\Backup Of project1.pdsbak
     文件       23368  2018-04-03 20:36  成品\DHT11\Last Loaded project1.pdsbak
     文件      557176  2010-08-18 01:29  成品\DHT11\LCD12864A.dll
     文件       23118  2018-04-03 21:03  成品\DHT11\project1.pdsprj
     文件         911  2018-04-02 22:59  成品\DHT11\project1.PWI
     目录           0  2018-04-02 22:50  成品\DHT11\功能说明\
     目录           0  2018-04-01 19:48  成品\DHT11\功能说明\lw\
     文件       21644  2018-04-01 19:26  成品\DHT11\功能说明\lw\DHT11.png
     文件       45839  2018-04-01 19:24  成品\DHT11\功能说明\lw\DS1302时钟.png
     文件       43239  2018-04-01 19:25  成品\DHT11\功能说明\lw\LCD12864.png
     文件      116594  2018-04-01 19:26  成品\DHT11\功能说明\lw\主芯片.png
     文件      170960  2018-04-01 19:24  成品\DHT11\功能说明\lw\总电路.png
     文件       48064  2018-04-01 19:24  成品\DHT11\功能说明\lw\电平转换模块.png
     文件       33620  2018-04-01 19:24  成品\DHT11\功能说明\lw\电源模块.png
     文件       52071  2018-04-01 19:25  成品\DHT11\功能说明\lw\矩阵键盘.png
     文件       16048  2018-04-01 16:32  成品\DHT11\功能说明\lw\程序.c
     文件       47231  2018-04-01 19:48  成品\DHT11\功能说明\lw\程序结构.png
............此处省略66个文件信息

评论

共有 条评论