多功能数字电压电流表的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 摘要
本次课程设计利用实验箱设计一个可测量多路电压的多功能数字电压电流表,按键控制分时显示测量值。设计时用查询方式、采用A/D转换器ADC0809采集3路被测的电压信号,并利用按键来控制各路的通断与工作与否。实验中用八段数码管显示测量数值,测量数值精确到小数点后两位。
二. 关键词
ADC0809 电压表8255 8253 按键8段数码管
正文
三.元件功能及原理介绍
3.1 8253的功能和使用
1.8253是一种可编程的定时器或计数器。本次设计中利用8253的定时作用,用于产生一个稳定的脉冲。该脉冲用于提供ADC0809的触发脉冲。本设计中使用一片8253芯片,其线路如图3.1所示。端口地址如表3.1所示。系统中,8253在通道0下工作于方式2。。8253 通道入口接1MHz的信号源,输出接ADC0809的时钟端,数模转化用,这里的0计数器仅当作一个时Array钟脉冲用。
2.《8253引脚图》当A1A0分别为00 01 10 11
时分别选中三个通道和控制字寄存器在8088
系统中,8088的A1A0分别与8253的A1A0
相连在8086系统中,通常将8253的8位数
据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连Intel 8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定6种工作方式之一种;由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。表8-4 控制功能表CS RD WRA1A0功能0100 0写计数器00100 1写计数器10101 0写计数器20101 1写控制字寄存器0010 0读计数器00010 1读计数器10011 0读计数器20011 1无操作1XXX X禁止使用011X X无操作计数器(0 ~ 2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间= 时钟脉冲周期X预置的计数初值每个通道:CLK计数脉冲或标准脉冲输入端OUT 计数值为0时输出一个脉冲GATE允许端,当GATE=1时允许计数
3.读/写控制逻辑;
CS:片选信号,低电平有效;
RD:读信号,低电平有效;
WR:写信号,低电平有效
A1A0:端口选择信号
4.三个通道( 0 ~ 2);
每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD 码)计数。采用二进制计数时, 最大计数值是FFFFH , 采用BCD 码计数时。 最大计数值是9999。与此计数器相对应, 每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。
当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK 端输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT 端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK 输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”, 待计数值计到“0”。OUT 将有输出,表示定时时间到。允许从CLK 输入的时钟频在1~2MHz 范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到: 定时系数=需要定时的时间/时钟脉冲周期
①设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;
②计数/定时:向通道写入计数值,启动计数操作;
③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。
④计数到:当计数器减1为0时,通过引脚OUTi 向外输出“到”的脉冲信号。 计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。
锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。
3.2 8255的功能与使用
8255是一种可编程的外围接口芯片,本设计中用3个8255分别进行键盘状态的输入和显示数据的输出。8255的数据线、片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用。
8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;
方式0 :基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.
方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。
(1)8255的初始化
上表为选择控制字的格式。其中D7是标志位,本次设计中D7恒为1.D6,D5为A口的方式选择位。D4为A口的输入输出选择位。D3为C口的方式选择位。D0为C口的输入输出选择字。而D2为B口的方式选择位,D1为B口的输入输出选择位。