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

上传人:b****3 文档编号:894392 上传时间:2022-10-13 格式:DOCX 页数:14 大小:369.33KB
下载 相关 举报
单片机数据采集控制系统.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

P

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

当前位置:首页 > 人文社科 > 法律资料

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

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