多通道数据采集系统的课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多通道数据采集系统的课程设计报告
姓名:
学号:
班级:
指导老师:
授课老师:
目录
1.1摘要 (2)
1.2系统分析 (3)
1.3系统设计 (3)
1.4 程序代码 (8)
2.1 实验感想 (12)
2.2 参考文献 (12)
1.1摘要
不论对于何种测控系统,数据采集传输模块都是重中之重。本文主要介绍了基于80C51单片机的多通道数据采集系统,该采集系统以80C51单片机为核心,通过芯片ADC0809,采用查询方式,采集该芯片的模拟量输入信号,并通过智能显示芯片HD7295A,控制驱动8位共阴数码管,将单片机采集到的数据显示出来。
1.2系统分析
在设计系统时首先完成单片机基本电路的设计,包括单片机的复位电路与晶振电路。再以单片机的P0口作为数据总线,接入ADC0809的数字量输出引脚,而外部模拟量输入信号则通过ADC0809的输入引脚接入单片机,单片机则通过位选信号与读写选通信号,经过与非门电路对其进行连接控制。同时单片机以PI口的某些引脚作为控制信号与7279相连,用来驱动控制8位共阴数码管,通过软件设将读入的数据显示出来。在连接电路完成程序设计时,要注意单片机各部分的时序,从而赋予各部分合理的初始化命令。其系统的模块组成部分如下:
1.3系统设计
基于单片机的多通道数据采集系统其设计要分为两部分组成,一是硬件电路设计,二是软件
设计,故其系统设计分两部分分别介绍。但是在试验时,我们是利用试验箱进行试验的,故单片机基本电路在实验箱上已被设计好,在实验时仅须注意数码管显示电路与AD转换电路即可。
A.硬件电路设计:
数码管显示电路是利用7295A芯片直接与单片机相连,当接收到单片机的控制指令时,直接驱动8位共阴数码管,显示单片机发送的数据。
H D7279A是一片具有串行接口,可同时驱动8位共阴数码管(或64只独立LED)的智能显示驱动芯片,该芯片还可同时连接多达64键的键盘矩阵。HD7279A内部含译码器,可直接接受16进制码。
(1)其具体连接电路图如下所示:
15PF
注意在实验时,要将系统各跳线器接在初始设置状态(参见附录)(JT40打在左边,JD18打在右边),J2的P3.0,P3.1打在右边。这样7279才能准确驱动数码管显示单片机发送的数据。其工作时时序电路如下所示:
(2)AD转换电路:AD转换电路是利用芯片ADC0809,将其与单片机直接相连。单片机直接读取经过其转换的数字量信号,再将其发送到7279芯片,驱动数码管直接显示单片机输出的信号。
实验ADC0809电路如下图所示。实验采用外设与存储器同一编址,在使用中可直接将外设当作数据存储器访问。第0路ADC地址为2f00H(即:CS AD信号对应A15~A3为0010 1111 0000 0)。EOC(A/D转换结束信号输出端)取反后接单片机P1.7,若采用查询方式完成模/数转换,只需查询P1.7即可。本实验CLOCK信号由CPLD Lattice3128分频产生(12MHz晶振12分频)。
其工作时时序电路如下所示:
B.软件设计:
其软件设计部分主要就是数码管显示部分和AD转换部分的程序设计。(1)数码管显示程序:数码管显示电路的时序,其程序流程图为:
变量定义
堆栈指针初始化
IO口初始化
延时
7279复位
显示字符送A
调用SEND 子程序
程序代码如下:
CLK BIT P1.6
DAT BIT P1.7
CS BIT P2.7
ORG 000H
JMP START
ORG 100H
START: MOV SP,#2FH ;定义堆栈
MOV P1,#11011011B ;I/O口初始化
MOV R7,#50
START_DELAY: MOV R6,#255
START_DELAY1:DJNZ R6,START_DELAY1
DJNZ R7,START_DELAY
MOV A,#10100100B ;发复位指令
CALL SEND
SETB CS
XIANSHI:MOV A,#10000010b
CALL SEND
MOV A,#00000111b
CALL SEND
MOV A,#10000001b
CALL SEND
MOV A,#00001000b
CALL SEND
MOV A,#10000000b
CALL SEND
MOV A,#00001001b
CALL SEND
hh:JMP XIANSHI
SEND: MOV R0,#8
CLR CS
CALL LONG_DELAY
SEND_LOOP: MOV C,ACC.7
MOV DAT,C
SETB CLK
RL A
CALL SHORT_DELAY
CLR CLK
CALL SHORT_DELAY
DJNZ R0,SEND_LOOP
CLR DAT
RET
LONG_DELAY: MOV R7,#80
DELAY_LOOP: DJNZ R7,DELAY_LOOP
RET
SHORT_DELAY:MOV R7,#6
SHORT_LP: DJNZ R7,SHORT_LP
RET
END
(2)AD转换程序:由AD转换的时序电路,其软件流程图如下: