基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例
来源:互联网 发布:dd3000软件 编辑:程序博客网 时间:2024/05/09 14:41
1、本例使用8-3编码芯片74HC148实现外部中断扩展,可以实现对8路外部中断信号按优先级进行处理
2、74HC148是带优先级的编码芯片,对于外部的8根数据输入线,只要有一根或者几根被置0,编码芯片会按照又搞到低的优先级进行编码,由ABC引脚输出3位2进制数,而且GS引脚会自动变为0,本例将GS引脚连接到说、单片机的外部中断10,当GS为0时即会触发外部中断
3、在keil c51中新建工程ex64,编写如下程序代码,编译并生成ex64.hex文件
// 利用74HC148芯片扩展外部中断数量
#include <reg51.h>
#include <intrins.h>
#include <reg51.h>
#include <intrins.h>
//外部中断0中断服务函数
void EX_INT0(void) interrupt 0
{
unsigned char temp = P2 & 0x07;
P0 = _cror_(0x7f,temp); //中断控制点亮拨码开关对应的LED
}
//主函数
void main(void)
{
unsigned int i;
IE = 0x81; //外部中断0寄存器设置
IT0 = 0; //低电平触发中断
while(1)
{
for(i = 0;i < 30000;i++); // 延时
if(INT0 == 1) // INT0为1(即CS为1),拨码开关全部处于断开状态,关闭所有LED
{
P0 = 0xff;
}
}
}
void main(void)
{
unsigned int i;
IE = 0x81; //外部中断0寄存器设置
IT0 = 0; //低电平触发中断
while(1)
{
for(i = 0;i < 30000;i++); // 延时
if(INT0 == 1) // INT0为1(即CS为1),拨码开关全部处于断开状态,关闭所有LED
{
P0 = 0xff;
}
}
}
4、在proteus中新建仿真文件ex64.dsn,电路原理图如下所示
5、将ex64.hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果
阅读全文
0 0
- 基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例
- 基于proteus的51单片机仿真实例七十九、8位数码管驱动芯片max7221应用实例
- 基于proteus的51单片机仿真实例七十三、3-8译码器74HC138应用实例
- 基于proteus的51单片机仿真实例七十五、串入并出芯片74HC595应用实例
- 基于proteus的51单片机仿真实例六十八、8位数据锁存器74HC573应用实例
- 基于proteus的51单片机仿真实例六十九、串口转并口器件74HC164应用实例
- 基于proteus的51单片机仿真实例七十一、并口转串口器件74HC165应用实例
- 基于proteus的51单片机仿真实例七十四、4-16译码器74HC154应用实例
- 基于proteus的51单片机仿真实例二、关于proteus
- 基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例
- 基于proteus的51单片机仿真实例八十、模数转换器ADC0832应用实例
- 基于proteus的51单片机仿真实例四、第一个proteus仿真实例
- 基于proteus的51单片机仿真实例五、第一个proteus仿真实例(续)
- 基于proteus的51单片机仿真实例七十、串口转并口器件74HC164应用实例(续)
- 基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)
- 基于proteus的51单片机仿真实例七十八、使用BCD译码器实现8位数码管显示应用实例
- 基于proteus的51单片机仿真实例一、说明
- 基于proteus的51单片机仿真实例六十、8位数码管显示实例
- Codeforces Round #416 C. Vladik and Memorable Trip (DP)题解
- 【Redis】redis实例
- python函数的作用域和名称空间
- 激光切割机上的步进电机和伺服电机有什么区别
- LeetCode 167. Two Sum II
- 基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例
- 动态生成XML文件
- 卡牌伎俩(Card Trick)
- 什么是Solr
- Web网站评论功能数据库设计和开发
- 基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例
- java笔记 项目分析
- Spring配置事务中@Transactional各个属性定义
- [一天几个linux命令] 改变权限:chmod