READ:
MOV R6,#8 ;连续读8个bit
RE1:CLR P1.5 ;读前总线保持为低
MOV R4,#5
RE2:DJNZ R4,RE2 ;持续5 u s低电平
MOV P1,#OFFH ;总线释放7 u s
MOV R2,#5
RE4:DJNZ R2,RE4
MOV C,P 1.5 ;从DS 1820总线读得一个bit
RRC A ;把读得的位值环移给A
MOV R5,#55
RE3:DJNZ R5,RE3 ;持续55 u s
MOV P1,#OFFH ;重新释放DS 1820总线
MOV R4,#5
RE5:DJNZ R4,RE5 ;恢复5 u s
DJNZ R6,RE1 ;读下一个bit
RET ;退出READ子程序
上述的三个子程序全部都是系统工作在温度监测模式下的子程序,如果系统处在读单一DS 1820的ROM码的运行模式下,就必须将上述三个子程序里的P1.5全部改成P1.6,然后才能调用。除了操作引脚不同之外,即便是处在两种不同的运行模式之下,这三个子程序也几乎完全没有区别。
为了增加程序的可移植性,WRITE和READ子程序都以特殊功能寄存器A作为目标寄存器。开始调用WRITE子程序之前,必须把目标值写入A寄存器。在目标值写入A寄存器后,需马上调用WRITE子程序,以防止由于插入了其它的操作导致A寄存器里的数值被改写。这在主程序调用WRITE子程序的时候,需特别注意。
READ子程序则是将读出的目标值环移写入A寄存器。在将A寄存器里的值转存入其它存储空间之前,不要对A寄存器进行任何写或者是置0、置1的操作。否则,从总线上读回来的结果会因为中途插入了其它操作,变成一个错误的值。因此在调用READ子程序之后,应该马上将A寄存器里的值写入系统分配的固定的存储空间里,防止数据遭到破坏。这在主程序调用READ子程序时,也需特别注意。
以WRITE和READ两条子程序为基础,实现了一线总线网络通信协议中的双向通信。这两条子程序构成了通信协议程序软件的基础。
基于WRITE子程序,一线总线通信协议中的所有ROM命令、存储器命令都可以方便地实现了。也就是实现了从主机AT89C51单片机到从机DS 1820数字温度传感器方向的通信。
只需要将命令相应的代码写入A寄存器,然后调用执行WRITE子程序,就以实现了该命令的发送。例如只需要::
MOV A,#BEH
LCALL WRITE
这两条语句就实现了对READ SCRATCHPAD命令[BEH]的传输。
基于READ子程序,一线总线通信协议中所有从机DS 1820对主机AT89C51单片机的数据传输也全部方便地实现了。也就是实现了从机DS 1820到主机AT89C51单片机方向的通信。例如::
LCALL READSCRATCHPAD
LCALL READ
MOV 78H,A
只用这三条语句就实现了对DS 1860测量温度值的读取。操作结果存储在数字暂存存储器一个字节的存储空间里,地址为78H。
结论
这次毕业设计介绍了基于单片机和智能温度传感器的监测系统的一般工作原理以及应用。本次毕业设计使我学到了很多的东西,特别是关于单片机原理及应用,温度传感器方面的知识。另外也使我体会出了一般设计的过程,例如如何绘图,购买元器件,电路板的焊接等。
使用DS 1820的测温系统电路简单,应用方便灵活。在常温测量中有较大优势,应用前景广阔。如在工业、空调系统、智能楼宇等领域的温度测量中可以有广泛的应用。
作为新型的通信协议,一线总线(1-Wire Bus)技术己经在很多方面表现出特有的优势,已经成为一种非常有发展潜力和广阔应用前景的通信协议。而智能化的数字温度传感器是传感器发展上的一次革命,将会给诸多领域的技术发展带来深刻的变化。
此次设计在过程中遇到了很多问题,在老师和同学的帮助下,终于完成了本次温度监测系统的设计。以下为制作的测试样机。
致谢
经过两个多月的勤奋学习和专研,终于顺利完成了这篇文档的写作,基本完成了预期的目标。首先,衷心感谢我的导师老师。在整个毕业文档的写作过程中,李老师给了我很多建议,让我受益匪浅,从文档的选题、研制计划的安排到文档的具体的内容,李老师都给予了悉心的指导和莫大的支持,在李老师的指导下我的文档才不断得以完善。其次,感谢图书馆咨询处王老师,感谢她在我完成文档期间提供给我的无私帮助和提出的宝贵意见。同时,感谢在大学四年期间曾给与我指导和帮助的各位老师,在他们的辛勤栽培下,我才能顺利完成学业,成为一名合格的大学毕业生。
在本篇文档中,不免有些错误,敬请各位专家老师给予指正,不胜感激!
参考文献
[1]智能化集成温度传感器原理与应用 作者: 沙占友编 出版社:机械工业出版社 2002.
[2]单片机原理及应用技术 作者: 吴黎明 出版社:科学出版社 2005.
[3]8051单片机数据传输接口扩展技术与应用实例 作者: 杨金岩 郑应强 张振仁 出版社:人民邮电出版社 2005.
[4]单片机应用程序设计技术(修订版) 作者: 周航慈 著 出版社:北京航空航天大学出版社 2002.
[5]单片机语言C51程序设计 作者: 赵文博 刘文涛 出版社:人民邮电出版社 2005.
[6]单片微型计算机原理及其C语言程序设计 作者: 陈光东著 出版社:华中理工大学出版社 2004.
[7]单片机原理及应用技术(第2版) 作者: 李全利 出版社:高等教育出版社 2004.
[8]单片微型计算机原理.接口及应用(第二版) 作者: 徐惠民 安德宁 出版社:北京邮电大学出版社 2000.
[9]温度的测量与控制 作者: 姜忠良 陈秀云 出版社