ADC0809芯片有28条引脚,采用双列直插式封装,如图3所示。
图3 ADC0809外部引脚图
下面说明各引脚功能:
IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。
START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一+5V。 GND:地。
4)ADC0809的工作过程:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,
4
之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
2.8255A
8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8
位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。 1)8255A内部结构:
图4 8255A内部结构框图
由图4知,8255A由以下三部分组成:
(1) 外设接口部分(数据端口部分A、B、C) (2) 内部逻辑(A组控制和B组控制) (3) CPU接口部分 2)8255A的引脚及功能:
D7~D0:三态、双向数据线,与CPU数据总线连接,用来传送数据。 CS:片选信号线,低电平有效时,芯片被选中。
5
A1, A0:地址线,用来选择内部端口。
RD:读出信号线,低电平有效时,允许数据读出。 WR:写入信号线,低电平有效时,允许数据写入。
RESET:复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。 PA7~PA0:A口输入/输出信号线。 PB7~PB0:B口输入/输出信号线。 PC7~PC0:C口输入/输出信号线。 VCC:+5V电源。 GND:电源地线。
图5 8255A芯片引脚信号
3.七段数码管
发光二极管显示器LED是微型计算机应用系统中常用的输出装置。七段LED显示器内部由7个发光二极管和1个原点发光二极管组成(如图6所示)。根据各管的亮暗程度组合成16进制数,小数点和少数字符。常用的七段LED的管脚排列如下图所示。发光二极管显示器led根据内部发光二极管的接线形式可分为共阳极型和共阴极型。
6
图6 七段数码管引脚图
当为共阴型时,公共极低电平,段码高电平的段亮,低则灭;而共阳型则反之。实验中我们采用的是共阳极型的接法。共阳极型的七段数码表字形编码如下表所示(表1)
表1 七段数码管字形编码表
D7 dp 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
D6 g 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 D5 f 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 D4 e 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 D3 d 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 7
D2 c 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 D1 b 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 D0 a 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 七段 代码 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H C6H A1H 86H 8EH
2.1.2硬件连接
本设计过程中实验箱上相关芯片可按以下方式进行连线: (1)用16芯扁平线将CZA和CZB连接 (2)ADC0809芯片:
IN0→AOUT1(可调电压,VIN→+5V); IOWR→IOWR; IORD→IORD;
CLK→500K(单脉冲与时钟单元); ADDA、ADDB、ADDC→GND; CS4→8000H
JX6→JX17(数据总线)
2.2软件设计
2.2.1编程分析与程序框图
1.编程分析:
(1).ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:
MOV DX,ADPORT;ADC0809端口地址 OUT DX,AL;发CS和WR信号并送通道地址
(2).用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果. MOV DX,ADPORT;ADC0809端口地址 IN AL,DX
(3).循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量
2.程序框图
8