总设计图如下
编译、运行后可让灯按要求亮灭;
K0、K1均为低电平时,灯按照D1到D8的顺序依次亮灭,如图:
此时将K0改为高电平,灯按照D1到D8的顺序依次亮灭,如图:
此时将K1也变为高电平,灯全灭,如图:
再将K0、K1均变为低电平,灯又按照D1到D8顺序亮灭,如图:
2、LAB6000实验箱上的设计 思路:按照protues设计连线即可。 如图:
实验要求(二):8255、8259、8253的组合使用,不用判断开关状态。 整体思路:使用中断让灯按照要求亮灭。 软件流程图:
此处省略PB1到PB7与L1到L7的连
线
主程序: 中断服务子程序: 开始 DS,DX压栈,灯全灭 8253、8255初始化 关中断 ICW初始化 非规范装入中断向量 设置中断屏蔽字,开放IR2 置中断次数、灯初始状态并开中断 等待中断 N 中断次数到8? Y 恢复 结束
程序见附录
1、Proteus中的设计:
灯按要求亮灭 计数器减1 向8259A发中断结束命令字OCW2 中断返回