单片机课程设计报告-数显温度传感器设计.docx_第1页
单片机课程设计报告-数显温度传感器设计.docx_第2页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 题: 数显温度传感器设计 专 业: 2012级电子信息工程班 级: 一班学 号: 姓 名: 指导教师: 设计日期: 2014.12.17成 绩:重庆大学城市科技学院电气学院基于at89c51单片机的数显温度传感器设计一、 设计目的作用本次课程设计,是以设计一个具有数据温度显示器为最终的标。他是由单片机,温度传感器和led数码管显示器以及其他相关部件共同实现的。1、掌握51单片机最小系统的设计;2、掌握温度传感器ds18b20的使用;3、掌握c51的编程方式。 二、设计任务与要求基于at89c51单片机的数显温度传感器设计主要具有如下功能,具体要求如下。(1)温度传感器ds18b20检测环境温度。(2)用两个二位数码管显示温度。(3)设定一个温度,当检测的温度达到这个设定值时,用蜂鸣器实现报警。 三、 设计的具体实现本次课程设计是由at89c52单片机主控制电路、ds18b20测温电路及led数码管显示电路三部分组成。整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。根据软件的功能,可以将其分为主程序部分和子程序部分。在运行主程序时,采用外部中断0和外部中断1来调用子程序。1、设计原理(1)主程序主程序的主要功能是负责温度的实时显示、读出并处理ds18b20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度。(2)读出温度读出温度子程序的主要功能是读出ram中的9字节,在读出时需进行crc校验,校验有错时不进行温度数据的改写。(3)显示温度 本设计采用两个二位一体数码管显示,小数部分保留一位,整数部分完全显示。 2、系统设计 首先确定课程设计的目的是设计一个温度计,由单片机,温度传感器和led数码管显示器以及其他相关部件共同实现。根据所要实现的功能,先在proteus软件上仿真,根据所选用的硬件可以将整个软件设计成若干个子程序,譬如初始化,复位,发送指令,读取数据,显示温度等构成,可以将以上子程序分别设计,实现各自功能,再在主程序中调用,实现预期功能。在proteus软件中画出相应的电路图,将编好的程序编译后的文件下载到电路图中的单片机中,进行仿真,对温度传感器设置不同的参数,如若不能达到预期效果,则进行修改直至成功,于此同时,将编译好的程序下载到单片机开发板中,进行测试。主控模块(at89c52及外围电路)显示模块(led数码管)测温模块(ds18b20及外围电路)图1.0a 系统总体设计框图开始对温度传感器进行设置,读取温度显示温度数据转化 否是否超过设定温度 报警 是结束1.0b流程图3、系统实现单片机主控制电路单片机主电路由现在比较通用的at89c52系列单片机及外围电路构成,主要功能是把温度传感器送来的数据经过处理再通过i/o口送达显示电路中。本设计采用at89c52单片机,它有高可靠,抗干扰,低功耗的特点。at89c52单片机的rst端外部有两种操作方式:上电自动复位和按键手动复位。此处晶振采用12mhz。复位电路采用上电结合按钮复位。图a晶振电路图b复位电路测温控制电路温度测量电路主要由ds18b20温度传感器及其外围电路构成,把采集到的数据送入单片机中进行处理。图c测温模块温度显示温度显示电路主要由4个8段共阳led数码管及其外围电路构成,主要功能是把单片机发送的数据以数字的形式显示出来。led 数码管是由八个发光二极管组成的显示器件,这种显示块有共阴极与共阳极两种led 显示器的驱动方式分静态和动态两种方式:动态扫描方式静态方式是把 led 的公共极接地(指共阴极)7 段码,经锁存器给到各 led,数据更新时间无严格限制。该方式硬件结构复杂,软件编程简单。动态扫描方式是每个 led 公共极分别由一根位选线控制,选通该位 led由并口给出 7 段码,则该位亮,延时一段时间,再选通下一位,给出下一位的 7 段码。依此类推,反复进行。此方式的数据更新频率应大于 25hz;当然越高越好。此方案硬件结构简单但对编程要求高。在应用中只要将一个8位并行输出口与显示块的发光二极管引脚相连即可8 位并行输出口输出不同的 7 段码,即可显示不同的字符。通常将控制发光二极管的 8 位数据称为段码,其公共端称位码。本实验用 p2口的4 位产生扫描线,作为 led 的位选通信号,led 显示的数据(7段码)由 p1 口给出。实验系统选用的是共阳极数码管,下表为 7 段 led 数码管(共阳极)显示字符与 7 段码的对应关系。显示字符01234567共阳码c0hf9a4b0999282f8显示字符89abcdef共阳码80908883c6a1868eled共阳数码管对应图图d显示模块图报警模块本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警输出。(也可采用发光二级管报警电路,如过需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元alarm的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见图:蜂鸣器电路连接图设计总程序:#include #include #define uchar unsigned char #define uint unsigned int sbit dq=p00; sbit beep=p07; sbit p22=p22;sbit p23=p23; sbit p24=p24;sbit p25=p25;void reset(); void write_byte(uchar val); uchar read_byte(void); void read_temp(); void led_display(); void alarm(); uchar tempinth,tempintl,tempdfh,tempdfl,tempdf,num; uchar table10= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar setvalue_low=15; uchar setvalue_high=33;main() while(1) read_temp(); led_display(); alarm(); void delay(uint t) for(;t0;t-); void reset() uchar presence=1; while(presence) while(presence) dq=1; _nop_(); _nop_(); dq=0; delay(50); dq=1; delay(6); presence=dq; delay(45); presence=dq; dq=1; void write_byte(uchar val) uchar i; for(i=8;i0;i-) dq=1;_nop_();_nop_(); dq=0;_nop_(); _nop_(); _nop_();_nop_();_nop_(); dq=val&0x01; delay(6); val=val1; dq=1; _nop_(); uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) dq=1;_nop_();_nop_(); value=1; dq=0;_nop_();_nop_();_nop_();_nop_(); dq=1;_nop_();_nop_();_nop_();_nop_(); if(dq) value|=0x80; delay(6); dq=1; return(value); void read_temp() uchar ch1,ch2; reset(); write_byte(0xcc); write_byte(0x44); reset(); write_byte(0xcc); write_byte(0xbe); ch1=read_byte();ch2=read_byte();tempdf=ch1&0x0f; num=(ch24); tempinth=tablenum/10; tempintl=tablenum%10&0x7f;tempdfh=tablenum/10; tempdfl=tabletempdf%10; void led_display() p2=0x0; p22=1; p1=tempinth; p2=0x0; p23=2; p1=tempdfh; delay(50); p2=0x0; p24=1; p1=tempintl; delay(50); p2=0x0; p25=2; p1=tempdfl; delay(50); p2=0x0; void alarm() if(setvalue_low=num) beep=1; else beep=beep; 4、 总结要想完成好这次课程设计,首先要弄懂数字温度计的工作原理,与外部电路的连接,单片机原理,汇编语言等。这其中有以前课堂上学过的也有需要我们自学研究的,这不仅考察了自己原来的知识程度还加强了我们独立获取知识并加以运用的能力。在这次的课程设计中,我学到了团队合作,两个人要相互配合,明确分工,才能高效率的将任务完成,这也训练了我们的团队合作能力。初次之外,我们对于软件的运用也更加熟练,并且学会了另外一个软件proteus,对于以后的课程的学习奠定了基础

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论