接口技术综合实验 温度检测系统.docx
- 文档编号:14616636
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:27
- 大小:1,006.89KB
接口技术综合实验 温度检测系统.docx
《接口技术综合实验 温度检测系统.docx》由会员分享,可在线阅读,更多相关《接口技术综合实验 温度检测系统.docx(27页珍藏版)》请在冰点文库上搜索。
接口技术综合实验温度检测系统
接口技术综合实验
题目:
温度检测系统
院(系、部):
姓名:
学号:
班级:
专业:
指导教师:
年月日
信息工程学院
目录
一、实验任务1
1.1实验目的1
1.2实验内容(四选一)1
1.3实验具体任务1
1.4实验报告要求1
二、任务分析2
三、系统硬件设计3
3.1系统硬件框图3
3.2元器件的原理、参数介绍3
3.2.1AT89C51的原理与参数3
3.2.2ADC0809的原理与参数4
3.2.374LS373的原理与参数5
3.2.482C55的原理与参数6
3.2.574LS244的原理与参数7
3.2.6七段数码管(共阴极)8
3.3系统硬件原理图(手绘)9
3.4I/O口地址的计算9
3.5电路原理图(PROTEL设计)10
3.6印刷电路板图(PROTEL设计)11
四、任务分析12
4.1功能分析12
4.3程序流程图13
4.3源程序(附源程序清单)14
五、调试20
5.1调试设备介绍20
5.2调试过程描述20
5.3调试中遇到的问题及解决方法21
六、总结22
一、实验任务
1.1实验目的
1、通过这次实验,让学生得到接口技术实际应用系统开发的综合训练。
2、提高学生单片机综合系统的开发的能力。
1.2实验内容(四选一)
1)温度检测系统:
某温度变送器量程范围为0~80度,对应的模拟信号为0~5V,将此温度变送器接入ADC0809的IN2模拟输入通道,进行A/D转换,在数码管中显示出当前温度。
2)十字路口交通灯控制系统1:
利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
系统的工作应符合一般交通灯控制的要求。
3)十字路口交通灯控制系统2:
利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
要求能用按键设置两个方向的通行时间(绿、红灯点亮时间)和暂缓通行时间(黄灯点亮时间)。
系统的工作应符合一般交通灯控制的要求。
4)机器人控制系统:
机器人组件组装、设计控制程序、调试、画出电路原理图、画出PCB板图。
1.3实验具体任务
温度检测系统:
某温度变送器量程范围为0~80度,对应的模拟信号为0~5V,将此温度变送器接入ADC0809的IN2模拟输入通道,进行A/D转换,在数码管中显示出当前温度。
1.4实验报告要求
(1)根据实验内容,设计硬件电路原理图,并给出手绘详细接线图(包括8051芯片、晶振电路、复位电路,电源、0809、8255、LED等)。
(2)画出程序流程图
(3)给出源程序清单(汇编语言或C语言源程序)
(4)调试,调试结束后要请老师进行检查。
(5)利用PROTEL软件绘制出上述电路原理图(即.SCH文件)
(6)利用PROTEL软件设计出印刷电路板图(即.PCB文件)。
(7)制作出印刷电路板(即PCB板)。
(选作)
①若做出了印刷电路板,调试自己的板子。
②若未做出了印刷电路板,可利用接口实验箱进行调试。
(8)要认真写好实验报告。
二、任务分析
对实验温度监测系统的分析:
随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。
本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。
本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。
单片机数据处理之后,发出控制信息控制执行模块的状态,同时将当前温度信息发送到LED进行显示。
我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。
本实验由89C51单片机温度传感器、模数转换器ADC0809、74LS373锁存器、74LS244为3态8位缓冲器,用作总线驱动器和LED显示电路等组成。
由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到82C55,经82C55转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。
89C51的P0.0、P0.1、P0.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。
输出驱动控制信号由P2.6输出,4个LED为状态指示,其中,LED1显示温度十位数字,LED2显示温度个位数和小数点,LED3、LED4显示小数点以后的数字。
三、系统硬件设计
3.1系统硬件框图
图1系统硬件框图
3.2元器件原理、参数介绍
3.2.1AT89C51的原理与参数
AT89C51主要性能参数:
●与MCS-51产品指令系统完全兼容
●4k字节可重擦写Flash闪速存储器
●1000次擦写周期
●全静态操作:
0Hz-24MHz
●三级加密程序存储器
●128×8字节内部RAM
●32个可编程I/O口线
●2个16位定时/计数器
●6个中断源
●可编程串行UART通道
●低功耗空闲和掉电模式
图2AT89C51管脚图
AT89C51工作原理:
1、引脚排列及功能AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线P0口8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置1。
P0口可驱动8个TTL负载。
P1口8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。
在编程和校验时,可用作输入低8位地址。
用作输入时,应先将输出锁存器置1。
P1口可驱动4个TTL负载。
P2口8位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
P3口8位、准双向I/O口,具有内部上拉电阻。
P口可作为普通I/O口。
用作输入时,应先将输出锁存器置1。
在编程/校验时,P3口接收某些控制信号。
它可驱动4个TTL负载。
(2)控制信号线RST复位输入信号,高电平有效。
在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。
外部程序存储器访问允许信号EA,EA/VPP当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。
在编程时,该引脚可接编程电压5V或12V。
在编程校验时,该引脚可接VCC。
PSEN片外程序存储器读选通信号PSEN,低电平有效。
在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN无效。
ALE/PROG低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。
(3)外部晶振引线·XTAL1片内振荡器反向放大器和时钟发生线路的输入端。
使用片内振荡器时,连接外部石英晶体和微调电容。
XTAL2片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
2.、存储器组织和特殊功能寄存器AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间和访问指令。
它有4个存储空间:
片内存储器、片外存储器、片内数据存储器及片外存储器。
3、时钟电路和工作时序振荡器
(1)振荡器电路原理XTAL1Q÷2PD&RfQ÷3÷6
(2)振荡电路的接法C2XTAL2NCXTAL2C1XTAL1CND外部振荡器信号XTAL1GND
3.2.2ADC0809的原理与参数
ADC0809主要参数:
●分辨率:
8Bits
●工作电压:
4.5V~6V
●吞吐率:
10KSPS
●输入通道数:
8
●封装类型:
MDIP
图3ADC0809管脚图
●引脚:
28
AD0809的工作原理
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
CBA选择的通道
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
表1ADC0819CBA选择的通道
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(-)为参考电压输入。
3.2.374LS373的原理与参数
74LS373的主要参数:
●电源电压范围:
4.75V至5.25V
●输出电流:
24mA
●工作温度范围:
0摄氏度到70摄氏度
●位数:
8
●芯片输出类型:
三态
●封装类型:
DIP
●针脚数:
20
图474LS373管脚图
74LS373工作原理简述:
(1)1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);
(2).当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。
当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。
L——低电平;H——高电平;X——不定态;Q0——建立稳态前Q的电平;G——输入端,与8031ALE连高电平:
畅通无阻低电平:
关门锁存。
图中OE——使能端,接地。
当G=“1”时,74LS373输出端1Q—8Q与输入端1D—8D相同;当G为下降沿时,将输入数据锁存
3.2.482C55的原理与参数
8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,分别为PA口、PB口和PC口,其中PC口又分为高4位口(PC7-PC4)和低4位口(PC3-PC0),它们都可以通过软件编程来改变I/O口的工作方式。
8255A可以与MCS-51单片机直接接口。
它由以下几个部分组成:
(1)数据端口A、B、C
8255A有三个并行口,PA、PB和PC。
都可以选择作为输入输出工作模式,但在功能和结构上有些差异。
①PA口:
一个8位数据输出锁存器和缓冲器;一个8位数据输入锁存器。
②PB口:
一个8位数据输出锁存器和缓冲器;一个8位数据输入缓冲器。
③PC口:
一个8位的输出锁存器;一个8位数据输人缓冲器。
通常PA口、PB口作为输入输出口,PC口可作为输入输出口,也可在软件的控制下,分为两个4位的端口,作为端口A、B选通方式操作时的状态控制信号。
图582C55原理图
(2)A组和B组控制电路
图68255管脚图
这是两组根据CPU写入的“命令字”控制8255A工作方式的控制电路。
A组控制PA口和PC口的上半部(PC7-PC4);B组控制PB口和PC口的下半部(PC3-PC0)。
(3)双向三态数据缓冲器
这是8255A和CPU数据总线的接口,CPU和8255A之间的命令、数据和状态的传递都通过双向三态总线缓冲器传送的,D7-D0接CPU的数据总线。
(4)读写和控制逻辑
A0、A1、
为8255A的端口选择信号和片选信号,
为8255A的读写控制信号,这些信号线分别和MCS-51的地址线和读写信号线相连接,
实现CPU对8255A的口选择和数据传送。
3.2.574LS244的原理与参数
●元件数:
2
●安装类型:
通孔
●封装:
20-DIP
●工作温度:
0摄氏度到70摄氏度
●每元件位数:
4
●电源电压:
4.75V到5.25V
●输出电流:
15mA-24mA
●逻辑类型:
缓冲器/线路驱动器,非反相
图774LS244管脚图
74LS244工作原理:
74LS244为3态8位缓冲器,一般用作总线驱动器。
74LS244没有锁存的功能。
地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。
当微处理器与存储器交换信号时,首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。
锁存器是一个很普通的时序电路。
一般的,它在时钟上升沿或者下降沿来的时候锁存输入,然后产生输出,在其他的时候输出都不跟随输入变化,这就是所谓边缘触发的D触发器
3.2.6七段数码管(共阴极)
图8七段数码管引脚图
数码管使用条件:
a、段及小数点上加限流电阻
b、使用电压:
段:
根据发光颜色决定;小数点:
根据发光颜色决定
c、使用电流:
静态:
总电流80mA(每段10mA);动态:
平均电流4-5mA峰值电流100mA
直流驱动
是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
优点是编程简单,显示亮度高,缺点是占用I/O端口多。
动态显示驱动
是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。
将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
3.4I/O口地址的计算
8255A该端口寄存器的地址为
单片机地址总线
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
8255地址信号与片选
CS
A1
A0
A口
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
7FFCH
B口
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
7FFDH
C口
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
7FFEH
控制字
0
1
表28255A端口寄存器的地址
1
1
1
1
1
1
1
1
1
1
1
1
1
1
7FFFH
P2口的地址
单片机地址总线
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
P2口地址
片选信号CS接法
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P2.7
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
7FFFH
P2.6
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
BFFFH
P2.5
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
DFFFH
P2.4
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
EFFFH
P2.3
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
F7FFH
P2.2
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
FBFFH
P2.1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
FDFFH
P2.0
1
1
1
表3P2口的地址
1
1
1
1
0
1
1
1
1
1
1
1
1
FEFFH
3.5电路原理图(PROTEL)
图8电路原理图
3.6印刷电路板图(PROTEL)
图9印刷电路板图
四、系统软件设计
4.1功能分析
该程序要实现温度变送器给出模拟量后,经单片机AT89C51,可编程并行I/O接口82C55芯片,A/D转换器ADC0809芯片,74LS02、74LS04的一系列转换,在LED数码显示器中显示出当前的温度。
并可以实现的测温范围是0到80摄氏度。
程序首先进行可编程并行I/O接口82C55芯片的初始化,然后进行该芯片的位选,控制四个LED显示器哪个亮哪个不亮;在进行该芯片的段选,控制LED显示什么数字量。
然后进行A/D转换的编程,实现电压模拟量转换成温度的数字量。
程序接下来进行A/D采样A/D转换得到数字量D进行温度转换T=(80/255)*D,然后将80/255=0.31372549扩大100倍取31,但是此时就出现了最后温度显示的误差。
然后进行转换,转换成BCD码,再将BCD码转换成十进制数,接着进入显示程序将该十进制数显示出来。
程序二的功能与上述功能一样,但是为了提高温度显示的精度将温度转换的公式采用不同的方式来使用,不直接用80/255=0.31372549这个数据,而用此时该公式是T=80D/255,这样就减小了软件的误差。
4.2程序流程图
4.3源程序(附源程序清单)
程序一:
ORG0000H
START:
MOVA,#81H;8255的PB、PA口输出,PC口输入,方式0
MOVDPTR,#7FFFH;8255控制字地址
MOVX@DPTR,A
MAIN:
LCALLDIR;调用显示程序
LCALLADCON;调用AD转换子程序
LJMPMAIN
ADCON:
MOVDPTR,#0BFFFH;AD转换子程序
MOVA,#0
MOVX@DPTR,A;启动0809的0#通道
LCALLDL1ms;延时1ms
MOVXA,@DPTR;读取0809的0#通道转换结束的数据
MOV74H,A;暂存读入的值
MOVB,#1FH;B中存入数值31
MULAB;A与B相乘,低位放A中,高位放B中
MOVR3,B;十六进制高位暂存入R3中
MOVR4,A;十六进制低位暂存入R4中
LCALLBINBCD;调用二进制十进制转换子程序
MOVA,22H
ANLA,#0FH;取低8位BCD码的低四位即为需显示
;的最低位小数
MOV70H,A;所得最低位小数存入70H单元
MOVA,22H
ANLA,#0F0H;取低8位BCD码的高四位即为需显示
;的第一位小数
SWAPA
MOV71H,A;所得第一位小数存入71H单元
MOVA,21H
ANLA,#0FH;取高8位BCD码的低四位即为需显示
;的个位数
MOV72H,A;所得个位数存入72H单元
MOVA,21H
ANLA,#0F0H;取高8位BCD码的高四位即为需显示
;的十位数
SWAPA
MOV73H,A;所得十位数存入73H单元
RET
;显示程序
DIR:
MOVR0,#70H;置缓冲器指针初值
MOVR2,#00000001B;位选码的初值送R2
MOVA,R2
LD0:
MOVDPTR,#7FFCH;位选码→PA口(PA.0位)
;最右边LED亮
MOVX@DPTR,A
MOVA,@R0;显示数据→A
MOVDPTR,#TABLE
MOVCA,@A+DPTR;根据显示数据来查表取段码
PUSHACC
MOVA,R2
JNBACC.2,Q
POPACC
ORLA,#10000000B;个位(右数第三数码管)显示小数点
LJMPDIR1
Q:
POPACC
DIR1:
MOVDPTR,#7FFDH
MOVX@DPTR,A;段码→8255PB口
LCALLDL1ms;该位显示1ms
INCR0;指针指向下一个数据单元
MOVA,R2;位选码送入A中
JBACC.3,LD1;判断是否扫描到最高位十位(右数第
;四个LED),如到最高位则返回
RLA;位选码向左移一位,准备让
;左边的下一位LED亮
MOVR2,A;位选码送R2中保存
LJMPLD0
LD1:
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH;共阴极段码表
DB6FH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口技术综合实验 温度检测系统 接口 技术 综合 实验 温度 检测 系统