找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9383|回复: 3
打印 上一主题 下一主题
收起左侧

单片机温度报警开关按键设定报警值模块电路图与源码等资料

[复制链接]
跳转到指定楼层
楼主
温度报警开关按键设定报警值

下面是该模块的程序源码(附件中可下载)

一、 尺寸:长88.1cmX宽44.7cmX高2cm
二、 工作电压:直流12伏;
三、 特点:
1、可编程(通过下载排针可下载程序)
2、具有两路(IN0和IN1)控制/检测信号输入端(也可作为两路AD采样输入)
3、有三个按键输入可用来调节时间(四位数码管可以用来显示设定时间)
4、如果不用按键的话,可以通过电位器可调节延时时间            
5、具有继电器吸合指示灯
6、可控制交流220V/10A一下设备。(最大控制设备2000W)
7、可实现一路信号(低电平有效)输入控制继电器延时闭合,延时通断功能
8、具有继电器吸合指示灯
9、可控制交流220V/10A一下设备。(最大控制设备2000W)
五、默认功能:
  • 温度设定要有存储功能,断电重新启动时,设定的温度值有记忆。
  • 设定温度值,设定温度范围是0125
  • 温度设定用三个按键完成。分别为:key1功能键、key2上调键、key3下调键。
  • 按键要有防抖动功能。
  • 按设定键时显示上次的温度设定值。同时设定值闪烁,按上调键一次温度升高一度,按下调键一次温度降低一度,当温度值设定完成后按设定键记忆,返回实测温度。
  • 开机显示设定温度值,过3秒后显示实测温度。
  • 当超过设定温度值时继电器吸合,低于设定温度时断开
六、可以根据顾客要求设计各种产品模块,延时、温度报警、电脑控制等等
适用场合:单片机学习、电子竞赛、产品开发工业以及项目中。。。
【标注图片】
  • 如用电位器调节延时时间的话,最大调节时间范围是0-255s
  • 如用按键调节,最大调节时间是0-9999,具有掉电存储功能
  • IN1IN2两路信号输入端,可作为AD采样输入用
下载程序示范
下载端口细节标注
产品展示

采用ADC控制继电器延时通断时间(0~255)秒、分可调单片机源程序如下:
  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:延时通断
  4. 使用芯片:STC12C2052AD
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 编译环境:Keil
  8. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  9. /********************************************************************
  10. 采样AD的电压值作为继电器的延时吸合时间        最大调节数为255秒最小调节单位是秒
  11. 或者最大调节时间为分,最大调节数为255,最小调节单位为分
  12. 注意:调节好设定时间之后,要断电重新上电
  13. ********************************************************************/

  14. #include<STC12C5A60S2.H>                 //库文件
  15. #include <intrins.h>
  16. #include"SMG.H"
  17. #define uchar unsigned char//宏定义无符号字符型
  18. #define uint unsigned int  //宏定义无符号整型
  19. #define FOSC 11059200L
  20. #define BAUD  9600

  21. #define ADC_POWER   0x80            //ADC 电源控制位
  22. #define ADC_FLAG    0x10            //ADC 转换结束标志位
  23. #define ADC_START   0x08            //ADC 开始转换控制位
  24. #define ADC_SPEEDLL 0x00            //420个时钟周期转换一次
  25. #define ADC_SPEEDL  0x20            //280 个时钟周期转换一次
  26. #define ADC_SPEEDH  0x40            //140个时钟周期转换一次
  27. #define ADC_SPEEDHH 0x60            //70个时钟周期转换一次
  28. extern void t_to_dis(void);
  29. extern void display(void);           //显示函数
  30. sbit key1=P3^2;
  31. sbit key2=P3^3;
  32. sbit key3=P3^4;
  33. /********************************************************************
  34.                             延时函数
  35. *********************************************************************/
  36. void delay(uint x)//延时程序 0.1秒
  37. {
  38.         uchar m,n,s;
  39.         for(m=x;m>0;m--)
  40.         for(n=20;n>0;n--)
  41.         for(s=248;s>0;s--);
  42. }
  43.                   
  44. /********************************************************************
  45.                          AD转换初始化程序
  46. *********************************************************************/

  47. void InitADC()
  48. {
  49.     P1ASF|=0x10;        //设置P1口为开漏模式,使用AD功能
  50.     ADC_RES=0;        //AD数据寄存器清空
  51.     ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START;//打开AD电源,转换周期XX
  52.     delay(10);                //延时
  53. }

  54. /********************************************************************
  55.                          AD转换控制程序
  56. *********************************************************************/
  57. uchar GetADCResult(uchar px)          //转换输出的数据 (PX为通道口)
  58. {
  59.     ADC_CONTR = ADC_POWER | ADC_SPEEDLL |px| ADC_START;//开始转换
  60.     _nop_();                        //延时一个机器周期
  61.     _nop_();                                                //延时一个机器周期
  62.     _nop_();                                                //延时一个机器周期
  63.     _nop_();                                                //延时一个机器周期
  64.     while (!(ADC_CONTR & ADC_FLAG));//等待转换结束
  65.     ADC_CONTR &= ~ADC_FLAG;         //关闭AD转换
  66.     return ADC_RES;                 //返回数据
  67. }
  68. /********************************************************************
  69.                             主函数
  70. *********************************************************************/
  71. void main()
  72. {         
  73.         P2M1=0;
  74.         P2M0=0xff;
  75.         P1M1=0;
  76.         P1M0=0x0f;
  77.         P3M1&=0x7f;
  78.         P3M0|=0x80;
  79.         P3=0xff;
  80.          
  81. ……………………

  82. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
AD_UART程序\
停车系统延时程序2012.3.15\
广东深圳\
掉电记忆延时闭合、断开时间,数码管显示\
接通电源延时30分钟断开2012.12.28\
浙江温州\
通电设置分秒延时接通等待通断电再重新延时\
采用ADC控制继电器延时通断时间(0~255)秒、分可调\
采用ADC控制继电器延时闭和时间(0~255)秒、分可调\

所有资料51hei提供下载:
例程.rar (346.3 KB, 下载次数: 61)
产品使用手册.doc (2.78 MB, 下载次数: 23)
原理图.doc (30.5 KB, 下载次数: 31)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-3-5 04:29 | 只看该作者
值得学习
回复

使用道具 举报

板凳
ID:537513 发表于 2019-5-14 09:34 | 只看该作者
值得学习
回复

使用道具 举报

地板
ID:685774 发表于 2020-2-12 16:02 | 只看该作者
值得学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表