#单片机课设4路温度采集与显示系统设计附图源码.docx

上传人:b****6 文档编号:8695951 上传时间:2023-02-01 格式:DOCX 页数:17 大小:203.35KB
下载 相关 举报
#单片机课设4路温度采集与显示系统设计附图源码.docx_第1页
第1页 / 共17页
#单片机课设4路温度采集与显示系统设计附图源码.docx_第2页
第2页 / 共17页
#单片机课设4路温度采集与显示系统设计附图源码.docx_第3页
第3页 / 共17页
#单片机课设4路温度采集与显示系统设计附图源码.docx_第4页
第4页 / 共17页
#单片机课设4路温度采集与显示系统设计附图源码.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

#单片机课设4路温度采集与显示系统设计附图源码.docx

《#单片机课设4路温度采集与显示系统设计附图源码.docx》由会员分享,可在线阅读,更多相关《#单片机课设4路温度采集与显示系统设计附图源码.docx(17页珍藏版)》请在冰豆网上搜索。

#单片机课设4路温度采集与显示系统设计附图源码.docx

#单片机课设4路温度采集与显示系统设计附图源码

工业大学

《单片机与接口技术》课程设计(论文)

题目:

4路温度采集与显示系统设计

院(系):

专业班级:

学号:

学生姓名:

指导教师:

教师职称:

起止时间:

课程设计(论文)任务及评语

院(系):

信息科学与工程学院教研室:

自动化

学号

学生姓名

专业班级

课程设计(论文)题目

4路温度采集与显示系统设计

课程设计(论文)任务

该系统应具备如下功能要求

采用8751单片机作控制器,选用ADC0809、显示电路及外扩的RAM、EPROM一起构成4路温度采集与显示系统。

1、采用8051单片机。

2、采用3位LED数码管,显示整数值。

3、外扩2KBRAM和4KBEPROM

4、检测范围是0℃┈+100℃。

5、开机或复位后,在LED最右端显示“H”,以提示系统正常;

6、正常运行时,不断采集温度并送显示。

自选合适的单片机芯片组成单片机应用系统,该系统应满足如下设计要求:

1、单片机最小系统设计;

2、单片机与A/D转换接口电路设计;

3、温度检测及变换电路设计;

4、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理;

5、按学校规定的书写格式,撰写、打印设计说明书一份;设计说明书应在4000字以上;

指导教师评语及成绩

成绩:

指导教师签字:

年月日

第1章方案论证

1引言

在日常生活中经常要检测环境温度,不同的环境对测量温度的范围要求不同。

这里利用LM35D实现了局部温度范围的监测。

即利用电压型温度传感器LM35D采集室温并产生10mv/℃的电压信号;采用A/D转换器将放大后的模拟信号转化为数字信号;实时显示转换后的室温;通过单片机实现高温,低温报警。

经实验调试,用该方法对0-100℃范围温度测温时,测量误差为+0.4℃。

LM35D是精度集成的电路温度传感器,线性好(10Mv/℃),宽量程(0℃-100℃),它的输出电压与摄氏温度线性成比例,无需外部校准或微调来提供±0.4的常用的室温精度,编程时易于实现。

LM35D采集到的微弱电压信号经过放大器OP07放大十倍后送入A/D转换器(ADC0809)的输入端,ADC0809将模拟信号转化为数字信号后传给8051,选用4个共阴极8段数码显示管用于静态显示当前测量温度。

用单片机RXD和TXD外接74LS164移位寄存器驱动数码管,使LED八段数码管动态显示室温。

2结构框图

此次设计的四路温度采集与显示系统主要有四部分组成:

温度采集部分、A/D转换部分、3位LED数码管显示系统、单片机、外部扩展2KBRAM和4KBEPROM。

系统总体结构框图如下:

图1-1系统总体结构框图

3位数字显示系统

温度采集

A/D转换

8051单片机

外扩4KBEPROM外扩2KBRAM

第2章硬件设计

2.1四路温度采集与显示系统原理

四路温度采集与显示主要由温度采集与A/D转换、8051单片机、外扩2KBRAM、外扩4KBEPROM和3位数字显示系统五部分组成。

构成整个系统的五部分功能如下:

1温度采集电路。

(1)电压型温度传感器LM35D

LM35D输出电压正比摄氏温度成正比,其灵敏度为10mV/℃;温度范围0℃-100℃;电压为4-30V,可直接用温控电路的电源,但要加一个隔离二极管及平滑电容C;精度为±1℃;最大线性误差为±0.5℃;静态电流为80uA;输出电压接数字万用表2V直流电压档,可读出分辨率为0.1℃的温度读数。

如表上读数为28mV,即温度为28.7℃。

