单片机数据采集控制系统.docx

上传人:b****4 文档编号:4790258 上传时间:2022-12-09 格式:DOCX 页数:14 大小:90.23KB
下载 相关 举报
单片机数据采集控制系统.docx_第1页
第1页 / 共14页
单片机数据采集控制系统.docx_第2页
第2页 / 共14页
单片机数据采集控制系统.docx_第3页
第3页 / 共14页
单片机数据采集控制系统.docx_第4页
第4页 / 共14页
单片机数据采集控制系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机数据采集控制系统.docx

《单片机数据采集控制系统.docx》由会员分享,可在线阅读,更多相关《单片机数据采集控制系统.docx(14页珍藏版)》请在冰豆网上搜索。

单片机数据采集控制系统.docx

单片机数据采集控制系统

《单片机数据采集控制系统》课程设计报告

一、前言

通常是指有若干相互连接、相互作用的基本电路组成的具有特定功能的电路整体。

由于大规模集成电路和模拟-数字混合集成电路的大量出现,在单个芯片上可能集成许多种不同种类的电路。

二、课程设计的目的和要求

2.1、课程设计的目的

运用模拟电子技术、数字电子技术、单片机原理及其应用等课程知识,根据题目要求进行软硬件系统的设计和调试,从而加深对本课程知识的理解,把学过的比较零碎的知识系统化,比较系统的学习开发单片机应用系统的基本步骤和基本方法,使学生应用知识能力、设计能力、调试能力以及报告撰写能力等有一定的提高。

2.2、课程设计要求

用8051单片机设计数据采集控制系统,基本要求如下:

1、可实现8路数据的采集,假设8路信号均为0-5V的电压信号;

2、采集数据可通过数码管显示,显示格式为:

[通道号]电压值,如[01]4.5

3、可通过键盘设置采集方式;(单点采集、多路巡测、采集时间间隔*)

4、具有异常数据声音报警功能:

对第一路数据可设置正常数据的上限值和下限值,当采集的数据出现异常,发出报警信号。

(LED显示报警)

5、可输出8路顺序控制信号,设每路顺序控制信号为一位,顺序控制的流程为:

三、总体设计

实验原理:

从A/D转换器入手,通过编程,实现硬件上的八路数据采集、采集数据显示、通过键盘设计采集、实现上下限的报警功能、八路顺序控制信号。

四、硬件设计

4.1各种芯片的功能、引脚、相应的命令控制字格式的介绍

1、MCS-51

芯片介绍:

MCS-51系列单片机是美国Intel公司开发的8位单片机又可以分为多个子系列。

MCS-51系列单片机共有40条引脚,包括32条I/O接口引脚、4条控制引脚、2条电源引脚、2条时钟引脚。

引脚说明:

P0.0~P0.7:

P0口8位口线,第一功能作为通用I/O接口,第二功能作为存储器扩展时的地址/数据复用口。

P1.0~P1.7:

P1口8位口线,通用I/O接口无第二功能。

P2.0~P2.7:

P2口8位口线,第一功能作为通用I/O接口,第二功能作为存储器扩展时传送高8位地址。

P3.0~P3.7:

P3口8位口线,第一功能作为通用I/O接口,第二功能作为为单片机的控制信号。

ALE/PROG:

地址锁存允许/编程脉冲输入信号线(输出信号)

PSEN:

片外程序存储器开发信号引脚(输出信号)。

EA/Vpp:

片外程序存储器使用信号引脚/编程电源输入引脚

RST/VPD:

复位/备用电源引脚。

2、74LS373

芯片介绍:

74LS373是带有三态门的八D锁存器,当使能信号线OE为低电平时,三态门处于导通状态,允许1Q-8Q输出到OUT1-OUT8,当OE端为高电平时,输出三态门断开,输出线OUT1-OUT8处于浮空状态。

G称为数据打入线,当74LS373用作地址锁存器时,首先应使三态门的使能信号OE为低电平,这时,当G端输入端为高电平时,锁存器输出(1Q-8Q)状态和输入端(1D-8D)状态相同;当G端从高电平返回到低电平(下降沿)时,输入端(1D-8D)的数据锁入1Q-8Q的八位锁存器中。

当用74LS373作为地址锁存器时,它们的G端可直接与单片机的锁存控制信号端ALE相连,在ALE下降沿进行地址锁存。

引脚说明:

D0~D7:

锁存器8位数据输入线Q0~Q7:

锁存器8位数据输出线

GND:

接地引脚Vcc:

电源引脚,+5V有效OE:

片选信号引脚G:

