logo资料库

微机课程设计:A/D数据采集设计(包含原代码).doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
内容提要
目录
1.课程设计相关说明
1.1 课程设计的意义
2.硬件电路设计及描述
2.1 主要芯片介绍
2.2 硬件电路设计及描述
3.软件设计流程及描述
3.1软件设计流程
3.2 程序流程图
3.2.1主体流程图
3.2.2子程序流程图
4.源程序代码
5.课程设计体会
6.参考文献
内容提要 《A/D 数据采集设计》主要是对八路通道的模拟电压-5 到 5V 进行 采集,并把采集到的模拟量转换化数字量,并送至液晶显示。本课程 设计以 8088 为控制机对 ADC0809 和 8255A 芯片进行扩展。ADC0809 芯片主要对-5 到 5V 的模拟电压进行采集和转换,8255A 用于读取开 关状态信息和输出开关信息到 ADC0809 芯片的 A,B,C 端口,以决定对 选定的通道的模拟量进行采集和转换。 关键词:模拟量,数字量,采集,转换,通道
目录 内容提要....................................................................................................................... 1 目录............................................................................................................................... 1 1.课程设计相关说明................................................................................................... 1 1.1 课程设计的意义................................................................................................1 2.硬件电路设计及描述............................................................................................... 3 2.1 主要芯片介绍....................................................................................................3 2.2 硬件电路设计及描述........................................................................................3 3.软件设计流程及描述............................................................................................... 5 3.1 软件设计流程.....................................................................................................5 3.2 程序流程图........................................................................................................5 3.2.1 主体流程图................................................................................................... 5 3.2.2 子程序流程图............................................................................................... 6 4.源程序代码............................................................................................................. 11 5.课程设计体会......................................................................................................... 15 6.参考文献................................................................................................................. 16
1.课程设计相关说明 1.1 课程设计的意义 汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码 编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代 替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言 的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较 高的程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时 汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被 安置在内存的预定位置上,就能被计算机的 CPU 处理和执行。汇编语言像 机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用 起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和 过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不 可替代的用途。 《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生 必修的一门技术基础课。通过本课程设计,让学生对微机系统有一个较全面 的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系 统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型 计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求独立完 成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路 印制板图, 编写设计程序及程序流程图。 本次课程设计题目是《A/D 数据采集设计》,通过这次课程设计,对 8088 控制机和 ADC0809,8255A 等常用芯片的功能,运行方式,运行条件有了更 深的了解。同时加强了我们的动力实践能力,对计算机硬件组成有了更进一步的全面 认识。掌握了 A/D 转换单元电路对模拟电压的采集和转换等基本概念和编程 操作。为以后更深入学习汇编语言和微型机方面的知道打下了基础。 1
1.2 系统的主要功能 本课程设计的原本要求是:设计一块 A/D 卡,该卡具有对八路通道的模电 压 0 到 5v 进行采集的功能.后来经过扩展,实现了更多的功能。 因为实验室硬件条件所限制,ADC0809 芯片只有两个 IN7,IN6(其中 INO 通道口被系统占用)通道口可用。所以扩展后功能为:通过开关选择通道,在 8088 控制机的作用下 ADC0809 把选定的通道口的模拟量采集后转换为数字量 并送至液晶显示。通过编程,把被选定通道以下的通道的模拟量也采集转换为 数 字 量 送 至 液 晶 显 示 ( 比 如 : 开 关 选 定 通 道 口 IN6, 通 过 编 程 , 把 IN5,IN4,IN3,IN2,IN1 通道的模拟量也采集和转换并送至液晶显示)。液晶显 示的格式如下:通道号:数字量 模拟量。比如:IN7:00 -5.000V.采用这样 的显示方式,清晰明了。 1.3 系统使用方法 本系统使用方法比较简单。首先按照电路接线图在 TD-ACC 实验箱接好电路, 然后打开 TD-ACC 软件,对写好的汇编程序进行编译加载。加载成功后,可以拨 动开关,选中一个通道,然后点击 TD-ACC 软件的”RUN”按钮,即开始采集转换 选中通道以及选定通道以下的通道的模拟量为数字量并送至液晶显示。在此过程 中,可以随意拨动开关,选中需要采集转换的通道。 2
2.硬件电路设计及描述 2.1 主要芯片介绍 本设计主要用到的芯片是 A/D 转换器。A/D 转换器大致有三类:一是双积分 A/D 转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近 A/D 转换器,精度,速度,价格适中;三是并行 A/D 转换器,速度快,价格也昂 贵。实验用的 ADC0809 属第二类,是八位 A/D 转换器。每采集一次一般需 100us。 本设计是用延时查询方式读入 A/D 转换结果。ADC0809 芯片主要包括多路模 拟开关和 A/D 转换器两部分,通过三端地址码 A,B,C 多路开关可选通 8 路模拟输 入的任何一路进行 A/D 转换。其中 IN0 对地接 500 欧电阻,构成电烤箱控制实验 中的温度传感器专用输入通道;IN1—IN5 的模拟量输入范围为 0V—4.98V,对应 数字量 00H--FFH,2.5V 对应 80H;IN6 和 IN7 两路由于接了上位电阻,所以模拟量 输入允许范围为:-5V-- +4.96V,对应数字量 00--FFH,0V 对应 80H.其主要特点 为:单电源供电,工作时钟 CLOCK 最高可达到 1200KHZ,8 位分辨率,8 个单端模 拟输入端,TTL 电平兼容等,可以很方便地和微处理器接口。TD-ACC 教学系统中 的 ADC0809 芯片,其输出八位数据线以及 CLOCK 线已通过扁平电缆接到 8088 控 制计算机的 8255 端口 A 和系统应用时钟 OPCLK(1.162MHZ)上,其它控制线根 据实验要求可另外连接(A,B,C,1,EOC,INO—IN7)。 2.2 硬件电路设计及描述 本设计主要用到了 8088,ADC0809,8255A 芯片。其中 8088 控制机中已经集 成了 8255A 芯片。下面是硬件接线图。 3
从接线图中可以看到: 图 1 A/D 数据采集接线图 开关 S1,S2,S3 接到 8255A 芯片 B 端口的 PB6,PB5,PB3 上,通过 B 端口读取开 关状态; 8255A 芯片 B 端口的 PB2,PB1,PB0 接到 ADC0809 的三端地址码 C,B,A 多路开 关来选中通道口进行模拟量的采集转换; 8255A 芯片 C 端口的 PC0 接到 ADC0809 芯片的 START 和 ALE 端,通过对 8255A 写控制字对 C 端口的 PCO 置位和复位产生脉冲启动 ADC0809 芯片进行采集和转 换; ADC0809 的 D7—D0 接 8255A 的 PA7—PA0,把转换好的数据经过处理送液晶显 示。 IN7—IN1 接模拟信号输入,即模拟电压输入。 4
3.软件设计流程及描述 3.1 软件设计流程 根据硬件接线图,软件设计的主要思想为: 1. 通过初始化 8255 芯片,A 口工作方式为 0,作为输入;B 口工作方式为 0,作为输入;C 口作为输入。由 B 口 PB6,PB5,PB4 读取开关状态到 AL 中,AL 中数据右移四位存到 DL 中。 2. 初始化 8255 芯片,A 口工作方式为 0,作为输入;B 口工作方式为 0, 作为输出;C 口输出。PB2,PB1,PB0 中的开关状态输入到 ADC0809 的三 端地址码 C,B,A 多路开关中。 3. 输出通道号,比如 IN7: 4. 通过对 8255A 写入控制字对 C 端口的 PC0 进行置位和复位,产生一个 脉冲,启动 ADC0809 进行采集转换。 5. 调用显示子程序,将转换后的数字量送至液晶显示。 6. 根据转换得到的数字量在 LCD 上显示对应的模拟量。 7. 通过循环,把比选中通道号小的通道的数字量和模拟量也显示。 8. 检测开关状态,继续采集转换。 3.2 程序流程图 3.2.1 主体流程图 程序总体流程图是程序设计整体设计的过程,反映其整体设计思路,实现其 整体操作功能。 5
3.2.2 子程序流程图 1.显示通道号子程序流程图 显示通道号子程序显示格式为:IN7:80 0.000V 6
分享到:
收藏