历史上的今天
今天是:2025年01月08日(星期三)
2020年01月08日 | 单片机恒温控制系统程序和仿真
2020-01-08 来源:51hei
恒温程序,仿真


#include #include"main.h" /*****************************变量定义*****************************/ unsigned char code tab[]= { 0xeb, /*'0'*/ 0x88, /*'1'*/ 0xb3, /*'2'*/ 0xba, /*'3'*/ 0xd8, /*'4'*/ 0x7a, /*'5'*/ 0x7b, /*'6'*/ 0xa8, /*'7'*/ 0xfb, /*'8'*/ 0xfa, /*'9'*/ }; unsigned char a,k,flag; //a为位选标志位,k为数码管显示内容标志位,p为采集温度标志位 char sz,xz,sx,xx; //sz为温度上限设定值的整数部分,sx为小数部分;xz为温度下限设定值的整数部分,xx为小数部分; unsigned char buf[4]; int p,tempz; long temp; //缓存采集到的温度数据"DS18B20.c"文件中 unsigned char str[3];//温度数据处理后的缓存str[0]为十位,str[1]为个位,str[2]小数位; //**************************************** //函数名称:void mian() //输入参数:无 //输出参数:无 //功 能:主函数 //**************************************** void main() { unsigned char i; TMOD=0x01; // 定时器0,方式1--16为定时器 TH0=0xf8; TL0=0xf0; EA=1; TR0=1; ET0=1; sz=35; //温度上限 sx=0; //小数位 xz=25;//温度下限 xx=0;//小数位 k=0; //k=0,a=0;设定开机界面显示当前温度 a=0; // l=0; while(1) { key(); //对按键进行扫描 if(flag) { temchange();//读取温度并转换为易于数码管显示的数 if((tempz<((int)(xz*10)+xx)||tempz>((int)(sz*10)+sx))&&k==0) { // l=1;//检测温度是否超过上下限 温度超限报警标志位l置"1"; if(tempz<((int)(xz*10)+xx)) //温度低于下限 { relay_L=0;//继电器动作,控制加热器加热; relay_H=1; beep=0; for(i=0;i<20;i++) { delay(40); key(); //对按键进行扫描 } beep=1; for(i=0;i<20;i++) { delay(40); key(); //对按键进行扫描 } } else //温度高于上限 { relay_H=0; //继电器动作,控制外部制冷装置降温; relay_L=1; beep=0; for(i=0;i<5;i++) { delay(40); key(); //对按键进行扫描 } beep=1; for(i=0;i<5;i++)
史海拾趣
|
问91program:在eeworld下了你上传的CVOImage类后,发现显示PNG图片,但是发现PNG的背景是白色,不是透明, 请问这是这个类本身的原因,还是因为使用不对的原因。其他有没有谁用过CVOImgae的??… 查看全部问答> |
|
本人刚进入无线通讯领域,无甚经验,求高手指点一二。 具体项目关于zigbee技术的无线通讯,使用CC2430单片机实现,编译器为IAR,难处在于有许多代码看不懂,请乐意帮助的朋友留个联系方式,便于讨教!!感恩戴德!… 查看全部问答> |
|
1.当我们定制一个系统时候,在NEW platform wizard中要选择对应与开发板的BSP,是不是就是类似于应用层软件的SDK啊? 2.我看过一个资料,上面说BSP包含BOOTLOADER,OAL以及设备驱动等,那platform wizard中的BSP不包括bootloader,是不是bootloader ...… 查看全部问答> |
|
最近想玩一下液晶取字,就想在12864液晶上,加一块触摸板,通过对触摸板的触摸,达到对液晶相应位置“字”的“取”。我想用51单片机完成,不知道方案,触摸板看过,好像电源线、信号线都是手机里那种,很难焊。求高手,我该用什么触摸板来做 ...… 查看全部问答> |
|
大家好,我是一个FPGA初学者,最近在用赛灵思的片子做项目。我将60M的全局时钟奇分频为800KHZ(输出),同时又把800KHZ当作时钟信号再分频为8KHZ(输出),但是发现place&route的时候报了警告,大致是说我用800KHZ做时钟信号会有超出指标的延迟。 ...… 查看全部问答> |
|
把所有Beaglebone学习过程中分享的资料汇总一下,方便大家也方便自己查找 Beaglebone学习之1--初印象 https://bbs.eeworld.com.cn/thread-349026-1-1.html Beaglebone学习之2--LCD屏幕选择,电路设计(完成) https://bbs.eeworld.com.cn/threa ...… 查看全部问答> |




