数字温度控制课程设计报告书.docx
- 文档编号:6876484
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:12
- 大小:548.35KB
数字温度控制课程设计报告书.docx
《数字温度控制课程设计报告书.docx》由会员分享,可在线阅读,更多相关《数字温度控制课程设计报告书.docx(12页珍藏版)》请在冰豆网上搜索。
数字温度控制课程设计报告书
本科生专业课程设计
题目:
数字温度控制
学院
专业
学号
姓名
2011年6月28日
专业课程设计1----数字温度控制姓名成绩
一、实验目的
1、掌握温度采集芯片DS18B20的结构和编程方法;
2、掌握DS18B20和单片机的接口;
3、掌握单总线器件时序的编程技术;
4、熟悉扩展输出显示原理、及编程方法。
5、熟悉编程器的操作步骤、装载程序。
6、了解焊接基本知识、仔细进行元件的预处理、焊接练习。
二、实验要求
通过硬件设计、焊接、调试,软件编程、调试,程序固化,软硬件系统调试,最终制作一个数字温度计实物,并且能够通过数码管实时显示环境温度。
1、温度计实验题目要求及系统设计
按照功能要求设计电路原理图。
2、温度计元件识别及测试
掌握传感器DS18B20、单片机使用方法。
熟悉测试仪器、编程器的使用方法及注意事项。
熟悉传感器DS18B20的工作原理,根据设计的题目领取开关、按钮、电阻、电容、二极管、单片机、数码管等元器件;学习阻容元件、IC元器件管脚识别、元器件的测试。
3、温度计电路板布局设计
按照查阅的阻容元件、数码管、单片机管脚图等资料、按照电路板硬件布局基本知识,进行硬件电路板布局设计。
4、温度计元器件预处理、安装及焊接
了解焊接基本知识、仔细进行元件的预处理、焊接练习。
了解元器件预处理的具体内容及重要性;元器件刮腿、镀锡操作;元器件布局基本常识、注意事项;元器件摆放布局设计、安装。
5、温度计电路板元器件及连线的焊接
元件焊接点无虚焊、漏焊。
6、温度计程序设计
按照功能要求及硬件管脚设计,绘制程序流程图,程序清单简捷。
7、温度计软件调试、装载程序
程序预处理结果正确;熟悉编程器的操作步骤、装载程序。
8、温度计硬件电路通电检查、调试
清楚电路板通电前后应该检查的内容、正确使用电源装置。
9、温度计系统调试
能够按设计要求正确运行,包括按设定键能够显示温度,具有复位功能。
10、焊接完成后,交指导老师验收。
三、硬件电路设计
工作原理:
本设计采用AT89C2051单片机为核心控制器,DS18B20为温度传感器,七段数码管为显示器。
单片机的P3.4,P3.5,P3.7通过74LS138译码器后产生五位列地址来控制数码管的亮灭,由单片机的P1口向数码管送要显示的数据,单片机的P3.2接数字温度传感器DS18B20,通过单片机向DS18B20发送指令来读取现场的温度,再经过单片机内部的数值转换得到十进制的温度,并送到数码管实时显示。
硬件电路图
(一)
硬件实物图
(一)
硬件实物图
(二)
硬件电路图
(二)
三、程序设计
1、数字温度计程序流程图
2、数字温度控制器的实验程序:
2BH,2CH存放温度低字节和高字节,41H-43H存放温度,40H放路数
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
CLRP3.3
LCALLCSH0;DS18B20初始化
MOVA,#0CCH;单点测温时执行跳过ROM命令节省访问时间
LCALLWRITE
MOVA,#44H;发开始温度转换命令
LCALLWRITE
LCALLCSH0;DS18B20初始化
MOVA,#0CCH;单点测温时执行跳过ROM命令节省访问时间
LCALLWRITE
MOVA,#0BEH;读存储器命令(读的字节暂存存储器,此后读操作)
LCALLWRITE
LCALLREAD;读出已转换的温度值低字节
MOV2BH,A
LCALLREAD;读出已转换的温度值高字节
MOV2CH,A
LCALLERSH;二进制转化成十进制
TIAO:
LCALLDISPL;调用动态显示的子程序
LJMPMAIN
;******************第一个DS18B20初始化子程序*******************
CSH0:
CLRP3.2
MOVR2,#250
CSH1:
DJNZR2,CSH1;主机发置位脉冲持续2μs*240=480μs
SETBP3.2;主机释放总线控制P3.2口改为输入
MOVR2,#30
CSH4:
DJNZR2,CSH4;DS18B20等待2μs*30=60μs
JBP3.2,CSH0;DS18B20没准备好,重来
MOVR3,#120;DS18B20数据线变低
CSH5:
DJNZR3,CSH5;DS18B20数据线低电平状态可持续2μs*120=240us
JBP3.2,CSH3;18B20数据线变高,初始化成功
LJMPCSH0;初始化失败,重来
CSH3:
MOVR2,#240
CSH2:
DJNZR2,CSH2;18B20应答过程最少2μs*240=480μs
RET
;******************写DS18B20子程序**********************
WRITE:
MOVR3,#8
WR1:
SETBP3.2;保证连续写2位间的间隙大于1μs
MOVR4,#7
CLRP3.2
RRCA
WR2:
DJNZR4,WR2;18B20数据线变低后2μs*7+1=15μs开始采样数据
MOVP3.2,C;将命令字从低位按位依次送18B20
MOVR4,#22
WR3:
DJNZR4,WR3;保证整个写过程持续2μs*22+1=45μS
DJNZR3,WR1;送完整个命令字
SETBP3.2
RET
;********************读DS18B20子程序*********************
READ:
MOVR3,#8
RE1:
CLRP3.2
MOVR4,#4
NOP;低电平持续2μs
SETBP3.2;P3.2口设为输入口
RE2:
MOVC,P3.2;主机(从低位)按位读入18B20数据
RRCA;数据逐位(先低位后高位)送入A
MOVR4,#30
RE3:
DJNZR4,RE3;保证读数据过程持续2μs*30=60μs
DJNZR3,RE1;读完整个转换值(不含符号位)并存21H中
RET
;************判断是否为负、温度精度转换********************
ERSH:
MOVA,2CH;把温度的高字节给了A
JBACC.7,BB;温度为负转变补(BB)程序段
MOVR7,#0FFH;温度为正不点亮
ZHCH:
MOVA,2BH;屏蔽温度低字节的小数位
ANLA,#0F0H
SWAPA
MOV2DH,A
MOVA,2CH;屏蔽温度高字节的符号位
ANLA,#07H
SWAPA
ADDA,2DH
CFZH:
MOVB,#10
DIVAB
MOV41H,B;41H中为个位
MOVB,#10
DIVAB
MOV42H,B;42H中存放十位
MOVB,#10
DIVAB
MOV43H,B;43H中为百位
ESHD:
MOVA,2BH;低精度二十进制转换小数处理程序
JBACC.3,XS;小数十分位为1,则跳转到XS
MOV40H,#00H
RET
XS:
MOV40H,#05H;43H中存放小数位
RET
BB:
MOVR7,#0BFH;负数让第1个数码管显示为"-"
MOVA,2BH;负数补码求补
CPLA
ADDA,#1
MOV2BH,A;负温度低字节求补后送2BH
MOVA,2CH
CPLA
ADDCA,#0
MOV2CH,A;负温度高字节求补后送2CH
LJMPZHCH;负数求补后转到ZHCH
;*************************显示子程序**************************
DISPL:
MOVA,R7;取显示的正负号
MOVP1,A;发送字段代码
CLRP3.5;Y5=0,K5=1
ACALLDL2MS;符号位
SETBP3.5;138A脚置1,关闭所有位码
MOVDPTR,#CSTAB;字段码表首址送DPTR
MOVR1,#40H
MOVA,@R1
MOVCA,@A+DPTR
MOVP1,A
CLRP3.4
CLRP3.7;Y2=0,K1=1
ACALLDL2MS;小数
SETBP3.4
SETBP3.7
INCR1
MOVA,@R1
MOVCA,@A+DPTR
ANLA,#7FH;个位小数点亮
MOVP1,A
CLRP3.7;Y3=0,K2=1
ACALLDL2MS;个位
SETBP3.7
INCR1
MOVA,@R1
MOVCA,@A+DPTR
MOVP1,A
CLRP3.4;Y3=0,K3=1
CLRP3.5
ACALLDL2MS;十位
SETBP3.4
SETBP3.5
INCR1
MOVA,@R1
MOVCA,@A+DPTR
MOVP1,A
CLRP3.4;Y6=0,K4=1
ACALLDL2MS;百位
SETBP3.4
RET
CSTAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;0-9,
DL2MS:
MOVR5,#02H;2ms延时
DL2MS1:
MOVR6,#0FFH
DL2MS2:
DJNZR6,DL2MS2
DJNZR5,DL2MS1
RET
END
3、数字温度计程序分析
程序开始首先进行传感器DS18B20的初始化,以便为传递温度信号做准备,然后进行与单片机通信的设置,并设置单片机的通信模式,实现温度从DS18B20到单片机的传递,最终完成单片机对传感器信息采集的控制。
单片机接收到温度信号以后通过控制P1口的输出实现了温度的显示。
四、调试
1.对DS18B20的认识不全面导致在开始编写控制比较环节时,低位地址的数据没有考虑到包含小数部分,从而使预设值不能正确想减置位控制程序。
通过仔细阅读DS18B20的单元存储信息得到改正。
2.程序调试中当最初检测温度值(通过软件中对DS18B20预设模拟)为正时可以进行正常控制,但当开始检测值是负值时则无法达到预期的控制效果。
通过查找原因,增加了高位数值符号位的跳转指令(JBACC.7,……),使当检测到负值时直接进行跳转控制,从而消除了不足。
3.在初始的显示中开始无论设置值是多少都会短暂显示85.0的温度值,这是DS18B20初始化的问题,没有解决,不过在真实硬件电路中此种短暂的初值不会对测量及控制精度产生影响。
4.在焊接过程中对单片机、译码器、七段数码管都要焊接底座。
其中单片机,译码器焊接方向一定不要焊反。
五、总结与收获
1、通过本次课程设计我受益匪浅。
对传感器的应用有了比较清楚地认识。
2、学习了数字式温度传感器DS18B20的工作原理并巩固了之前学的《传感器原理及应用》课程,对以后的传感器方面的学习有重大的指导意义。
3、熟悉和了解了单片机编程软件keiluvision3和单片机电路的仿真软件proteus7.5的使用,另外也进一步了解的单片机的编程方法,对单片机的使用有了新的认识。
熟悉了软件的使用方法,为我们的实习带来了不少便利,对单片机完成简单程序控制有了一定的经验与教训,同时也为以后的学习和工作打下了坚实的基础。
4、在做此课程设计中,我深刻地认识到动手能力的重要性,锻炼了我的耐心与细心,今后我一定会加强这些方面的训练
参考文献
[1]李全利.单片机原理及应用技术.北京:
清华大学出版社,2006.2
[2]余孟尝.数字电子技术基础简明教程.北京:
高等教育出版社,2005.11
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度 控制 课程设计 报告书