单片机多路数据采集控制系统课程设计报告概要.docx

上传人:b****4 文档编号:24262523 上传时间:2023-05-25 格式:DOCX 页数:42 大小:744.45KB
下载 相关 举报
单片机多路数据采集控制系统课程设计报告概要.docx_第1页
第1页 / 共42页
单片机多路数据采集控制系统课程设计报告概要.docx_第2页
第2页 / 共42页
单片机多路数据采集控制系统课程设计报告概要.docx_第3页
第3页 / 共42页
单片机多路数据采集控制系统课程设计报告概要.docx_第4页
第4页 / 共42页
单片机多路数据采集控制系统课程设计报告概要.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

单片机多路数据采集控制系统课程设计报告概要.docx

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

单片机多路数据采集控制系统课程设计报告概要.docx

单片机多路数据采集控制系统课程设计报告概要

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

叶醒Xb09610118余希Xb09610120

一、设计目的

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

二、设计要求

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

基本部分:

1•可实现8路数据的采集,假设8路信号均为0~5V的电压信号。

2.采集数据可通过LCD显示,显示格式为[通道号]电压值,如[01]4.5。

3•可通过键盘设置采集方式:

单点采集、多路巡测、采集时间间隔。

4•具有异常数据声音爆晶功能:

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

选作功能:

1•异常数据音乐报警。

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

延时6秒

工序71延时

工序门延时3秒

二、总体设计

我们选择单片机与A/D转换芯片结合的方法实现本设计。

使用的基本元器件是:

AT89C52单片机,

ADC0809模数转换芯片,LCD显示器,按键,电容,电阻,晶振等。

数字电压测量电路由A/D转换、数据处理及显示控制等组成。

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

ADC0809具有8路拟输入端口,地址线(23~-25脚)可决定对哪一路模拟输入作A/D换。

22脚为地址锁

存控制,当输入为高电平时,对地址信号进行锁存。

6脚为测试控制,当输入一个2uS宽高电平脉冲时,

就开始A/D转换。

7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。

9脚为A/D转换数据输出允许控制,当0E脚为高电平时,A/D转换数据从该端口输出。

10脚为0809的时钟输入端。

单片机的P1.5~P1.7、P3端口作1602液晶显示控制。

P2端口作A/D转换数据读入用,P0端口用作0809的A/D转换控制。

通过对单片机p3.5口置低电平控制LED亮灯,p3.4口置高电平时蜂鸣器报警。

流程图:

开始

主要程序介绍:

CLRP1.7

MOVA,R0

MOVDPTR,#1FFFH

RLA

RLA

RLA

RLA

RLA

MOVP0,A

MOVP2,#0

CLRP3.6

SETBP3.6

AD2:

JNBP3.2,AD2

MOVXA,@DPTR

MOVR1,A

RET

是选择ADC0808的哪个口读电压,然后手动开启ADC0808工作,再将读到的代表电压的二进制送入单片机内部

MOVA,R1

MOVDPTR,#ADTAB_1

MOVCA,@A+DPTR

MOVR2,A

MOVA,R1

MOVDPTR,#ADTAB_2

MOVCA,@A+DPTR

MOVR3,A

RET

将读到的二进制数进行查表转化,转化为可识别的电压,再处理,然后通过数码管输出

四、硬件设计

FST3

r.T~=—

riETnc

rii.T

riTPM

ri»hj

REC

3iei科“

-J

as~

USX"1

Z££':

3:

1FE^.Xi

FllFKH

ri=n:

ridn#i

FITl>T

6r%ni

RS

T1F33

WFH

HJ

IT'f出

n~

KE

30E:

-SA

3:

E-

—LL

E2_

jebi

ij!

14:

■A13

H■■

"H-=-0

T3E'

E一iicr

■mlnsr

*

3EAtE

HT

S^_"TE襄I-

II-Bg-:

u霑品

1at—w

a

1

O'旦

I

=]

