单片机课程设计数据采集.docx
- 文档编号:24208575
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:24
- 大小:493.59KB
单片机课程设计数据采集.docx
《单片机课程设计数据采集.docx》由会员分享,可在线阅读,更多相关《单片机课程设计数据采集.docx(24页珍藏版)》请在冰豆网上搜索。
单片机课程设计数据采集
单片机课程设计报告
班级:
姓名:
学号:
指导教师:
撰写日期:
单片机数据采集控制器
第一章课程设计内容与要求分析
1.1.课程设计内容
运用单片机原理及其应用等课程知识,根据题目要求进行软硬件系统的设计和调试,从而加深对本课程知识的理解,把学过的比较零碎的知识系统化,比较系统的学习开发单片机应用系统的基本步骤和基本方法,使学生应用知识能力、设计能力、调试能力以及报告撰写能力等有一定的提高。
1.2.课程设计要求分析
用8051单片机设计数据采集控制系统,基本要求如下:
1、可实现8路数据的采集,假设8路信号均为0-5V的电压信号;
2、采集数据可通过数码管显示,显示格式为:
[通道号]电压值,如[01]4.5
3、可通过键盘设置采集方式;(单点采集、多路巡测、采集时间间隔*)
4、具有异常数据声音报警功能:
对第一路数据可设置正常数据的上限值和下限值,当采集的数据出现异常,发出报警信号。
5、可输出8路顺序控制信号,设每路顺序控制信号为一位,顺序控制的流程为:
6、可输出频率为1kHZ的方波,三角波,正弦波*。
1.2.1系统单元电路组成
图一键盘扫描电路
图二ADC0809图三LCD显示
第二章控制系统硬件设计
2.1.系统框图
2.2.设计原理
数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。
数据采集形同一般有数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。
输入通道要实现对被测对象的检测,采样和信号转换工作。
数据存储与管理要用数据存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。
数据处理就是从采集到原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反应被测对象特征的重要信息。
另外,就是对数据进行统计分析,以便于检索;或者吧数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。
数据输出及显示就是把数据以适当的形式进行输出和显示。
本课程设计以单片机AT89C51芯片为控制核心和数据采集电路、LED数码管显示电路以及供电系统四大部分构成数据采集和功能显示。
当有模拟信号输入时,单片机控制A/D转换器,把要输入的模拟信号转换成相应的数字信号存入到单片机的内存中,再控制LCD显示驱动器把内存中的数字信号显示出来。
通过键盘来改变LCD中显示的数据,把改变的数据通过控制D/A转换器输出成相应的模拟信号。
2.3.芯片介绍
(1)ADC0809芯片介绍
ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
主要特性:
1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间为100μs
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
内部结构:
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8
路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换、
外部特性(引脚功能):
ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDAADDBADDC:
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)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:
复位/备用电源引脚
(3)DAC0832
芯片介绍:
DAC0832是美国数据公司的8位D/A转化器,片内带数据锁存器,电流输出,输出电流稳定时间为1μm,功耗为20mW,其引脚说明如下:
D0~D7:
数据输入线,TTL电平
ILE:
数据锁存允许控制信号线
CS:
片选信号线,低电平有效
WR1:
数据锁存器写选通输入线,负脉冲有效
XFER:
数据传输控制信号输入线,低电平有效
WR2:
DAC寄存器写选通输入线,低电平有效
IOUT1:
电流输出线,当DAC寄存器为全1时电流最大
IOUT2:
电流输出线,其值与IOUT1之和为一常数
Rfb:
反馈信号输入线,调整Rfb端外接电阻值可以调整转换满量程精度
Vcc:
电源电压线,为+5V~+15范围
VREF:
基准电压输入线,范围为:
-10V~+10V
AGND:
模拟地
DGND:
数字地
(4)74LS138
74LS138是一个3-8译码器,共16个引脚,其引脚说明如下:
A、B、C:
选择端即信号输入端
E1、E2、E3:
使能端,其中E1、E2低电平有效,E3高电平有效
Y0~Y7:
译码输出信号,始终只有一个为低电平
Vcc:
电源端,+5V
GND:
线路地
(5)74LS273管脚功能:
74LS73中文资料:
是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。
CPU的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK端相连。
1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;
(2).当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.
第一脚WR:
主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平);
CP(CLK):
触发端,上升沿触发,即当CP从低到高电平时,D0~D7的数据通过芯片,为0时将数据锁存,D0~D7的数据不变
(6)74LS245
74LS245是我们常用的芯片,用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)
DIR=“1”,信号由A向B传输;(发送)当/CE为高电平时,A、B均为高阻态。
(7)8255
芯片说明:
8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。
8255有三种基本工作方式, 三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个部分,上半部分随PA口称为A组,下半部分随PB口称为B组.其中PA口可工作与方式0、1和2,而PB口只能工作在方式0和1。
8255共有40个引脚,采用双列直插式封装,各引脚功能如下:
D0--D7:
三态双向数据线,与单片机数据总线连接,用来传送数据信息。
CS:
片选信号线,低电平有效,表示芯片被选中。
RD:
读出信号线,低电平有效,控制数据的读出。
WR:
写入信号线,低电平有效,控制数据的写入。
Vcc:
+5V电源。
PA0--PA7:
A口输入/输出线。
PB0--PB7:
B口输入/输出线。
PC0--PC7:
C口输入/输出线。
RESET:
复位信号线。
A1、A0:
地址线,用来选择8255内部端口。
GND:
地线。
2.4.相应的命令控制字格式
其中定时/计数器工作方式控制字TMOD格式如下:
TMOD字节地址:
89H
D7D6D5D4D3D2D1D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
T1方式字
T0方式字
其中,M1、M0为方式选择,C/T为定时/计数选择,GATE为定时器/计数器工作方式选择
中断允许寄存器IE格式如下:
IE字节地址:
A8H
D7D6D5D4D3D2D1D0
EA
ES
ET1
EX1
ET0
EX0
1FHACH
ABHAAHA9HA8H
EA为开中断标志ES串口中断允许标志
ET0/ET1:
定时器/计数器T0/T1中断允许标志位
EX0/EX1:
INT0/INT1中断允许位
2.5.硬件连接图
(详见附录一)
第三章控制系统程序设计
3.1.程序框图
图1.主程序流程图
图2.十六进制转化十进制图3.报警子程序流程图
子程序流程图
图4显示子程序流程图
.
图5.中断子程序流程图图6.键盘扫描子程序流程图
3.2.程序清单
(详见附录二)
第四章实验数据
4.1.0通道数据分析表
显示值
测量值
绝对误差
相对误差
0.50
0.50
0.00
0.00%
1.00
0.92
0.08
8.00%
1.50
1.42
0.08
5.33%
2.00
1.88
0.12
6.00%
2.50
2.35
0.15
6.00%
3.00
2.80
0.20
6.67%
3.50
3.28
0.22
6.29%
4.00
3.72
0.28
7.00%
4.50
4.21
0.29
6.44%
5.00
4.68
0.32
6.40%
表1十进制转换误差分析表
由表中数据可以得出,显示值与实际值的误差还比较大,通过采用查表法来转换十进制数将可以减小此次转换的误差。
4.2.程序运行图
(详见附件三)
单片机原理及应用课程设计总结
通过本次实验,基本上等于对我们做了一次系统的集中式培训,加深了我们对单片机知识的了解。
在这次实验的软件编程上,我们运用到了ADC0809的A/D转换程序、DAC0832的D/A转换程序、键盘扫描的程序、十六进制与十进制转换的程序、中断程序及报警的相应程序设计,在原有的基础上巩固了我们编写类似程序的能力。
在硬件上运用到了MCS-51单片机、ADCA0809A/D转换器、DAC0832D/A转换器,8255定时器,LED数码管,LS138译码器等芯片,加深了我们对硬件电路的了解。
虽然此次编写完成的程序精度不够高,误差偏大,但是我们已经掌握了
改进的方法,比如用查表法来十进制转换就能大大提高精度,这里由于时间关系没能来的及改正,相信在以后的实习过程中,我们将能更好的运用各类方法来完成任务。
总结人姓名:
年月日
参考文献
[1]徐爱卿,孙涵芳,盛焕鸣单片机微型计算机应用和开发系统背景航空航天大学出版社1992年
[2]张毅刚,彭喜元,孟升卫,刘兆庆MCS-51单片机使用子程序设计(第二版)哈尔滨工业大学出版社2003年
[3]陈建铎单片机应用技术(第一版)陕西科学技术出版社1991年
[4]陈建铎0809单片机原理及应用技术(第一版)电子工业出版社1995年
[5]胡汉才单片机原理及接口技术(第二版)清华大学出版社2004年
附录一:
硬件图连接
附录二:
程序清单
ORG0000H
JMPSTART
ORG000BH
LJMPINTO
ORG05A0H
START:
SETBEA
SETBTR0
SETBET0
MOVTMOD,#01H
MOVTL0,#0F0H
MOVTH0,#0D8H;中断初始化
SE11:
MOVSP,#53H;定义指针地址
MOV7EH,#0CH
MOV7DH,#00H
MOV7CH,#00H
MOV7BH,#15H
MOV7AH,#10H
MOV79H,#10H;显示缓冲区初值(放六个数码管的数据缓冲区)
MOV7FH,#00H
MOVR5,#00H
SETBP3.0
OUTBITequ0ffddh;位控制口/键扫口
OUTSEGequ0ffdch;段控制口
INequ0ffdeh;键盘读入口
LedBufequ60h;显示缓冲
LO18:
CALLDIS;显示
CALLSCANKEY;键盘扫描
MOVDPTR,#0FFE0H;0809地址为0FFE0H,选择输入控制口为Y0
CJNEA,#20H,LO20;判断键盘是否有按键按下,没有则保存数据显示,有则跳至LO20
LO19:
MOVR5,7CH;将通道号保存到R5
CALLDIS;显示
MOV7CH,R5;将通道号得值返回给缓存区7CH
MOVA,R5;通道号得值给A
MOVX@DPTR,A;0809的通道采样
MOVXA,@DPTR;取出采样值
CALLALERM;判断是否超出特定范围进行报警
MOVR0,#7AH;定义R0的地址为#7AH,存放电压值
CALLPTDS;采样值送显示缓冲区
SJMPLO18;循环
;----------------------------键盘有按键按下时的显示
LO20:
MOV71H,A
SUBBA,#07H;判断按键值是否大于07,是则选择多路巡测,不是则单点采集
JCLO21
JMPLO22
LO21:
MOVA,71H;进行单点采集
MOV7CH,A;将通道号的值存到7CH缓存区
MOVX@DPTR,A;0809的通道采样
CALLDIS;显示
MOVXA,@DPTR;取出采样值
MOVR0,#7AH;定义R0的地址为#7AH,存放电压值
CALLPTDS;采样值送显示缓冲区
SJMPLO18;循环
LO22:
CALLDIS;显示
MOVA,7FH;R7内存放通道号
MOVDPTR,#0FFE0H;选择Y0输入控制
MOVX@DPTR,A;0809的0通道采样
LO23:
CALLDIS;显示
MOVXA,@DPTR;取出采样值
CALLALERM
MOVR0,#7AH
MOV7CH,7FH;通道号值存入7CH缓存区
MOVR6,7FH
CALLPTDS;采样值送显示缓冲区
CJNER6,#07H,LO22
MOV7FH,#00H
MOV7CH,7FH
SJMPLO18;循环
;------------------------中断程序
INTO:
PUSHPSW
PUSHACC
MOVTL0,#0F0H
MOVTH0,#0D8H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 数据 采集