连线图:
8259A ADC0809
IR0 代表灯泡
8255(用程序来实现灯泡的亮不亮的情况)
(1)ADC0809引脚功能介绍:
提供一个8通道的多路开关和寻址逻辑
IN0~IN7:8个模拟电压输入端
ADDA、ADDB、ADDC:3个地址输入线,本系统是在选通道0路上的来进行转换。
ALE:地址锁存允许信号
ALE的上升沿用于锁存3个地址输入的状态,然后由译码器从8个模拟输入中选择一个模拟输入端进行A/D
ADC0809的数字输出
ADC0809内部锁存转换后的数字量
具有三态数字量输出端D0~D7
配合输出允许信号OE
当输出允许信号OE为高电平有效时,将三态锁存缓冲器的数字量从D0~D7输出
(2)8255有四个寄存器,地址为200H-203H,分别为A口,B口,C口,和控制口 .PA0——PA7:A口数据线;PB0——PB7:B口数据线;PC0——PC7:C口数据线,这24根信号线均可用来连接I/O设备,它们既可心传送数字信号量,也可以传送开关量信号。
先写8255的控制字之后,再能给C口值。本系统所用的是三个口都在方式A的工作模式下的,其中CP3口是有意义的接了一个灯,控制灯的工作状态。
8255A命令控制字格式:
A组 B组
1
D6 D5 D4
D3
D2
D1
D0
特征位 A 组方式 A口 B组方式 B口
00:方式 0 0:输出 0:方式0 0:输出
01:方式 1 1:输入 1:方式1 1:输入
11:方式 2
C7-C4 C3-C0
0:输出 0:输出
1:输入 1:输入
C端口置位/复位控制:
D7 D6 D5 D4 D3 D2 D1 D0
特征位0 任意 位选择 置位/复位 0为复位,1为置位
(3)一片8259A能直接管理8级中断。此实验只用了一级,只用了IR0这一个中断源。没有级联情况,所以无需初始化ICW3。IR0——IR7接口引脚是中断请求信号,由高电平或上升沿有效。用于接收外设接口来的中断请求。
8259A命令控制字格式:
ICW1:
A0 D7 D6 D5 D4 D 3 D 2 D1 D0
0 A7 A6 A5 1 LTIM ADI SNGL IC4
ICW2:
A0 D7 D6 D5 D4 D 3 D 2 D1 D0
1 M7 M6 M5 M4 M3 M2 M1 M0
ICW4:
A0 D7 D6 D5 D4 D 3 D 2 D1 D0
1 0 0 0 SFNM BUF M/S AEOI uPM