温度报警程序c语言设计,单片机温度报警器与时钟显示C程序和原理图

#include

#include "intrins.h"

#define uint unsigned int //宏定义

#define uchar unsigned char //宏定义

uchar i=0,j=0,k=0, s=1,f=1,m=0,a[9]; //定义变量

sbit K4=P1^3; //位定义

sbit K5 =P1^4; //位定义

sbit fmq =P3^6; //位定义

sbit     DQ=P3^3;                               //温度输入口

sbit     DIN=P0^7;

uint     h;

uint     temp;

uint     num;

uint     numc;

//uchar code sz[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf} ; //数字编码表

//uchar code xw[]={ 0xff,0xfe,0xfd,0xfb,0xf7, //选位编码表

//0xef,0xdf,0xbf,0x7f

//};

//**************温度小数部分用查表法***********//

uchar code ditab[16]=

{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};

//

uchar code dis_7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};

//共阳LED段码表        "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9" "不亮" "-"

uchar code scan_con[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f};    //列扫描控制字

uchar data temp_data[2]={0x00,0x00};             //读出温度暂放

uchar data display[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};     //显示单元数据,共4个数据和一个运算暂用

//uchar data display1[5]={};

//

//

//

void pf() //区分出个位和十位

{

a[1]=s/10;

a[2]=s%10;

a[3]=11;

a[4]=f/10;

a[5]=f%10;

a[6]=11;

a[7]=m/10;

a[8]=m%10;

}

/*****************11us延时函数*************************/

//

void delay(uint t)

{

for (;t>0;t--);

}

/*****************延时函数***********************/

void ys ( int d )

{

int b ,c ;

for (b = d;b>0;b--)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘 要 随着现代信息化技术的飞速发展和传统工业改造的逐步实现,能独立工作的温度检 测系统已广泛应用于各种不同的领域。本文介绍了一个基于AT89C52单片机和数字温度传 感器DS18B20的测温系统,并用LED数码管显示温度值,易于读数。系统电路简单、操作 简便,系统具有可靠性高、成本低、功耗小等优点。 关键字: AT89C52;DS18B20;LED数码管 目 录 1.问题描述...............................................1 2.设计思想...............................................1 3.硬件设计...............................................1 3.1主要构成电路......................................1 3.2单片机最小系统设计................................2 3.3温度检测电路......................................3 3.4显示电路..........................................4 3.5报警电路..........................................4 4.软件设计程序编写.....................................5 5.仿真分析...............................................6 6.课程设计总结...........................................6 参考文献.................................................7 附录I系统原理图.........................................8 附录II元器件清单........................................8 附录III系统PCB板图.....................................9 附录IV源程序...........................................10 C语言部分...........................................10 汇编部分............................................14 1 问题描述 设计一个温度检测报警器,用2位LED数码管显示出当前环境温度值;温度范围为85o C~90oC,精确度为±1 oC;当温度值小于85oC或大于90oC报警。 2 设计思想 本系统由主控制部分、温度采集部分、数据显示部分和蜂鸣器报警部分等四部分组成 。系统主控部分采用的主控芯片是AT89C52单片机,通过对温度采集部分采集的数据进行 数据处理后,控制数据的显示。当温度达到预设报警值时,单片机发送控制命令报警。 数据采集部分主要通过温度传感器实时的采集当前环境温度,然后传给主控部分的单片 机。 3 硬件设计 3.1主要构成电路 按单路温度检测报警器的功能要求,决定采用如图1所示的模块组成系统,主要包括 单片机控制器、温度检测电路、LED数码管显示电路、报警电路。 图3.1 温度检测报警器系统组成框图 3.2单片机最小系统设计 目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。 由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是 : 全部I/O口线均可供用户使用。 (2)内部存储器容量有限(只有4KB地址空间)。 (3)应用系统开发具有特殊性。 图 3.2 最小系统图 单片机最小系统如图3.2所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、 P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供一些控制信号。 时钟电路用于产生MCS- 51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指 令工作。MCS- 51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯 片的引脚XTAL1,输出端为XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成 了一个稳定的自激振荡器。电路中的微调电容通常选择为30pF左右,该电容的大小会影 响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为12MHz。 把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH(4Kbyte地址范 围)时,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值