




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE17 / NUMPAGES17 目录TOC o 1-3 h u HYPERLINK l _Toc25654 第1章单片机控制步进电机的现实意义 PAGEREF _Toc25654 1 HYPERLINK l _Toc24542 第2章 总体方案设计 PAGEREF _Toc24542 2 HYPERLINK l _Toc10865 2 .1DS18B20的工作原理 PAGEREF _Toc10865 2 HYPERLINK l _Toc14916 2.2AT89C51的优点 PAGEREF _Toc14916 3 HYPERLINK l _Toc23135 第3章 硬件部分设计 PA
2、GEREF _Toc23135 5 HYPERLINK l _Toc20996 3.1硬件设计思路 PAGEREF _Toc20996 5 HYPERLINK l _Toc22732 3.2温度传感器电路 PAGEREF _Toc22732 5 HYPERLINK l _Toc22714 3.3温度显示电路 PAGEREF _Toc22714 6 HYPERLINK l _Toc17358 3.4复位电路设计 PAGEREF _Toc17358 6 HYPERLINK l _Toc450 第4章 软件电路设计 PAGEREF _Toc450 9 HYPERLINK l _Toc18732 4.
3、1 主程序 PAGEREF _Toc18732 9 HYPERLINK l _Toc32194 4.2读出温度子程序 PAGEREF _Toc32194 94.3 HYPERLINK l _Toc21361 温度转换命令子程序 PAGEREF _Toc21361 94.4计算温度子程序4.5显示数据刷新子程序 HYPERLINK l _Toc21361 PAGEREF _Toc21361 9 HYPERLINK l _Toc22690 第5章 系统所运用的功能介绍 PAGEREF _Toc22690 135.1 HYPERLINK l _Toc29495 系统的调试与性能分析 PAGEREF
4、_Toc29495 135.2 HYPERLINK l _Toc29495 测试结果 PAGEREF _Toc29495 13 HYPERLINK l _Toc24072 心得体会 PAGEREF _Toc24072 14 HYPERLINK l _Toc24295 致 PAGEREF _Toc24295 15 HYPERLINK l _Toc31914 附件 PAGEREF _Toc31914 16第1章基于DS18B20数字温度计的设计课题介绍本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C51,四位共阴极数码管一个,电容电阻若干。DS18B2
5、0支持“一线总线”接口,测量温度围-55C+125C。在-10+85C围,精度为0.5C。DS18B20的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阳极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到
6、单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量围是-55C+128C,由于能力有限,不能实现报警功能。第2章总体方案2.1 DS18B20的工作原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式2.2 AT89C51的优点AT89C51单片机。很明显可以看出方案二只用到一个芯片,元器件数量少,接线简单,易对端口进行操作,尤其是编程涉与到的变量少,不易出错。第3章 硬件部分设计3.1硬件设计思路按照系统设计功能的要
7、求,确定系统由3个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图所示:AT89C51 主控制器 DS18B20 显示电路 扫描驱动3.2温度传感器电路DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式, 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。:3.3温度显示电路四位共阳极数码管,能够显示小数和负温度。零下时,第一个数码管显示负号。当温度超过99.9时,四个数码管全部亮。列扫描用P3.0P3.3口
8、来实现,驱动方式采用串联电阻直接驱动。3.4复位电路设计单片机系统的复位电路在这里采用的是开机复位电路形式,其中电阻R采用6.8K的阻值,电容采用电容值为10F的电解电容,系统开机自动复位,不能中途用按键进行复位。3.5系统总电路图如下:第四章:软件的设计主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等。主程序 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1S进行一次。主流程图如下:调用显示程序初始化初次上电Y读出温度值温度计算处理显示数据刷新发温度转换开始命令1s到?N4.2读出温度子程序 读出温度子程序的主要
9、功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。流程图如下:发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNYY4.3温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。流程图如下:发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束4.4计算温度子程序 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。开始温度零下?NY置“+”标志
10、温度值取补码置“-”标志计算小数位温度BCD值 计算整数位温度BCD值 结束4.5显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束第五章:系统所运用的功能介绍:DS18B20与单片机之间采用串行通信的方式进行数据读写5.1系统的调试与性能分析:硬件调试比较简单,首先焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计
11、算温度子程序和现实数据刷新子程序等的编程与调试由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。本程序采用单片机C语言编写用Keil C3编译器编程调试。并且应用PROTUES7进行电路的仿真与PCB班的设计布线。软件调试到能显示温度值,并且在有温度变化时显示温度能改变,就基本完成。性能测试可用制作的温度机和已有的成品温度计同时进行测量比较。由于DS18B20的精度很高,所以误差指标可以限制在0.5以。另外,-55+125的测温围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。5
12、.2测试结果在Protues过调节DS18B20的温度示数加减,LED会自动显示当前DS18B20温度示数,但有延时(系统程序中设定)心得体会通过本次数字电子的课程设计加强了我们动手,思考,解决问题的能力。此外培养了我们当代大学生所缺失的一种认真细致,思维严谨的科学精神。耐心,沉稳,细致,可谓是实验者必备的一种素质,缺一不可。在连接线路的过程中只要一不留神就会接错管脚,导致整个实验的失败,花费过多的时间来寻找错误不如当初就多细心找一个比较完美的方案。这是所谓的欲速则不达,事半功倍。本次的课程设计使我们进一步巩固了书本上的知识,做到了学以致用。这是我们第二次自己动手设计的电路,通过系统仿真软件p
13、rotues和编译软件keil,使我们进一步了解了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不能实现,如温度上下限设置。由于protues并不是很熟练,在使用的过程中有很多原件的名称不知道,从而花费了大量的时间在网上查找,今后应该在这方面多多努力。最后一步的焊接硬件也遇到了不少麻烦,P0端口没有加上拉电阻,P1端口加三极管驱动导致数码管不亮。总结经验的时候我们得出这样的结论,学习应该学以致用,有目的的去学习,如果学了不用等于没学。其次,要学以致用,理论联系实际,这样才会取得事半功倍的效果。致经过两个多星期的努力,我们顺
14、利把实验要求做出来了。虽然整个过程很艰苦,从刚开始的半知不懂,一步不懂解决一步,总结不足得出改善;但最终我得到的是满满的收获。有时候理论明明已经完全应用实际就是会出问题,但是我没有放弃。因为老师说过理论与实践相差非常大,实际要考虑的问题远远比理论的多的多。所以我不断地查资料、不断地调试;最后终于成功了。这让我深刻体会到有付出才有回报过程是有些许曲折。感这次电子课程设计,让我所学的理论知识不再只是纸上谈兵。我相信只要不放弃,不抛弃,勇于思考,迎难而上,拥有发现问题独立解决问题的能力,在以后任何一件事上都能单挡独挑。着重感老师的细心指导,耐心指教,与时排忧解难;也同样感本组其他每个成员的大力支持和
15、帮助,团结的力量使得难题变得容易攻破,因为众多的智慧组成的合力是不可估量的超能量,每个组员都是解决问题的强者;让我深刻认识到团结合作的重要性,以后也会一直把它当做宝贵财富。附件:程序如下:/使用AT89C2051单片机,12MHZ晶振,用共阳LED数码管/P1口输出段码,P3口扫描/#pragma src(d:aa.asm)#include reg51.h#include intrins.h /_nop_();延时函数用#define Disdata P1 /段码输出口#define discan P3 /扫描口#define uchar unsigned char#define uint u
16、nsigned intsbit DQ=P37; /温度输入口sbit DIN=P17; /LED小数点控制uint h;/*温度小数部分用查表法*/uchar code ditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x08,0 x08,0 x09,0 x09;uchar code dis_712=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x00,0 x40;/* 共阳LED段码表 0 1 2 3
17、4 5 6 7 8 9 不亮 - */ uchar code scan_con4=0 xfe,0 xfd,0 xfb,0 xf7; / 列扫描控制字uchar data temp_data2=0 x00,0 x00; / 读出温度暂放uchar data display5=0 x00,0 x00,0 x00,0 x00,0 x00;/显示单元数据,共4个数据,一个运算暂存用/*11微秒延时函数*/void delay(uint t)for(;t0;t-);/*显示扫描函数*/scan()char k; for(k=0;k0; i-) /DQ=1;_nop_();_nop_(); DQ = 0;
18、_nop_();_nop_();_nop_();_nop_();_nop_();/5usDQ = val&0 x01; /最低位移出delay(6); /66usval=val/2; /右移一位DQ = 1;delay(1); /*18B20读1个字节函数*/从总线上读取一个字节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_(); /4usDQ = 1;_nop_();_nop_();_n
19、op_();_nop_(); /4us if(DQ)value|=0 x80;delay(6); /66usDQ=1;return(value);/*读出温度函数*/read_temp()ow_reset(); /总线复位write_byte(0 xCC); / 发Skip ROM命令write_byte(0 xBE); / 发读命令temp_data0=read_byte(); /温度低8位temp_data1=read_byte(); /温度高8位ow_reset();write_byte(0 xCC); / Skip ROMwrite_byte(0 x44); / 发转换命令/*温度数据处理函数*/work_temp()uchar n=0; /if(temp_data1127)if(temp_data0!=0 x00) temp_data1=(255-temp_data1);temp_d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生思想品德建设教育
- 2025年环保粘接材料项目建议书
- 2025届北京市房山区4中高三第四次模拟考试化学试卷含解析
- 2025年轴承离合器用油项目建设总纲及方案
- 二年级数学(上)计算题专项练习汇编
- 2025年室内清洁健康电器项目可行性建设方案
- 2025年铅压延加工材合作协议书
- 陕西航空职业技术学院《水利信息技术》2023-2024学年第二学期期末试卷
- 陕西艺术职业学院《电力系统实验》2023-2024学年第二学期期末试卷
- 陕西邮电职业技术学院《系统解剖学》2023-2024学年第一学期期末试卷
- 桑树栽培技术教学课件
- 2023年合肥市肥东县事业单位公开招聘模拟备考预测(共1000题含答案解析)综合试卷
- 2023国家电网作业安全风险管控典型生产作业风险定级库
- 船用冰浆机制冷系统原理优化设计2
- 大型化碱性电解水制氢项目可行性研究报告
- 催收公司内部稽核制度
- 支气管镜检及治疗的麻醉
- 动物传染病教案
- 安全风险研判与承诺公告制度
- 高边坡施工监理细则
- 幼儿园小班科学:《糖和盐不见了》 课件
评论
0/150
提交评论