您好,欢迎来到微智科技网。
搜索
您的当前位置:首页微机数据采集系统设计(第四组).doc

微机数据采集系统设计(第四组).doc

来源:微智科技网


湖南人文科技学院 课程设计报告

课 程 名 称:微机接口技术与应用课程设计

设 计 题 目: 微机数据采集系统设计

系 别: 计算机科学技术系

专 业: 计算机科学与技术专业 组 别: 09级计科二班第四组 组 员: 刘振辉 胡雨婷 韩毅 张鹏 伍佳 学 号: 09408217、09408218、09408219、09408220、09408221

起 止 日 期: 2012.6.10 -2012.6.24 指 导 教 师: 刘 庆

计算机科学技术系09级本二班 接口课程设计报告 第四组

课程设计题目 组号 第四组 系别 组长 微机数据采集系统设计 班级 专业 09级计科二班 计算机科学与技术专业 计算机科学技术系 张鹏(09408220) 组员 刘振辉(09408217) 胡雨婷(09408218) 韩毅(09408219) 伍佳(09408221) 指导教师 刘庆 课程设计通过微机数据采集系统设计实验,熟悉数据采集设计与程序控制方法。 目的 1. PC机 2.Windows 2000 课程设计环境 3.MFID多功能微机实验平台(含PCI总线驱动板) 4.MF2KI集成开发环境 5. VC++6.0 6. MASM 1. 掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统,结合一个实际的接口技术问题在实验台上编程模课程设计要求 拟实现。 2. 单通道采集数据并显示。 3. 多通道循环采集数据并显示。 4. 掌握基本接口电路的综合应用。 5. 微机接口技术及接口芯片的综合应用。 日期 工 作 内 容 2012.6.10 搜集相关的设计资料,确定选题; 2012.6.11-6.12 搜集并熟悉相关课题资料,整理出设计思路; 2012.6.13 将整体思路模块化,并对本组成员进行工作分组; 2012.6.14-6.18 整理思路,画出工作流程图和设计原理图 2012.6.19-2012.6.22 着重编写和调试运行程序 2012.6.23 结合硬件配置系统环境,并进行系统验证 2012.6.24 整理所有资料撰写电子文档 课程 设计 工作 进度 计划

II

计算机科学技术系09级本二班 接口课程设计报告 第四组

目录

一、 课程设计要求和任务 ............... 错误!未定义书签。 二、 课程设计题目 ................................ - 2 - 三、 课程设计平台环境 ............................ - 2 - 四、 任务分配 .................................... - 2 - 五、 设计与实现 .................................. - 2 -

1. 设计思想 ........................................ - 2 - 2. 分析 ............................................ - 3 - 3. 设计 ............................................ - 3 - 4. 原理图、PCB图、流程图 ........................... - 4 - 5. 软件设计程序 .................................... - 7 - 6. 设计计算结果 ................................... - 12 - 7. 调试与操作说明 ................................. - 12 -

六、 感想体会 ................................... - 12 - 七、 参考文献 ................................... - 13 -

- 1 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

一、 课程设计题目

第4题:微机数据采集系统设计

二、 课程设计平台环境

MF软件采用系统集成技术,把实验程序的开发工具,故障诊断程序和外设模块演示程序集成在一个环境中,构成一个用户程序集成开发环境IDE(Integrated Development Environment)。用户程序的编辑、编译、连接、运行和修改的全过程都在一个集成的环境中完成,大大提高了编程的效率。这个环境目前已有4个版本,每个版本提供了内容丰富的汇编语言和C/C++语言开发软件包,并以全屏幕窗口环境的形式供用户使用。

三、 任务分配

1. 资料收集,文档整理(刘振辉,胡雨婷) 2. 原理图,PCB图,流程图(韩毅) 3. 程序编写(张鹏,伍佳)

四、 设计与实现

1. 设计思想

首先,根据实验要求,设计A/D数据采集电路,然后,按照电路原理,选用一些元器件,在面包板上分别搭建电路模块。由于实验中要用到MFID多功能微机实验平台板上的8255A作接口控制信号,所以要用两头带插针的软导线,通过26芯电缆的插孔将8255A的输出信号接入面包板,这样整个的组成了A/D数据采集系统的硬件。

然后,编写A/D数据采集系统的控制程序,并进行调试。

最后,加入软件控制程序,对接口进行驱动,组成了A/D数据采集系统。 A/D数据采集模块、平台板、微机组成的数据采集系统框图

如图1所示。

并 口 微 机总线驱动板 50芯 平台J1 板 26芯 采集J5 模块(短型电缆) - 2 -

A/D数据 计算机科学技术系09级本二班 接口课程设计报告 第四组

2. 分析

要实现上述设计要求,至少需要考虑:被控对象ADC0809的特性、接口电路结构形式。 ADC0809的外部特性:

IN3IN4可以看出 ,ADC0809有八个模拟 IN5IN6 量输入端(IN0-IN7),相应设 IN7START置3根模拟量通道地址线(ADDA

EOC-ADDC),用以编码来选择8个 D3OE模拟量输入通道。并且还设置1 CLOCK根地址锁存允许信号ALE,高电 VCCVREF(+)平有效。当ALE变高,锁存由ADDa GNDD1ADC的外部引脚如图1,从图中

-ADDc编码所选中的通道号,将 该通道的模拟量接入A/D转换 器。

12345671011121314ADC0809ADC08082827262524232221201918171615IN2IN1IN0ADDAADDBADDCALED7D6D5D4D0VREF(-)D2图2 ADC0809引线图ADC0809的分辨率为8位,有8

根数字量输出线(D0-D7),带有三态输出锁存器。并设置了1根输出允许信号OE,高电平有效。当读数据时,要使OE置高,打开三态输出锁存器,把转换的数字量送到数据线上。

ADC0809的转换启动信号是START,高电平有效。转换结束信号EOC,转换过程中为低电平,转换完毕变为高电平,可利用EOC的上升沿申请中断,或作查询之用。

3. 设计

1.A/D数据采集模块电路

本外设模块采用8855A作为接口电路,其中,PA0-PA7接数据线,其低三位与通道地址线ADDA-ADDC相连,即将通道号写入A口。另外,转换后的数据从A口读入CPU。PC0连接START和ALE信号,高电平有效,表示启动转换。PC1连接输出允许信号OE。当查询方式时,PC4连接EOC信号,转换过程中,PC4为0,当转换完毕时,PC4为1。

- 3 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

2.设计方法及其原理:

通过ADC0809数模转换器将由电位器转动所产生的模拟信号转换为数字信号,然后通过8255A并行接口送入内存并显示在窗口中。

4. 原理图、PCB图、流程图

(1)原理图如下:

(2)PCB图如下:

- 4 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

(3)程序流程图

- 5 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

- 6 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

5. 软件设计程序

C语言

#include #include #include int choose_channel(); void main(void) {

outportb(0x303,0x01);

/*使PC0置高发启动信号*/

/*pc1置1进行地址锁存*/

*/

do{

pc4=inportb(0x302)&0x10;

- 7 -

/*选择通道函数*/

int ch,n,pa,i,pc4; clrscr();

printf(\"Please input the a/d channel NO(0--7):\"); ch=choose_channel();

printf(\"During the process, press any key to exit!\\n\"); do{

outportb(0x303,0x88);

/*初始化8255状态字,A口输

出*/

outportb(0x300,ch);

/*送通道号至A口*/

outportb(0x303,0x03);

delay(100);

outportb(0x303,0x02); outportb(0x303,0x98);

/*pc1=0*/

/*重写8255方式字,*/

/*A口输入,C口低四位输出,C口高四位输入

/*pc2=0*/

outportb(0x303,0x04);

计算机科学技术系09级本二班 接口课程设计报告 第四组

}

int choose_channel() {

sseg segment para stack 'stack' 汇编语言:

}while(1);

return(c);

/*返回正确的通道号*/

int c; do{

c=getchar(); c=c-48;

if(c<0||c>7)

printf(\"\\nThe ad channel NO is wrong! \\nBe sure it is else break;

/*通道号有误时,显示出错信息,并要/*通道号正确时,跳出循环*/

/*输入通道号*/ /*输入通道号*/

}while(!kbhit());

/*有任意键按下即退出转换*/

}while(pc4==0);

outportb(0x303,0x05);

/*pc2=1,允许读转换结果*/

/*读转换结果*/

/* 显

pa=inportb(0x300)*(0x77)/(0xff);

/*查询PC4的状态,直至为高电

位,即,转换完成*/

printf(\"\\nTempreture is %d degree \\n\delay(100);

示转换结果*/

between 0 and 7!\\nPlease input the NO again!:\"); 求再次输入正确的通道号*/

}

- 8 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

dw 200 dup (?) sseg ends

dseg segment para public 'data'

message db 'If you want to quit A/D convert,please press ''ESC'''

db 0dh,0ah,'$' db 0dh,0ah,'$'

db 'please input number of A/D channel again:' db '$'

input_message db 'input number of A/D channel'

error_message db 'input incorrect A/D channel!',0dh,0ah

temp db (?) dseg ends

cseg segment para public 'code' assume ss:sseg,cs:cseg,ds:dseg a_dpo proc far start: mov ax,sseg

mov ss,ax mov ax,dseg mov ds,ax

mov ah,9 ;显示提示信息 mov dx,seg message mov ds,dx

mov dx,offset message int 21h

mov ah,9 ;提示输入通道号 mov dx,seg input_message mov ds,dx

mov dx, offset input_message int 21h int 21h cmp al,'0' jb error

input: mov ah,8 ;检查输入通道号是否有错

- 9 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

cmp al,'7' ja error sub al,30h

mov temp,al ;若无错,则保存通道号 jmp begin

error: mov ah,9 ;显示出错信息 mov dx,seg error_message mov ds,dx

mov dx, offset error_message int 21h jmp input

begin: mov dx,303h ;输出 mov al,88h out dx,al mov dx,300h

mov al,temp out dx,al mov dx,303h mov al,3h out dx,al

锁存

mov dx,303h mov al,98h

out dx,al

输入,C口低四位输出,C口高四位输入

lop: mov dx,303h ; mov al,1h out dx,al

mov cx,0f00h ;delay lop1: loop lop1

mov dx,303h

初始化8255状态字,A口;送通道号至A口

;PC1置1进行地址

;重写8255方式字,A口

使PC0置高发启动信号 - 10 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

mov al,0h out dx,al

lopsub:

mov dx,302 in al,dx and al,10h jz lopsub mov dx,303h mov al,5h out dx,al mov dx,300h in al,dx

push ax

show: and al,0f0h ; shr al,4 cmp al,9 ja hex add al,30h

jmp next

hex: add al,37h next: mov dl,al mov ah,2 int 21H pop ax

and al,0fh ; cmp al,9 ja hex1 add al,30h

jmp next1

hex1: add al,37h next1: mov dl,al mov ah,2 int 21h

mov dl,13

mov ah,2

显示高4位

显示低4位 向屏幕送回车符 - 11 -

;计算机科学技术系09级本二班 接口课程设计报告 第四组

int 21h

mov dl,10 ;向屏幕送换行符 mov ah,2 int 21h

mov ah,0bh ;检测是否有ESC键按下 int 21h inc al

jnz lop ;若无键按下,则继续采

quit: mov ax,4c00h ;程序退出 int 21h a_dpo endp cseg ends end start

6. 设计计算结果

预设通道号为3,计算结果为:0-100

7. 调试与操作说明

硬件连接:

将面包板上的一根导线接在实验平台+12伏的电源上,然后将ADC0809转换器上CLK引脚的一根导线接在实验平台TP3上的CLK处。 软件:

在MF2KI中打开程序Caex.cpp,进行编译及运行,在DOS窗口中显示调试结果。通过输入预设通道号3显示采集的数据,然后转动电位器,在屏幕上显示采集到的数据在变化,当最大时结果为100,最小时结果为0。与程序计算结果吻合,调试成功。

五、 感想体会

1、通过该课程设计,我们进一步了解了数据采集程序设计原理和方法,

- 12 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

了解了一些电子元件的特性和用法,更重要的是了解了在实际应用中解决一些问题的基本方法和思想。

2、对以前所学的知识又重新有了认识,把整个分散的知识结合在了一起,不仅对这个实验有进一步的了解,也让我对计算机硬件方面有了更大的兴趣,于是又顺便问了有关单片机的一些问题。

3、总的来说,这次实验让我们知道计算机的应用很广泛,单片机的应用也同样广泛,只是我们能否运用所学的知识做出很有价值的东西。这次课程设计就给了我们一个动脑、动手的机会。

六、 参考文献

[1]刘乐善,微机接口技术原理及应用,华工大出版社

[2] 沈美明,IBM-PC汇编语言程序设计,清华大学出版社 [3] 李振格,DOS功能调用详解,北京航空航天大学出版社

[4] 刘乐善等编,MF多功能微机接口实验与开发平台技术说明与实验指

导,华工大计算机系

[5] protel印制版设计软件使用手册,北京科海培训中心 [6] 谭浩强编,程序设计,清华大学出版社

课程设计任务书及成绩评定

课题名称: 微机数据采集系统设计

完成者: 刘振辉 胡雨婷 韩毅 张鹏 伍佳

1、设计的目的与要求

目的:掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,

组成一个微机模拟应用系统,结合一个实际的接口技术问题在实验台上编程模拟实现;掌握基本接口电路的综合应用以及微机接口技术及接口芯片的综合应用。

要求: 单通道采集数据并显示;多通道循环采集数据并显示。

- 13 -

计算机科学技术系09级本二班 接口课程设计报告 第四组

2、设计进度及完成情况

日 期 2012.6.10 2012.6.11-6.12 2012.6.13 2012.6.14-6.18 2012.6.19-2012.6.22 2012.6.23 2012.6.24 内 容 搜集相关的设计资料,确定选题; 搜集并熟悉相关课题资料,整理出设计思路; 将整体思路模块化,并对本组成员进行工作分组; 整理思路,画出工作流程图和设计原理图 着重编写和调试运行程序 结合硬件配置系统环境,并进行系统验证 整理所有资料撰写电子文档 3、成绩评定

学号 09408217 09408218 09408219 09408220 09408221

评定老师: (签字)

二 0 一 二 年 月 日

姓名 刘振辉 胡雨婷 韩毅 张鹏 伍佳 设计成绩(老师填写) - 14 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务