连线图:
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