历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2020年01月08日 | 单片机恒温控制系统程序和仿真

2020-01-08 来源:51hei

恒温程序,仿真
0.png?imageView2/2/w/5500.png?imageView2/2/w/5500.png?imageView2/2/w/550

#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++)

推荐阅读

史海拾趣

台湾唯圣(GW)公司的发展小趣事
电路设计应遵循相关的行业标准和安全规范,确保各元器件的选型、布局和连接方式合理可靠。
HiRel Connectors Inc公司的发展小趣事
摄像头无法启动,指示灯不亮。
FutureWafer公司的发展小趣事
通过专门的电源管理设备为多个摄像头提供电力,便于统一管理和维护。
EAO公司的发展小趣事

在电子制造行业日益重视环保和可持续发展的背景下,EAO公司积极响应号召,致力于研发和生产环保型电子产品。公司投入大量资源研发新型环保材料,优化生产工艺,减少生产过程中的废弃物排放。同时,EAO公司还建立了完善的电子垃圾回收体系,对废弃电子产品进行专业处理,确保资源得到合理利用,减少对环境的负面影响。

Degson Electronics Co Ltd公司的发展小趣事

Degson Electronics Co., Ltd.成立于1990年,当时主要专注于电子连接器的研发和生产。在初创阶段,公司面临了诸多挑战,包括资金短缺、市场竞争激烈以及技术壁垒等。然而,Degson凭借其创始团队对电子行业的深入理解和坚定信念,成功研发出了一系列高质量、性能稳定的电子连接器产品,并逐渐在市场上赢得了客户的认可。

EPIGAP公司的发展小趣事

为了进一步扩大市场份额,EPIGAP公司开始实施国际化战略。公司先后在多个国家和地区设立了办事处和研发中心,以便更好地了解当地市场需求和技术发展趋势。通过与国际客户的深入合作,EPIGAP公司的产品逐渐打入国际市场,赢得了广泛的认可和赞誉。

问答坊 | AI 解惑

示波器上居然是正弦波

来自EEWORLD合作群:arm linux fpga 嵌入0(49900581) 群主:wangkj…

查看全部问答>

修改platform.reg要重新sysgen吗?

RT 呵呵,搞了这么久,这个问题没搞清,失败啊…

查看全部问答>

CVOImage应用PNG,背景不透明

问91program:在eeworld下了你上传的CVOImage类后,发现显示PNG图片,但是发现PNG的背景是白色,不是透明, 请问这是这个类本身的原因,还是因为使用不对的原因。其他有没有谁用过CVOImgae的??…

查看全部问答>

求 IAR ,zigbee技术开发高手

本人刚进入无线通讯领域,无甚经验,求高手指点一二。     具体项目关于zigbee技术的无线通讯,使用CC2430单片机实现,编译器为IAR,难处在于有许多代码看不懂,请乐意帮助的朋友留个联系方式,便于讨教!!感恩戴德!…

查看全部问答>

定制Wince系统的疑问

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学习过程中分享的资料汇总一下,方便大家也方便自己查找 Beaglebone学习之1--初印象 https://bbs.eeworld.com.cn/thread-349026-1-1.html Beaglebone学习之2--LCD屏幕选择,电路设计(完成) https://bbs.eeworld.com.cn/threa ...…

查看全部问答>

提供点创意相关的信息 分享资料

我只能提供创意相关的咨询等 资料免费送给大家 下面就看你们的创意了! …

查看全部问答>