幸运时时彩平台

单片机双路可编程温度控制系统

2020-01-28来源: 51hei关键字:单片机  双路可编程  温度控制系统

【简要说明】

一、尺寸:长72mmX宽99mmX高20mm
二、 主要芯片:单片机、DS18B20、数码管
三、 工作电压:输入电压小于12V,另有24V 可选。功耗小于2W
四、  特点:1、具有输出电压指示灯。
            2、输出具有指示灯。
            3、采用螺旋压接端子。
            4、强大的滤波电路。
            5、具有四位数码管显示,可以显示小数点。
            6、具有系统复位功能
            7、具有完善的保护电路:电流限制、热关断电路、电源防接反功能、续流保护、光耦隔离等
            8、可接两个DS18B20传感器
            9、两路继电器独立工作控制

            10、可以自由编程,提供参考程序
            11、继电器所有触点全部输出

            12、三个输入控制按键,通过程序也可以自由设定
            13、工作稳定可靠。           

            14、工作温度范围-40℃~+70℃

            15、工作湿度 40%  ~ 80%RH

            16、可装入槽型板,并安装在DIN导轨上。


GYJ-0033_双路可编程温度控制系统原理图及PCB图
 

元件清单:
 

实物图与接线图:
 

A为传感器1的当前温度,B为传感器2的当前温度,C为设定的差值温度。

当满足:(A-B)>=C,时,继电器吸合,不满足条件时继电器断开。

因为内部是6M晶振  外部是11.0592M  如果选择外部时钟,读取时间达不到60um就不能运行。

两路温控两个探头温度差控制单片机源程序如下:

/***********************************************************************

单品片机;60s2

板子;     双路温控继电器,两个温控探头,上面的温控探头是A面显示的温度,  下面的温控探头是B面显示的温度,

操作过程; 下完程序先设定C,先按加温度键,然后再按减温键,断一下电再上电,这样是为了设定掉电存储

板子功能;  当A的温度大于B的温度到设定值时,继电器A吸合,当再这个设定范围时,断开。有个问题,当B大于A时也会吸合

*************************************************************************/

#include

#include

#include "INTRINS.H" 

#define uchar unsigned char

#define uint  unsigned int

//数码管显示段码 

code unsigned char duan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88, 0x83,  0xC6,  0xBF,0x7f}; 

                                                                              

unsigned char dong[4] = { 0xFF, 0xFF, 0xFF, 0xFF};        //数码管显示缓冲区

uchar i = 0;  //数码管扫描动态索引

uint time2,time3;

uchar gai = 0;

uchar mode = 1;           //换页变量


幸运时时彩平台/********************掉电存储*********************************************/

幸运时时彩平台typedef unsigned char  INT8U;

typedef unsigned int   INT16U;


幸运时时彩平台sfr IAP_DATA    = 0xC2;

sfr IAP_ADDRH   = 0xC3;

sfr IAP_ADDRL   = 0xC4;

sfr IAP_CMD     = 0xC5;

sfr IAP_TRIG    = 0xC6;

sfr IAP_CONTR   = 0xC7;

#define ENABLE_ISP 0x82 //系统工作时钟<20MHz 时,对IAP_CONTR 寄存器设置此值


union union_temp16

{

    INT16U un_temp16;

    INT8U  un_temp8[2];

}my_unTemp16;


INT8U Byte_Read(INT16U add);              //读一字节,调用前需打开IAP 功能

幸运时时彩平台void Byte_Program(INT16U add, INT8U ch);  //字节编程,调用前需打开IAP 功能

void Sector_Erase(INT16U add);            //擦除扇区

void IAP_Disable();                       //关闭IAP 功能

void Delay();

/******************************18b20*************************************************************/

bit flag1s = 0;          //1s定时标志


extern bit Start18B20();   //18b20初始化函数

extern bit Get18B20Temp(int *temp);        //18b20温度读取函数

/******************************第二路温控*************************************************/

bit flag1ss = 0;          //1s定时标志


extern bit Start18B200();   //18b20初始化函数

extern bit Get18B20Tempp(int *tempp);        //18b20温度读取函数

/*******************************************************************************************/


sbit wei1 = P2^3;         //数码管的位断开关

sbit wei2 = P2^4;         

sbit wei3 = P2^5;

sbit wei4 = P2^6;         

         

幸运时时彩平台bit d1 = 1;   //换画面按键当前值

bit d2 = 1;          //计数加按键当前值

bit d3 = 1;          //计数减按键当前值


sbit s1 =   P2^0;    //计数加

sbit s2 =   P2^1;         //计数减

sbit s3 =   P2^2;         //换画面按钮


sbit out1 = P1^2;         //高温启动

sbit out2 = P1^3;         //低温启动


uchar T0RH = 0;  //T0重载值的高字节

uchar T0RL = 0;  //T0重载值的低字节



void peizhit0(uint ms);        //配置t0定时器

void key();                                //按键扫描函数


void main()

