《2022年DSB的数字温计设计.docx》由会员分享,可在线阅读,更多相关《2022年DSB的数字温计设计.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源欢迎下载精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习目录第 1 章单片机把握步进电机的现实意义4第 2 章 总体方案设计 错误!未定义书签;2 .1DS18B20的工作原理 42.2AT89C51的优点 错误!未定义书签;第 3 章 硬件部分设计 53.1 硬件设计思路 53.2 温度传感器电路 53.3 温度显示电路 错误!未定义书签;3.4 复位电路设计 错误!未定义书签;第 4 章 软件电路设计 错误!未定义书签;4.1 主程序错误!未定义书签;4.2 读出温度子程序 错误!未定义书签;4.3 温度转换命令子程序 错误!未定义书签;4.4
2、运算温度子程序4.5 显示数据刷新子程序 错误!未定义书签;第 5 章 系统所运用的功能介绍 错误!未定义书签;5.1 系统的调试及性能分析 错误!未定义书签;5.2 测试结果 错误!未定义书签;心得体会 8致谢 9附件错误!未定义书签;欢迎下载精品学习资源第 1 章基于 DS18B20数字温度计的设计课题介绍本设计是一款简洁有用的小型数字温度计,所接受的主要元件有传感器DS18B20,单片机 AT89C51,四位共阴极数码管一个,电容电阻如干;DS18B20支持“一线总线”接 口,测量温度范畴 -55 C+125C;在-10+85C范畴内 , 精度为 0.5 C;DS18B20的精度较差为
3、2 C ;现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性;适合于恶劣环境的现场温度测量,如:环境把握、设备或过程把握、测温类消费电子产品等;本次数字温度计的设计共分为五部分,主把握器,LED显示部分,传感器部分,复位部分,时钟电路;主把握器即单片机部分,用于储备程序和把握电路;LED显示部分是指四位共阳极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路;测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判定后将温度传递到数码管显示;本设计能完成的温度测量范畴是 -55 C+128C,由于才能有限
4、,不能实现报警功能;第 2 章总体方案2.1 DS18B20 的工作原理DS18B20温度传感器是美国 DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可依据实际要求 通过简洁的编程实现 912 位的数字值读数方式2.2 AT89C51 的优点AT89C51单片机;很明显可以看出方案二只用到一个芯片,元器件数量少,接线简洁,易对端口进行操作,特殊是编程涉及到的变量少,不易出错;欢迎下载精品学习资源第 3 章 硬件部分设计3.1 硬件设计思路依据系统设计功能的要求,确定系统由3 个模块组成:主把握器、测温电路和显示电路;数字温度
5、计总体电路结构框图所示:AT89C51欢迎下载精品学习资源主DS18B20控制3.2 温度传感器电路器显示电路扫描驱动欢迎下载精品学习资源DS18B20温度传感器是美国 DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可依据实际要求 通过简洁的编程实现 912 位的数字值读数方式 , 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性 ;:3.3 温度显示电路四位共阳极数码管,能够显示小数和负温度;零下时,第一个数码管显示负号;当温度超过99.9时,四个数码管全部亮;列扫描用P3.0P3.3口来实现,驱动方式接
6、受串联电阻直接驱动;3.4 复位电路设计单片机系统的复位电路在这里接受的是开机复位电路形式,其中电阻R接受 6.8K 的阻值,电容接受电容值为 10F 的电解电容,系统开机自动复位,不能中途用按键进行复位;3.5 系统总电路图如下:第四章:软件的设计主要包括主程序、读出温度子程序、温度转换命令子程序、运算温度子程序和现实欢迎下载精品学习资源数据刷新子程序等;初始化欢迎下载精品学习资源主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值;温度测量每 1S 进行一次;主调流用程显图示如程下序:欢迎下载精品学习资源1s 到?Y初次上电N读出温度值温度运算处理显4.2 读出
7、温度子程序 读出温示度子数程据序刷的主要功能是读出 RAM中的 9 字节;在读出时须进行CRC校验,校验有错时不进行温度数据的改写;流程图如下:发温度转换开头命令4.3 温度转换命令子程序发 D温S度18转B2换0复命位令命子令程序主要是发温度转换开头命令;当采 用 12 位辨论率时,转换时间约为 750ms;在本程序设计中,接受 1s 显示程序延时法等欢迎下载精品学习资源待转换的完成;流程图如下:发跳过 ROM命令欢迎下载精品学习资源欢迎下载精品学习资源4.4 运算温度子程序进行温度值正负的判定;运算发温读度取子温程度序命将令 RAM中读取值进行 BCD码的转换运算,并发 DS18B20复位
8、命令读发取跳操过作,ROCMR命C令校验开Y始欢迎下载精品学习资源9 字节完?N N发温度转温换度开零始下命.令YCRC校验YN欢迎下载精品学习资源温度值取结补束码置“ -”标志移入温度暂存器置“ +”标欢迎下载精品学习资源运算小数位温度 BCD终止运算整数位温度 BCD值欢迎下载精品学习资源4.5 显示数据刷新子程序终止显示数据刷新子程序主要是对显示缓冲器中的显示数据欢迎下载精品学习资源进行刷新操作,当最高数据显示位为0 时,将符号显示位移入下一位;欢迎下载精品学习资源温度数据移入显示寄存十位数百位数十位数显示符号百位数显示数据终止第五章:系统所运用的功能介绍:DS18B20与单片机之间接受
9、串行通信的方式进行数据读写5.1 系统的调试及性能分析:硬件调试比较简洁,第一焊接是否正确,然后可用万用表测试或通电检测;软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、运算温度子程序和现实数据刷新子程序等的编程及调试由于 DS18B20与单片机接受串行数据传送,因此,对DS18B20进行读 / 写编程时必需严格地保证读 / 写时序;否就将无法读取测量结果;本程序接受单片机C语言编写用 Keil C3 编译器编程调试;并且应用 PROTUES7进行电路的仿真及 PCB班的设计布线;软件调试到能显示温度值,并且在有温度变化时显示温度能转变
10、,就基本完成;性能测试可用制作的温度机和已有的成品温度计同时进行测量比较;由于DS18B20的精度很高,所以误差指标可以限制在0.5以内;另外, -55+125的测温范畴使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计;5.2 测试结果在 Protues 中通过调剂 DS18B20的温度示数加减, LED会自动显示当前 DS18B20温度示数,但有延时(系统程序中设定)欢迎下载精品学习资源心得体会通过本次数字电子的课程设计加强了我们动手,摸索,解决问题的才能;此外培养了我们当代高校生所缺失的一种认真细致,思维严谨的科学精神;耐心,沉稳,细致, 可谓是试验者必备的
11、一种素养,缺一不行;在连接线路的过程中只要一不留神就会接错管脚,导致整个试验的失败,花费过多的时间来查找错误不如起初就多细心找一个比较完善的方案;这是所谓的欲速就不达,事半功倍;本次的课程设计使我们进一步巩固了书本上的学问,做到了学以致用;这是我们其次次自己动手设计的电路,通过系统仿真软件protues 和编译软件 keil,使我们进一步明白了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分,我们上网找了好多资料,虽然经过自己的修改,但仍是有很多功能不能实现,如温度上下限设置;由于protues 并不是很娴熟,在使用的过程中有很多原件的名称不知道,从而花费了大量的时间在网上查找,今后
12、应当在这方面多多努力;最终一步的焊接硬件也遇到了不少麻烦, P0 端口没有加上拉电阻, P1 端口加三极管驱动导致数码管不亮;总结体会的时候我们得出这样的结论,学习应当学以致用,有目的的去学习,假如学了不用等于没学;其次, 要学以致用,理论联系实际,这样才会取得事半功倍的成效;欢迎下载精品学习资源致谢经过两个多星期的努力,我们顺当把试验要求做出来了;虽然整个过程很艰苦,从刚开头的半知不懂,一步不懂解决一步,总结不足得出改 善;但最终我得到的是满满的收成;有时候理论明明已经完全应用实际就是会出问题,但是我没有舍弃;由于老师说过理论与实践相差特殊大,实际要考虑的问题远远比理论的多的多;所以我不断地
13、查资料、不断地调 试;最终最终成功了;这让我深刻体会到有付出才有回报过程是有些许曲折;感谢这次电子课程设计,让我所学的理论学问不再只是纸上谈兵;我信任只要不舍弃,不抛弃,勇于摸索,迎难而上,拥有发觉问题独立解决问题的才能,在以后任何一件事上都能单挡独挑;着重感谢老师的细心指导,耐心指教,准时排忧解难;也同样感谢本组其他每个成员的大力支持和帮忙,团结的力气使得难题变得简洁攻破, 由于众多的聪慧组成的合力是不行估量的超能量,每个组员都是解决问题的强者;让我深刻熟识到团结合作的重要性,以后也会始终把它当做宝贵财宝;附件:程序如下:/ 使用 AT89C2051单片机, 12MHZ 晶振,用共阳 LED
14、数码管/P1 口输出段码, P3 口扫描/#pragma srcd:aa.asm #include reg51.h#include intrins.h/_nop_ ;延时函数用欢迎下载精品学习资源#define DisdataP1/段/ #define discanP3/扫/码输出口描口欢迎下载精品学习资源#define uchar unsigned char#define uint unsigned intsbit DQ=P37;/温度输入口 sbit DIN=P17;/LED小数点把握uinth;/*温度小数部分用查表法 */ uchar codeditab16=0x00,0x01,0x0
15、1,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x 08,0x09,0x09;uchar code dis_712=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x;40/* 共阳 LED段码表0 1 2 3 4 5 6 7 8 9 不亮 - */uchar code scan_con4=0xfe,0xfd,0xfb,0xf7;/ 列扫描把握字uchar data temp_data2=0x00,0x00;/读出温度暂放欢迎下载精品学习资源uchar data displ
16、ay5=0x00,0x00,0x00,0x00,0x00;一个运算暂存用/ 显示单元数据 ,共 4 个数据,欢迎下载精品学习资源/*11微秒延时函数 */ void delayuint tfor;t0;t-;/*显示扫描函数 */ scanchar k;fork=0;k0; i- /DQ=1;_nop_;_nop_;欢迎下载精品学习资源DQ = 0;_nop_;_nop_;_nop_;_nop_;_nop_;/5us DQ = val&0x01;/最低位移出delay6;/66usval=val/2;/右移一位DQ = 1;delay1;/*18B20读 1 个字节函数 */ 从总线上读取一个
17、字节uchar read_bytevoiduchar 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_;_nop_;_nop_; /4us ifDQvalue|=0x80;delay6;/66usDQ=1;returnvalue;/*读出温度函数 */ read_tempow_reset;/ 总线复位write_byte0xCC; / 发 Skip ROM命令write_byte0xBE; /发读命令temp_data0=
18、read_byte ; / 温度低 8 位temp_data1=read_byte ; / 温度高 8 位ow_reset;write_byte0xCC; / Skip ROM write_byte0x44 ; / 发转换命令/*温度数据处理函数 */ work_tempuchar n=0;/ iftemp_data1127欢迎下载精品学习资源iftemp_data0.=0x00temp_data1=255-temp_data1 ;temp_data0=256-temp_data0 ;n=1;/ 负温度求补码elsetemp_data1=256-temp_data1 ;n=1;/ 负温度求补码
19、display4=temp_data0&0x0f ;display0=ditabdisplay4 ;display4=temp_data0&0xf04|temp_data1&0x0f4 ;/ display3=display4/100;display1=display4%100;display2=display1/10;display1=display1%10;if.display3display3=0x0A;if.display2display2=0x0A;/ 最高位为 0 时都不显示ifndisplay3=0x0B;/ 负温度时最高位显示 -/*主函数 */ mainDisdata=0xf
20、f; / 初始化端口discan=0xff;forh=0;h4;h+displayh=8;/ 开机显示 8888 ow_reset;/ 开机先转换一次write_byte0xCC; / Skip ROMwrite_byte0x44 ; / 发转换命令forh=0;h500;h+scan;/开机显示88882 秒while1read_temp;/读出 18B20 温度数据work_temp;/处理温度数据 forh=0;h500;h+scan;/显示温度值 2 秒版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理;版权为潘宏亮个人全部This article includes som
21、e parts, including text,欢迎下载精品学习资源pictures, and design. Copyright is Pan Hongliangs personal ownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益;除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳;Users may use the contents or services of this article for personal s
22、tudy, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any conte
23、nt or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修 改,并自负版权等法律责任;Reproduction or quotation of the content of this欢迎下载精品学习资源article must be reasonable and good-faith citation for theuse of news or informative public free information. Itshall not misinterpret or modify the original intention ofthe content of this article, and shall bear legal liabilitysuch as copyright.欢迎下载
限制150内