单片机模拟流水线控制设计(10 页)Good is good, but better carries it
精益求精,善益求善
设计思路 根据设计要求,采纳 8255 芯片来控制发光二极管的循环工作,8255 在单片机应用系统中被广泛用作可编程外部 I/O 扩展接口
首先,采纳 8031 与 8255 的连接,有利于数据的处理与远距离的通讯
此项程序用 8255A 作为控制口电路,由 PB 口提供控制码,所以在 8255 的 B 口输出
同时,利用发光二极管代替流水线中的各个工序,设计要求利用 3 个发光二极管来代替
其中用 PB0 控制灯 L1,PB1 控制灯 L2,PB2 控制灯L3,PB3 控制灯 L4,PB4 控制灯 L5 ,分别用 3 根导线一一对应的连接他们
工序按顺序进行,也就是说 3 个二极管的亮灭也是顺序进行,工序轮流循环,控制时间间隔 2 秒 3 秒 4 秒,所以在控制两个相邻的二极管的程序中加上准确的延时程序,为了实现工业流水线的循环执行从而在主程序后加上循环语句,根据设计的要求,3 个发光二极管的亮灭不但有时间间隔而且有强行中断,所以添加中断程序以实现中断,同时在设计基本要求的基础上添加了发挥部分使得工序正常运行时绿色指示灯亮,工序中断时红色报警灯闪耀报警
另外设置另一排发光二级管的灯 L5 为工作运行指示灯用 P1
2 控制,当程序开始正常运行时 P1
2 输出为 0,代表五道工序的三盏小灯开始依次亮灭,所以工作运行指示灯在工作过程中(非中断)一直亮,直至中断返回
还有设置灯 L8 为中断停止灯用 P1
5 控制,当程序中断后,P1
5 输出 0 亮 0
1 秒输出1 灭 0
1 秒,这样会一直循环下去(中断停止灯闪耀),直至中断返回 P1
5 输出 1 一直亮着
至关重要的外部中断源 INT0(P3
2)接一手动开关,可以用来控制执