{

        bit q1 = 1;

        bit q2 = 1;

        bit q3 = 1;

/***********************18b20***************************************/

        int intT, decT;  //温度值的整数和小数部分

        bit res ;

幸运时时彩平台    int temp;        //读取到的当前温度值

        /***********************第二路18b20***************************************/

        int  intTT, decTT;  //温度值的整数和小数部分

        bit ress ;

    int tempp;        //读取到的当前温度值


幸运时时彩平台        Start18B20(); /*启动DS18B20*/


        Start18B200(); /*启动DS18B20*/


/***********************开机读掉电存储内容******************************************************/

                 

                

                time2 = Byte_Read(0x03)*255+Byte_Read(0x02);           //注意这是把高字节和低字节合在一起

                time3 = Byte_Read(0x05)*255+Byte_Read(0x04);           //读三的时间

            EA = 1;       //开总中断

            peizhit0(1);  //配置T0定时1ms


        while(1)

        {

幸运时时彩平台/*********************第一个按键换页按键************************************/

                 if(d3 != q3)

                {

                        q3 = d3;

幸运时时彩平台                        if(d3 == 0)

幸运时时彩平台                        {

                                mode = mode+1;                                 //功能设置,4个参数,4个周期为一个循环

                                if(mode == 4)

                                {

                                        mode = 1;

                                }

                        }

幸运时时彩平台                }

/*******************************第二个按键按下*************************/


                 if(d2 != q2)

                         {

                                 q2 = d2;

[1] [2] [3] [4]
关键字:单片机  双路可编程  温度控制系统 编辑:什么鱼 引用地址:http://news.sonata9.com/mcu/ic486596.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机控制28BYJ-48步进电机驱动源码
下一篇:幸运时时彩平台单片机RGB彩灯渐变七彩灯无频闪 源程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于52单片机控制编码器显示程序
#include "reg52.h"    #define uchar unsigned char#define uint unsigned int#define LCD1602_DATAPINS P0sbit LCD1602_E=P2^7;sbit LCD1602_RW=P2^5;sbit LCD1602_RS=P2^6;sbit DIR=P1^0;sbit STEP=P1^1;sbit K1=P3^1;sbit K2=P3^0;typedef unsigned int u16;   //对数据类型进行声明定义typedef unsigned char
发表于 2020-02-08
单片机步进电机转速控制程序(速度LED显示)
单片机源程序如下://数码管位 高位-----低位//四个按键控制步进电机:正转,反转,加1,减1//上电时电机启动,数码管上显示速度最小档1,加减档位均能通过数码管显示出来,电机采用单双八拍方式//电机转速一共10档,通过按键调节转速 //电机正转时最高位数码管显示0,反转时显示1  #include<reg51.h>#define uchar unsigned char#define uint unsigned int#define led P0//数码管段选#define haha P2sbit s1 = P1^0;sbit s2 = P1^1;sbit s3 = P3^0;sbit
发表于 2020-02-08
单片机步进电机转速控制程序(速度LED显示)
STC单片机+DM134实现LED多段控制
 单片机源程序如下://============================================================================//================翼芯科技 LED流星灯8段16段==软件生成生成数据=================//============================================================================   //  此源码版权属 翼芯科技 全权享有,如欲引用,敬请署名并告知//         
发表于 2020-02-08
STC单片机+DM134实现LED多段控制
基于51单片机的数字电容测量仪设计
本设计详细介绍了一种基于单片机的数字式电容测量仪设计方案及实现方法。设计的主要方法是采用555芯片构成单稳态触发器,将电容容量转换为脉冲宽度。通过单片机的计时器测量脉宽, 根据已知的R值,通过单片机的运算功能,计算出电容容量,最后,再通过单片机的普通I/O口控制液晶屏显示出电容容量的计算结果。系统的测量范围为10pF~ 500uF, 具有多个量程,可根据用户需要由用户选择,与用户的交互是通过键盘实现,不同量程的实现是通过单片机的I/O口控制继电器的吸合与断开来选择不同的R值,从而实现不同的量程。同时,本设计注重设计方法及流程,首先根据原理设计电路,再通过protues仿真,利用keil编程,进而借助altium designer
发表于 2020-02-08
基于51单片机的数字电容测量仪设计
幸运时时彩平台基于51单片机的pwm直流电机调速
仿真原理图如下单片机源程序如下:#include <reg52.h>/********************************************** 定时器初值*********************************************/#define T0HIGH        0xec#define T0LOWW        0x8a
发表于 2020-02-08
基于51单片机的pwm直流电机调速
幸运时时彩平台手把手教你单片机串口通信-基础篇
1的个数之和应为偶数。接收字符时,对1的个数进行校验,若字符不一致,则说明传输数据过程中出现错误。代码和校验发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据时,同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,一致则无差。循环冗余校验通过某种数学预算实现有效信息与校验位之间的循环校验,常用语对磁盘信息的传输、存储区的完整性校验。串口的基本结构SBUF:51单片机中的特殊寄存器,串行数据缓冲器(一个接收一个发送),两个其实是共用的一个地址99H,但是两个在物理上面是分开的。当发送使用时,就采用SBUF=XXX;  
发表于 2020-02-08
手把手教你单片机串口通信-基础篇
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 sonata9.com, Inc. All rights reserved
小米彩票开奖 北京赛车 500万彩票网 北京赛车pk10玩法 河北11选5走势图 福建11选5官网 568彩票计划群 一分时时彩 幸运时时彩 北京11选5走势图