当前位置:文档之家› 电压采集电路设计

电压采集电路设计

电压采集电路设计目录一、设计目的............ -3 -二、设计内容............ -4 -三、整体设计方案设计....... -4 -四、设计任务............ -4 -五、硬件设计及器件的工作方式选择...-5 -1、硬件系统设计方框图:........ -5 -2、中断实现:8259A工作方式选择及初始化................ -5 -3、定时功能实现:8253的工作方式及初始化................ -6 -4、数码管显示及ADM数据传输:8255的工作方式及初始化........ -7 -5、模拟电压转换为数字量:ADC0809的初始化............... -7 -6、地址编码实现:74LS138及逻辑器件-77、显示功能:数码管显示 ..... -8 -六、软件设计............. -8 -1、主程序流程图.......... -8 -2、中断子程序 .......... -9 -3、显示子程序 ......... -10 -4、初始化........... -11 -8295A初始化流程图..... -11 -8253初始化流程图 (11)8255初始化流程图 (11)5、程序清单及说明....... -12 -七、本设计实现功能........ -15 -八、元件清单........... -16 -九、所遇问题与小结........ -16 -1、问题与解决........ -16 -2、小结体会.......... -仃- 附:系统硬件连线图........ -18 -一、设计目的1、了解和掌握74LS138 8253、8255A、ADC0809等可编程接口芯片、中断控制器8259以及LED显示器的原理和功能;2、能用上面的接口芯片构建一个简单的系统控制对象;3、进一步了解计算机得工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练;4、掌握接口电路的综合设计与使用。

二、设计内容利用《微型计算机原理课程》中所学的主要可编程接口芯片74LS138、8253、8255A、ADC080筛中断控制器8259设计一个模拟电压采集电路。

采用ADC0809 设计一个单通道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送至数码管LED旨示,采集完100个数据后停止采集过程。

三、整体设计方案设计首先模拟电压量通过ADC0809专换为数字量D,定时器8253计时,计时结束后向8259A发出中断请求,CPUP向应中断,接受8255的数据量D,并进行运算。

当进行了100 次数据采集之后,将平均电压通过8255送到数码管显示。

通过编码器,对器件进行地址选择。

四、设计任务1、选用8088CPI和适当的存储器芯片、接口芯片完成相应的功能2、画出详细的硬件连接图。

3、画出各程序的详细框图。

4、给出RAM地址分配表及接口电路的端口地址。

5、给出设计思路。

6、给出程序所有清单并加上必要的注释。

7、完成设计说明书。

五、硬件设计及器件的工作方式选择1、硬件系统设计方框图:芯片简要介绍:8259A是专门为了对8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。

单个的8259A能管理8级向量优先级中断。

在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。

8259A有多种工作方式,能用于各种系统。

各种工作方式的设定是在初始化时通过软件进行的。

在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。

主要功能:而在本设计中,8259的主要作用是当8253延时完毕之后,让C PU响应中断,发命令给8255,接收ACD0809勺电压信号。

所以,只要开通82 59A的一路中断(本设计开通了IR0)即可。

工作方式选择:单片8259AA上升沿有效,初始化时写入,IR0~IR7的中断号为08H~0FH一般全嵌套,费缓冲方式1,正常中断结束,CPU为8088,允许IR0中断,非循环优化级方式,L2~L0无效,不设置EOI命令。

3 、定时功能实现:8253 的工作方式及初始化芯片简要介绍:8253 内部有三个计数器,分别成为计数器0、计数器1 和计数器2,他们的机构完全相同。

每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。

每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK, 一个为门控信号输入端GATE另一个为输出端OUE每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR 一个计数执行部件CE和一个输出锁存器OL。

频率选择与计算:8253的最高工作频率为2.6MHz,而ADC的最高工作频率为100KHZ (100us),所以在选择参考频率f ref时,而且考虑到程序运行时的指令的时间,参考与计数器所装的数N的乘积:f ref*N,应远大于100us,可取为1ms。

若取参考频率f ref为:2MHz,则N的取值为:十进制的500(01F4H)。

工作方式选择:工作方式2 被称作速率波发生器。

进入这种工作方式,OUTi输出高电平,装入计数值n后如果GATE为高电平,贝U立即开始计数,OUTi保持为高电平不变;待计数值减到“ 1”和“ 0”之间,OUTi将输出宽度为一个CLKi 周期的负脉冲,计数值为“ 0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列,其脉冲宽度固定为一个CLKi 周期,重复周期为CLKi 周期的n 倍。

所以当每次计数完毕后,OUTi放出一个负脉冲,用于触发中断。

并且由于装数N小于FFFFH,所以只要一个计数器即可。

所以,本次设计可选择计数器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位,PC4~PC7),B组包括B 口及C 口(低4位,PCO~P C3).A组可设置为基本的I/O 口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B 组只能设置为基本I/O 或闪控式I/O 两种模式, 而这些操作模式完全由控制寄存器的控制字决定。

工作方式:PA口接数码管的位选,PB 口接ADC0809的数据线D0~D7, P C 口接数码管的位选,三个接口的工作方式均为方式0。

