温度计微机原理与接口技术课程设计.docx
《温度计微机原理与接口技术课程设计.docx》由会员分享,可在线阅读,更多相关《温度计微机原理与接口技术课程设计.docx(21页珍藏版)》请在冰点文库上搜索。
温度计微机原理与接口技术课程设计
电气工程学院
微机原理与接口技术课程设计
设计题目:
温度计
课程设计成绩评定表
姓名
潘树霞
学号
10292013
课程设计题目:
温度计
课程设计答辩或提问记录:
成绩评定依据:
课程设计预习报告及方案设计情况(30%):
课程设计考勤情况(15%):
课程设计调试情况(30%):
课程设计总结报告与答辩情况(25%):
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
微机原理与技术接口课程设计任务书
一、课程设计题目:
温度计
二、课程设计要求
1.根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;
2.查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;
3.完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;
4.进实验室进行电路调试,边调试边修正方案;
5.撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。
三、进度安排
1.时间安排
序号
内容
学时安排(天)
1
方案论证和系统设计
1
2
完成电路仿真,写预习报告
1
3
电路调试
2
4
写设计总结报告与答辩
1
合计
5
设计调试地点:
电气楼410
2.执行要求
微机原理与接口技术课程成绩优秀的可以自拟题目,其余的同学都是指定题目。
,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。
严禁抄袭,严禁两篇设计报告雷同。
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C51单片机的测温系统,详细描述了利用数字温度传感器AD590开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:
单片机,温度计,89C51,AD590,AD0832
Abstract
Withtheprogressofthetimesanddevelopment,microcontrollertechnologyhasspreadtoourlife,work,scientificresearch,andeachdomain.Ithasbecomearelativelymaturetechnology.Thispaperintroducesatemperaturemeasurementsystembasedon89C51microcontroller,andadetaileddescriptionoftheprocessofusingdigitaltemperaturesensorAD590temperaturemeasurementsystemdevelopment,focusingonthehardwaresensorsinasingleconnection.Softwareprogrammingandsystemflowingofeachmoduleareanalyzedindetailandonthepartofthecircuitareintroduced.Thesystemcanachievetherealizationoftemperatureacquisitionanddisplayandconvenient.Itisveryconvenienttouse.Ithashighaccuracy,widemeasuringrange,highsensitivity,smallsize,lowpowerconsumption.Itissuitableforourdailylivesandindustrial,agriculturalproductioninthetemperaturemeasurement,butalsocanbeusedasatemperatureprocessingmoduleembeddedinothersystems,asotherauxiliarysystem.Thesystemhassimplestructure,stronganti-jammingcapability,anditissuitableforharshenvironmenton-sitetemperaturemeasurement.Ithaswideapplicationprospect.
Keywords:
SCM,thermometer,89C51,AD590,AD0832
第一章、系统方案设计
(一)、实验元件介绍
(二)、设计思路
第二章、仿真
第三章、调试
第四章、结论
第五章、心得体会与建议
参考文献
附录:
元器件清单
第一章系统方案设计
(一)、实验元件介绍
1、感温元件AD590
(1)AD590的主要特性:
AD590是美国模拟器件公司生产的单片集成两端感温电流传感器,是一种已经IC化的温度感测器,它会将温度转换为电流。
其规格如下:
a、度每增加1℃,它会增加1μA输出电流
b、可测量范围-55℃至150℃
c、供电电压范围+4V至+30V
(2)AD590管脚图及元件符号
(3)AD590工作原理
AD590相当于一个温度控制的恒流源,输出电流大小只与温度有关,且与温度成正比。
只需一个精密电阻,就可以将电流(温度)信号转化为电压信号,总的灵敏度系数通过该电阻设定。
AD590的温度系数是1μA/K,即温度每增加1K,它会增加1μA输出电流。
其输出电流是以绝对温度零度-273℃为基准,每增加1℃,它会增加1μA输出电流,因此0℃到100℃时AD590输出电流为273μA到373μA。
(4)电流-电压转换电路
电压-电流转换电路
图中,AD590输出端输出电流,经过10K的电阻,转换为电压值。
OP07为一射极跟随器,A=1,用于提高输入阻抗。
两个二极管用于隔离干扰。
电流-电压转换公式如下:
AD590的灵敏度:
经过10K电阻后:
具体温度-电压值对应如下表
摄氏温度/℃
AD590电流/μA
经10KΩ电压/V
0
273.2
2.732
10
283.2
2.832
20
293.2
2.932
30
303.2
3.032
40
313.2
3.132
50
323.2
3.232
60
333.2
3.332
100
373.2
3.732
2、ADC0832
通过特定的电流-电压转换电路之后,可得到与温度相对应的电压。
但是若想显示,需要得到数字信号才行。
所以需要用ADC0832。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,芯片的模拟电压输入在0-5V之间。
其引脚图及说明如下:
引脚功能说明:
◆CS_片选使能,低电平芯片使能。
◆CH0模拟输入通道0,或作为IN+/-使用。
◆CH1模拟输入通道1,或作为IN+/-使用。
◆GND芯片参考0电位(地)。
◆DI数据信号输入,选择通道控制。
◆DO数据信号输出,转换数据输出。
◆CLK芯片时钟输入。
◆Vcc/REF电源输入及参考电压输入(复用)
输入格式
配置位
选择通道号
CH0
CH1
CH0
CH1
差分
L
L
+
-
L
H
-
+
单端
H
L
+
H
H
+
ADC0832时序:
当CS由高变低时,选中ADC0832。
在时钟的上升沿,Din端的数据移入ADC0832内部的多路地址移位寄存器。
在第一个时钟期间,Din为高,表示启动位,紧接着输入两位配置位。
当输入启动位和配置位后,选通输入模拟通道,转换开始。
转换开始后,经过一个时钟周期延迟,以使选定的通道稳定。
ADC0832接着在第4个时钟下降沿输出转换数据。
数据输出时先输出最高位(D7-D0);输出完转换结果后,又以最低位开始重新输出一遍数据(D7-D0),两次发送的最低位共用。
当片选CS为高时,内部所有寄存器清0,输出变为高阻态。
实验中我们由CH0输入模拟量,Dout输出数字量。
我们把ADC0832的CS、CLK、Dout、Din端分别连接在P3.3、P3.2,P3.1,P3.0端,所以ADC0832的片选、时钟信号、启动位和配置位均通过置位端口实现。
由于是CH0输入模拟信号,所以配置位为10(B)。
ADC0832为单端输出模式。
由于AD是串行输入输出,故前3个脉冲上升沿完成设置,第4—11个脉冲下降沿后取1位AD转换的结果,在第11—18个脉冲下降沿后第二次取AD转换结果,将两次结果进行比对,如果一致,则完成转换,关ADC0832;如果不一致,则重新开始转换。
经AD转换后,数字量D与温度值的转换如下所示:
3、51单片机
实验中将用51单片机作为将数字信号输出为数码显像管显示数字的转换芯片,用汇编程序控制单片机不同输出端口的高低电平,即可控制数码显像管显示的数字。
4、数码显像管
实验中所用的是较为普遍的4个8位显像管,显示的数字分别有不同的输出位所对应。
其字形表为1-10:
3FH,06H,5BH,4FH,66H,
6DH,7DH,07H,7FH,6FH。
(二)、设计思路
1、设计要求
选用温度传感器AD590实现温度采集、摄氏温度显示,
温度精度达到0.1度,
测量范围零下10度到零上100度
电路由温度传感器(AD590),电压-电流转换电路,AD转换器,51单片机和显示模块组成。
AD590属于电流输出型传感器,其输出的电流经电压-电流转换电路变为模拟电压信号,通过AD转换器变为数字量。
此数字量输入单片机,单片机直接控制显示。
显示模块由四个LED数码显示管和若干阻排组成。
电路板连接如下图:
2、程序设计框图及汇编语句:
系统程序包括主程序、AD子程序、BCD子程序和显示子程序。
实验中由于需要显示小数,所以需要借助100/51得到的小数位。
具体计算过程如下:
程序中将R7作为存储ADC0832输出8位的位。
实验测得在0℃~100℃的过程中,AD590经过10kΩ电阻,经过ADC0832转换之后的范围为8BH-BEH,其中共有51个数,反映的是0℃~100℃的变化。
由于100/51=1.96=2-0.04,所以2可以作为整数显示的基础位,0.04可作为小数显示的基础位。
这样就可以实现实验要求的功能。
在ADC0832输出8BH-A4H的时候,小数位都不会超过1,所以就在整数位将其输出的数值乘以2之后减1,然后送到数码显像管显示;小数位就用其输出的数值乘以4,再用100减去这个数,作为小数位的数,送给数码显像管显示。
这就是我们设计的温度计的基本原理。
当然,由于ADC0832的原因,在CLK口输入的时钟信号需要从单片机中发出,所以还需要用SETB,CLR,DELAY等语句产生时钟信号。
程序框图如下:
开始
输入使能信号,使之开始工作
输入通道控制字
产生时钟脉冲,输出两字节数据
调用显示子程序
调用AD子程序
调用BCD子程序
初始化
开始
否
关显示
显示缓存区内容送A,查字形表
字型码送P0口,字位码送P1口
延时2ms
变量调整,3位显示完成?
是
结束(返回)
显示子程序
实验程序
ADDIBITP3.0;伪指令
ADDOBITP3.1
ADCLKBITP3.2
ADCSBITP3.3
LED1EQU40H;第一个LED的字形地址偏移量放在40H
LED2EQU41H;第一个LED的字形地址偏移量放在41H
LED3EQU42H;第一个LED的字形地址偏移量放在42H
LED4EQU43H;第一个LED的字形地址偏移量放在43H
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVSP,#60H
MOVR4,#5
TEST:
LCALLADC0832;调用AD转换程序
LCALLBCDCON;调用数值转换程序
LP:
LCALLDISPLAY;调用显示程序
DJNZR4,LP
SJMPTEST
ADC0832:
SETBADDI;初始化通道选择
CLRADCLK
NOP
NOP
CLRADCS;拉低/CS端
NOP
NOP
SETBADCLK;拉高CLK端
NOP
NOP
CLRADCLK;拉低CLK端,形成下降沿
SETBADDI
NOP
NOP
SETBADCLK;拉高CLK端
NOP
NOP
CLRADCLK;拉低CLK端,形成下降沿2
CLRADDI;1-0选择1通道
NOP
NOP
SETBADCLK;拉高CLK端
NOP
NOP
CLRADCLK;拉低CLK端,形成下降沿3
SETBADDI
NOP
NOP
MOVR7,#8;准备送下后8个时钟脉冲
AD1:
MOVC,ADDO;接收数据
MOVACC.0,C
RLA;左移一次
SETBADCLK
NOP
NOP
CLRADCLK;形成一次时钟脉冲
NOP
NOP
DJNZR7,AD1;循环7次
MOVC,ADDO;接收数据
MOVACC.0,C
SETBADCS;拉高/CS端
CLRADCLK;拉低CLK端
SETBADDO;拉高数据端,回到初始状态
MOV30H,A;数据放在30H
ADDA,#7
MOV30H,A
RET
BCDCON:
CLRC
SUBBA,#139;与0摄氏度作判断
JNCABOVEZERO;有借位往下执行,没有借位跳转ABOVEZERO
BELOWZERO:
MOVA,#139
SUBBA,30H
MOVB,#05H
MULAB
MOVB,#64H
MULAB
MOVR1,A
MOVA,B
MOVB,#0AH
DIVAB
MOVLED1,0AH;最高位显示负号
MOVLED2,B;显示个位
MOVA,R1
MOVB,#64H
MULAB
MOVA,B
MOVB,#0AH
DIVAB
MOVLED3,A;显示第一位小数
MOVLED4,B;显示第二位小数
RET
ABOVEZERO:
MOVB,#05H
MULAB
MOVB,#64H
MULAB
MOVR1,A
MOVA,B
MOVB,#0AH
DIVAB
MOVLED1,A;显示十位
MOVLED2,B;显示个位
MOVA,R1
MOVB,#64H
MULAB
MOVA,B
MOVB,#0AH
DIVAB
MOVLED3,A;显示第一位小数
MOVLED4,B;显示第二位小数
RET
DISPLAY:
;显示子程序
SETBP0.2
SETBP0.3
SETBP0.4
SETBP0.5
MOVDPTR,#TAB
MOVA,40H
MOVCA,@A+DPTR;查字形表
MOVP2,A;P2口作字形,P0口做字位
CLRP0.5;开
ACALLDELAY
SETBP0.5;关
MOVDPTR,#TAB
MOVA,41H
MOVCA,@A+DPTR;查字形表
MOVP2,A
SETBP2.7
CLRP0.4
ACALLDELAY
SETBP0.4
MOVDPTR,#TAB
MOVA,42H
MOVCA,@A+DPTR;查字形表
MOVP2,A
CLRP0.3
ACALLDELAY
SETBP0.3
MOVDPTR,#TAB
MOVA,43H
MOVCA,@A+DPTR
MOVP2,A
CLRP0.2
ACALLDELAY
SETBP0.2
RET
DELAY:
MOVR7,#01H
DELAY1:
MOVR6,#0FFH
DELAY2:
DJNZR6,DELAY2
DJNZR7,DELAY1
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
RET
第二章
仿真
电路原理图:
PCB图:
第三章调试
第四章结论
温度传感器AD590实现温度采集、摄氏温度显示,温度精度达到0.1度,测量范围零下10度到零上100度
电路由温度传感器(AD590),电压-电流转换电路,AD转换器,51单片机和显示模块组成。
AD590属于电流输出型传感器,其输出的电流经电压-电流转换电路变为模拟电压信号,通过AD转换器变为数字量。
此数字量输入单片机,单片机直接控制显示。
显示模块由四个LED数码显示管和若干阻排组成。
第五章心得体会与建议
通过本次课程设计,我对AD590、AD0832的结构有了更全面的认识,也更明白了它们的工作原理,对我以后的学习和工作都有了很大的帮助。
在做课程设计的过程中,我们遇到了一些问题,例如在数码管显示温度时,在第一位的后面多了一个小数点,通过查阅课本修改程序,实现了小数点的去除;再比如,数码管显示温度时,开始正常显示,但升温后在降温字形显示不正确,通过更换数码管,更换芯片,发现时接触不良,最后成功解决了这个问题。
在解决这些问题的过程中,我受益良多。
首先,补充了一部分知识;其次,我又一次体会到了合作的重要性;再次,学会了用多种方法解决问题等。
参考文献
[1]李维波,MATLAB在电气工程中的应用,中国电力出版社,2007
[2]胡汉才,单片机原理及其技术接口,清华大学出版社,2007
附录1:
元器件清单
元器件
数量(个)
AD590
1
AD0832
1
74245
2
OP07
1
LED数码显示管
4
电阻
若干
电容
若干
二极管
若干
THANKS!
!
!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考,如有侵权联系删除!