基于Proteus的温控报警器设计

发布者:悦耳旋律最新更新时间:2013-05-18 来源: 电子设计工程 关键字:Proteus  Keil  温控报警器  AT89C51 手机看文章 扫描二维码
随时随地手机看文章
    Proteus软件是由英国Lab Center Elec—tronics公司开发的最新版本EDA工具软件,它集电路设计、制版及仿真等多种功能于一身,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机(如51、PIC、AVR、Motorola hcll等),并且支持与当前流行的单片机开发环境(Keil、MPLAB、LAR)连接调试的软硬件仿真系统。针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真,做到了一体化和互动效果。
    Proteus包含以下应用软件:
    ISIS——智能原理图输入系统,系统设计与仿真的基本平台。
    IARES——高级PCB布线编辑软件。
    在Proteus中,从原理图设计、单片机编程、系统仿真到PCB设计一气呵成。真正实现了从概念到产品的完整设计。使用Proteus可以直观的看到设计效果,可以缩短开发周期。
    KeilμVision3是单片机源程序设计与编译软件,它支持汇编与C语言,能够对程序进行调试并转换成其他形式的文件。
    本文在Proteus ISIS平台上设计一个能够检测温度变化并显示实时显示温度,在规定的温度范围内报警的温控报警器,可广泛应用于生产生活中需要温度控制的场合。温度报警的范围可通过程序修改。

1 系统硬件电路设计
   
温控报警器硬件电路主要由AT89C51单片机最小系统、ADC0808模数转换器组成的温度采集模块、四位LED显示单元构成的显示电路、报警电路构成。硬件电路的组成如图1所示。

a.JPG[page]

    下面具体分析各部分电路的设计原理:
    1)单片机最小系统包括AT89C51单片机一块,时钟电路(12 MHz晶振)、复位电路(上电复位)。
    2)温度采集模块 包括ADC0808模数转换器芯片一块,用可变电阻模拟电压变化,在实际应用中可采用温度传感器来替代。通过模数转换器将采集到电压信号转换成数字信号,使用通道0输入电压信号,转换后的数字信号通过P1口输入到单片机内部。
    3)显示电路包括四位共阴LED数码显示管,采用动态显示方式,由P0口输出段码,P2口的P2.0-P2.3输出位码。该部分电路主要用于实时显示环境温度。
    4)报警电路包括扬声器和两个发光二极管,扬声器在温度超出范围时发出声音报警,发光二极管随之发光报警。两个发光二极管分别用于温度高出范围和低于范围时报警,扬声器也会发出两种不同音调的声音。
    硬件电路在Proteus软件环境下完成原理图的设计,主要元器件清单如下:四位共阴LED数码管7SEG-M PX4-CC-BLUE,模数转换器ADC08 08,单片机AT89C51,电容CAP,极性电容CAP-ELEC,晶振CRYSTAL,黄色发光二极管LED-YELLOW,可变电阻POT-HG,电阻RES,排阻RESPACK-8,扬声器SOUNDER。在环境温度小于60度和高于160度时报警。

2 软件程序设计
   
温控报警器的主要功能由程序控制,本设计采用C语言完成程序的设计,在KeilttVision3软件中完成调试。程序主要包含主程序、显示子程序、定时器中断程序等3部分。
2.1 主程序设计
   
主程序完成的主要内容有:定时器/计数器参数设置、启动模数转换、读取模数转换结果、根据读取内容判断是否报警等。主程序流程图如图2所示。

b.JPG


2.2 显示子程序
   
显示子程序主要用于显示温度,可以直观的察看温度。采用动态显示方式,P0口输出段码,P2口输出位码。下面给出部分代码:
    c.JPG
2.3 定时器/计数器中断程序
   
该部分包含两部分,T0定时器/计数器中断主要用于为ADC0808提供时钟信号,T1定时器/计数器定时实现不同频率脉冲信号的输出,驱动扬声器发声。该部分代码不再给出。

