4路模拟信号采集系统方案

上传人:xmg****18 文档编号:122364447 上传时间:2020-03-05 格式:DOC 页数:17 大小:413.50KB
返回 下载 相关 举报
4路模拟信号采集系统方案_第1页
第1页 / 共17页
4路模拟信号采集系统方案_第2页
第2页 / 共17页
4路模拟信号采集系统方案_第3页
第3页 / 共17页
4路模拟信号采集系统方案_第4页
第4页 / 共17页
4路模拟信号采集系统方案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《4路模拟信号采集系统方案》由会员分享,可在线阅读,更多相关《4路模拟信号采集系统方案(17页珍藏版)》请在金锄头文库上搜索。

1、 单单片片机机开开发发与与设设计计工工程程师师 考考试试文文档档 学学 校校 湖南人文科技学院 题题 目 目 4 路模拟信号采集系统 学生姓名学生姓名 陈自斌 易颂文 起止日期起止日期 2010 6 15 2010 6 25 摘 要 本次设计是建立一个四路模拟信号采集系统 能处理模拟信号 0 5V 同时对 信号进行循环采样并通过键盘控制输出 它主要由 A D 转换模块 单片机 显示模 块 控制器模块组成 其中最主要的部分是单片机和 A D 转换器 首先被测模拟信 号通过 A D 转换器转换成数字信号 然后通过单片机的处理 在数码管上不停的显 示 4 路的采样数据 通过的给一个控制信号 可以选择

2、的任意一路信号在数码管上 面输出显示 关键词 A D 转换模块 单片机 控制模块 目 录 设计要求 1 1 方案 1 2 单元电路设计 2 2 1 A D 转换模块 2 2 2 单片机 3 2 3 显示模块 3 2 4 控制模块设计 4 3 系统软件设计 5 3 1 系统工作流程 5 4 总原理图 5 5 调试结果及分析 6 7 详细仪器清单 7 参考文献 8 附录 9 4 路模拟信号采集系统 设计要求 1 4 路模拟量输入 范围 0 5V 2 对 4 个通道的模拟量进行巡回采样 再将采集的数据进行工程量转换 3 能通过按键切换所选通道 4 数据在 LED 显示器上显示 并能够通过键盘操作切换

3、显示不同通道的采样值 1 1 方案 此方案以单片机 STC89C52 为核心 对四路模拟信号进行循环采样输出 首先 信号通过一个 A D 转换模块把模拟信号转换成数据信号 在通过 STC89C52 和 8255 的控制 由按键控制选择一路信号在 LED 数码管上显示 4 路模拟信号采集系统原 理框图如图 1 所示 图 1 系统方框图 模拟信号 输入 A D 转 换模块 控制器 单片机 显示模块 2 2 单元电路设计 2 1 A D 转换模块 A D 转换模块我们采用的 ADC0809 芯片 设有一路信号巧 0V 5V 从 ADC0809 的 INo 通道输入 地址输人端 A B C 均接地 这

4、时 1No 的通道地址为 OOH 0809 是 8 位 ADC 对 0V 5V 的信号 其转换精度为 20mV 级 P27 和 RW RD共同组 成 ADC0809 的口地址和启动转换控制信号 当 P27 0 时 指定 ADC0809 的口地址为 0EFFFH 当 STC89C52 的 RW 来到时 0809 的 ALE 在脉冲的上升沿锁存地址信号 START 在脉冲的高电平启动 A D 转换 在转换结束后 EOC 输出高电平 转换后的数 字量锁存在 0809 内部的三态输出锁存器中 当输出允许信号OE为高电平时 转换 结果经数据线 D7 D0 输出 2 如图 2 所示 图 2 A D0809

5、 芯片 2 2 单片机 这个设计的核心我们采用的是 STC89C52 芯片 P0 口作为数据总线和地址总线 首先 当模拟信号输入时 P0 口作为数据总线对数据进行输入 其后在把数据传给 8255 时此时 P0 口作为一个地址总线 P2 作为 ADC0809 的控制端口 P1 作为流水灯 控制口 1 如图 3 所示 图 3 主控芯片 2 3 显示模块 它主要由 8255 和 LED 数码管组成 通过 8255 上的 PA 口和 PB 口控制数码管 数码管由 8 段组成 分别为 A B C D E F G H PA 口作为一个位选信号 而 PB 口作 为一个段选信号 当 PA 口为低电平时就选择这

6、一位 如图 4 所示 图 4 LED 数码管 2 4 控制模块设计 利用 STC89C52 的外部中断 0 对信号进行切换 INTO 为一个下降沿触发 每按 一次键 就产生一次中断 因为此时 P10 P11 口连接 ADC0809 的 A B 口 按键一次 对 P1 口进行加 1 赋值 所以我们可以通过观测二极管的亮灭判断我们选择哪路信号 如图 5 所示 图 5 控制和复位 3 3 系统软件设计 3 1 系统工作流程 程序开始运行时 我们先将它进行初始化 当数据输入后对 4 个通道的模拟量 进行巡回采样 再将采集的数据进行工程量转换 在数码管管上显示出来 通过外 部的中断实现信号的切换 图 6

7、 系统工作流程 4 4 总原理图 U1 为单片机 STC89C52 U2 为芯片 8255 复位按键与开始按键分别接到单片机 的 P3 2 P3 3 脚 单片机的 P0 0 P0 7 脚接 8255 芯片 D0 D7 脚 8255 的 PA0 PA5 分别接 6 个数码管的位选 PB0 接数码管引脚 11 PB1 接数码管引脚 10 PB2 接数 码管引脚 7 PB3 接数码管引脚 1 PB4 接数码管引脚 2 PB5 接数码管引脚 3 PB6 接 数码管引脚 4 PB7 接数码管引脚 5 P2 2 与 ADC0809 的 ALE 连接 P2 3 连接 OE P3 4 连接 EOC 3 如图

8、7 所示 开始 系统初始化 LED 数码管输出 循环采样 AD 采样指定输出 N Y Y 图 7 总原理图 5 5 调试结果及分析 本设计主要是在编写的程序编译通过后 4 用下载软件将编写的程序下载到实 验开发板上 验证结果是否满足设计要求 主要通过按键部分进行控制 通过数码 管和 LED 灯部分进行观察 当把程序下载到开发板以后 接通电源 单片机开始工 作 输入模拟信号 此时我们可以看到在数码管上数据进行循环采集 当我们按下 外部中断 0 的时候停止对数据的采集 数码管显示当前的数据 再次按下后 则对 第 2 路信号进行循环采集 依此可以对 4 路数据进行采集 7 7 详细仪器清单 表 1

9、元器件及仪器设备明细表 名称型号数量 单片机 STC89C52 1 块 扩展芯片 8255 1 块 A D 转换芯片 ADC0809 1 块 数码管LED 数码管2 个 电阻 1K 若干 三极管 9015 若干 导线若干 电池 1 5V 3 个 参考文献 1 孙育才 新型 AT89S52 系列单片机及其应用 北京 清华大学出版社 2005 2 张鑫 单片机原理及应用 北京 电子工业出版社 2005 3 万福君 潘松峰 单片微机原理系统设计与应用 合肥 中国科学技术大学出版社 2001 4 陈家骏 郑滔 程序设计教程 北京 机械工业出版社 2004 5 余文俊 8051 C 语言实习 北京 中国

10、水利水电出版社 2002 附录 include include define a8255 PA XBYTE 0 xD9FF PA 口地址 define a8255 PB XBYTE 0 xDAFF PB 口地址 define a8255 PC XBYTE 0 xDDFF PC 口地址 define a8255 CON XBYTE 0 xDFFF 控制字地址 5 define uchar unsigned char sbit ST P2 7 sbit EOC P3 4 sbit OE P2 3 sbit CLK P2 0 void display void unsigned char x0 x1

11、 x2 x3 unsigned char choice 0 x00 unsigned char dispdata 10 0 xA0 0 0 xBB 1 0 x62 2 0 x2A 3 0 x39 4 0 x2C 5 0 x24 6 0 xBA 7 0 x20 8 0 x28 9 unsigned char const dis table 16 0 xA0 0 0 xBB 1 0 x62 2 0 x2A 3 0 x39 4 0 x2C 5 0 x24 6 0 xBA 7 0 x20 8 0 x28 9 0 x30 A 0 x25 B 0 xE4 C 0 x23 D 0 x64 E 0 x74 F

12、 void delay unsigned int num unsigned int i 0 for i 0 i num i void display F unsigned char place unsigned char num unsigned char i 0 display num 0 unsigned int test 0 a8255 CON 0 x89 a8255 PB 0 xff a8255 PA 0 xff delay 100 test 0 x01 place 1 a8255 PA test display num dis table num a8255 PB display n

13、um delay 100 0 x28 0 xeb 0 x32 0 xa2 0 xe1 0 xa4 0 x24 0 xea 0 x20 0 xa0 uchar AD DATA 保存 void delay1 unsigned int i while i 系统初始化 void init EA 1 开总中断 TMOD 0 x02 设定定时器 T0 工作方式 TH0 65535 65485 256 利用 T0 中断产生 CLK 信号 TL0 65535 65485 256 TR0 1 启动定时器 T0 ET0 1 ST 0 OE 0 IT0 1 EX0 1 T0 中断外断 0 服务程序 void t0

14、void interrupt 1 using 0 CLK CLK int0 interrupt 0 inturpt if intrupt 1 0 xff intrupt 0 xfc flag 1 delay 100 else AD 转换函数 void AD ST 0 P1 choice 选择通道 delay 2 ST 1 启动 AD 转换 delay 2 ST 0 while 0 EOC display delay 20 OE 1 AD DATA P0 OE 0 主函数 void main unsigned int cout 0 float c unsigned int b 0 init while 1 P1 choice cout if cout 100 cout 0 AD c float AD DATA c c 5000 0 256 0 b unsigned int c x0 b 10 x1 b 10 10 x2 b 100 10 x3 b 1000 display F 3 x3 display F 4 x2 display F 5 x1 display F 6 x0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号