该传感器的最大特点是使用时无需外围元件,也无需调试和校正(标定),把测温传感器与放大电路做在一个硅片上,形成一个集成温度传感器。

(2)放大电路

图1为系统的放大电路部分。

LM35D灵敏度为10mV/℃,如果室温为26℃,那么经LM35D采集室温后得到的电压信号为0.26mV,将此信号在整个硬件系统和软件系统中放大100倍,之后将其送入驱动电路,即可在LED数码管上显示室温。

LM35D的输出端经过15k的电阻和10uF的电容可使采集到的与温度成比例(10mV/℃)的电压信号更稳定;在放大电路中,取R6为1K是因为好计算放大倍数,R5用20K的滑动变阻器使这个0.26mV的微弱电压信号在0—20的放大倍数范围内可调试,在此,将其放大5倍,因此需要将R5调至10K,这样经放大器OP07放大后的6脚输出就为放大十倍的电压信号2.6V。

放大电路如图2-1所示:

2A/D转换电路由ADC0809来完成。

ADC0809的引脚功能如下:

ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

图2-1放大电路

ADC0809的引脚结构图如图2-2所示:

IN0-IN7:

8条模拟量输入通道

ADC0809对输入模拟量要求:

信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:

4条

图2-2ADC0809的引脚结构图

ALE为地址锁存允许输入线,高电平有效。

当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通选择表如下表所示。

表2-1通道选择表

C

B

A

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

数字量输出及控制线:

11条

ST为转换启动信号。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

EOC为转换结束信号。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。

OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

D7-D0为数字量输出线。

CLK为时钟输入信号线。

因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,

VREF(+),VREF(-)为参考电压输入。

ADC0809与8051的接线图如图2-3所示:

图2-3ADC0809与8051的接线图

38051单片机是ROM型单片机,内部有4KB的掩膜ROM,即单片机生产厂家固化在程序存储器中,8051单片机具有如下特性:

(1)面向控制的8位CPU;

(2)128B的片内数据存储器;

(3)可以寻址64KB的片外程序存储器和64KB的片外数据存储器;

(4)32根双向和可单独寻址的I/O线;

(5)一个全双工和可单独寻址的I/O线;

(6)两个16位定时/计数器;

(7)5个中断源,两个中断优先级;

(8)有片内时钟振荡器;

(9)采用高性能的HMOS生产工艺生产;

(10)有布尔处理(位操作)能力。

(11)含基本指令111条,其中单机器周期指令64种

8051单片机的引脚图如图2-4所示:

一、引脚简要说明

1、主电源引脚Vcc和Vss

Vcc(40脚):

主电源接+5V

图2-48051的引脚图

Vss(20脚):

接地

2、时钟电路引脚XTAL1和XTAL2

 XTAL2(18脚):

接外部晶体振荡器的一端。

片内是一个振荡电路反相放大器的输出端。

 XTAL1(19脚):

接外部晶体振荡器的另一端。

片内是一个振荡电路反相放大器的输入端。

3、控制信号RST/Vpd、ALE/(/PROG)、(/EA)/Vpp和/PSEN

 RST/Vpd(9脚):

复位端。

高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。

该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。

ALE/(/PROG)(30脚):

地址锁存信号端。

访问片外存贮器时,ALE作低八位地址的锁存控制信号。

平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。

ALE端负载驱动能力为8个LSTTL门。

该引脚有复用功能,为片内程序存贮器编程(固化)的编程脉冲输入。

/PSEN(29脚):

片外程序存贮器读选通信号端。

负载能力为8LSTTL门。

(/EA)/Vpp(31脚):

/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。

/EA端接低电平时,CPU仅从片外程序存贮器取指令。

该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。

4、输入/输出引脚P0、P1、P2和P3口

 P0.0~P0.7(39~32脚):

访问片外存贮器时作为低八位地址线和八位数据线(复用)。

负载能力为8个LSTTL门。

P1.0~P1.7(1~8脚):

8位准双向I/O口。

负载能力为3个LSTTL门。

P2.0~P2.7(21~28脚):

访问片外存贮器时作为高八位地址线。

P3.0~P3.7(10~17脚):

8位准双向I/O口。

负载能力为3个LSTTL门。

另外还有专门的第二功能。

4外扩4KBEPROM。

EPROM是一种用电信号编程,也用电信号进行擦除的只读存储器。

此处,用来扩展的4KBEPROM是一片2732EPROM,2732是4K×8位紫外线擦除可编程只读存储器,单一+5V电源供电,最大工作电流为100mA,维持电流为35mA,读出时间最大为250ns.2732为24脚双列直插式封装。

它与单片机的接口电路如图2-7所示。

5外扩2KBRAM,8051片内有128B的RAM存储器,在实际应用中仅靠这128B的数据存储器是远远不够的。