3 调试与运行
   
在Proteus和Keil中进行相关的设置,可以让两者进行联调,联调可以在同一台计算机上进行,也可以在不同的计算机之间进行。通过Proteus与Keil的联调可以轻易做到在不使用硬件的前提下直接在仿真平台上进行实时仿真,对于系统的调试具有很大意义。
    在硬件电路检查无误和程序编译无误之后,系统即可运行.运行时初始状态为显示器显示温度为145,调可变电阻使电阻值发生变化,使显示温度低于60℃,可以观察到低发光二极管发光,扬声器报警;继续调可变电阻使显示温度高于160℃,可以观察到高发光二极管发光,扬声器以另外一种频率声音报警。如果需要调整报警温度范围,可以通过修改主程序中的温度上限和下限值来实现。

4 结束语
   
文中给出了基于单片机的简易温控报警器的设计过程。在该设计中采用可变电阻代替温度传感器,可添加DS18B20温度传感器来检测实际温度,利用ADC0808和单片机完成数据分析,实时显示,报警,实现温度高于上限和低于下限时报警的基本功能,还可通过修改程序改变报警现象。
    设计过程中利用Proteus与Keil软件的完美结合,使本设计的设计和调试过程更加方便快捷,提高了设计的一次成功率,节约了设计成本,缩小了设计周期。该设计的电路及驱动程序对相应的实际应用系统具有一定的借鉴作用。

关键字:Proteus  Keil  温控报警器  AT89C51 引用地址:基于Proteus的温控报警器设计

上一篇:基于单片机的双轴光伏寻日系统设计
下一篇:Keil C51精确延时程序设计

推荐阅读最新更新时间:2024-03-16 13:24

