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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

电压采集电路设计.docx

1、电压采集电路设计一、设计目的 2二、设计内容 2三、整体设计方案设计 2四、设计任务 3五、硬件设计及器件的工作方式选择 31、硬件系统设计方框图: 32、中断实现:8259A工作方式选择及初始化 43、定时功能实现:8253的工作方式及初始化 44、数码管显示及ADC的数据传输:8255的工作方式及初始化 55、模拟电压转换为数字量:ADC0809的初始化 56、地址编码实现:74LS138及逻辑器件 67、显示功能:数码管显示 6六、软件设计 71、主程序流程图 72、中断子程序 73、显示子程序 84、初始化 98295A初始化流程图 98253初始化流程图 98255初始化流程图 95

2、、程序清单及说明 10七、本设计实现功能 13八、元件清单 14九、所遇问题与小结 141、问题与解决 142、小结体会 15附:系统硬件连线图 16一、设计目的1、了解和掌握74LS138、8253、8255A、ADC0809等可编程接口芯片、中断控制器8259以及LED显示器的原理和功能;2、能用上面的接口芯片构建一个简单的系统控制对象;3、进一步了解计算机得工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练;4、掌握接口电路的综合设计与使用。二、设计内容利用微型计算机原理课程中所学的主要可编程接口芯片74LS138、8253、825

3、5A、ADC0809和中断控制器8259设计一个模拟电压采集电路。采用ADC0809设计一个单通道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送至数码管LED指示,采集完100个数据后停止采集过程。三、整体设计方案设计 首先模拟电压量通过ADC0809转换为数字量D,定时器8253计时,计时结束后向8259A发出中断请求,CPU响应中断,接受8255的数据量D,并进行运算。当进行了100次数据采集之后,将平均电压通过8255送到数码管显示。通过编码器,对器件进行地址选择。四、设计任务1、选用8088CPU和适当的存储器芯片、接口芯片完成相应的功能。2、画出详细的硬件

4、连接图。3、画出各程序的详细框图。4、给出RAM地址分配表及接口电路的端口地址。5、给出设计思路。6、给出程序所有清单并加上必要的注释。7、完成设计说明书。五、硬件设计及器件的工作方式选择1、硬件系统设计方框图:2、中断实现:8259A工作方式选择及初始化 芯片简要介绍:8259A是专门为了对8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。 在总线控制器的控制下,8259

5、A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。 主要功能:而在本设计中,8259的主要作用是当8253延时完毕之后,让CPU响应中断,发命令给8255,接收ACD0809的电压信号。 所以,只要开通8259A的一路中断(本设计开通了IR0)即可。工作方式选择:单片8259AA,上升沿有效,初始化时写入,IR0IR7的中断号为08H0FH,一般全嵌套,费缓冲方式1,正常中断结束,CPU为8088,允许IR0中断,非循环优化级方式,L2L0无效,不设置EOI命令。3、定时功能实现:8253的工作方式及初始化 芯片简要介绍:8253内部有

6、三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 频率选择与计算:8253的最高工作频率为2.6MHz,而ADC的最高工作频率为100KHz(100us),所以在选择参考频率fref时,而且考虑到程序运行时的指令的时间,参考与计数器所装的数N的乘积:fref*N,应远大于

7、100us,可取为1ms。若取参考频率fref为:2MHz,则N的取值为:十进制的500(01F4H)。 工作方式选择:工作方式2被称作速率波发生器。进入这种工作方式, OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUTi保持为高电平不变; 待计数值减到“1”和“0”之间, OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLKi周期, 重复周期为CLKi周期的n倍。所以当每次计数完毕后,OUTi放出一个负脉冲,用于触发中断。并且由于装数N小于FFFFH,

8、所以只要一个计数器即可。所以,本次设计可选择计数器0,工作方式2,装数N为01F4H。4、数码管显示及ADC的数据传输:8255的工作方式及初始化 芯片简要介绍:8255是一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模

9、式完全由控制寄存器的控制字决定。 工作方式:PA口接数码管的位选,PB口接ADC0809的数据线D0D7,PC口接数码管的位选,三个接口的工作方式均为方式0。5、模拟电压转换为数字量:ADC0809的初始化8路输入通道,8位AD转换器,即分辨率为8位。 转换时间为100s。单个5V电源供电,模拟输入电压范围05V,不需零点和满刻度校准。ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电

10、平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。参考电压V+为5V,V-为0V,工作电压为5V。6、地址编码实现:74LS138及逻辑器件 74LS138为38译码器,本设计需要地址选择的器件有3个(8259A,8255,8253),所以只要一个74LS138即可。CPU的数据传输线A0A3分别接芯片的A0A3,CPU的A4A6分别接74LS138的A,B,C,而其他位通过与门接74LS138的S3(S3为高电平有效)。而74LS138的输出Y0接8259A,Y1接8255,Y2接8253。从而得出器件