这种情况下可以利用8051单片机所具有的扩展功能,扩展外部数据存储器。

此处,扩展2KB的RAM由一片6116来完成。

6116是2K×8静态随机存储器,采用CMOS工艺制造,单一+5V电源供电,额定功率为160mW,典型存取时间200ms,读出时间最大为250ns,为24线双列直插式封装。

它与单片机的接口电路如图2-7所示。

63位数字显示系统

图2-5是静态显示电路示意图。

静态显示是LED数码管的各个段都与一个固定驱动端相连接,每个数码管有七段,N个数码管就有7N固定固定驱动端与其相连接。

图中外接74LS164移位寄存器对应于各个数码管。

8051的串行口设定为方式0输出。

由于被显示的字形是以字形码的形式出现。

因此,首先在程序中要建立一个字形表SEGPT。

该表以16进制数的次序,存放其相应字形码,把表格的首地址SEGPT,送入基址寄存器DPTR,把要显示的数作为偏移量送入变址寄存器A,然后执行查表指令MOVCA,@A+DPTR,从表中取出对应字符的字形码送到累加器。

另外,还要开辟一个显示缓冲区DISMO-DISMN,缓冲区中每个单元对应一个LED数码管。

显示子程序的作用就是依次将显示缓冲区中的内容(16进制数据)取出,并查表变换成要显示字符的字形码,送往数码中显示。

因此,凡是需要调整、更新显示内容时,必须先向显示缓冲区的单元送数,然后再调用显示子程序。

图2-5所示的静态显示电路是使用串行口的静态LED驱动接口。

利用串行口和移位寄存器作为显示器的驱动接口,可以简化设计,节省CPU的显示接口。

在图2-5中,串行接口工作于方式0。

RXD作为输出端接到移位寄存器74LS164的两个输入端A和B,前一个移位寄存器的输出端也与下一个移位寄存器74LS164的A、B相连,这样首尾相接,直到传送3位显示数为止。

当显示完以后,先送出的数显示在最右端,最后送出的数显示在最左边一位,所以在显示缓冲区存数时要特别注意。

图2-5静态显示电路示意图

2.2单片机最小系统设计

在单片机的程序调试和运行时,有时需要用复位键进行复位,正确的复位是单片机得以正常远行的前提。

所以复位电路是单片机系统必不可少的一部分。

此处,复位电路如图2-6所示。

图2-6复位电路

2.3扩展系统设计

单片机扩展系统的设计如图2-7所示。

图2-7中8D锁存器74LS373的三态控制端1引脚OE接地,以保持输出常通。

其三态输出还有一定的驱动能力,G端与11引脚与ALE相连接,每当ALE下跳变时,外部扩展的4KBEPROM芯片2732是4K×8位EPROM器件,有12根地址线A0-A11,2732与8051的连接方法如图2-3,其中低8位地址线通过锁存器与8051的P0口相连,高4位地址线与8051的P2.0-P203相连.当8051发出12位地址信息时,可以选中4kB程序存储器中任何单元.同样,2732的8根数据线直线与8051的P0口相连.2732的OE端直接与8051的PSEN端相连.

2732的片选信号CE接地,显然该2732占有的地址空间可以为1000H-0FFFH.

6116与8051的硬件连接如图2-7所示.6116的地址线,数据线的接法同程序存储器的接法一样,6116的写允许WE和读允许OE分别与8051的WR(P3.6)和RD(3.7)连接,以实现读写控制,6116的片选控制端CE接地常选通.在扩展RAM时,这是一种最简单的连接方法.

图2-7扩展4KBEPROM和2KBRAM

4路温度采集与显示系统的整机电路设计如图2-8所示:

图2-84路温度采集与显示系统的整机电路

第3章软件设计

3.1程序框图

N

系统正常?

Y

显示缓冲区首地址22H送H,其它字节送暗字符

显示输出

启动传感器温度传感器采集

启动A/D转换

存储采集温度的数字值

读取温度值

显示几路传感器采集0.5s

十进制转换

显示输出

全部显示一次?

Y

N

图3-1程序结构框图

3.2程序设计

这个系统只显示0℃-100℃温度的整数部分,整个系统的程序设计如下:

ORG0000H;

MOVR0,#22H;将显示缓存器首地址送入@R0

MOV@R0,#A1H;

INCR0;

MOV@R0,#FFH;

INCR0;

MOV@R0,#FFH;

LJMPDISPLAY;

LJMPDELAY;

LJMPDISPLAY;调用显示子程序,显示系统正常运行

MOV55H,#01H;将几路传感器工作送入22H单元

SET:

LJMPSTART;调用A/D转换程序

MOV22H,55H;显示几路传感器工作

MOV@R0,22H;

INCR0;

MOV@R0,#FFH;

INCR0;

MOV@R0,#FFH;

MOVA,55H;

INCA;

MOV55H,A;

LJMPDISPLAY;显示几路传感器工作

MOVDPTR,30H;

MOVXA,@DPTR;

LJMPDATA;调用十进制转换子程序

INCDPTR;

LJMPDISPLAY;调用显示子程序

DJNZ55H,#04H,SET;四路全部显示完成后重新显示第一路

LJMPSET;

END

2十进制转换子程序

DATA:

MOVDPTR,30H

MOVXA,@DPTR;

MOVB,#64H;

DIVAB;

MOV24H,A;百位数进24H

MOVA,B;

MOVB,#0AH;

DIVA,B;

MOV23H,A;十位数进23H

MOVA,B

MOV22H,A;个位数进22H

RET

3显示子程序

DISPLAY:

ORG60H

DISB:

DS3;示缓冲区3字节

ORG1000H

DSP:

MOVR7,#3;数位计数器值为3

MOV@R0,22H;R0指向显示器缓冲区首址

MOVA,@R0;取要显示的数据

ADDA,@0AH;加上到SGTAB的偏移量

MOVCA,@A+PC;字型的段码

MOVSBUF,A;送串行口输出

DSP2:

JNBTI,DSP2;等待输出结束

CLRTI;输出结束清TI标志

INCRO;指向显示缓冲区下一位

DJNZR7,DSP1;未显示完3为则循环

RET;显示完则返回

SGTAB:

DB08H;0

DB9FH;1

DB25H;2

DB0DH;3

DB99H;4

DB49H;5

DB41H;6

DB1FH;7

DB01H;8

DB19H;9

DBA1H;H

DBFFH;暗字符

4延时子程序,因为系统不需要精度太高的延时,所以使用这个延时子程序。

DELAY:

DEL:

MOVR5,#100;延时0.5s

DEL1:

MOVR7,#125;

DEL2:

MOVR6,200;

DEL3:

DJNZR6,DEL3;

DJNZR7,DEL2;

DJNZR5,DEL;

RET

5A/D转换程序

START:

MOVR0,#30H;RAM缓冲区地址置初值

MOVR6,#04H;通道计数器置初值

MOVR7,#04H;循环计数器置初值

CONV1:

MOVDPTR,#0FE8H;通道地址寄存器置初值

CONV2:

MOV@DPTR,A;启动A/D转换

MOVR5,#0AH;等待延时

DLX:

DJNZR5,DLX;

WAIT:

JBP3.3,WAIT;等待A/D转换结束

MOVXA,@DPTR;读取A/D转换结果

MOV@R0,A;保存A/D转换结果

INCR0;修改存储单元地址

INCDPTR;指向下一通道

DJNZR6,CONV2;8个通道全完否?

MOVR6,#03H

DJNZR7,CONV1;8次A/D转换完成否?

ACALLDATADSB;数据的数字处理

RET

第4章课程设计总结

此次课程设计中我投入了极大的热情和精力,使用protel99se设计电路,并运用所学的汇编语言知识编程,其过程中出现了不少的问题,我没有气馁,没有退缩,积极向老师和同学请教,并且一遍又一遍的重复实践,直到我们期望的结果实现。

事实也证明我们的努力没有白费,认真严谨的实习态度给我们带来了成功的喜悦!

通过这短短一周的实践,我感觉到自己在课本上学到的理论知识和实践仍有一定的差距。

有的知识,自己感觉已经掌握得差不多了,但是实际操作起来就有问题出现了。

就拿8051单片机来说,没有弄明白其工作原理具体工作情况和并没有完全了解了A/D转换的实质,对DS18B20温度传感器不了解等问题。

我们还遇到了不少,花费了很多的时间。

这让我们重新反思我们的学习,觉得这与自己当时不注意实验课是分不开的。

通过这次单片机课程设计,我们掌握了设计一个4路温度采集与显示系统的基本方法和基本步骤,实际解决了设计中出现的问题,增强了寻找问题,解决问题的能力。

此次单片机设计的成功不仅帮助我们更好地掌握书本知识,尤其重要的是增强了我们的自信,培养了我们独立思考的能力!

参考文献

[1]梅丽凤,王艳秋,汪毓铎.单片机原理及接口技术.北京:

清华大学出版社,2003,5

[2]余永泉,李小青,陈康林.单片机应用系统的功率接口技术.北京:

北京航空航天大学出版社,1992,9

[3]宋浩,田丰.单片机原理及应用.北京:

清华大学出版社,北京交通大学出版社,2005

[4]张建民,杨旭.利用单片机实现温度检测系统.微计算机信息(嵌入式与SOC).2007

(2):

98-100

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

当前位置:首页 > 高等教育 > 农学

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

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