5、模拟电压转换为数字量:ADC0809 的初始化8 路输入通道,8 位A/D 转换器,即分辨率为8 位。

转换时间为100 卩s。

单个+ 5V电源供电,模拟输入电压范围0〜+ 5V,不需零点和满刻度校准。

ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8 路模拟输入之一到比较器。

START 上升沿将逐次逼近寄存器复位。

下降沿启动A / D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/ D转换完成,EOC变为高电平,指示A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

参考电压V+为5V, V-为0V,工作电压为5V。

6、地址编码实现:74LS138 及逻辑器件74LS138 为3—8 译码器,本设计需要地址选择的器件有 3 个(8259A,8255, 8253),所以只要一个74LS138即可。

CPU的数据传输线A0~A3分别接芯片的A0~A3,CPU的A4~A6分别接74LS138的A,B,C,而其他位通过与门接74LS138的S3( S3为高电平有效)。

而74LS138的输出Y0接8259A,Y1接8255,Y2接8253。

从而得出器件的地址编码如下表:器件起始地址8259A 10H8255 20H8253 30H7、显示功能:数码管显示本设计通过两位数码管进行电压大小的显示,其中一位为各位,另一位为小数点后第一位。

通过8255进行动态显示。

六、软件设计1、主程序流程图显示2、中断子程序3、显示子程序显示位为两位,所以把显示的电压扩大10倍,则可以显示小数点后的一I选择低位吐分离低位送低位数的延时,选择高位』I --- 位I送高位数的延时返^4、初始化8295A初始化流程图ICW1,单片8259牛上升沿有效,初ICW2,IRO~IR7的中断号为ICW4,一般全嵌套,费缓冲方式I 允许JRO中0CW2,非循环优化级方式,L2~L0无8253初始化流程图8255初始化流程图工作方式0,A、C 口输5、程序清单及说明DATASSEGMENTDATA1DB3FH,06H,56H,66H,7DH,07H,7FH,6FH,77H,7CH,39H,5EH; 数码管显示向量表SUMDD00H; 数字电压的累加变量N DB00H; 采集数据的次数V DB00H; 显示的数字电压量DATASENDSCODESSEGMENTASSUMCES:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVSI, OFFSETDATA1M0\AL,13H;ICW1,单片8259A,上升沿有效,初始化时写入ICW4OUT 10H,ALMO\AL,08H;ICW2,IR0~IR7 的中断号为08H~0FH0UT 11H,ALMO\AL,80H;ICW4, —般全嵌套,费缓冲方式1,正常中断结束,CP为8088OUT 11H,ALMO\AL,0FEH;OCW1 允许IR0中断OUT 11H,ALMO\AL,00H ;OCW2非循环优化级方式,L2~L0无效,不设置EO命令OUT 10H,ALCLI;关中断,填写中断向量表MOVAX,0MOVES,AXMOVDI,20HMOVAX, OFFSETINTPCLDSTOSW将中断服务程序首址偏移值送20HMOVAX, SEGINTPSTOSW将中断服务程序首址段值送20HSTI;开中断MOVAL,34H; 选择计数器0,工作方式2,先写低8为再写高8位OUT 33HMOVAL,0F4H; 给低8位赋值OUT 30H,ALMOVAL,01H; 给高8位赋值OUT 30H,ALMO\AL,82H;均为工作方式0, A C口输出,B口输入OUT 23H,ALA: MOVDI, OFFSETSUM; 把显示的数送给VMOVAX,DIMOVDI, OFFSETVDIV AX,100MULAL,50DIV AX,256MOVDI, OFFSETVMOVDI,AXMONDI, OFFSEEUMSUM青零MOVDI,00HMOVDI, OFFSETN;N 清零MOVDI,00HB: MOVDI, OFFSETNCMPDI,100JE AMOVDI, OFFSETXMOVAX,DIMOVCX,AX* 50/ 256; 由于显示位为两位,所以把显示的电压扩大10倍,则可以显示小数点后的一位MOVAL,01H ; 选择低位段选OUT 22H,ALMOVBL,CL - 10H; 分离低位的数MOVAL,(BL +SI)OUT 20H,AL; 送低位数的段选CALL DELAY延时MOVA L,02H ; 选择高位的位选OUT 22H,ALMOVBL,C L / 10; 分离高位的数MOVAL,(BL +SI) ;OUT 20H,AL; 送高位数的段选CALL DELAY延时JMP B; 返回STARTENDPINTP PROC NEARIN AL,21H ;读取数字电压量MOVDI, OFFSETSUMANDAX,00001111BADDDI,AX ;SUM=SUM+ 集数字电压MOVDI, OFFSETN; 采集累加次数加1MOVCL,DIMOVCH,CL+1MOVDI,CHIRETINTP ENDPMOVAH,4CHINT 21HCODESENDSEND START七、本设计实现功能从附图的硬件连线图中,Vin 口送入模拟电压量,然后再数码管上显示电压的大小,其中上面的为个位,下面的为小数点后第一位。

相关主题