⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用74ls148与74ls21扩展中断.c

📁 AVR单片机仿真100例
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 用74LS148/74LS21扩展中断
//-----------------------------------------------------------------
//  说明: 本例利用74LS148扩展外部中断,对于外部的八个控制开关,任意
//        一个开关合上都将在GS引脚输出低电平,触发外部中断,优先级最
//        高的是输入引脚7,最低的是输入引脚0.中断触发后,中断例程通过
//        读取A2,A1,A0的输出,判断是哪一路按键触发中断.
//        
//        对于74LS21,任何一个按键都会触发中断,它并没能真正实现中断
//        扩展,而是仅利用了INT0,省去了对多个按键的轮询判断.
//                 
//-----------------------------------------------------------------
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U   unsigned char
#define INT16U  unsigned int

//此LED由主程序控制
#define LED_BLINK()  PORTB ^= _BV(PB0)
//-----------------------------------------------------------------
// 主程序
// 说明:由于Proteus中74LS148存在问题,与输入引脚0对应的开关控制无效.
//-----------------------------------------------------------------
int main()
{     











}

//-----------------------------------------------------------------
// INT0中断服务程序(四个按键中任何一个按下时都会触发INT0中断)
//-----------------------------------------------------------------
ISR (INT0_vect)
{




}

//-----------------------------------------------------------------
// INT1中断服务程序(当有按钮按下时,GS为零,触发INT1中断)	 
//-----------------------------------------------------------------
ISR (INT1_vect)
{	





}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -