ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:329.01KB ,
资源ID:3298507      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3298507.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于C51单片机的数字温度报警器的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于C51单片机的数字温度报警器的设计.docx

1、基于C51单片机的数字温度报警器的设计中国地质大学(武汉)基于C51单片机的数字温度报警器的设计指导老师: 姓 名: 班 级: 学 号: 专 业: 机械设计制造及其自动化 院 系: 机电学院 日 期: 2016.01.10 基于单片机的数字温度报警器的设计摘要:随着现代信息化技术的飞速发展和传统工业改造的逐步实现,能独立工作的温度检测系统已广泛应用于各种不同的领域。本次课程设计是基于AT89C51单片机进行温度传测定及报警等功能的设计,利用数字温度传感器DS18B20的测温系统,通过LED数码管和LCD液晶显示屏同时显示实时温度和报警预设温度,报警指示通过蜂鸣器的声音和16X16点阵屏同时报警

2、,并能采取降温措施(直流电动机启动)。同时本次设计的报警温度采用键盘输入的方式,确保各种报警温度可以方便的设定和调节。本次课程设计的系统电路简单、操作简便,能任意设定报警温度,系统具有可靠性高、成本低、功耗小等优点。关键词: 单片机、温度检测、AT89C51、DS18B20 一、 引言:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温度计就是一个典型的例子。数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等

3、优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C51单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管和LCD液晶屏实现温度值显示。二、 设计方案1. 基本要求实现实时温度显示,测温范围-55+125。报警通过扬声器和发光二极管显示。2. 扩展功能任意设定设置温度报警,通过键盘直接设定温度,设定报警温度通过LCD液晶屏显示。报警同时采取风扇降温措施。 3. 方案选定本次课程设计在实验室进行,基于现有的实验器材,本次选用DS18B20温度传感器作为温度测量传感器,此传感器为单总线数字温度传感器,起体积小、构成的系

4、统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温范围为-55+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求。 4. 总体设计方案图:总体设计三、 功能模块分析1. 复位电路复位操作是为了完成单片机内部电路的初始化,使单片机从一种确定的状态开始运行。当AT89C51单片机的复位引脚RST出现2个机器周期以上,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态1。 复位通常有2种基本形式:上电复位和开关复位。上电复位要求要求接通电源后,自动实现复位操作。开关复位要求在

5、电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。本次采用的是常用的上电且开关复位电路,电路如下图所示:图:复位电路上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=1030F,R=101000。复位操作使单片机进入初始化过程,其中包括使程序计数器PC=0000H,P0P3=FFH,SP=07H,其它寄存器处于零。2. 键盘电路本次使用实验仪提供的一个64的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值

6、应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如将KEY/LED CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号。键盘在由单片机控制的温度报警器系统中的主要作用是通过按键向单片机输入指令,其中主要是输入控制温度的上下限,是人工控制单片机的主要手段。在此温度报警系统由于使用伟

7、福试验箱进行设计,本次使用的伟福试验箱的键盘原理图如下所示:图:键盘扫描电路3. DS18B20温度检测电路使用美国Dallas半导体公司的数字化温度传感器DS1820,支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85

8、C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小,DS18B20产品的特点 :(1) 只要求一个端口即可实现通信。 (2) 在DS18B20中的每个器件上都有独一无二的序列号。 (3) 实际应用中不需要外部任何元器件即可实现测温。 (4) 测量温度范围在55。C到125。C之间。 (5) 数字温度计的分辨率用户可以从9位到12位选择。 (6) 内部有温度上、下限

9、告警设置。DS18B20内部结构如图所示:连线连接孔1连接孔22P1.0SD18B20端口图:DS18B20内部结构 由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。其电路简图如下图:图:温度检测电路4. 显示电路(1) LED数码管显示电路显示电路主要是用于显示时间。采用LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(0.1s

10、),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。本次实验使用实验仪提供的6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。当用PIC5X驱动八段管时,是用I/O方式驱动,所以,驱动方式开关拨到“外驱”方式,PB0PB7接八段的AH段,PC0PC5接G0G5。当用LPC2103驱动时,用的是模拟总线方式,所以只需将八段管的KEY/LED_CS 片选接到CS0即可。实验仪中 8位段码输出地址为0X004H,位

11、码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。LED显示电路如图所示:连线连接孔1连接孔21LED_CSCS0图:LED显示电路(2) LCD液晶显示电路本次实验使用实验仪提供的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两种连接方式。一种为直接访问方式,一种为间接控制

12、方式。本实验仪采用直接控制方式。直接控制方式就是将液晶显示模块的接口作为存储器或IO设备直接挂在计算机总线上。计算机通过地址译码控制 E1和 E2的选通;读写操作信号 RW由地址线 A1控制;命令/数据寄存器选择信号 AO由地址线 A0控制。实际电路如上图所示。地址映射如下(地址中的X由LCD CS决定,可参见地址译码部分说明)0X000H0X001H0X002H0X003H0X004H0X0050X006H0X007H写E1指令写E1数据读E1状态读E1数据写E2指令写E2数据读E2状态读E2数据间接控制方式是计算机通过自身的或系统的并行接口与液晶显示模块连接,如 MCS51的P1口和P3口

13、, 8255等并行接口芯片。计算机通过对该并行接口输出状态的编程操作,完成对液晶显示模块所需时序的操作和数据的传输。这种间接控制方式的电路简单,控制时序通过编程来实现。 LCD液晶显示电路如下图:连线连接孔1连接孔23LCD_CSCS1图:LCD液晶显示电路(3) 16x16点阵显示16x16点阵需要32个驱动,分别为16个列驱动及16个行驱动。每个行与每个列可以选中一个发光管,共有256个发光管,采用动态驱动方式。每次显示一行,10ms后再显示下一行。实验电路图如下:连线连接孔1连接孔2416x16_CSCS3图:16x16点阵显示电路(4) 二极管指示灯实验除采取上述三种显示方式外,还设置

14、有二极管电路来显示程序运行状态和报警状态,其电路图比较简单,下表为二极管电路连接方式。连线连接孔1连接孔25二极管L0P1.26二极管L1P1.45. 报警电路本次试验采用的报警装置是比较简单的一种直接使用P16端口输出讲题变化的高低电平,端口输出的方波经放大滤波后,驱动扬声器发声。声音的频率由端口输出时延时控制。实验电路图如图所示:连线连接孔1连接孔27P1.6喇叭输入图:蜂鸣器电路图6. 降温风扇电路实验中用到的直流电动机无法通过单片机IO口直接输出高电平控制,需要通过驱动电路将电压放大后才能驱动直流电动机运行。直流电动机与驱动电路如下图:连线连接孔1连接孔28P1.2驱动输入9驱动输出直

15、流电机电压输入图:直流电动机及驱动电路四、 软件设计分析1. 主函数模块主程序模块主要负责将各个子程序调用并连接在一起,用过中断函数不断刷新读取温度并将数据送达显示模块进行显示,驱动数码管把实时温度值送出在LED数码管显示查询记录温度值子程序,将当前设定温度实时显示在液晶显示屏,温度超过设定温度上限,单片机驱动蜂鸣器报警,同时驱动二极管发光、点阵屏显示、直流电动机转动。当温度再次低于设定温度上限,上述装置取消报警状态,程序恢复正常运行。 主函数部分程序框图如下:图:主函数框图2. 温度检测模块DSl8B20必须严格按照单总线通信协议,以保证数据的完整性。该协议定义了几种时隙类型:初始化、应答、

16、写1、写0、读1、读0。除了应答时隙所有这些时隙都是有主机发出。总线上所传输的所有命令和数据都是字节的低位在前。图:DS18B20温度检测框图3. 键盘扫描模块键盘扫描通过检测按键状态,当有按键按下时,键盘扫描程序将按键转换成键值,将键值返回到主函数,并记录按键的数值,转换成设定温度。键盘扫描按键为D时,进入温度设定状态,连续输入三个数字设定温度完成,通过这一程序实现报警温度的设定。键盘扫描程序框图如下:图:键盘扫描程序框图4. LCD液晶显示模块LCD液晶显示屏初始化时就开始在第一页显示初始设定的文字(“设定报警温度”),当检测到程序进入温度设定程序时,每当输入一个数据,液晶显示屏同步显示到

17、相应的位置,输入三个数字后液晶屏显示设定温度如“36.5”,达到设计的目的。LCD液晶显示程序框图如下所示:图:LCD液晶屏显示程序框图5. 中断模块中断采用T0方式1,初始值定时为1.842ms。中断模块包含三部分内容,一是进行初始温度的转化,二是进行点阵屏的刷新,实时显示需要显示的内容,三是进行报警判断,根据需要使蜂鸣器报警或停止报警。把这三个程序放模块在中断的原因是,不会因为调整报警温度或进行点阵屏显示值而停止更新温度值,更能使蜂鸣器报警时不停止其他程序的运行。中断模块流程图:五、 课程设计体会本设计是以温度采集及控制过程设计为总目标,以89C51单片机最小应用系统为总控制中心,辅助设计

18、有温度采样电路、LED数码管动态串行显示、LCD液晶屏显示、16X16点阵屏显示,二极管发光显示,蜂鸣器报警等。本设计的重点、难点是:(1) 要掌握温度传感器的原理、结构、应用等;(2) 考虑从非电量信号到电量信号的电路实现原理以及与单片机的接口;(3) 熟悉MCS-51编程的技术,实现单片机对温度的调节控制;(4) 整体电路的仿真调试。经过十天的资料查找和设计,我已完成了计算机控制的课程设计。本文设计了温度报警系统,介绍了温度检测等控制器的硬件电路设计到软件设计的一系列步骤。本设计采用89C51单片机作为控制芯片,辅助键盘和显示,实现了温度检测和报警的功能。纵观整个设计系统,我更加熟悉了对8

19、9C51单片机的了解与认识,深切的将课堂中所学的理论知识运用到实践中,这是一个非常好的机会,我也很看重,如果没有这次的课程设计,我对单片机的学习还是一直是课堂中的认识,无法真真实实的了解一个单片机的运行状况,这次课程设计对我以后也有很大的影响。在论文完成之际,我要对各位老师和各位学长表示最真挚的谢意。老师工作认真、严谨治学,学长耐心指导,无私奉献,在老师和学长的带领下,我们圆满的完成了这次课程设计,参考文献:【1】钟晓伟,宋哲存,基于单片机的实验是温湿度控制系统设计 A 林业机械与木工设备【2】叶景,基于单片机的温度控制系统的设计 经验与交流,2008【3】李丹妮,单片机温度控制系统设计J九江

20、学院报2005【4】刘笃仁,韩保君,传感器原理及应用技术 西安电子科技大学出版社,2008【5】李建民.单片机在温度控制系统中的应用N.湖北:江汉大学学报,1996:9.【6】胡汉才.单片机原理及接口技术M.北京:清华大学出版社,1996:5. 【7】邵敏权.单片机原理实验及应用M.吉林:吉林科学技术出版社,1995:3.【8】付家才.单片机控制工程实践技术M.北京:化学工业出版社,2004:12.【9】彭伟.单片机C语言程序设计实训100例M.北京:北京航空航天大学出版社,2010:5.附录:#include#include#include code unsigned char cod6=1

21、,2,3,4,5,6;unsigned char cod16;unsigned char cod26=0,0,0,0,0,0;#define PD1 61 / 122/2 分成左右两半屏(122x32)unsigned char Column;unsigned char Page_ ; / 页地址寄存器 D1,DO:页地址unsigned char Code_ ; / 字符代码寄存器unsigned char Command; / 指令寄存器unsigned char LCDData; / 数据寄存器xdata unsigned char CWADD1 _at_ 0x9000; / 写指令代码

22、地址(E1)xdata unsigned char DWADD1 _at_ 0x9001; / 写显示数据地址(E1)xdata unsigned char CRADD1 _at_ 0x9002; / 读状态字地址(E1)xdata unsigned char DRADD1 _at_ 0x9003; / 读显示数据地址(E1)xdata unsigned char CWADD2 _at_ 0x9004; / 写指令代码地址(E2)xdata unsigned char DWADD2 _at_ 0x9005; / 写显示数进地址(E2)xdata unsigned char CRADD2 _at

23、_ 0x9006; / 读状态字地址(E2)xdata unsigned char DRADD2 _at_ 0x9007; / 读显示数据地址(E2)xdata unsigned char RowLow _at_ 0xb002; /行低八位地址xdata unsigned char RowHigh _at_ 0xb003; /行高八位地址xdata unsigned char ColLow _at_ 0xb000; /列低八位地址xdata unsigned char ColHigh _at_ 0xb001; /列高八位地址#define uchar unsigned char#define

24、uint unsigned intunsigned int CurTemp;sbit IN=P10;sbit WarLed=P12;sbit RUN=P14;sbit WAR = P16;unsigned int b;unsigned int a;unsigned int c;unsigned char w=1;unsigned char v=1;unsigned int bitmask ;/*数码表*/unsigned char LEDBUF6= 0x00,0x00,0x00,0x00,0x00,0x00;code unsigned int LEDMAP = 0x3f, 0x06, 0x5b

25、, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;code uchar CRYSTALTAB32 = /*- 文字: 行 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x40,0x10,0xA0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0xFC,0x11,0x02,0x14,0xFE,0x17,0x00,0x90,0xF8,0x51,0x08,0x31,0xF8,0x11,0x00,0x10,0xFE,0x0B,0x20,0x0C,

26、0x40,0x08,/*- 文字: 停 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x40,0x10,0xA0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x90,0x20,0x50,0x20,0x30,0xFE,0x1B,0x00,0x0C,0x00,0x88,0x00,0x40,0xFC,0x31,0x00,0x1C,0x00,0x08,;/数字字库code unsigned char NUMTAB16=/*- 文字: 0 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,

27、0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*- 文字: 1 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*- 文字: 2 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,

28、0x24,0x22,0x21,0x30,0x00,/*- 文字: 3 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 4 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*- 文字: 5 -*/*- 宋体12; 此字体

29、下对应的点阵为:宽x高=8x16 -*/0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 6 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 7 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x38,0x08,0x08,0xC8,0x38,

30、0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*- 文字: 8 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*- 文字: 9 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1