第三章 软件设计
3.1 DS18B20程序设计
3.1.1 DS18B20传感器操作流程
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤: ? ? ?
每一次读写之前都要对DS18B20进行复位操作 复位成功后发送一条ROM指令 最后发送RAM指令
这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500μs,然后释放,当DS18B20收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。
DS18B20的操作流程如图3-1所示。
如图3-1 DS18B20的操作流程
3.1.2 DS18B20传感器的指令表
DS18B20传感器的操作指令如表3-1所示。传感器复位后向传感器写相应的命令才能实现相应的功能。
表3-1 DS18B20的指令表
指 令 读ROM 符合 ROM 指令代码 0x33 0x55 功 能 读DS1820温度传感器ROM中的编码(即64位地址) 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,9
为下一步对该 DS1820 的读写作准备。 搜索 ROM 0xF0 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过 ROM 0xCC 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。 告警搜索命令 温度变换 0x44 0xEC 执行后只有温度超过设定值上限或下限的片子才做出响应。 启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。 读暂存器 写暂存器 0xBE 0x4E 读内部RAM中9字节的内容 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 重调 EEPROM 读供电方式 0xB4 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。 0x48 0xB8 将RAM中第3 、4字节的内容复制到EEPROM中。 将EEPROM中内容恢复到RAM中的第3 、4字节。 3.2 显示程序设计
显示电路是由液晶显示屏来实现的。由于单片机的I/O口有限,所以数码管采用动态扫描的方式来进行显示。
3.3 按键程序设计
按键是用来设定上下限报警温度的。具体的程序流程图如图3-3所示。
10
开始NK1=0YS=0调上限S=1调下限NK1=0YTemp++YTemp--K1=0N结束图3-3 按键程序流程图
11
第四章 系统的软硬件调试
在做实物时出现了不少问题。比如本来是采用NPN型9013驱动蜂鸣器,但是在实际调试中蜂鸣器驱动不了,经多次试验,在三极管的基极电阻与单片机的接口处接一个1、2kΩ的上拉电阻就能驱动了。但考虑到单片机的I/O口默认状态时为高电平,这样一上电蜂鸣器就会响,所以将NPN型9013换成了PNP型的9012三极管,效果挺好。
12
结束语
此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际应用结合了起来,而且使我们对电子电路、电子元器件、印制电路板等方面的知识有了更进一步的认识,同时在软件编程、焊板调试、相关调试仪器的使用等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。此次单片机设计也为我们以后进行更复杂的单片机系统设计提供了宝贵的经验。
通过此次的综合设计,我们初步掌握了单片机系统设计的基本原理。充分认识到理论学习与实践相结合的重要性,对于书本上的很多知识,不但要学会,更重要的是会运用到实践中去。在以后的学习中,我们会更加注重实践方面的锻炼,多提高自己的动手实践能力。
13
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能仪表课程设计2(3)在线全文阅读。
相关推荐: