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

上传人:b****1 文档编号:14604456 上传时间:2023-06-24 格式:DOCX 页数:21 大小:322.53KB
下载 相关 举报
单片机多路数据采集控制系统课程设计报告.docx_第1页
第1页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第2页
第2页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第3页
第3页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第4页
第4页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第5页
第5页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第6页
第6页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第7页
第7页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第8页
第8页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第9页
第9页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第10页
第10页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第11页
第11页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第12页
第12页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第13页
第13页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第14页
第14页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第15页
第15页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第16页
第16页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第17页
第17页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第18页
第18页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第19页
第19页 / 共21页
单片机多路数据采集控制系统课程设计报告.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

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

叶醒Xb09610118余希Xb09610120

一、设计目的

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

二、设计要求

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

基本部分:

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

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

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

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

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

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

选作功能:

1.异常数据音乐报警。

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

三、总体设计

我们选择单片机与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转换数据输出允许控制,当OE脚为高电平时,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

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

 

四、硬件设计

1.原理图

2.PCB图

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位。

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

  3)转换时间为100μs

  4)单个+5V电源供电

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

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

  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输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

(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完全一样,其中:

引脚

符号

功能说明

1

VSS

一般接地

2

VDD

接电源(+5V)

3

V0

液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

4

RS

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

5

R/W

R/W为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

6

E

E(或EN)端为使能(enable)端,下降沿使能。

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位(最高位)(也是busyflang)

15

BLA

背光电源正极

16

BLK

背光电源负极

 

五、调试及结果

六、主程序

ORG00H

AJMPMAIN

ORG30H

RSEQUP1.6

RWEQUP1.7

EEQUP1.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,AD2

MOVXA,@DPTR

MOVR1,A

RET

VHD:

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

MOVA,R1

MOVDPTR,#ADTAB_1

MOVCA,@A+DPTR

MOVR2,A

MOVA,R1

MOVDPTR,#ADTAB_2

MOVCA,@A+DPTR

MOVR3,A

RET

LOOP:

;对数码管写指令代码

CLRRS

CLRRW

CLRE

ACALLDELAY

SETBE

RET

DELAY:

;检测数码管是否正忙

MOVP0,#0FFH

CLRRS

SETBRW

CLRE

NOP

SETBE

JBP0.7,DELAY

RET

XIAN:

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

SETBRS

CLRRW

CLRE

ACALLDELAY

SETBE

RET

ADTAB_1:

;查表程序

DB0,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

DB0,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

DB0,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

DB0,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:

DB0,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

DB0,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

DB0,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,8,3,2,7,5,0

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

END

七、结束语

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

作为电子信息专业的学生,懂得了,利用电路板将电子器件布局,巧妙的焊接以及程序的设计是这个专业不可缺少的学习和工作手段。

并且在学习中,要熟练地掌握及应用专业的相关软件,protel99,proteus等等。

通过本次的学习,我还懂得更好的利用编程来解决一些实际的问题工程问题,使我对汇编编程有了更好的掌握,在接下来的学习生涯中,要不断的加深对专业知识的理解以及应用,还要对相关软件不断的学习以及利用编程等手段解决一些实际问题。

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2