资源简介
内含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安装包
- 下一篇:无线蓝牙称重系统设计
相关资源
- 555PWM调压电路的仿真以及数码管的显
- SVPWM三相并网逆变器仿真
- 单相PWM整流器PSCAD模型
- 51单片机 pwm波产生.zip
- STM32输入捕获PWM,航模遥控器调试。
- 直流PWM可逆调速系统设计与仿真
- SVPWM_RCFilter.slx
- multisim仿真SPWM模型搭建
- STM32F4定时器4输出4路PWM波(寄存器)
- STM32F103RCT6.zip
- spwm生成器.zip
- STM32精准控制PWM脉冲数_库函数版
- stc12c5a60s2 PID PWm
- 变压器的设计步骤和计算公式
- DSP实现VVVF电机调速源代码 汇编
- 28335 PWM启动AD程序,自己写的简单易懂
- DSPF2812程序
- 51单片机小车PWM测试程序
- 硅传WIFI互联网温控器方案
- STM32 定时器捕获PWM波 以及占空比
- SVPWM详解以及程序实现
- 毕业设计__PID控制直流电机
- 产生频率变化的PWM波形
- stm32PWM呼吸灯
- 三相逆变器SVPWM.rar
- stm32利用定时器的PWM输出驱动蜂鸣器播
- 实验20 PWM DAC实验.rar
- DSP TMS320F2812产生PWM波程序
- PWM输出控制舵机转动角度
- 全桥移相电路PWM驱动程序
评论
共有 条评论