基于Proteus的SPI接口的设计与实现
引 言 现在,人们生活中的每个角落都有嵌入式设备的存在,比如DVD、移动电话、MP3及掌上电脑等等。这些嵌入式设备多采用32位RISC嵌入式处理器作为核心部件。其中基于ARM核的嵌入式处理器独占鳌头,在32位RISC处理器中占据超过75%的市场份额。因而越来越多的电子爱好者都加入了学习ARM的队伍中。通过和一般单片机系统开发过程的比较不难发现,嵌入式系统的设计包括硬件设计和软件设计两个方面,其调试过程包括软件调试、硬件测试、系统调试3个过程。软件调试一般比较容易进行,但是硬件测试和系统调试则比较麻烦,因为要进行这两个过程必须在 PCB制作、元器件焊接完毕之后才能进行;而PCB的制作、元器件的焊接是非常费时费力的,如果能采用仿真工
[单片机]
基于<font color='red'>Proteus</font>的SPI接口的设计与实现
基于AT89C51的激光锁的设计
当今社会光电技术的应用已经非常广泛,尤其是在光纤通信技术、远程遥控技术、雷达探 测技术、自动控制技术以及光电检测技术等方面,对于光电技术的依赖越来越大。光电技术是具有广阔前景的一门新型技术,因为光的传播速度快,同时又不容易受干扰,还具有极大 的信息承载量,如果选择用光作为信息的载体,可以想象得出我们的世界将会变得如何的方 便快捷。 电脑密码控制器是以微处理器和数字存储器为代表,采用了当今高新科技、最新优化软件设 计而成,所追求的高保密性、高可靠性和广泛的适用性,特别是在区域管理和集中控制防盗 中显示出诸多优势,是一种现在比较流行的系统。 本密码控制器属于光电遥控式,集合了以上两种先进技术。以有光照或无光照作为基本码编 排一组特定
[应用]
Proteus入门单片机(3)例程分析
74HC573详解: /* 调试环境:Proteus 7.8 AT89S52单片机 8位共阴数码管 功能为:实现数码管1秒~99秒倒计时, 12M晶振 */ #include reg52.h #define uchar unsigned char sbit LED1=P1^1; //连的是LED1 #define MAX_NUM 13 //最大倒计时数1~99可设 #define SEGPORT P0 //定义数码管连接端口 sbit LE_DUAN = P2^0; //定义573锁存使能端口 段锁存 sbit LE_WEI =
[单片机]
基于51单片机的智能温控系统
一.系统概述 系统使用的模块有AT89C51单片机+8位共阳极数码管+DS18B20温度检测模块+按键+风扇+加热装置+光电管+继电器+电机驱动模块L298N。 本设计采用51单片机为核心控制,使用数码管进行温度以及阈值的显示,通过按键可以对温度上限和温度的下限进行设置,当光电管检测到有人时,如果此时的温度过低则通过加热装置进行加热,温度过高则通过风扇进行降温。 二.仿真概述 1.使用8位共阳数码管显示实时温度。 2.通过按键可以调节温度阈值,通过按键可以对阈值进行加减调节。 3.当温度低于温度阈值并且光电管检测到有人,则会通过继电器启动加热装置。 4.当温度高于温度阈值并且检测到光电管有人,则会通过控制L29
[单片机]
基于51单片机的智能<font color='red'>温控</font>系统
基于8051和Proteus的数字时钟 程序的编写和仿真
本程序功能及特点:通过8051芯片及数码管实现数字时钟,并可以通过如下图中的两个按键对时钟进行调节,其中 PAUSE 按键的作用是暂停/启动时钟并选择要修改的时间参数 时 , 分 , 秒 ,被选择参数例如下图中从左到右依次为 时,分,秒 ,当小时被选中并被修改时会有最下面两点的点亮以作为提示, CHANGE 按键用来对被选中的参数进行修改,只能进行加法修改,超过参数的上限会自动归零, 注:本程序仅供本人日后学习参考使用,不足之处请见谅, #include reg52.h sbit dualock=P2^0; sbit weilock=P2^1; unsigned char code duacode ={0x3f,0x0
[单片机]
基于8051和<font color='red'>Proteus</font>的数字时钟 程序的编写和仿真
Keil宏定义和如何知道单片机资源名称
在Keil的工程设置中需要根据所选单片机来更改宏定义,如果程序移植后,宏定义没有更改过去,有时候会报错。 这个宏定义代表了芯片的类型,如下: 因此需要根据自己芯片的类型,更改宏定义。 如何知道自己芯片的资源名称呢?比如定时器叫什么名字? 可以打开stm32f10x.h文件,往下拉可以看见: 这些宏定义代表: STM32F10X_LD_VL 对应于 LowDensity ValueLine,即小容量的STM32F100 STM32F10X_MD_VL 对应于 MediumDensity ValueLine,即中等容量的STM32F100 STM32F10X_HD_VL 对应于 HighDensity ValueLin
[单片机]
<font color='red'>Keil</font>宏定义和如何知道单片机资源名称
STM32 基础系列教程 0 - KEIL5 下载与安装
前言 学习keil/mdk-ram工具的下载与安装。 示例详解 MDK 工具下载 在浏览器中输入https://www.keil.com/download/product/ ,在弹出的网页中点 MDK-ARM, 在弹出的信息获最页面中输入信息(有些可以乱填,邮箱地址址对了,就可以!),然后点Submit提交! 提交后网页自动跳转到如下界面,直接点击要下载的文件文字即可! 接下来就是漫长的下载时间,在些时可以去喝杯茶先,国外的网,下载一般比较慢,当然也可以去直接百度一下最新版本MDK文名,如MDK5.27,网上有些同学会将下载好的文件放到网盘上分享,直接从网盘下载说不定会更快哦。
[单片机]
STM32 基础系列教程 0 - <font color='red'>KEIL</font>5 下载与安装
Keil的代码优化产生的问题
阅 读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是 Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C5l编译并未达到预期的结果。原文作者
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved