《基于DS18B20数字温度计的设计.doc》由会员分享,可免费在线阅读全文,更多与《基于DS18B20数字温度计的设计》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。
1、通过串行口送到MAX,再利用MAX的串入并出特性送到数码管进行显示。由于各个数码管的段选线并联,段选码的输出对各个数码管都是相同。因此同一时刻如果各个数码管的位选线都处于选通状态的话,位LED将显示相同字符。若要各位LED显示出与本位相应的显示字符,就必须采用扫描显示方式。即在某一时刻只让某一位的位选线处于选通状态而其它各位的位选线处于关闭状态同时段选线上输出相应位要显示字符的代码这样同一时刻位LED中只有选通的那一位显示出字符,而其它位则是熄灭的。此循环下去就可以使各位数码管显示出将要显示的字符。显然,这些字符是在不同时刻出现的,而且同一时刻只有一位显示其它各位熄灭,但由于各位数码管的通断时间是非常短的,且人眼有视觉暂留现象,只要每位显示间隔足够短则可造成多位同时亮的假象达到显示的目的。数据首先加载到MAX芯片内部位移位寄存器中,然后通过P由低到高的电平转换,实现串行输入数据的最后位被锁定到数字和控制寄存器。系统运行首先向MAX芯片的控制寄存器传输控制字,并对位数字寄存器进行初始化。然后,依据仪表的设定状态、运行状态的参数及数值改变位数字寄存器相应地址的数据位,实现参数及数值显示更新[]。MAX简介常用的专用数码管显示驱动电路有和MAX,前者因近年来停产而很少人使用;后者因使用方便灵活,连线简单,不占用数据存储器空间,使用的人则越来越多。MAX是一种高集成化八位串行输入输出的共阴LED数码管动态扫描驱动电路,其峰值段电流可达mA,最高串行扫描速率为lMHz,典型扫描速率为Hz,仅使用单片机个口,即可完成对八位LED数码管的显示控制和驱动,线路非常简单,控制方便,外围电路仅需一个电阻设定峰值段电流,同时可以通过软件设定其显示亮度;还可以通。
2、;DD:无关位。任选,本课题选。控制寄存器包括:译码模式,显示亮度调节,扫描限制(选择扫描位数),关断和显示测试寄存器。MAX的驱动程序首先必须对个控制寄存器初始设置即初始化,各控制寄存器设置含义如下:()译码模式选择寄存器(地址=M命令(H)、跳过ROM命令(CCH)及报警搜索ROM命令(ECH);第三步:发送功能命令,包括温度转换命令(H)、写暂存器命令(EH)读暂存器(BEH)命令等。命令的传送是通过写时序完成的,而主机读取DSB传送的数据是通过读时序实现的。本测温子系统主要使用的命令为跳过ROM命令、写暂存器命令、温度转换命令、读暂存器(BEH)命令[]。其程序如附录B程序主要部分如下:uintget_tem(void){uintbdatatern;Ulongtem;,temal;init_b();初始化S送复位脉冲DSB送存在脉冲送CONVERTT命令S送复位脉冲DSB送存在脉冲送SKIPROM命令送READSCRTCHPAD命令读两字节数据S送复位脉冲DSB送存在脉DQ为高电平送SKIPROM命令否是if(flag){write(xcc);skironwrite(x);temconvertinit_b();write(xcc);skiromwrite(xbe);readtemtem=read_word();readtem=tem*;if(tem=else{return;}}}vioddelay(ucharus){wbile(us);}总结本课题首先在广泛查阅温度检测控制理论和方法、测温技术和温度控制技术等资料的基础上,详细分析用户提出的总体要求和技术指标,确定了系统的总体方案,深入研究和选择了各种芯片和器件,完成了温度测控系统。
3、的BCD码(非压缩)先存入单片机的显示缓冲区,然后调用显示子程序,单片机通过P把需要显示数据送往显示驱动芯片MAXMAX驱动LED数码管显示当前其值。LED显示器采用动态显示方式[]。下面给出软件设计框图(见图)及用C编写的ATS与MAX接口程序清单(见附录A)。图显示字程序流程附录AC编写的子程序ATS与MAX接口程序清单[]。程序主要部分如下:Voiddigital(ucharflareword,ucharshut_down){uchari;shiftbit;assistdigital_init();shiftbit=x;fox(i=;ilt;i++){digital=;si(i+);if(times){if(((shiftbitltlti)amflareword)==(shiftbitltlti)){assist=xf;}else{assist=dis[i];}}else{assist=dis[i];}if(((shiftbitltlti)amshut_down)==(shiftbitltlti)){assist=xf;}si(assist);digital=;}有效值要显吗吗吗开始初始化显示值于指定位置NYDSB数据采集子程序的设计温度采集程序如图所示。编程时一定要遵守DSB时序,否则DSB将不会响应。图温度采集程序流程通过编程可实现DSB温度分辨率的位数(位)选择,本设计采用默认值(位分辨率)[]。对DSB处理顺序为:第一步:初始化,包括主机发出复位脉冲(通过将总线拉低至少us来实现)随即主机等待DSB从检测到复位脉冲的上升沿开始等待us后通过单线总线拉低us实现存在脉冲的发送;第二步:发送ROM命令,包括搜索ROM命令(FOH。
4、时选“译码方式”。本课题选择此方式。()亮度调节寄存器:地址=XAH;共有级选择,用于LED显示亮度的强弱设置。分个亮度级,即以步从峰值电流最值的减到来调节段电流,每步减少。对应进制码为XF,对应进制码为X。()关断模式寄存器:地址=XCH;有两种模式选择:一种是关断状态模式(D=);一种是正常操作状态(D=),通常选择正常操作状态。()显示测试寄存器:地址=XFH;有两种选择用于设置是测试状态还是正常操作状态:当在测试LED状态时(D=)各位全应亮,一般选择正常操作状态(D=O)。()空操作寄存器:地址=XH。电源的设计电源是应用系统的重要组成部分,与单片机电路相连,电源设计的不可靠将影响到整个系统的稳定。由于本实验单片机所需供电电源为伏直流稳压电源,而供电电源为V的交流电,因此,本次设计中选用三端稳压器。其工作原理:VHZ的交流电压经变压器变压为V的交流电输入到电桥中,其波形为HZ的交流信号,周期为ms,交流信号经桥路进行整流后转化为直流电压,得到单向全波脉动波形,再经过电解电容的滤波得到波动不太大的信号,经过一个无极性电容滤掉外部带来的高频干扰进入芯片,在的输出端输出一个平稳的+V直流电平[]。如图所示。ABCDDCBATitleNumberRevisionSizeBDate:MaySheetofFile:D:\rotelse\新建文件夹\Examles\MyDesignddbDrawnBy:CONTRANSBQVinGNDVoutC+CUC+V图电源电路系统软件的设计显示子程序的设计在本设计中作为人机对话的另一部分就是显示器,硬件电路用MAX驱动八位LED作为系统的显示器。其主要完成对不断循环检测到的温度值的显示。先将要显示的数值。
5、过级联,完成对多于八位的数码管的控制显示。值得一提的是,当工作于关闭(SHUTDOWN)方式时,不仅单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为UA。MAX内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了MCU有限的运行时间和程序资源。MAX芯片上包括BCD译码器、多位扫描电路、段驱动器、位驱动器和用于存放每个数据位的x静态RAM以及数个工作寄存器。通过指令设置这些工作寄存器,可以使MAX进入不同的工作状态。MAX的DIN为串行数据输入端。当CLK为上升沿时,数据被载入bit内部移位寄存器;CLK为串行移位脉冲输入端。其最大工作频率可达lMHZ;CS为片选端,当区为低电平时,芯片接收来自DIN的数据,接收完毕,区回到高电平时,接收的数据将被锁定;DIGDIG为吸收显示器共阴极电流的位驱动线。其最大值可达mA,关闭状态时,输出+VCC;SEGASEGG,DP为驱动显示器段及小数点的输出,电流一般为mA左右,可软件调整,关闭状态时,接入GND;DOUT为串行数据输出端,通常直接接入下一片MAX的DNI端;硬件亮度调节端。MAX内部寄存器和工作模式对MAX的控制操作很方便,其片内具有个数据寄存器和个控制寄存器,数据寄存器存放预显示的数码值,控制寄存器决定LED的工作方式。MAX通过输入的数据包中的高位,决定寄存器的选择,低位为寄存器的数据或指令。操作者只需编程发送位数据包,就能简单地操作LED的位选以及段选,设置和改变MAX的工作模式。位数据包的数据格式如表:表位数据包的数据格式DDDDDDDDDDDDDDDDADDRESSMSBDADALSB其中,DD:位数据位,D最高位,D为最底位;DD:位地址位。
6、硬件电路的设计、制作和调试;其次在软件程序设计上,深入研究了单片机C语言程序设计和使用,通过使用KeilC进行编译调试,对实验结果、系统误差和抗干扰方法进行了分析。通过理论探讨和实验验证,得出了以下结论:()本系统采用单总线数字温度传感器DSB取代传统的模拟温度传感器进行温度监测,简化了系统前端数据采集部分的结构,降低了成本,且实践证明效果很好稳定、可靠。()本次毕业设计还存在许多不完善的方面。在设计过程中,由于难度的原因,系统实现的功能非常有限,与市场的同类产品有相当的差距。在编程方面,虽然采用C语音,但对其理解不够透彻,还存在很大的提升空间。本文是在导师李旭老师的精心指导和耐心帮助下完成的。李老师渊博的学识,严谨的治学的态度,精益求精的精神,一丝不苟的工作作风,随和待人的高尚品质给我留下了深刻的印象,成为我学习的榜样,并激励我不断进取,使我尽最大努力不断进步,在此谨向我的李老师致以崇高的敬意和衷心的感谢!在这里也向所有给予我关心和帮助的同学、朋友们表示谢意!最后,在完成这篇论文的过程,我自觉和不自觉的参考了许多文献,对于这些文献的作者,虽然在此不可能一一提及,但是对他们每一位表示最诚挚的谢意!参考文献[]楼然苗,李光飞编著系列单片机设计实例[M]北京航天航空大学出版社[]先锋工作室单片机程序设计实例[M]清华大学出版社[]吴金戌,沈庆阳,郭庭吉编著单片机实践与应用[M]清华大学出版社[]梅丽凤单片机原理及接口技术[M]清华大学出版社年[]张迎新单片微型记数机原理,应用接口技术[M]国防工业出版社年[]李全利单片机原理及应用技术[M]高等教育出版社年[]何立民单片机应用系统设计[M]京航空航天大学FH):共有种译码模式供选择,当数据位全。