第 1 页 共 6 页2
8255A 与开关 K1 、K2 及发光管 L1 、L2 的连接如下图所示,试回答下列问题:① 当 A15 ~A2=11000011101011 时,译码电路输出为低电平0,系统不用中断,请写出 8255A 的 4 个端口地址
② 确定 8255 的 A 口和 B 口的工作方式
③ 要求当 K1 闭合时 L1 灯点亮, K1 短开时 L1 熄灭;当 K2 闭合时 L2 灯点亮,K2 短开时 L2 熄灭,分别写出初始化程序段和控制程序段
解:(1)由 A15~A2=11000011101011,可知 A 口地址为: OC3ACH, B 口地址为: OC3AEH, C 口地址为: OC3ADH, 控制口 D 地址为: OC3AFH (2) A 口:工作于方式0 输出;B 口工作方式0 输入(3)初始化程序:MOV DX ,0C3AFH MOV AL ,82H OUT DX , AL ;写 8255 的控制字AA : MOV DX ,0C3AEH IN AL ,DX ;读 B 口的内容MOV DX ,0C3ACH OUT DX ,AL ;送数据到A 口CALL DELAY ;调用延时子程序第 2 页 共 6 页JMP AA 3.某 8 位 CPU 控制系统,要用8253 生成周期为0
2s 的时钟信号供外设使用,设系统可以提供的时钟频率是2
5MHZ,8253 的端口地址是40H~43H
问:①根据题意分析计算,设计出8253 硬件电路
② 根据所设计的硬件电路进行8253 初始化编程
解:①根据题意分析,计算计数初值N:N = f cl k/ fout = 2
5MHZ/5HZ=500000 500000>65536(最大计数初值) ,所以要两个计数器级联使用
设计数器 0 和计数器 1 级联使用,电路图如下:⋯⋯②初始化编成:计数器 0、1 工作在