11、的地址编码如下表:器件起始地址8259A10H825520H825330H7、显示功能:数码管显示 本设计通过两位数码管进行电压大小的显示,其中一位为各位,另一位为小数点后第一位。通过8255进行动态显示。六、软件设计1、主程序流程图YN 2、中断子程序3、显示子程序4、初始化8295A初始化流程图8253初始化流程图8255初始化流程图 5、程序清单及说明DATAS SEGMENT DATA1 DB 3FH,06H,56H,66H,7DH,07H,7FH,6FH,77H,7CH,39H,5EH;数码管显示向量表 SUM DD 00H;数字电压的累加变量 N DB 00H;采集数据的次数 V

12、DB 00H;显示的数字电压量DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV SI,OFFSET DATA1 MOV AL,13H;ICW1,单片8259A,上升沿有效,初始化时写入ICW4 OUT 10H,AL MOV AL,08H;ICW2,IR0IR7的中断号为08H0FH OUT 11H,AL MOV AL,80H;ICW4,一般全嵌套,费缓冲方式1,正常中断结束,CPU为8088 OUT 11H,AL MOV AL,0FEH;OCW1,允许IR0中断

13、 OUT 11H,AL MOV AL,00H;OCW2,非循环优化级方式,L2L0无效,不设置EOI命令 OUT 10H,AL CLI;关中断,填写中断向量表 MOV AX,0 MOV ES,AX MOV DI,20H MOV AX,OFFSET INTP CLD STOSW;将中断服务程序首址偏移值送20H MOV AX,SEG INTP STOSW;将中断服务程序首址段值送20H STI;开中断 MOV AL,34H;选择计数器0,工作方式2,先写低8为再写高8位 OUT 33H MOV AL,0F4H;给低8位赋值 OUT 30H,AL MOV AL,01H;给高8位赋值 OUT 30H

14、,AL MOV AL,82H;均为工作方式0,A、C口输出,B口输入 OUT 23H,AL A: MOV DI,OFFSET SUM;把显示的数送给V MOV AX,DI MOV DI,OFFSET V DIV AX,100 MUL AL,50 DIV AX,256 MOV DI,OFFSET V MOV DI,AX MOV DI,OFFSET SUM;SUM清零 MOV DI,00H MOV DI,OFFSET N;N清零 MOV DI,00H B: MOV DI,OFFSET N CMP DI,100 JE A MOV DI,OFFSET X MOV AX,DI MOV CX,AX*50/

15、256; 由于显示位为两位,所以把显示的电压扩大10倍,则可以显示小数点后的一位 MOV AL,01H;选择低位段选 OUT 22H,AL MOV BL,CL-10H;分离低位的数 MOV AL,(BL+SI) OUT 20H,AL;送低位数的段选 CALL DELAY;延时 MOV AL,02H;选择高位的位选 OUT 22H,AL MOV BL,CL/10;分离高位的数 MOV AL,(BL+SI); OUT 20H,AL;送高位数的段选 CALL DELAY;延时 JMP B;返回START ENDPINTP PROC NEAR IN AL,21H;读取数字电压量 MOV DI,OFFS

16、ET SUM AND AX,00001111B ADD DI,AX;SUM=SUM+采集数字电压 MOV DI,OFFSET N;采集累加次数加1 MOV CL,DI MOV CH,CL+1 MOV DI,CH IRET INTP ENDP MOV AH,4CH INT 21HCODES ENDS END START 七、本设计实现功能 从附图的硬件连线图中,Vin口送入模拟电压量,然后再数码管上显示电压的大小,其中上面的为个位,下面的为小数点后第一位。系统大概每隔0.1s进行100次数据采集完整的,然后把平均量送到数码管显示。八、元件清单名字数量功能80881CPU8259A1中断82823

17、地址锁存82861数据缓冲与门若干要有14路,地址编码非门1存储器/其他IO器件选择82531定时82551并行接口74LS1381地址编码九、所遇问题与小结 1、问题与解决1)虽然ADC芯片在课程中没有设计到,通过上网查阅资料,了解芯片管脚及其主要功能。2)关于各种器件地址如何进行编码。由于本设计系统比较简单,主要通过与门及3-8译码器,运用比较简单的编址方法进行解决。3)关于8088的一些其他连线。从硬件图可以看到,没有给出完整的芯片管脚图,由于如RESET、REDAY、DEN、VCC、GND管脚不影响功能实现,所以只画出影响功能实现的管脚图。 2、小结体会通过本次微机课程设计,更加进一步

18、的理解了课本上的知识,并能够加以扩展,从而应用于实践当中,在软件DXP中,画出了硬件系统图。并分别画出了程序流程图,并写出了程序。这几天的课程设计令我受益匪浅,由于一开始不熟悉,找元件、布线花了不少时间,遇到一些不懂的地方就上网或者问用过的同学寻求解决方案。很多平时模棱两可的知识点都认真复习并实践了,毕竟看程序和写程序是有很大区别的。在设计程序的过程中,我不仅对以前学过的汇编语言进行了重温和查漏补缺,而且对程序整体的把握和细节的处理能力得到了很大的提高。对微机接口技术及编程技巧提升了认识,意识到我们所学的东西将来都是要付诸实践的,所以一切要从实际情况出发,理论联系实际,这样才能真正发挥我们所具备的能力。附:系统硬件连线图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1