C

'E:

sa~

r

IE"

11

l<

13

1A

 

2.PCB图

2

□T

2O口□_

Y1

XTAL

Nd

m

c

Cl

3.80C52

80C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS

工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高

速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属

于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)、32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU

而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停

止芯片内其它功能。

80C52有PDIP(40pin)和PLCC(44pin)两种封装形式。

4.ADC0809

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中

的一个进行A/D转换。

是目前国内应用最广泛的8位通用A/D芯片。

本数据采集系统采用单片机作为处理器。

单片机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以

输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现

实信号转换的桥梁。

目前,世界上有多种类型的A/D转换器,如并行比较型、逐次逼近型、积分型等。

本文采用逐次逼近

型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转

换器。

逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。

(1)ADC0809结构功能

1)8路8位A/D转换器,即分辨率8位。

ADCOAW旳内■科恂PE

2)具有转换起停控制端。

usiTHM用却码

3)转换时间为100“

4)单个+5V电源供电

6)工作温度范围为-40〜+85摄氏度

5)模拟输入电压范围0〜+5V,不需零点和满刻度校准。

7)低功耗,约15mW。

2•内部结构

ADC0809是CMOS单片型逐次逼近

式A/D转换器,内部结构如图13•22

所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近

3•外部特性(引脚功能)

ADC0809芯片有28条引脚,采用双列直插式封装,如图13•23所示。

下面说明各引脚功能。

IN0〜IN7:

8路模拟量输入端。

2-1〜2-8:

8位数字量输出端。

ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

ALE:

地址锁存允许信号,输入,高电平有效。

START:

A/D转换启动信号,输入,高电平有效。

EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开

输出三态门,输出数字量。

CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

REF(+)、REF(-):

基准电压。

Vcc:

电源,单一+5V。

GND:

地。

ADC0809的工作过程是:

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译

码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后

EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的

穿JTHLrLrLrLn_rurLru"LrL

ITAVT

EOCHUM杠甲

TWVir暉柑a*MIA.

ti

■■■恃*

・4.M見肾工常*片聲

Rm

•A

数字量输出到数据总线上。

(2)ADC0809的工作时序

地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经过多路模拟开关送到A/D转换器。

启动信号START上升沿复位内部电路,START的下降沿启动转换,此时转换结束信号EOC呈低电平状态,由于逐位逼近需要一定过程,所以,在此期间,模拟输入量应维持不变,比较器要一次次比较,直到转换结束,此时变为高电平。

若CPU发

出输出允许信号OE(输出允许为高电平),则可读出数据。

另外,ADC0809具有较高的转换速度和精度,同时受温度影响也较小。

(3)ADC0809与MCS-51单片机的接口电路

ADC0809与MCS-51系列单片机的接口电路如图5所示。

图中,74LS373输出的低3位地址A2、A1、

A0加到通道选择端A、B、C,可作为通道编码。

其通道基本地址为0000H〜0007H。

8051的WR与P2.7经过或非门后,可接至ADC0809的START及ALE引脚。

8051的RD与P2.7经或非门后则接至ADC0809

的OE端。

ADC0809的EOC经反相后接到8051单片机的P3.3(INT1)。

“数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进

行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。

由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。

同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。

终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。

软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。

4.Lm016l

液晶模块简介

LM016L的结构及功能

LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪

烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器

ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。

IR用于寄存指令码,只能写

入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和

CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用

来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献(30)中的表4.CGRAM是为用户编写

特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以

存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM但愿,LM016L液晶模块的引脚功能如下表所示:

引脚说明

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线

VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:

功能说明

 

RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

7

DB0

底4位二态、双向数据总线0位(最低位)

8

DB1

底4位二态、双向数据总线1位

9

DB2

底4位二态、双向数据总线2位

10

DB3

底4位二态、双向数据总线3位

11

DB4

咼4位二态、双向数据总线4位

12

DB5

咼4位二态、双向数据总线5位

