资源简介
内含proteus仿真电路图以及程序源码。程序主要实现的功能有两个,第一,检测当前环境温度,显示在显示屏上,控制风扇转速有两种模式,分为自动和手动;自动控制模式由当前检测的环境温度决定,可以通过按键设置温度的上下限,实现温控不同风扇转速档位;手动模式为按键控制电机的转速,一共有9档,其中,0档为停止,8档最最快转速,控制电机转速用PWM脉宽控制,希望对大家有帮助

代码片段和文件信息
/******************************************** (C) COPYRIGHT 2018 Rooftop Technology ***********************************************************
* 文件名 :main.c
* 描述 :温控电机转速;分为自动手动两种模式,
* 自动模式:通过上下限,控制分为3挡,低于下限,0档,电机停止,温度介于上下限之间,1档,中速,温度高于上限,2档,全速运行
* 手动模式:共9个档位,通过加减,控制档位增减,其中,0档位停止,8档位全速运行
* 手动与自动模式切换由按键P12切换,开机默认自动模式,按下后,1602第一行P1后面显示 * 代表是手动模式,自动模式显示 空格
*
* 实验平台:STC51单片机
*
* 作者 :天台网络科技工作室
* Q Q :862039937
* 闲鱼 :https://trade.taobao.com/trade/detail/tradeSnap.htm?spm=a1z09.1.0.0.2bee36068zgaEk&tradeID=223816225614320156&snapShot=true
**********************************************************************************************************************************************/
#include
#include //包含头文件
#include“timer1.h“
#define LCD1602 P0
#define uchar unsigned char
#define uint unsigned int //宏定义
/***********************************************************************************************************/
sbit KEY_MODE = P1^2;
bit mode_flag = 0; //手动与自动
void key_autoorhand();
void key_hand();
/***********************************************************************************************************/
//////////////////////
//sbit dj=P1^0;//电机控制端接口
sbit DQ=P1^6;//温度传感器接口
//////////按键接口/////////////////////////////////
sbit key1=P3^5;//设置温度
sbit key2=P3^6;//温度加
sbit key3=P3^7;//温度减
//////////////////////////////////////////////////////
sbit RS = P2^7;
sbit EN = P2^6;
uint wen_du; //温度变量
uint shangxia; //对比温度暂存变量
uchar dang;//档位显示
uchar Mode=0;
uchar d1d2d3;//显示数据暂存变量
uchar code tab1[]={“ P: T: . C “};
uchar code tab2[]={“TH: C TL: C“};
void delay(uint ms) //延时函数,大约延时
{
uchar x;
for(ms;ms>0;ms--)
for(x=50;x>0;x--);
}
/***********ds18b20延迟子函数(晶振12MHz )*******/
void delay_18B20(uint i)
{
while(i--);
}
/**********ds18b20初始化函数**********************/
void Init_DS18B20()
{
uchar x=0;
DQ=1; //DQ复位
delay_18B20(8); //稍做延时
DQ=0; //单片机将DQ拉低
delay_18B20(80); //精确延时 大于 480us
DQ=1; //拉高总线
delay_18B20(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay_18B20(20);
}
/***********ds18b20读一个字节**************/
uchar ReadOneChar()
{
uchar i=0;
uchar dat=0;
for (i=8;i>0;i--)
{
DQ=0; // 给脉冲信号
dat>>=1;
DQ=1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}
/*************ds18b20写一个字节****************/
void WriteOneChar(uchar dat)
{
uchar i=0;
for (i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay_18B20(5);
DQ=1;
dat>>=1;
}
}
/**************读取ds18b20当前温度************/
void ReadTemperature()
{
uchar a=0;
uchar b=0;
uint t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
delay_18B20(100); // this message is wery important
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOn
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 186688 2018-10-18 10:02 final.DSN
文件 1078 2018-10-18 10:20 final.PWI
文件 186688 2018-10-18 10:02 Last Loaded final.DBK
目录 0 2018-10-20 10:40 程序\
目录 0 2018-10-20 10:40 程序\PWM\
文件 1988 2018-10-18 10:19 程序\PWM\timer1.c
文件 1675 2018-10-18 10:14 程序\PWM\timer1.h
文件 6328 2018-10-18 10:19 程序\timer1.lst
文件 5661 2018-10-18 10:19 程序\timer1.obj
文件 25228 2018-10-18 10:20 程序\温控风扇 程序
文件 7644 2018-10-18 10:20 程序\温控风扇 程序.hex
文件 57 2018-10-18 10:20 程序\温控风扇 程序.lnp
文件 31431 2018-10-18 10:20 程序\温控风扇 程序.M51
文件 4746 2018-10-18 10:20 程序\温控风扇 程序.plg
文件 57643 2018-10-18 10:20 程序\温控风扇 程序.uvopt
文件 13441 2018-10-16 17:52 程序\温控风扇 程序.uvproj
文件 57643 2018-10-18 10:03 程序\温控风扇 程序_uvopt.bak
文件 13267 2018-03-20 15:42 程序\温控风扇 程序_uvproj.bak
文件 10810 2018-10-18 10:20 程序\温控风扇程序.c
文件 25000 2018-10-18 10:20 程序\温控风扇程序.LST
文件 22979 2018-10-18 10:20 程序\温控风扇程序.OBJ
- 上一篇:labwindows/cvi2015安装包
- 下一篇:无线蓝牙称重系统设计
相关资源
- 51单片机PWM程序,占空比、周期可调整
- SG3525频率PWM控制均可调模块
- 基于51单片机的智能温控器
- 台达PLC与485温控仪通讯
- 基于ARM7 PWM定时器的图像传感器时序信
- 电力电子技术(第4版)_王兆安_带目
- 基于FAN6754A的PWM反激式开关电源的设计
- 采用双闭环控制提高PWM的电源纹波抑
- 智能分户供暖监控系统的无线温控器
- FPGA实现单极性SPWM调制
- LCL滤波器在三相PWM整流器中的应用
- CPS―SPWM调制方法在H桥多电平变流器中
- 基于FPGA的多电平载波移相SPWM方法实现
- 基于LM35温度传感器的温控系统设计
- 正弦波逆变器正弦波逆变器的工作原
- 基于DSP的SVPWM变频调速系统
- 采用单片机SPWM的控制应急电源逆变电
- PWM脉宽调制的原理
- 说说PWM脉宽调制原理
- 以单片机AT89S52、光电脉宽调制器芯片
- STM32F103系列PWM输出应用之纸短情长音
- 基于FPGA的SVPWM实现方法
- 中央空调室内智能温控器设计论文、
- pwm控制驱动直流电机 可调速 可调转的
- 分布式温控系统,北邮软件工程作业
- 分布式温控系统
- 可控硅调光,PWM调光,0-10V调光哪个更
- 一种基于SG3525A的PWM型开关稳压电源设
- 基于PIC单片机产生SPWM信号控制逆变桥
- 三相PWM整流器电压环H_∞鲁棒控制
评论
共有 条评论