基于Proteus的51系列单片机仿真实例及74HC148编码芯片应用实例
发布时间
阅读量:
阅读量
本例采用8-3编码芯片74HC148进行外部中断扩展技术的实施,并通过该技术实时监控并按照优先级顺序处理8路外部中断信号的输入
2、74HC148是一种具有优先级的编码芯片。对于外部的数据输入端子中的八根数据线而言,在其中一根或几根被设为低电平时(Low),该编码芯片将按照从高到低的顺序对这些信号进行优先级编排,并由ABC引脚输出三位二进制数值。与此同时,在这种情况下(即当有多个信号被置零时),GS引脚会被设置为低电平(Low)。在此案例中将该GS引脚与单片机的外设中断10相连。
3、在keil c51中新建工程ex64,编写如下程序代码,编译并生成ex64.hex文件
// 利用74HC148芯片扩展外部中断数量
#include <reg51.h>
#include <intrins.h>
//外部中断源为零时的中断服务函数
void EX_INT₀(void) @interruption(₀)
{
unsigned char temp = P₂ & ₀x₀₇;
P₁ |= CROR((SFR) ₀x₇F, (UCHAR) temp); //通过CROR指令点亮拨码开关对应的LED指示灯
}
主函数
主函数
for循环从i=0开始执行;// 延时操作
如果INT变量的值等于1:// 即CS变量为1(等同于拨码开关全部处于关闭状态)
则将P引
全部评论 (0)
还没有任何评论哟~