13

DB6

咼4位二态、双向数据总线6位

14

DB7

咼4位二态、双向数据总线7位(最咼位)(也是

15

BLA

背光电源正极

16

BLK

背光电源负极

6

E

busyflang)

五、调试及结果

F12

Xt19

bKFAUi

KTA12

P13

F1-I-

PDETAK1FD^AM

PD3TAR

PCMXB3PD-ul'AhPDSAIS

FDAAM

PD7/AHSI

ALE

PZ.VJBFZlfACPZ^Atl任PZWAGPZfi1"

FZ?

?

•亍回配・£lP31H>®

PHNDTN

P3.4^K1

F3#ri

P3^f(

FiFflir

wo

LjJ『I"?

"

INZIHH

ADiA

AD«a

WC

ALE

Ink■

-RV1

VH.EF(*|tflLMW

•TK

re^

_L申

p

PUF

P垃

P<3

PU

T

cjtrsow..

."FaTbU

I

*1

U2QCIJCI4

LCDl

CLOCKSirrjun-

CUT1■QU口

JUT3

4UT*

0UI5

auiti

OUT?

0U1E

ire

cei]5,0U|

nrn

CTA12

FST

rewALE0

numFi.vmpis

F1J

pi.*pi>

PUS

PJDilL-B

MWra

F33WTT

P:

3.E

FljMTI

Pl.smM

Ij.tw

A

■3Z

iii

IHZ

>1

■1口的

6-PBkk

raMP7闹阳-c11隹乜HIKEis豎急罷

is2

"S3~TH?

R1

*■仁*3_

A»DA

从tiH

寻丁:

}

^raU

六、主程序

VREFMVUPC^

U3CL0CK3

■1EED3

U3A

U3B

CU>CI^■TjUCT

7+HCCIZ0TE拆

LCD1UUOBEL

&UT1PUTT0UT30UT»

QUT5

O'UTTOUTB

^1™

〔匪口.2-

ffiSM軸建_口lUME*W・z

Bnn>■.!

EUaaoaoaoa

RV2

irn

HEBFACHE

:

It/J-

 

ORG00HAJMPMAIN

ORG30HRSEQUP1.6RWEQUP1.7EEQUP1.5

MAIN:

MOVR0,#00H

MOVR4,#01H

ANJIAN:

;判断按键是否按下

JNBP1.0,MOSHI0

JNBP1.1,MOSHI1

SJMPANJIAN

MOSHI0:

;按键1功能多路顺序采集电压

AN1:

JNBP1.0,AN1

ACALLJ0

INCR0

INCR4

JNBP1.0,MOSHI0

JNBP1.1,MOSHI1

ACALLDELAY1

JNBP1.0,MOSHI0

JNBP1.1,MOSHI1

ACALLDELAY1

JNBP1.0,MOSHI0

JNBP1.1,MOSHI1

ACALLDELAY1

SJMPMOSHI0

MOSHI1:

;按键2暂停和单点采集

AN2:

JNBP1.1,AN2

ACALLJ0

INCR0

INCR4

SJMPANJIAN

DELAY1:

;电压显示间隔延迟

MOV43H,#02H

D3:

MOV40H,#0FFH

D1:

MOV41H,#0FFH

D2:

DJNZ41H,D2

DJNZ40H,D1

DJNZ43H,D3

RET

J0:

;显示单个电压主程序

CJNER0,#08H,J1

MOVR0,#00H

CJNER4,#09H,J1

MOVR4,#01H

J1:

LCALLAD

LCALLVHD

MOVP0,#00000010B;数码管初始化

ACALLLOOP

MOVP0,#00111000B

ACALLLOOP

MOVP0,#00001111B

ACALLLOOP

MOVP0,#00000110B

ACALLLOOP

;对数码管中数据显示位置确定

;给数码管赋要显示的数据

MOVP0,#0C0H

ACALLLOOP

MOVP0,#01011011B

ACALLXIAN

MOVP0,#0C1H

ACALLLOOP

MOVP0,#00110000B

ACALLXIAN

MOVP0,#0C2H

ACALLLOOP

MOVA,R4

ADDA,#00110000B

MOVP0,A

ACALLXIAN

MOVP0,#0C3H

ACALLLOOP

MOVP0,#01011101B

ACALLXIAN

MOVP0,#0C4H

ACALLLOOP

MOVA,R2

ADDA,#00110000B

MOVP0,A

ACALLXIAN

MOVP0,#0C5H

ACALLLOOP

MOVP0,#00101110B

ACALLXIAN

MOVP0,#0C6H

ACALLLOOP

MOVA,R3

ADDA,#00110000B

MOVP0,A

ACALLXIAN

MOVP0,#0C7H

ACALLLOOP

MOVP0,#01010110B

ACALLXIAN

RET

AD:

;打开ADC0808启动A/D转化,将输出的二进制读入

CLRP1.7

MOVA,R0

MOVDPTR,#1FFFH

RLA

RLA

RLA

RLA

RLA

MOVP0,A

MOVP2,#0

CLRP3.6

SETBP3.6

AD2:

JNBP3.2,AD2MOVXA,@DPTRMOVR1,A

RET

VHD:

;查表程序,对读入的二进制对应的电压查找

MOV

A,R1

MOV

DPTR,#ADTAB_1

MOVC

A,@A+DPTR

MOV

R2,A

MOV

A,R1

MOV

DPTR,#ADTAB_2

MOVC

A,@A+DPTR

MOV

R3,A

RET

LOOP:

;对数码管写指令代码

CLRRS

CLRRW

CLRE

ACALLDELAY

SETBE

RET

MOVP0,#0FFH

CLRRS

SETBRW

CLRE

NOP

SETBE

JBP0.7,DELAY

RET

XIAN:

;写入数码管要显示的数据

SETBRS

CLRRW

CLRE

ACALLDELAY

SETBE

RET

ADTAB_1:

;查表程序

DB

0,2,1,3,0,3,1,4,0,2,1,4,0,3,2,4,0,2,1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,

1,4,1,3,2,4

DB

0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,

1,4,1,3,2,5

DB

0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,

1,4,1,3,2,5

DB

0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,

1,4,1,3,2,5

ADTAB_2:

DB

0,5,3,8,6,1,9,4,3,8,6,1,9,5,2,7,2,7,4,9,8,3,0,5,5,0,7,2,1,6,4,9,1,6,3,8,7,2,0,5,4,9,6,2,0,5,3,8,2,7,5,0,9,4,1,6,5,1,8,3,2,7,4,9

DB

0,5,3,8,7,2,9,4,4,9,6,1,0,5,2,7,2,7,5,0,8,3,1,6,5,0,8,3,1,6,4,9,1,6,4,9,7,3,0,5,4,9,7,2,1,6,3,8,3,8,5,0,9,4,2,7,6,1,8,4,2,7,5,0

0,5,3,8,6,2,9,4,3,8,6,1,0,5,2,7,2,7,4,9,8,3,1,6,5,0,7,3,1,6,4,9,1,6,4,9,7,2,0,5,4,9,7,2,0,5,3,8,3,8,5,0,9,4,1,6,6,1,

DB

9,4,2,7,5,0

闹钟函数

七、结束语

通过本次课程设计的学习,我学到了好多有用的知识。

作为电子信息专业的学生,懂得了,利用电路

板将电子器件布局,巧妙的焊接以及程序的设计是这个专业不可缺少的学习和工作手段。

并且在学习中,

要熟练地掌握及应用专业的相关软件,protel99,proteus等等。

通过本次的学习,我还懂得更好的利用编

程来解决一些实际的问题工程问题,使我对汇编编程有了更好的掌握,在接下来的学习

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

当前位置:首页 > PPT模板 > 其它模板

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

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