数据采集系统设计_第1页
数据采集系统设计_第2页
数据采集系统设计_第3页
数据采集系统设计_第4页
数据采集系统设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子信息与电气工程系课程设计报告设计类型课程设计综合设计设计题目数据采集系统B系别电子信息与电气工程系年级专业组员课程设计任务书设计题目数据采集系统B设计类型应用型导师姓名主要内容及目标应用0809A/D转换和8086系列接口芯片设计一个A/D转换器接口将A/D转换器的数字量用LED七段数码管显示出来。编写A/D转换程序,要求能将IN端的05V的直流信号转换为数字量并送LED显示;具有的设计条件需要购买电子元件一批。计算机。星研试验箱。计划学生数及任务计划需要3人,需要对整体方案进行设计,完成程序编写,做出数据采集系统并完成报告。计划设计进程1、从接题开始收集资料、准备设计2、第1周画出设计框图,制定设计方案,画出电路原理图。3、第2周,进行实验,电路调试和完善,同时编写设计报告。参考文献1周荷琴,微机原理与接口技术,中国科技大学,20096第4版2、1632位微型计算机技术及应用清华大学出版社戴梅萼史嘉权编著3、汇编语言程序设计南京大学出版社姚君遗编著4、汇编语言程序设计教程清华大学出版社杨记文编著5、微型计算机原理及接口技术实验指导书组员分工表组员分工主要负责硬件电路的设计和仿真,并协助其他组员完成任务。主要负责软件程序的编写及调试,并协助其他组员完成任务。主要负责完成设计报告,并协助其他组员完成任务。目录1摘要42总体方案设计421设计原理422数据采集模块523数据转换模块524显示模块73软件设计831流程框图84程序调试85总结学习96附录10数据采集系统(B)的设计1摘要数据采集系统的任务,具体地说,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,然后送入计算机,根据不同的需要由计算机进行相应的计算和处理,得出所需的数据。与此同时,将计算得到的数据进行显示和打印,以便复现对某些物理量的监视。关键词数据采集系统80862总体方案设计21设计原理基于8086的数据采集系统它是由8086及其一些外围芯片构成的数据采集系统,具有如下特点系统不具有自主开发能力。因此,系统的软硬件开发必须借助开发工具。系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用,配置比接近于,具有最佳的性价比;系统的软件一般都有应用程序。系统的可靠性好,使用方便。应用程序在中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。05V电位器ADC08098086LED显示8255图1设计原理数据采集系统,这种系统主要功能是将通过05V电位器采集来的信号通过外部的采样和转换后的数字信号通过接口电路送入微机进行处理,然后再经过8255将处理结果通过数码管显示出来。1,连线说明G4区CSA3区CS1G4区ADDA、ADDB、ADDCESPCIA0、A1、A2选择通道G4区CLKB2区500KG4区IN0D2区05V表1连线说明2,调节05V电位器(D2区)输出电压,显示屏上的电压数字量会随之变化。用万用表验证AD转换的结果。根据原理设计电路,并得到电路仿真图如下图图2数据采集系统的仿真图22数据采集模块当用计算机来构成数据采集系统时,所要采集的外部信号或被控制对象的参数,往往是温度、流量、压力、声音、位移等连续变化的模拟量。此次试验的被采集的信号为电压信号。23数据转换模块(1)ADC0809的功能简介ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。图3和图4分别是ADC0809的工作时序图以及采样状态图。时序图中,START为转换启动控制信号,高电平有效,ALE为模拟信号输入宣统端口地址所存信号,上升沿有效;一旦START有效后,状态信号EOC变为低电平,表示进入转换状态,转换时间约为100US。转换结束后,EOC将变为高电平。此后外部控制可使OE由低电平变为高电平(输出有效),此时,ADC0809的输出数据总线D70从原来的高阻态变为输出数据有效。图(3)ADC0809的工作时序图(4)ADC0809在状态图中,状态ST2中需要对ADC0809工作状态信号EOC进行测试,如果为低电平,表示转换没有结束,仍需要停留在ST2状态中等待,直到变成高电平后才说明转换结束,在下一个时钟脉冲到来时转向状态ST3。在状态ST3,由状态机向ADC0809发出转换好的8位数据输出允许命令,这一状态周期同时可作为数据输出稳定周期,以便能在下一状态中向锁存器中锁入可靠的数据。在状态ST4,由状态机向FPGA中的锁存器发出锁存信号(LOCK的上升沿),将ADC0809的输出数据进行锁存。图5ADC0809与系统连接原理(2)8086简介INTEL8086是一个由INTEL于1978年所设计的16位微处理器芯片,是X86架构的鼻祖。不久,INTEL8088就推出了,拥有一个外部的8位数据总线,允许便宜的芯片用途。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元BUSINTERFACEUNIT透过6字节预存PREFECTH的队列QUEUE喂指令给执行单元EXECUTIONUNIT,所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。图68086管脚24显示模块使用LED将转换后的数据显示出来。图7LED原理3软件设计31流程框图开始50采样次数0AXA/D转换子程序AXAD转换结果调用显示子G4区CSA3区CS1G4区ADDA、ADDB、ADDCESPCIA0、A1、A2选择通道G4区CLKB2区500KG4区复位RESETG4区IN0D2区05V1、调节05V电位器(D2区)输出电压,显示屏上的电压数字量会随之变化。用万用表验证AD转换的结果。程序取50次AD转换结果的平均值采样次数10NY图8总流程图4程序调试调试过程中,出现了各种各样的问题,有的是程序代码写错,有的是出现硬件线路连接错误。具体的是在实验箱中得不到我们想要的结果,即在LED显示环节不能显示出来采集并转换过的数据,分析了所有原因之后,我们认为缺少了I/0端口,需要使用8255芯片。总之经过仔细认真的纠错后,我们在老师的指导下,纠正了错误,最终程序能够正确运行。图(9)程序调试图由于设计过程初期,未考虑用8255芯片,导致后来未能在星研试验箱上显示采集并转换后信号,在此,就不展示实物连接图了5总结学习我们三人通过本实验的学习,学到了好多专业方面的知识,也学会了一些在课堂不能学到的东西。同时,在实验中遇到的问题,在解决问题的过程中,让我从中学到了不少的东西。尤其是在遇到问题时,经过和同学的讨论,以及请教老师而使问题得以解决时,自己中从收获的会更多;更甚者,当遇到问题时,通过自己查阅资料而将问题解决,这样自己心里对自己做的东西会更加的感兴趣。在此,就应该说说在实验过程中遇到的问题,比如,在程序调试过程中,发现在LED数码管上无法得结果,无任何显示,我们便开始寻找错误之处;在此过程中,通过对试验箱等一些外在因素的逐一排除下,我们开始对代码进行分析,通过这些检查,发现出现这一问题的原因是LED显示子程序无法调用,最后在老师和同学们的帮助下,我们完成了本次实训。在实验过程中,一起发现问题,在一起通过请教和讨论得出答案,这个过程给我们带来的收获。除此之外,这次课设让我感觉到,当我们遇到问题时,首先要静得下心,耐心地慢慢找出问题出在什么地方,再慢慢的解决问题,不要遇到问题就心浮气躁,这样不但不能解决问题,反而会适得其反。6附录程序代码MODELTINYPCIBAR1EQU14HPCI9052I/O基地址用于访问局部配置寄存器PCIBAR3EQU1CH8位I/O空间基地址(它就是实验仪的基地址,也为DMAIRQ号INTCSREQU4CHPCI9052INTCSR地址MASK_INT_9052EQU24HVENDOR_IDEQU10EBH厂商ID号DEVICE_IDEQU8376设备ID号STACK100DATAADDR_0809DW00F0HBUFFERDBHVLASTADDB0上一次AD转换值MSG3DBAD转换结果(前边是16进制数,后边是十进制数)IO8259_0DW00F0HRD_IO8259DW0000HIO_BIT8_BASEADDRESSDWPCI_IO_BASEADDRESS0DWPCI_IRQ_NUMBERDBINT_VECTORDBINT_MASKDBINT_CSDWINT_IPDWMSG0DBBIOS不支持访问PCIMSG1DB找不到STARPCI9052板卡MSG2DB读8位I/O空间基地址时出错MSG4DB读IRQ号出错COUNTERDBREDISPLAYFLAGDB0CODESTARTMOVAX,DATAMOVDS,AXNOPCALLINITPCICALLMODIFYADDRESS根据PCI提供的基地址,将偏移地址转化为实地址MOVAH,00HMOVAL,03HINT10H清屏MOVAH,09HLEADX,MSG3INT21HXORAL,ALJMPSTART6START1MOVCX,32HMOVBX,0START2CALLAD0809XORAH,AHADDBX,AXLOOPSTART2MOVAX,50XCHGAX,BXDIVBL五十次的平均值CMPAL,LASTADJZSTART3START6MOVLASTAD,ALCALLDISPLAY_DATAMOVAH,02HMOVDL,43MOVDH,0INT10HMOVAH,09HLEADX,BUFFERINT21H显示结果START3CALLDLTIMECALLIFEXITJZSTART1JMPEXITAD0809PROCNEARPUSHCXMOVAL,0MOVDX,ADDR_0809OUTDX,ALMOVDX,IO_BIT8_BASEADDRESSMOVCX,200AD08091MOVDX,ADDR_0809LOOP延时,等待AD转换完成MOVDX,ADDR_0809INAL,DXPOPCXRETAD0809ENDPTOCHARPROCNEAR转化为可显示的16进制数ADDAL,0CMPAL,9JBETOCHAR1ADDAL,07HTOCHAR1RETTOCHARENDPDISPLAY_DATAPROCNEARMOVAH,ALANDAL,0FHCALLTOCHARMOVBUFFER1,ALMOVAL,AHANDAL,0F0HRORAL,4CALLTOCHARMOVBUFFER,ALMOVAL,AHXORAH,AHMOVBL,51255/5116进制的11/51VDIVBLORAL,0转化为可显示的10进制数MOVBUFFER4,AL整数部分MOVAL,10MULAHDIVBLORAL,0MOVBUFFER6,AL第一位小数MOVAL,10MULAHDIVBLORAL,0MOVBUFFER7,AL第二位小数RETDISPLAY_DATAENDPDLTIMEPROCNEARPUSHAXPUSHDXMOVDX,100延时100MSMOVAH,0FFHINT21HPOPDXPOPAXRETDLTIMEENDPEXITMOVAH,4CHINT21HINT_0PUSHDXPUSHAXCALLCLEARINTJCINT_0_0MOVDX,RD_IO8259INAL,DXINAL,DXMOVAL,COUNTERADDAL,1DAAMOVCOUNTER,ALMOVREDISPLAYFLAG,1INT_0_0MOVDX,IO8259_0MOVAL,20HOUTDX,ALPOPAXPOPDXIRETIFEXITPROCNEARPUSHAXPUSHDXMOVAH,06HMOVDL,0FFHINT21HPOPDXPOPAXJZIFEXIT1JMPEXITIFEXIT1RETIFEXITENDPINITPCIPROCNEARMOVAH,00HMOVAL,03HINT10HMOVAH,0B1HMOVAL,01HINT1AHCMPAH,0JZINITPCI2LEADX,MSG0INITPCI1MOVAH,09HINT21HJMPEXITINITPCI2MOVAH,0B1HMOVAL,02HMOVCX,DEVICE_IDMOVDX,VENDOR_IDMOVSI,0INT1AHJNCINITPCI3是否存在STARPCI9052板卡LEADX,MSG1JMPINITPCI1INITPCI3MOVDI,PCIBAR1MOVAH,0B1HMOVAL,09HINT1AH读取该卡PCI9052基地址JNCINITPCI4LEADX,MSG2JMPINITPCI1INITPCI4ANDCX,0FFFCHMOVPCI_IO_BASEADDRESS0,CXMOVDI,PCIBAR3MOVAH,0B1HMOVAL,09HINT1AH读取该卡拓展的八位IO基地址JNCINITPCI5LEADX,MSG3JMPINITPCI1INITPCI5ANDCX,0FFFCHMOVIO_BIT8_BASEADDRESS,CXMOVDI,PCIIPRMOVAH,0B1HMOVAL,09HINT1AH读取IRQ号JNCINITPCI6LEADX,MSG4JMPINITPCI1INITPCI6MOVPCI_IRQ_NUMBER,CLRETINITPCIENDPMODIFYADDRESSPROCNEARPUSHESMOVAL,PCI_IRQ_NUMBERCMPAL,08HJAEMODIFYVECTOR1ADDAL,08HIRQ07中断向量8FJMPMODIFYVECTOR2MODIFYVECTOR1ADDAL,70H08HIRQ8F中断向量70H77HMODIFYVECTOR2MOVINT_VECTOR,ALMOVAH,35HINT21HMOVINT_IP,BXMOVAX,ESMOVINT_CS,AXMOVAL,INT_VECTORLEADX,INT_0PUSHDSPUSHCSPOPDSMOVAH,25HINT21HPOPDSMOVBL,PCI_IRQ_NUMBERMOVDX,21HCMPAL,08HJBMODIFYVECTOR3MOVDX,0A1HMODIFYVECTOR3INAL,DXMOVINT_MASK,ALANDBL,07HMOVCL,BLMOVBL,1SHLBL,CLNOTBLANDAL,BLOUTDX,ALPOPESSTIRETMODIFYVECTORENDPCLEARINTPROCNEAR清除PCI9052、系统中断控制器的中断标志MOVDX,PCI_IO_BASEADDRESS0ADDDX,INTCSRINAL,DXANDAL,MASK_INT_9052JZCLEARINT3INCDXINAL,DXORAL,0CHOUTDX,ALMOVAL,PCI_IRQ_NUMBERCMPAL,08HJAECLEARINT1ANDAL,7ORAL,60HMOVDX,20HOUTDX,ALJMPCLEARINT2CLEARINT1ANDAL,7ORAL,60HMOVDX,0A0HOUTDX,ALMOVDX,20HMOVAL,62HOUTDX,ALCLEARINT2CLCRETCLEARINT3STCRETCLEARINTENDPENDSTARTMODELTINYPCIBAR1EQU14HPCI9052I/O基地址用于访问局部配置寄存器PCIBAR3EQU1CH8位I/O空间基地址(它就是实验仪的基地址,也为DMAIRQ号INTCSREQU4CHPCI9052INTCSR地址MASK_INT_9052EQU24HVENDOR_IDEQU10EBH厂商ID号DEVICE_IDEQU8376设备ID号STACK100DATAADDR_0809DW00F0HBUFFERDBHVLASTADDB0上一次AD转换值MSG3DBAD转换结果(前边是16进制数,后边是十进制数)IO8259_0DW00F0HRD_IO8259DW0000HIO_BIT8_BASEADDRESSDWPCI_IO_BASEADDRESS0DWPCI_IRQ_NUMBERDBINT_VECTORDBINT_MASKDBINT_CSDBINT_IPDBMSG0DBBIOS不支持访问PCIMSG1DB找不到STARPCI9052板卡MSG2DB读8位I/O空间基地址时出错MSG4DB读IRQ号出错COUNTERDBREDISPLAYFLAGDB0CODESTARTMOVAX,DATAMOVDS,AXNOPCALLINITPCICALLMODIFYADDRESS根据PCI提供的基地址,将偏移地址转化为实地址MOVAH,00HMOVAL,03HINT10H清屏MOVAH,09HLEADX,MSG3INT21HXORAL,ALJMPSTART6START1MOVCX,32HMOVBX,0START2CALLAD0809XORAH,AHADDBX,AXLOOPSTART2MOVAX,50XCHGAX,BXDIVBL五十次的平均值CMPAL,LASTADJZSTART3START6MOVLASTAD,ALCALLDISPLAY_DATAMOVAH,02HMOVDL,43MOVDH,0INT10HMOVAH,09HLEADX,BUFFERINT21H显示结果START3CALLDLTIMECALLIFEXITJZSTART1JMPEXITAD0809PROCNEARPUSHCXMOVAL,0MOVDX,ADDR_0809OUTDX,ALMOVDX,IO_BIT8_BASEADDRESSMOVCX,200AD08091MOVDX,ADDR_0809LOOP延时,等待AD转换完成MOVDX,ADDR_0809INAL,DXPOPCXRETAD0809ENDPTOCHARPROCNEAR转化为可显示的16进制数ADDAL,0CMPAL,9JBETOCHAR1ADDAL,07HTOCHAR1RETTOCHARENDPDISPLAY_DATAPROCNEARMOVAH,ALANDAL,0FHCALLTOCHARMOVBUFFER1,ALMOVAL,AHANDAL,0F0HRORAL,4CALLTOCHARMOVBUFFER,ALMOVAL,AHXORAH,AHMOVBL,51255/5116进制的11/51VDIVBLORAL,0转化为可显示的10进制数MOVBUFFER4,AL整数部分MOVAL,10MULAHDIVBLORAL,0MOVBUFFER6,AL第一位小数MOVAL,10MULAHDIVBLORAL,0MOVBUFFER7,AL第二位小数RETDISPLAY_DATAENDPDLTIMEPROCNEARPUSHAXPUSHDXMOVDX,100延时100MSMOVAH,0FFHINT21HPOPDXPOPAXRETDLTIMEENDPEXITMOVAH,4CHINT21HINT_0PUSHDXPUSHAXCALLCLEARINTJCINT_0_0MOVDX,RD_IO8259INAL,DXINAL,DXMOVAL,COUNTERADDAL,1DAAMOVCOUNTER,ALMOVREDISPLAYFLAG,1INT_0_0MOVDX,IO8259_0MOVAL,20HOUTDX,ALPOPAXPOPDXIRETIFEXITPROCNEARPUSHAXPUSHDXMOVAH,06HMOVDL,0FFHINT21HPOPDXPOPAXJZIFEXIT1JMPEXITIFEXIT1RETIFEXITENDPINITPCIPROCNEARMOVAH,00HMOVAL,03HINT10HMOVAH,0B1HMOVAL,01HINT1AHCMPAH,0JZINITPCI2LEADX,MSG0INITPCI1MOVAH,09HINT21HJMPEXITINITPCI2MOVAH,0B1HMOVAL,02HMOVCX,DEVICE_IDMOVDX,VENDOR_IDMOVSI,0INT1AHJNCINITPCI3是否存在STARPCI9052板卡LEADX,MSG1JMPINITPCI1INITPCI3MOVDI,PCIBAR1MOVAH,0B1HMOVAL,09HINT1AH读取该卡PCI9052基地址JNCINITPCI4LEADX,MSG2JMPINITPCI1INITPCI4ANDCX,0FFFCHMOVPCI_IO_BASEADDRESS0,CXMOVDI,PCIBAR3MOVAH,0B1HMOVAL,09HINT1AH读取该卡拓展的八位IO基地址JNCINITPCI5LEADX,MSG3JMPINITPCI1INITPCI5ANDCX,0FFFCHMOVIO_BIT8_BASEADDRESS,CXMOVDI,PCIIPRMOVAH,0B1HMOVAL,09HINT1AH读取IRQ号JNCINITPCI6LEADX,MSG4JMPINITPCI1INITPCI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论