锁存控制信号输入引脚

3、74LS138

芯片介绍:

74LS138是一个3-8译码器,共16个引脚。

引脚说明:

A、B、C:

选择端即信号输入端

E1、E2、E3:

使能端,其中E1、E2低电平有效,E3高电平有效

Y0~Y7:

译码输出信号,始终只有一个为低电平

Vcc:

电源端,+5V

GND:

线路地

4、ADC0809

芯片介绍:

ADC0809是一种比较典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100μs左右,采用双排28引脚封装。

引脚说明:

IN0~IN7:

8路模拟量输入通道

ADDA~ADDC:

地址线用于选择模拟量输入通道

ALE:

地址锁存允许信号

START:

转换启动信号

D0~D7:

数据输出线

OE:

输出允许信号,低电平允许转换结果输出

CLOCK:

时钟信号输入引脚,通常使用500KHz

EOC:

转换结束信号,为0代表正在转换,1代表转换结束

Vcc:

+5V电压

VREF(+)、VREF(-):

参考电压

5、DAC0832

芯片介绍:

DAC0832是美国数据公司的8位D/A转化器,片内带数据锁存器,电流输出,输出电流稳定时间为1μm,功耗为20mW。

引脚说明:

D0~D7:

数据输入线,TTL电平

ILE:

数据锁存允许控制信号线

CS:

片选信号线,低电平有效

WR1:

数据锁存器写选通输入线,负脉冲有效

XFER:

数据传输控制信号输入线,低电平有效

WR2:

DAC寄存器写选通输入线,低电平有效

IOUT1:

电流输出线,当DAC寄存器为全1时电流最大

IOUT2:

电流输出线,其值与IOUT1之和为一常数

Vcc:

电源电压线,为+5V~+15范围

VREF:

基准电压输入线,范围为:

-10V~+10V

AGND:

模拟地

DGND:

数字地

Rfb:

反馈信号输入线,调整Rfb端外接电阻值可以调整转换满量程精度

4.2绘出硬件接线图

五、软件设计

5.1程序流程图

5.2主程序、子程序、中断服务程序

附录一

ORG0000H

LJMPSE11

ORG000BH

LJMPINTT0

ORG0100H

SE11:

MOVSP,#53H

MOV7EH,#10H

MOV7DH,#00H

MOV7CH,#01H

MOV7BH,#11H

MOV7AH,#10H

MOV79H,#10H;显示缓冲区初值

MOVR6,#00H

MOVR4,#00H

MOV60H,#00H

MOV30H,#30H

MOVTMOD,#01H

MOVTL0,#0DCH

MOVTH0,#0CH

SETBEA

SETBET0

LO18:

CALLDIS

MOVA,R4;ADC0809内部模拟开关(可以改读取通道)

MOVDPTR,#0FFE0H;A4A3A2000选通Y0

MOVX@DPTR,A;0809的0通道采样

L9:

CALLDIS;显示

MOV7CH,R4

MOVXA,@DPTR;取出采样值A=00-FF

MOVR0,#79H

CALLPTDS;采样值送显示缓冲区

CALLDIS

CALLGetKey

SJMPLO18;循环

PTDS:

MOVB,#33H

DIVAB

SWAPA

MOVR5,A

MOVA,B

MOVB,#05H

DIVAB

ORLA,R5

DAA

MOVR1,A;拆送显示缓冲区

JMPNO1

NO:

ADDA,R1;把电压值的整数位和小数位加起来

MOVR1,A

;-------------------------------;报警子程序

NO1:

CJNER1,#40H,MAX1;判断上线电压值,大于4V,LED1灯亮

MAX1:

JCMAX2

CLRP3.0

MAX2:

JNCNO2

SETBP3.0

NO2:

CJNER1,#10H,MIN1;判断下线电压值,小于1V,LED2灯亮

MIN1:

JNCMIN2

CLRP3.1

MIN2:

JCNO3

SETBP3.1

NO3:

ACALLPTDS1

MOVA,R1

SWAPA

PTDS1:

ANLA,#0FH

MOV@R0,A

INCR0

RET

DIS:

PUSHDPH

PUSHDPL

SETBRS1

MOVR0,#7EH

MOVR2,#20H

MOVR3,#00H

MOVDPTR,#LS0

LS2:

MOVA,@R0

MOVCA,@A+DPTR

CJNER0,#7AH,AA

ANLA,#7FH

AA:

MOVR1,#0DCH

MOVX@R1,A

MOVA,R2

incR1

MOVX@R1,A

LS1:

DJNZR3,LS1

CLRC

RRCA

MOVR2,A

DECR0

JNZLS2

movx@r0,a

decr0

cpla

movx@r0,a

CLRRS1

POPDPL

POPDPH

RET

GetKey:

callScanKey

MOVR5,A

CJNER5,#20H,BIAN;R5标志位用于判断前后值是否变化

SJMPXUAN;若R5无变化,则转至XUAN,保持原先的通道模式

BIAN:

CLRTR0

MOV40H,R5;R5有变化,选择变化后的通道

MOVR4,40H;R4为渠道的选通值

MOVR6,40H;R6用于判断选通

XUAN:

SETBC

CJNER6,#8,QING;判断选择的通道是0-7:

cy=1,还是8-F:

cy=0。

QING:

JCLO20;若通道为0-7,转至Lo20,保持原先的通道;

CJNER5,#20H,QING1;判断通道8-F的通道值是否有变化;若无变化,则原先的通道递增模式,继续执行

SJMPXUN

QING1:

MOVR4,#0FFH;用于清零。

SJMPXUN

XUN:

SETBTR0

MOVR4,60H

LO20:

ret;子程序返回

ScanKey:

setbRS1

movr2,#0feh;列扫描

movr3,#08h;列扫描的次数

movr0,#00h;扫描到的列号值

LoopS:

movr1,#0DDH;列扫描入口FFDDH

mova,r2

movx@r1,a;开始列扫描

rla

movr2,a

incr1;键入口地址FFDEH

movxa,@r1;读取行信息

cpla

anla,#0fh;无按键A=0,有按键A!

=0

jnzScan

incr0

djnzr3,LoopS

ReTKey3:

mova,#20h

TKey3:

movr2,a

clra

movr1,#0DDH

movx@r1,a

mova,r2

clrRS1

ret

Scan:

cpla

jbacc.0,TKey0

mova,#00h

sjmpEndLoop

TKey0:

jbacc.1,TKey1

mova,#08h

sjmpEndLoop

TKey1:

jbacc.2,TKey2

mova,#10h

sjmpEndLoop

TKey2:

jbacc.3,ReTKey3

mova,#18h

EndLoop:

adda,r0;a为行号值(头):

00,08,10,18

sjmpTKey3

INTT0:

PUSHACC

PUSHPSW

SETBPSW.3

MOVTL0,#0DCH

MOVTH0,#0CH

MOVA,30H

DECA

MOV30H,A

JNZRET0

MOVA,60H

INCA

CJNEA,#00H,D0

MOV30H,#30H

D0:

CJNEA,#01H,D1

MOV30H,#30H

D1:

CJNEA,#02H,D2

MOV30H,#60H

D2:

CJNEA,#03H,D3

MOV30H,#10H

D3:

CJNEA,#04H,D4

MOV30H,#10H

D4:

CJNEA,#05H,D5

MOV30H,#10H

D5:

CJNEA,#06H,D6

MOV30H,#10H

D6:

CJNEA,#07H,D7

MOV30H,#60H

D7:

MOV60H,A

CJNEA,#08H,RET0

MOVA,#00H

MOV60H,A

MOV30H,#30H

RET0:

POPPSW

POPACC

RETI

LS0:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0C6H,0F0H

END

六、实验数据

七、结束语

这次的课程设计是一次全面的综合性质的课程设计,让我们温习了前面所学的知识,并且能好好地实践。

我们从中也学会了很多,懂得了很多。

比如构思,一开始在做如何把显示的范围缩小到0到5。

我们的想到了先把要显示的数据除以51,再用余数去除以5.1,前后所得的数据分别是高位和地位要显示的数据。

可是除以5.1不容易做到,通过老师的提点,我们知道了可以通过把5.1近似看作5来处理,这样编写起来就容易多了。

这着实让我们增长了不少经验。

当8路循环实现之后,我们的显示又出现了一个小问题,那就是显示的时候,总会有一瞬间数码管全亮了,也就是意味着有一瞬间它们获得的信号都是低电平,说明程序里面有漏洞。

后来通过同学的帮助,检查出来是push和pop的时候,没有注意先进后出这一规则。

还有很多经验获得,比如我们的循环原来做出来是无法用延时,后来经过老师的提点,我们修改了程序,使得通过延时循环显示同一通道,这样也就不会跳的太快。

这次的课程设计真的让我们收获颇丰,比课堂上讲的内容丰富多了,好掌握多了。

其实实践课多点帮助比较大。

对于帮助我们对知识的理解和掌握起到了很大的效果。

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

当前位置:首页 > 求职职场 > 简历

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

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