ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:317.32KB ,
资源ID:14259309      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14259309.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机课程设计采集系统设计与制作.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微机课程设计采集系统设计与制作.docx

1、微机课程设计采集系统设计与制作目录第一章:引言 1第二章:需求分析 12.1实验目的与要求 12.2软硬件运行环境 12.3开发工具 2第三章:分析 23.1 ADC0809的外部特性: 23.2 8255A的基本特性 33.3接口电路显示形式 33.4数据显示 4第四章:设计 44.1概要设计 44.2详细设计 54.2.1硬件连接 5一 基本系统 5二 外设功能模块 6三 面包板实验区 64.2.2软件编程 6第五章:调试与操作说明 8第六章:系统设计总结与体会 9第七章:致谢 10参考文献 10附录一 11附录二 12课程设计报告书 -微机采集系统设计与制作第一章:引言随着信息技术的发展

2、,对信号进行高速、高精度采集及实时传输已成为信号处理的关键问题。许多场合也需要单道和多道数据采集与显示,如:测温、测速、测功率等。设计高质量、低成本的智能化二次测量仪表颇具意义。对于非高速测量场合,以8031(或89C2051)单片微机与A/D转换器件ADC0809的结合,将能出色完成任务要求。一个八位8通道的数据采集与显示系统,只需极少的芯片,甚至是二片主要芯片,即可达到设计指标,且工作稳定可靠。第二章:需求分析该课程设计为数据采集系统, 数据采集是指将温度、压力、流量、位移等模拟量采集、转换成数字量后,再由计算机进行存储、处理、显示或打印的过程。相应的系统称为数据采集系统。 数据采集系统均

3、要将模拟量转换为数字量,常用的方法就是在系统中采用A/ D 转换芯片进行专门的处理,当模拟量较少或是温度、压力等缓变信号场合数据采集系统在各行个业都有广泛应用. 目前,已有各种各样高速、高精度、多通道的数据采集卡问世。而在本设计中我们采用的是通过模数转换器采入数据,然后进行数据存储、数据处理和图形显示.2.1实验目的与要求以PC机为控制器,采用查询方式进行8通道数据采集,采集的数据在屏幕上显示。为此,采用ADC0809作A/D转换器。 通过微机数据采集系统的设计与制作,目的在于深入了解与掌握根据实际要求设计基本电路的方法和控制程序的设计方法。2.2软硬件运行环境本实验的开发平台MF软件采用系统

4、集成技术,在Windows2000下运行。它把实验程序的开发工具,故障诊断程序等程序集成在一个环境中,构成一个用户程序集成开发环境IDE(Integrated Development Environment)。用户程序的编辑、编译、连接、运行和修改的全过程都在一个集成的环境中完成,大大提高了编程的效率。这个环境目前已有多个版本,每个版本提供了内容丰富的汇编语言和C/C语言开发软件包,并以全屏幕窗口环境的形式供用户使用。总的来说该系统采用的资源配置为: PC兼容机 Windows 2000 MFID 多功能微机实验平台(含PCI总线驱动板) 面包板或外设功能模块板 安装或焊接工具2.3开发工具实

5、验程序的开发工具包括编辑器、编译系统、连接程序和调试程序。1. 编辑器 采用全屏幕多窗口编辑器,复制,粘贴,裁减十分方便。2. 编译系统 MF软件包括了C/C语言和汇编语言两个编译系统,用户可根据自己所熟悉的语言,任选一个来编写程序,并在集成环境中进行程序的编译(汇编)、连接、运行与调试。在本实验中,我们采用的是汇编语言来作为程序设计语言。3. 连接程序 采用TLINK。4. 调试程序 采用TDEBUGGER全屏幕调试程序,直观全面,使用方便。 以上应用程序(实验程序)开发工具,集成在集成开发环境(IDE)中,用户只需在集成开发环境全屏幕窗口中,点击主菜单的相应菜单项,即可随时启用。第三章:分

6、析要实现上述设计要求,至少需要考虑:被控对象ADC0809的特性、接口模块8255A的基本特性、接口电路结构形式以及显示格式。3.1 ADC0809的外部特性:ADC的外部引脚如下图,从图中可以看出 ,ADC0809有八个模拟量输入端(IN0IN7),相应设置3根模拟量通道地址线(ADDAADDC),用以编码来选择8个模拟量输入通道。并且还设置1根地址锁存允许信号ALE,高电平有效。当ALE变高,锁存由ADDaADDc编码所选中的通道号,将该通道的模拟量接入A/D转换器。ADC0809的分辨率为8位,有8根数字量输出线(D0D7),带有三态输出锁存器。并设置了1根输出允许信号OE,高电平有效。

7、当读数据时,要使OE置高,打开三态输出锁存器,把转换的数字量送到数据线上。ADC0809的转换启动信号是START,高电平有效。转换结束信号EOC,转换过程中为低电平,转换完毕变为高电平,可利用EOC的上升沿申请中断,或作查询之用。3.2 8255A的基本特性1.8255A是可编程并行接口芯片8255A,具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息提供传送的一切形式的并行接口。并且它的PC口还具有按位置位/复位功能,为按位控制

8、提供了强有力的支持。2.8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。3.8255A芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成。3.3接口电路显示形式本外设模块采用8855A作为接口电路,其中,PA0PA7接数据线,其低三位与通道地址线ADDAADDC相连,即将通道号写入A口。另外,转换后的数据从A口读入CPU。PC0连接START和ALE信号,高电平有效,表示启动转换。PC1连接输出允许信号OE。当查询方式时,PC4连接EOC信号,转换过程中,PC4为0,当转换完毕时,PC4为1。3.4数据显示 数据显示有两点:一上要把采集到的用十进制表示的数据转换成ASCII码

9、,才能送到屏幕去显示;二是显示的格式,数据在屏幕上是采用一列显示,还是满屏显示或是分区显示,本设计是采用满屏显示.第四章:设计4.1概要设计该设计外设接口采用了可编程并行接口芯片8255A和8路8位AD转换器ADC0809, A/D数据采集模块、平台板、微机组成的数据采集系统框图如图所示。 图4.1系统框图连线原理图见附录A.该程序流程图如下:4.2详细设计4.2.1硬件连接该微机实验平台的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。不仅具有很好的可添加性和灵活性,而且整个平台的硬件资源全部向用户开放,由用户自由支配,系统不占用。一 基本系统基本系统包括总线

10、驱动板和实验平台,其作用一是将系统总线从总线机内引到机外的实验平台上。二是在实验平台上提供各种典型的接口电路,供连接外设功能模块。 总线驱动板有PCI总线驱动板和ISA总线驱动板两种。总线驱动板插在主机机箱内系统总线插槽中。它将主机的系统总线(包括数据线、地址线和主要的控制线)进行驱动之后,用扁平电缆引到机箱外面的实验平台上,以供开发利用。 实验平台板置于机箱外,它是用户进行实验和开发的舞台。在平台板上,利用从主板引出的系统总线,开发设计了并行口、串行口、AD、DA转换器以及相应的端口地址,并将这些接口的信号线以插座和插槽的形式提供给用户使用。二 外设功能模块这里所说的外设功能模块包括微机的I

11、/O设备(打印机、键盘、显示器、MODEM)和元器件(LED、喇叭、步进电机、直流电机、继电器、ADC、DAC)以及指示灯、开关(DIP、按钮)等。这些外设加上各自的驱动电路就构成了不同的外设功能模块,它们是微机接口的控制和连接的对象。用户将外设功能模块(对象)挂接到平台办的接口插座和插槽上,与平台上的接口芯片相结合,可构成各种各样外设应用系统(尽管这些系统规模不大)的接口电路。外设功能模块可以任意添加。三 面包板实验区面包板实验区包括一块高质量面包板和平台板的接口插座、插槽,以及连接电缆与连接导线,供用户自行设计、安装、调试外设应用系统电路之用。4.2.2软件编程在软件编程这一块大体分两个部

12、分,一个是完成接口电路8255A的初始化工作,二是采集到的数据显示格式。我们已经熟悉了各个芯片的外部引脚和功能、工作的方式、电路的原理、A/D数据采集模块电路,我还需进一步了解ADC0809的时序图。 如下图:由时序图可看出,要先给出通道地址ADD(A B C),然后进行地址锁存,使ALE置高电平,接着启动转换信号START,ADC0809本应该开始进行模/数转换了,即EOC置底电平,但EOC为底电平需要一个稳定期,故在START启动以后,应进行200ns的时间延时。延时后把START置为0。这时ADC0809就开始真正进行模/数转换了。转换结束后,EOC会自动返回一个低电平。又由于ADC08

13、09的分辨率为8位,有8根数字量输出线(D0D7),带有三态输出锁存器。并设置了1根输出允许信号OE,高电平有效。当读数据时,要使OE置高,打开三态输出锁存器,把转换的数字量送到数据线上,送给8255A。 图4.3 时序图于是,根据具体的时序图,我们来编写程序。尤其要注意的是8255A的初始化,这一部分很容易就忘记:A口输出,B口输入,C口高4位输入,C口底4位输入。当把通道号送至A口,并进行地址锁存以后,还需重写8255,这时A口输入,B口输入,C口高4位输入,C口底4位输入部分。根据上述分析以及8255A的工作方式,我可以写出它的初始化程序,如下:8255A的初始化工作:mov dx,30

14、3h ;初始化8255状态字,A口输出 mov al,88h out dx,al mov dx,300h ;送通道号至A口 mov al,temp out dx,al mov dx,303h mov al,3h out dx,al ;PC1置1进行地址锁存 mov dx,303h mov al,98h out dx,al ; 重写8255方式字,A口输入,C口低四位输出,C口高四位输入在数据显示这一部分,比如说我要输入一个三位数,我首先将AH寄存器清零,送100给BL寄存器,注意要先存在寄存器里,然后才可以用div指令。然后加上30h,把它变成十进制的数值,压栈。再调用它的端口号把这三位数的百

15、位数字以十进制的形式显示出来,出栈。十位数和各位数依次类推。程序如下:数据显示部分:show: mov ah,0 mov bl,100 div bl add al,30h push ax mov dl,al mov ah,2 int 21h pop ax mov al,ah mov ah,0 mov bl,10 div bl push ax mov dl,al add dl,30h mov al,ah mov ah,2 int 21h pop ax mov dl,ah add dl,30h mov ah,2int 21h程序原代码见附录B.第五章:调试与操作说明该设计在软件方面的调试,先需要在

16、编译环境中编译、连接通过。然后连接硬件线路,连接之前先检测元器件,能够对硬件单独检测的,最好先单独检测硬件电路。最后是软硬件联合起来调试。实验中常见问题如: 电源未连接好。检查一下实验平台是否通电,检查接到面包板电源的引线是否插牢。 可以先察看ADC0809的18号引脚即CLOCK信号是否为500KHZ。这一点,可以通过示波器观察,来算出频率,这点比较麻烦,还可以利用平台所提供的A/D数据采样板,找到对应的检测点,将两路信号都加到示波器上,观察波形,如若相似,则说明该模块的接线无误。然后,察看12号引脚所接的参考正电压是否为+5.000伏。 实验过程中应注意各连线引脚是否与面包板接触良好。第六

17、章:系统设计总结与体会为期一个星期的课程设计结束了,有感触,但更多的是收获!就我们组的A/D数据采集系统来说,它设计到一些外设接口的基本性能和工作原理,例如:8255A芯片和ADC0809芯片,此外,还包括电路的搭建,软件的编程等等。整个课程设计下来,我由最初的蒙蒙懂懂到了解在到掌握他们,可以说是一路艰辛!当我从老师那里领到面包板和一些元器件的时候,我都犹豫了“这些东西怎么连在一起?根据什么原理来连接?”而且,在软件编程方面,要求用汇编语言编写,但是我自身的语言又不过关,总之,心里满是犹豫。然而,幸运的是,被分到张绪辉老师一组,在整个课程设计中,张老师都给了我们很好的意见和最耐心的指导,在老师

18、的鼓励和帮助下,我们的设计才得以顺利地完成。不管是哪个团队,我想合理的分工应该是很重要的。作为组长,这是责无旁贷的,硬件部分我将电路板的搭建分给王虎军同学,袁启迪同学负责用软件Protel画出整个电路的原理图,而方力同学则是做辅助工作。在软件部分,主要由我和鄢静同学负责,虽然分工明确,但是在实验过程中遇到难题时,我们也会在一起讨论,尽自己最大努力弄清楚问题的原因所在。就我自己而言,软件编程方面,首先要有一个整体的思路,程序第一步做什么,接下来做什么,在头脑里应该有一个大体的轮廓,但是具体到写程序的时候,还要知道硬件的连接情况,这又需要了解所使用接口的特性和方式以及工作原理,因此,我认为硬件和软

19、件是分不开的,在编程的同时要了解外设接口的基本情况,如果你不是很有把握,“书是最好的老师”这就需要参考大量相关资料,力求弄明白。我想这也是课程设计的目的之一吧!而最令我难忘的是写程序过程当中遇到的挫折,A/D数据采集系统就是大体思想就是将采集到的对象经过ADC0809转换器之后在在计算机上显示出来,这就存在一个显示格式的问题,我的想法是用十进制的格式显示,于是我将二进制的数据转换成了十六进制,然后在将十六进制转换为十进制,但是由于思路出现偏差,程序设计思想过与复杂,以至于实验一直得不到进展,我有好几次都想放弃,是张老师,他一直鼓励我坚持下来,还帮我来分析,提出建议!在此,我要尤其感谢张老师的指

20、导!大学生不仅学的是理论知识,更重要的是将理论和实践联系起来,理论知识等步入工作岗位之后或许会忘记得很快,但是当我们将理论应用与实践,在学习理论知识的同时提高自己的实际动手能力,在实践中巩固自己的理论,不是很明智的选择?这次课程设计,我收获很多,它提高了我的分析问题和解决问题的能力,例如,在硬件部分,当系统出现问题的时候,不是全部将面包板上的线取下后再次连接,而是就电路中出现的情况进行分析,找出错误的原因,从而,发现问题并解决问题。在软件方面,如果调试不能通过,要分段检查程序,从格式到用法,以防因为粗心大意而引起的错误,这些都是可能的。检查直至最后调试通过!此外,这种课程设计培养了我们自主的学

21、习习惯,为了做实验,你得熟悉仪器,去查阅资料等等。再者,也是最重要的一点就是态度,古语云:态度决定一切。严谨的工作态度和持之以恒的精神是成功的关键,这一点,我在这次实验中从很多老师身上也看到了。因此,我很感谢这次课程设计!第七章:致谢 在此报告即将完成之时,我要在这里特别的感谢一下在我的接口课程设计过程中帮助和关心过我的老师和同学。在课程设计的整个过程中,张绪辉、龚义建两位老师给了我很多的建议和帮助。特别是张老师,他更是直接指导了我的课程设计,使我的课程设计能够在规定的时间内完成。尤其在软件编程方面,张老师深厚的语言功底给我感触很深,自身的汇编语言没有过关,张老师却给我从最简单的指令说起,程序

22、的步骤,流程,电路的搭建,他都给我们做了非常耐心的指导,我学到了很多东西,不仅是学术知识,还有工作方式、治学态度等。还有要感谢在本次课程设计中我的组员,从实验开始到完成,他们都互相合作,互相帮助,当我有疑团时,有的还暂时放下自己的工作帮助我.正因为有这种良好的集体合作精神与互帮互助的风格,我的课程设计才得以顺利的完成.最后,再一次向所有关心过我、帮助过我的老师和同学送上最深的谢意和最真挚的祝福!参考文献1. 刘乐善等,微型计算机接口技术及应用,武汉,华中理工大学出版社,20002. MFID-2微型计算机实验平台技术说明书3. 韩海,汇编语言程序与设计,西安电子科技大学出版社4. 陈西文等,I

23、/O接口程序设计入门与应用,机械工业出版社,20005. PROTEL 99SE电路设计实用教程主编:余家春附录一 图A实验原理图图B实验PCB图附录二;*- */;* AskAD.asm(查询方式A/D转换器接口实验) */;* 查询方式A/D转换数据采集程序 Source File */;* Copyright (c) 2006 by Andy */;* Modify Date 2006.9.9 */;*- */sseg segment para stack stackdw 200 dup (?)sseg endsdseg segment para public datamessage d

24、b If you want to quit A/D convert,please press ESC db 0dh,0ah,$input_message db input number of A/D channel db 0dh,0ah,$error_message db input incorrect A/D channel!,0dh,0ah db please input number of A/D channel again: db $temp db (?)dseg endscseg segment para public code assume ss:sseg,cs:cseg,ds:d

25、sega_dpo proc farstart: 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 21hinput: mov ah,8 ;检查输入通道号是否有错 int 21h cmp al,0 jb error cmp al,7 ja

26、error sub al,30h mov temp,al ;若无错,则保存通道号 jmp beginerror: mov ah,9 ;显示出错信息 mov dx,seg error_message mov ds,dx mov dx, offset error_message int 21h jmp inputbegin: mov dx,303h ;初始化8255状态字,A口输出 mov al,88h out dx,al mov dx,300h ;送通道号至A口 mov al,temp out dx,al mov dx,303h mov al,3h out dx,al ;PC1置1进行地址锁存

27、mov dx,303h mov al,98h out dx,al ;重写8255方式字,A口输入,C口低四位输出,C口高四位输入lop: mov dx,303h ;使PC0置高发启动信号 mov al,1h out dx,al mov cx,0f00h ;delaylop1: loop lop1 mov dx,303h mov al,0h out dx,allopsub: 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: mov

28、ah,0 mov bl,100 div bl add al,30h push ax mov dl,al mov ah,2 int 21h pop ax mov al,ah mov ah,0 mov bl,10 div bl push ax mov dl,al add dl,30h mov al,ah mov ah,2 int 21h pop ax mov dl,ah add dl,30h mov ah,2 int 21h mov ah,0bh ;检测是否有ESC键按下 int 21h inc al jnz lop ;若无键按下,则继续采集 quit: mov ax,4c00h ;程序退出 int 21hadpo endpcseg endsend start

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2