南京邮电大学XXXX届本科生毕业设计(论文)
主要通过对传输过来的信号进行显示后,给操作者提供提示,已达到本系统对温度显示和监控的目的。系统的显示流程图如图4.3
开始
串口初始化
送显示 向缓冲区送数 查段码
结束 图4.3 4.4DS18B20数据采集模块
数据采集模块的任务是负责温度信号的采集以及将采集到的数字量提供给单片机。STC89C52通过控制DS18B20读取实时温度。
DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20有严格的通信协议来保证各位数据的传输的正确性和完整性。主机操作单线器件DS18B20必须遵循下面的顺序. 1.初始化
单线总线上的所有操作均从初始化开始。初始化过程如下:主机通过拉低单线480us以上,产生复位脉冲,然后释放该线,进入Rx接收模式主机释放总线时,会产生一个上升沿。单线期间DS18B20检测到改上升沿后,延时15-60us,通过拉低总线60-240us来产生应答脉冲。主机棘手到从机的应答脉冲后,说明有单线器件在线。
- 21 -
南京邮电大学XXXX届本科生毕业设计(论文)
2.ROM操作命令
一旦总线主机检测到应答脉冲,便可以发起ROM操作命令。工有5位ROM操作命令。 3.内存操作命令
在成功执行了ROM操作命令之后,才可以使用内存操作命令。主机可以提供6种内存操作命令。 4.数据处理
DS18B20要有严格的时序来保证数据的完整性。在单线DQ上,存在复位脉冲、应答脉冲、写“0”、写“1”、读“0”和读“1”几种信号类型。其中,出来映带脉冲之外,均由主机产生。数据位的读和写则是通过使用读、写时隙实现的。
首先来看写时隙。当主机将数据从高电平来至低电平时,产生写时隙。有2种类型的写时隙:写“1”和写“0”。所有写时隙必须在60us以上,各个写时隙之间必须保证最段1us的恢复时间。DS18B20在DQ线变低后的15-60us的窗口对DQ线进行采样,如果为高电平,就写“1”;如果为低电平就写“0”。对于主机产生写“1”时隙的情况,数据线必须先被拉低,然后释放,在写时隙开始后的15us,允许DQ线来至高电平。读主机产生写“0”时隙的情况,DQ线必须被拉至低电平且至少保持低电平60us。
再来看读时隙。当主机从DS18B20读数据时,把数据线从高电平来至低电平,产生读时隙。数据线DQ必须保持低电平至少1us,来自DS18B20的输出数据在读时隙下降沿之后15us内有效。因此,在此15us内,主机必须停止将DQ引脚置低。在读时隙结束时,DQ引脚将通过外部上拉电阻拉回来至高电平。所有的读时隙最短必须持续60us,各个读时隙之间必须保证延时到最段1us的恢复时间。
所以的读写时隙至少需要60us,且每两个独立的时隙之间至少需要1us的恢复时间。在写时隙中,主机将在拉低中线15us内释放总线,并向DS18B20写“1”。若主机拉低总线后能保持至少60us的低电平,则向单总线期间写“0”。DS18B20仅在主机发生读时隙时才向主机传输数据,所以,当主机向DS18B20发生读数据命令后,必须马上产生读时隙,以便DS18B20能传输数据。
4.5本章小结
本章主要讲单片机自动温度系统软件部分的流程图,也是系统设计的主要思
路,通过流程图进行设计,达到对系统完整的运行,对温度的显示和控制。在分析了系统软件组成的基础之上,采用传统的前、后台方式编制系统软件,分别介绍了系统中的主程序模块、数据采集模块、数据处理模块。
- 22 -
南京邮电大学XXXX届本科生毕业设计(论文)
第五章 系统调试及结论分析
单片机应用系统样机组装好以后,便可进入系统的在线、联仿真器调试,其主要任务是排除样机硬件故障,并完善其硬件结构,试运行所设计的程序,排除程序错误,优化程序结构,使系统达到期望的功能,进而固化软件,使其产品化。
5.1硬件调试
单片机应用系统的硬件和软件调试是交叉进行的,但通常是先排除样机中明显的硬件故障,尤其是电源故障,才能安全地和仿真器相连,进行综合调试。
5.1.1硬件电路故障及解决方法
1、错线、开路、短路:由于设计错误和加工过程中的工艺性错误所造成的错线、开路、短路等故障。解决方法:在画原理图时仔细检查、校正即可解决。
2、元器件损坏:由于对元器件使用要求的不熟悉及制作调试过程中操作不当致使器件损坏。 解决方法:在设计过程中要明确各元器件的工作条件,严格按照制作要求进行操作,损坏的元器件要及时更换,以免损坏其他元件或影响电路功能的实现。
3、电源故障:设计中存在电源故障,即上电后将造成元器件损坏、无法正常供电,电路不能正常工作。电源的故障包括:电压值不符和设计要求,电源引出线和插座不对应,各档电源之间的短路,变压器功率不足,内阻大,负载能力差等。
解决方法:电源必须单独调试好以后才能加到系统的各个部件中。本设计中就出现电源故障经过一个稳压电路才使其正常工作。
5.1.2硬件调试方法
本设计调试过程中所用的调试方法有:静态测试、联仿真器在线调试等。 1.静态测试
在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查扩展系统总线地址总线、数据总线和控制总线,是否存在相互间的短路或与其它信号线的短路。第二步是加电后检查各个插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机插座上的各点电位,若有高压,联机时将会损坏仿真器。第三步是在不加电情况下,除单片机以外,插上所有的元器件,最后用仿真适配器将样机的单片机插座和仿真器的仿真接口相连,为联机调试做准备。
- 23 -
南京邮电大学XXXX届本科生毕业设计(论文)
2.联仿真器在线调试
测试RAM存储器:用仿真器写命令将一批数据写入样机中扩展的RAM,然后用读命令读出其内容,若对任意单元读出和写入内容一致,则扩展RAM和单片机的连接没有逻辑错误。若读出写入内存不一致,则可能是地址数据线短路,试写入不同的数据观察读出结果,或缩小对RAM的读写范围,检查对RAM中其它区域的影响,这样可初步对地址数据线短路错误定位,再用万用表、示波器等进一步确诊。
5.2软件调试
5.2.1软件电路故障及解决方法
设计软件部分出现这种错误的现象:
1.当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之处或在某处死循环所造成的。解决方法:这类错误的原因是程序中转移地址计算错误、堆栈溢出、工作寄存器冲突等。在采用实时多任务操作系统时,错误可能在操作系统中,没有完成正确的任务调度操作,也可能在高优先级任务程序中,该任务不释放处理器,使CPU在该任务中死循环。通过对错误程序的修改使其实现预期的功能。
2.不响应中断
CPU不响应中断或不响应某一个中断这种错误的现象是连续运行时不执行中断任务程序的规定操作,当断点设在中断入口或中断服务程序中时碰不到断点。 错误的原因有:中断控制寄存器、IE、IP的初值设置不正确,使CPU没有开放中断或不许某个中断源请求,或者对片内的定时器、串行口等特殊功能寄存器和扩展的I/O口编程有错误,造成中断没有被激活,或者某一中断服务程序不是以RETI指令作为返回主程序的指令,CPU虽已返回到主程序但内部中断状态寄存器没有被清除,从而不响应中断,或由于外部中断源的硬件故障使外部中断请求无效。解决方法:修改中断控制寄存器、IE、IP的初值设置。
5.2.2软件调试方法
软件调试所使用的方法有:计算程序的调试方法、I/O处理程序的调试法、综合调试法等。
1.计算程序的调试方法:计算程序的错误是一种静态的固定的错误,因此主要用单拍或断点运行方式来调试。根据计算程序的功能,事先准备好一组测试数据。调试时,用防真器的写命令,将数据写入计算程序的参数缓冲单元,然后从
- 24 -
南京邮电大学XXXX届本科生毕业设计(论文)
计算程序开始运行到结束,运行的结果和正确数据比较,如果对有的测试数据进行测试,都没有发生错误,则该计算程序调试成功。如果发现结果不正确,改用单步运行方式,即可检查出错误所在。计算程序的修改视错误性质而定。若是算法错误,那是根本性错误,应重新设计该程序。若是局部的指令有错,修改即可。如果用于测试的数据没有全部覆盖实际计算的原始数据的类型,调试没有发现错误可能在系统运行过程中暴露出来。
2.I/O处理程序的调试:对于A/D转换一类的I/O处理程序是实时处理程序,因此一般用全速断点运行方式或连续运行方式进行调试。
3.综合调试:在完成了各个模块程序或各个任务程序的调试工作以后,便可进行系统的综合调试。综合调试一般采用全速断点运行方式,这个阶段的主要工作社排除系统中遗留的错误以提高系统的动态性能和精度。在综合调试的最后阶段,应在目标系统的晶振频率工作,使系统全速运行目标程序,实现了预定功能技术指标后,便可将软件固化,然后在运行固化的目标程序,成功后目标系统便可脱机运行。一般情况下,这样一个应用系统就算研制成功了。
5.3实验结果
- 25 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库毕业论文 李涵玥 - 图文(6)在线全文阅读。
相关推荐: