课程设计(论文)-基于单片机的数字温度计设计.docx_第1页
课程设计(论文)-基于单片机的数字温度计设计.docx_第2页
课程设计(论文)-基于单片机的数字温度计设计.docx_第3页
课程设计(论文)-基于单片机的数字温度计设计.docx_第4页
课程设计(论文)-基于单片机的数字温度计设计.docx_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

单片机微机原理及接口技术基于单片机的数字温度计设计目 录1.设计目的与要求11.1设计要求11.2设计思路简述11.3整体结构框图12.系统硬件设计22.1单片机最小系统模块22.1 单片机AT89C5122.1.2 晶振电路32.1.3 复位电路32.3温度传感器DS18B20模块42.3.1结构特点42.3.2引脚说明52.4LED数码管模块52.4.1工作原理52.4.2显示方式63.系统软件设计73.1主程序流程图73.2数据采集电路流程图83.3显示电路流程图94.系统仿真与调试10参考文献11附录121. 设计目的与要求利用本学期学习的单片机知识完成一个单片机的设计并且进行仿真实现其功能,从而达到对单片机软硬件的进一步理解以及掌握相关传感器的原理以及使用方法,获得一定的实践经验,培养相互协作,理论与实践相结合,提过发现问题并且解决问题的能力。1.1设计要求实时显示温度环境,四位数码管显示,3位整数,1位小数。温度范围-55-127度。 1.2设计思路简述本设计使用DS18B20温度传感器,AT89C51单片机作为主控制器,结合反相驱动IC和共阳极4位数码管实现一个能够显示具体温度的数字温度计。1.3整体结构框图基于单片机数字温度计的设计主要包括三大模块,分别为主控电路单片机AT89C51模块、数据采集电路温度传感器DS18B20模块和显示电路LED数码管模块。整体结构如Error! Reference source not found.所示数据采集电路显示电路单片机AT89C51、图表 1.1整体结构框图12. 系统硬件设计2.1单片机最小系统模块2.1 单片机AT89C511、AT89C51标准功能4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2、AT89C51引脚说明VCC:供电电压。GND:接地。P0口:P0口是一个8位漏极开路双向I/O口。当P0口的管脚第一次写1时,被定义为高祖输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须连接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口。当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。P3口:P3口管脚是8个带有内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。2.1.2 晶振电路电路中C1无极性电容和C2无极性电容是起振电容。当12MHz晶振在高频的情况工作时,会产生一定的寄生的电感。单片机的内部有一振荡电路,我们需要在外部接上晶振电路单片机才能工作。晶振和电容与内部的电路组成振荡电路。只要单片机一上电,电容启振,晶振工作,这样单片机就有一个持续的时钟信号。51单片机内部有一个12分频器,因此时钟周期为 t = 1/12000000 1us。图表 2.1 晶振电路2.1.3 复位电路单片机复位是使CPU和系统中的其他功能不见都处在一个确定的初始状态,并从这个状态开始工作,复位后 PC=0000H,使单片机从第一个单元取指令。单片机复位的条件是:必须使RST/VPD 或 RST引脚加上持续两个机器周期(即24个振荡器)的高电平。若时钟频率为12MHZ每台机器周期为1 ,则只需2 以上时间的高电平,在RST 引脚出现高电平后的第二个机器周期执行复位。图表2.2复位电路2.3温度传感器DS18B20模块 温度传感器DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。图表 3温度传感器DS18B20结构图2.3.1结构特点DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。结构特点如下独特的单线接口仅需一个端口引脚进行通讯简单的多点分布应用无需外部器件可通过数据线供电零待机功耗测温范围-55+125,以0.5递增。华氏器件-67+2570F,以0.90F递增温度以9位数字量读出2.3.2引脚说明DQ为数字信号输入/输出端GND为电源地VDD为外接电源供电电源输入端2.4LED数码管模块2.4.1工作原理LED数码管(LED Segment Displays)是由8个发光二极管构成。其中7个LED构成7笔字形,1个LED构成小数点(固有时成为八段数码管)。图表 4LED数码管结构图2.4.2显示方式 LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法,共阴极就是7段的显示字码共用一个电源的负极,是高电平点亮,共阳极就是7段的显示字码共用一个电源的正极,是低电平点亮。LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。1、静态显示静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2、动态显示LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3. 系统软件设计开始3.1主程序流程图DS18B20温度采集结束程序LED数码管显示显示转化并显示温度温度超过上下限?系统初始化153.2数据采集电路流程图开始初始化DS18B20读DS18B20的序列号检测DS18B20 Y Y YN发送跳过ROM指令温度转换t=1,等待DS18B20复位发送DS18B20编码读取温度数据主程序3.3显示电路流程图初始化,启动A/D转换数码管LED显示延迟20msA/D转换数字量结果显示到4位数码管上4. 系统仿真与调试通过Proteus仿真软件进行模拟调试。根据硬件设计画出数字温度计的电路图,将软件设计中的zz.hex文件加载到单片机AT89C51中,单击仿真工具按键进行全速仿真,如图所示,点击DS18B20模型的高低温度调节钮,则可看到温度的变化同步反映到数码管显示上。由此可说明本次设计顺利完成。参考文献1 万隆.单片机原理及应用技术.第2版.北京:清华大学出版社,20102 王静霞.单片机应用技术.第2版. 北京:电子工业出版社 ,20143 谢维成 ,杨加国.单片机原理与应用及C51程序设计.第2版.北京:清华大学出版社,20094 彭伟.单片机C语言程序设计实训100例基于8051+Proteus仿真.北京:电子工业出版社,20095 西安唐都科技仪器公司.单片机实验指导书C.2006.6 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:北京电子工业出版社,20077 王小明.电动机的单片机控制M.北京:北京航空航天大学出版社,20028 胡伟 季晓衡.单片机C程序设计与应用实例M.北京:人民邮电出版社,2003附录数字温度计的C语言源程序如下/ #include#include#include#define uchar unsigned char#define uint unsigned int /bit flag;/#define wei 0xa0;/#define duan 0x90;uchar data disdata5;/uint tvalueuchar tflag;sbit DQ=P37;bit f=0;uchar tempint,tempdp;uchar TempTab4;uchar code discode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;void delay()uchar i,j;for(i=0;i5;i+)for(j=0;j0;i-)DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;delay_18B20(20);return(dat);void ds1820wr(uchar wdata)unsigned char i=0;for(i=8;i0;i-)DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata=1;void read_temp()uchar temph = 0,templ = 0,k = 0;f=0;ds1820rst();ds1820wr(0xcc);ds1820wr(0x44);ds1820rst();ds1820wr(0xcc);ds1820wr(0xbe);templ=ds1820rd();temph=ds1820rd();if(temph&0xf8)!=0x00)f=1;temph=temph;templ=templ;k= templ+1;templ=k;if(k255)temph+;tempdp=(templ&0x0f)*10/16;templ=4;temph=4;tempint=temph|templ;void distemp()uchar i,j;if(f=0)TempTab0=tempint/100;TempTab1=(tempint/10)%10;TempTab2=tempint%10;TempTab3=tempdp;elseTempTab0=10;TempTab1=tempint/10;Tem

温馨提示

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

评论

0/150

提交评论