• 大小: 3.71MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: 其他
  • 标签: 温控风扇  单片机  

资源简介

本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统选用STC89C52单片机作为控制平台对风扇转速进行控制。可在测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。

资源截图

代码片段和文件信息

#include 
#include 
//#include 

sbit LCD_RS=P2^0;//定义引脚
sbit LCD_RW=P2^1;
sbit LCD_E=P2^2;
#define LCD_Data P0
#define Busy    0x80 //用于检测LCD状态字中的Busy标识



void WriteDataLCD(unsigned char WDLCD);
void WriteCommandLCD(unsigned char WCLCDBuysC);
unsigned char ReadDataLCD(void);
unsigned char ReadStatusLCD(void);
void LCDInit(void);
void DisplayOneChar(unsigned char X unsigned char Y unsigned char DData);
void DisplayListChar(unsigned char X unsigned char Y unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);


unsigned char code uctech[] = {“1111.taobao.co“};
unsigned char code net[] = {“Happy every day!“};

void main(void)
{
 Delay400Ms(); //启动等待,等LCD讲入工作状态
 LCDInit(); //LCM初始化
 Delay5Ms(); //延时片刻(可不要)

 DisplayListChar(0 0 uctech);
 DisplayListChar(0 5 net);
 ReadDataLCD();//测试用句无意义
 while(1);
}

//写数据
void WriteDataLCD(unsigned char WDLCD)
{
 ReadStatusLCD(); //检测忙
 LCD_Data = WDLCD;
 LCD_RS = 1;
 LCD_RW = 0;
 LCD_E = 0; //若晶振速度太高可以在这后加小的延时
 LCD_E = 0; //延时
 LCD_E = 1;
}

//写指令
void WriteCommandLCD(unsigned char WCLCDBuysC) //BuysC为0时忽略忙检测
{
 if (BuysC) ReadStatusLCD(); //根据需要检测忙
 LCD_Data = WCLCD;
 LCD_RS = 0;
 LCD_RW = 0; 
 LCD_E = 0;
 LCD_E = 0;
 LCD_E = 1; 
}

//读数据
unsigned char ReadDataLCD(void)
{
 LCD_RS = 1; 
 LCD_RW = 1;
 LCD_E = 0;
 LCD_E = 0;
 LCD_E = 1;
 return(LCD_Data);
}

//读状态
unsigned char ReadStatusLCD(void)
{
 LCD_Data = 0xFF; 
 LCD_RS = 0;
 LCD_RW = 1;
 LCD_E = 0;
 LCD_E = 0;
 LCD_E = 1;
 while (LCD_Data & Busy); //检测忙信号
 return(LCD_Data);
}

void LCDInit(void) //LCM初始化
{
 LCD_Data = 0;
 WriteCommandLCD(0x380); //三次显示模式设置,不检测忙信号
 Delay5Ms(); 
 WriteCommandLCD(0x380);
 Delay5Ms(); 
 WriteCommandLCD(0x380);
 Delay5Ms(); 

 WriteCommandLCD(0x381); //显示模式设置开始要求每次检测忙信号
 WriteCommandLCD(0x081); //关闭显示
 WriteCommandLCD(0x011); //显示清屏
 WriteCommandLCD(0x061); // 显示光标移动设置
 WriteCommandLCD(0x0C1); // 显示开及光标设置
}

//按指定位置显示一个字符
void DisplayOneChar(unsigned char X unsigned char Y unsigned char DData)
{
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;
 X |= 0x80; // 算出指令码
 WriteCommandLCD(X 0); //这里不检测忙信号,发送地址码
 WriteDataLCD(DData);
}

//按指定位置显示一串字符
void DisplayListChar(unsigned char X unsigned char Y unsigned char code *DData)
{
 unsigned char ListLength;

  ListLength = 0;
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 while (DData[ListLength]>=0x20) //若到达字串尾则退出
  {
   if (X <= 0xF) //X坐标应小于0xF
    {
     DisplayOneChar(X Y DData[ListLength]); //显示单个字符
     ListLength++;
     X++;
    }
  }
}

//5ms延时
void Delay5Ms(void)
{
 unsigned int TempCyc = 5552;
 while(TempCyc--);
}

//400ms延时
void Delay400Ms(void)
{
 unsigned char TempCycA = 5;
 unsigned int TempCycB;
 while(TempCycA--)
 {
  TempCycB=7269;
  while(TempCycB--);
 };
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     356922  2017-03-22 16:22  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\LCD1602A-5V厂家说明书.pdf

     文件       3189  2017-04-09 23:48  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\1602.c

     文件       7972  2017-04-09 23:48  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\1602.OBJ

     文件       6705  2017-04-09 23:48  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602

     文件       1147  2017-04-09 23:48  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.hex

     文件         51  2017-04-09 23:48  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.lnp

     文件       1013  2012-04-12 16:21  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.opt.bak

     文件        260  2017-04-20 22:55  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.plg

     文件       2115  2012-02-11 13:49  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.Uv2.bak

     文件      75219  2017-04-20 22:55  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.uvopt

     文件      13243  2017-04-10 00:40  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602.uvproj

     文件       1015  2012-02-11 13:49  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602_Opt.Bak

     文件       1861  2008-04-02 16:30  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602_Uv2.Bak

     文件      75193  2017-04-10 17:28  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\LCD1602_uvopt.bak

     文件       5115  2002-04-16 14:32  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\STARTUP.A51

     文件       9055  2007-03-18 22:23  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\1602厂家说明书+例子程序\例程-LCD1602(请使用keil uvision3或以上版本打开)\Text1.c

     文件    2063705  2011-02-24 15:46  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\DS18b20cn.pdf

     文件     717709  2015-12-01 11:43  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\HC-SR501模块新资料\HC-SR501模块\HC-SR501人体感应模块.pdf

     文件      48047  2013-06-05 12:42  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\HC-SR501模块新资料\HC-SR501模块\原理图.png

     文件      44473  2013-06-05 13:21  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\HC-SR501模块新资料\HC-SR501模块\参考电路.jpg

     文件      25600  2017-04-14 00:04  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\HC-SR501模块新资料\HC-SR501模块\热释电传感器基本知识和使用中的常见问题.wps

     文件    1141248  2017-04-10 13:37  温控风扇\基于红外感应的温控转速型风扇设计资料\各模块资料\L298N_电机驱动模块_程序书.doc

     文件         44  2018-12-07 00:00  温控风扇\基于红外感应的温控转速型风扇设计资料\更多嵌入式资料.txt

     文件      51354  2017-04-20 22:44  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇电路图\基于红外感应的温控转速型风扇电路设计图.pdf

     文件      18069  2017-04-20 22:53  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1

     文件       5499  2017-04-20 22:53  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1.hex

     文件         85  2017-04-20 22:53  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1.lnp

     文件      27070  2017-04-20 22:53  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1.M51

     文件        220  2018-04-03 14:54  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1.plg

    .......     86429  2019-01-20 20:31  温控风扇\基于红外感应的温控转速型风扇设计资料\温控风扇程序\1.uvgui.Administrator

............此处省略28个文件信息

评论

共有 条评论