单片机课设结题报告.docx

上传人:b****5 文档编号:8304087 上传时间:2023-01-30 格式:DOCX 页数:16 大小:201.97KB
下载 相关 举报
单片机课设结题报告.docx_第1页
第1页 / 共16页
单片机课设结题报告.docx_第2页
第2页 / 共16页
单片机课设结题报告.docx_第3页
第3页 / 共16页
单片机课设结题报告.docx_第4页
第4页 / 共16页
单片机课设结题报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机课设结题报告.docx

《单片机课设结题报告.docx》由会员分享,可在线阅读,更多相关《单片机课设结题报告.docx(16页珍藏版)》请在冰豆网上搜索。

单片机课设结题报告.docx

单片机课设结题报告

BeijingJiaotongUniversity

 

单片机课设结题报告——

温度计的设计

 

组员姓名:

WT

TYP

班级:

电气0906

指导老师:

季晓衡

完成日期:

2011年11月24日

 

一、实验元件介绍

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)四位数码管显示,两位整数,两位小数;

(2)温度显示范围:

0℃(或20℃室温)~100℃。

电路由温度传感器(AD590),电压-电流转换电路,AD转换器,51单片机和显示模块组成。

AD590属于电流输出型传感器,其输出的电流经电压-电流转换电路变为模拟电压信号,通过AD转换器变为数字量。

此数字量输入单片机,单片机直接控制显示。

显示模块由四个LED数码显示管和若干阻排组成。

电路板连接如下图:

 

实验原理图如下图:

 

三、程序设计框图及汇编语句:

系统程序包括主程序、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位显示完成?

结束(返回)

显示子程序

 

主程序:

ORG0000H

SJMP0040H

ORG0040H

MAIN:

MOVIE,#00H

CLRREN

MOVP3,#0FFH

MOVP2,#0FFH

MOVP0,#0FFH

CLRP3.2

CHUSHI:

MOVR0,#00H

CLRP3.3

ACALLDELAY

SETBP3.2

ACALLDELAY

CLRP3.2

ACALLDELAY

SETBP3.2

ACALLDELAY

CLRP3.2

CLRP3.0

ACALLDELAY

SETBP3.2

ACALLDELAY

CLRP3.2

ACALLDELAY

SETBP3.2

ACALLDELAY

CLRP3.2

DUSHU:

ACALLDELAY

MOVB,P3

SETBP3.2

JBB.1,ZHIWEI

CLRACC.7

FANHUI:

RLA

INCR0

CLRP3.2

CJNER0,#08H,DUSHU

ACALLLUEGUO

MOVP3,#0FFH

CLRP3.2

AJMPXIANSHI

ZHIWEI:

SETBACC.7

AJMPFANHUI

XIANSHI:

CLRC

MOVR7,A

SUBBA,#8BH

JNCPANDUAN1

MOVR1,#00H

MOVR2,#00H

PANDUAN1:

MOVA,R7

CLRC

SUBBA,#0BEH

JCPANDUAN2

MOVR1,#99

MOVR2,#99

PANDUAN2:

MOVA,R7

CLRC

SUBBA,#0A4H

JNCJIEWEI

MOVA,R7

CLRC

SUBBA,#8BH

MOVB,#02H

MULAB

SUBBA,#01H

MOVR1,A

MOVA,R7

SUBBA,#8BH

MOVB,#04H

MULAB

MOVR0,A

MOVA,#64H

SUBBA,R0

CLRC

MOVR2,A

HUIGUI:

MOVA,R1

MOVB,#10

DIVAB

MOVR3,A

MOVR4,B

MOVA,R2

MOVB,#10

DIVAB

MOVR5,A

MOVR6,B

MOVR0,#00H

XIANSHIW:

MOVDPTR,#MAP

MOVA,R3

MOVCA,@A+DPTR

MOVP2,A

CLRP0.5

ACALLDELAY

ACALLDELAY

SETBP0.5

MOVDPTR,#MAP

MOVA,R4

MOVCA,@A+DPTR

ORLA,#80H

MOVP2,A

CLRP0.4

ACALLDELAY

ACALLDELAY

SETBP0.4

MOVDPTR,#MAP

MOVA,R5

MOVCA,@A+DPTR

MOVP2,A

CLRP0.3

ACALLDELAY

ACALLDELAY

SETBP0.3

MOVDPTR,#MAP

MOVA,R6

MOVCA,@A+DPTR

MOVP2,A

CLRP0.2

ACALLDELAY

ACALLDELAY

SETBP0.2

INCR0

CJNER0,#0FFH,XIANSHIW

AJMPCHUSHI

JIEWEI:

MOVA,R7

CLRC

SUBBA,#8BH

MOVB,#02H

MULAB

SUBBA,#02H

MOVR1,A

SUBBA,#8BH

MOVB,#04H

MULAB

MOVR0,A

MOVA,#0C8H

SUBBA,R0

CLRC

MOVR2,A

AJMPHUIGUI

LUEGUO:

MOVR0,#00H

XUNHUAN:

SETBP3.2

ACALLDELAY

INCR0

CLRP3.2

ACALLDELAY

CJNER0,#07H,XUNHUAN

RET

MAP:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DELAY:

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

RET

END

 

四、实验心得:

通过这次课程设计,我对ADC0832的结构有了全面的认识,也对运用汇编语言编程的能力和整体掌握有了大幅度的提升。

而此次课设对我最大的提高在于对未知知识的搜集、掌握和运用过程。

由于之前帮助老师焊过板子,所以我们就先于其他人知道了各种转换电路的元器件,如温度传感器是输出电流的,A/D转换是用ADC0832的,他们之间需要用10kΩ电阻作相应转换。

最关键的就在于对ADC0832的掌握。

因为单片机课上主要讲授了ADC0809,所以我们上网查到相关芯片的资料,得知AD0832的数字量输出与AD0809的并行输出不同,是串行输出的,所以应该将其输出量在P3.1口输入到单片机。

而且它的选口、输输出都要在外部输入的时钟下降沿的时候读写,时钟信号还需要外部给定,所以它的CLK口要与P3.2口相连。

ADC0832在数据传输前要在Din中输入起停位和配置位,以设定ADC0832的工作模式,这三位数据也可通过移位输入。

由于ADC0832的输入在CH0口,输出为单端输出,所以配置位为10(B)。

有了总体思路后我们开始着手分块编写程序,编译无误后就到实验室进行了实验仿真。

我们的实验还只停留在仿真头试验阶段,没有真正的将程序烧入单片机,所以还是有点遗憾的。

不管之前怎样全面思考,实验过程中还是会出现意想不到的问题。

实验过程中AD590输出的电流变化范围没有设计的那么大,即使将1kΩ电位器调到最大也不能将显示的室温调至准确。

所以我们对程序进行了进一步修改,将输入的数值做了一定比例的放大,并做了一些误差调整,最终实现了室温时显示21-23度,用电烙铁烫AD590之后最大显示数值度能超过100(即在99.99之后又从0.00开始显示),最终做出的温度计量程为0℃到100℃左右。

在实验调试过程中,我们的程序出现了一个小bug,就是在温度到60度以上的时候第三个显像管就自动灭掉,到80度以上之后又会恢复显示。

一开始我们都想不明白,但之后终于想清楚了:

是以A作为字位选择的时候超过了9,字形表就查不到,自然就显示不出来了。

之后我们将字形表增加成三个0-9循环的形式,成功解决了这一问题,我们也感到很欣慰。

总的来说,这样的课设总是比较有趣,富有挑战性而又不枯燥,非常吸引人,对我个人来说试一次绝佳的锻炼机会,既能进一步巩固专业知识,增强专业基础,又能提高动手能力,使自己对实验调试的方法更加熟练。

如果以后还能有机会接触此类实验的话,我一定会倍加珍惜的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1