AVR外部中断INT1检测按键,使用LED作指示

发布者:BlissfulDreams最新更新时间:2018-07-16 来源: eefocus关键字:AVR  外部中断  INT1检测  LED 手机看文章 扫描二维码
随时随地手机看文章

实验内容: 

使用AVR的外部中断INT1检测PD3Key,如果有按键按下,则唤醒休眠的MCU,并使它的PB口的LED做加1指示。


#include


#define DISP_DDR DDRB

#define DISP_PORT   PORTB

#define IN_PD3  cbi(DDRD,3)  //PD3

#define SET_PD3  sbi(PORTD,3)

#define GET_PD3  gbi(PIND,3)

//PORTA|=BIT(5);    就是把把第6位置1;

//PORTA=~BIT(5);   就是把第6位置零

//DDRB |=  0x80;  //等于“sbi(DDRB,7);” 置1位

//DDRB &= ~0x80;  //等于“cbi(DDRB,7);”清零


/*--------------------------------------------------------

程序名称:外部中断服务程序

-------------------------------------------------------*/

#pragma interrupt_handler int1_isr:3

//是一个编译器的关键字声明,声明这个函数是一个中断服务函数,后面跟的数字是中断向量号。

void int1_isr(void)

{

 GICR &= 0b01111111;  // disable int1 interrupt   通用中断控制寄存器 GICR

 DISP_PORT++;   // 显示口指示加1,指示被按次数

 delay50ms(4);

 GICR |= 0b10000000;   // enable int1 interrupt

}

/*--------------------------------------------------------

程序名称:外部中断初始化程序

--------------------------------------------------------*/

void int1_init()

{

 IN_PD3;    // set PD3/INT1 as input

 SET_PD3;   // set PD3/INT1 as output,high level,avoid triggering

 MCUCR |= 0b11110011;  // set PD3/INT1 as low level active

 GICR  |= 0b10000000;  // enable global interrupt

 SEI();       // enable external interrupt

}

void main(void)

{

 DISP_DDR  = 0xFF;

 DISP_PORT = 0x00;

 int1_init();

 asm("sleep");   // set mcu as sleep modle

 //开机后MCU处于SLEEP状态,之后按按键,LED作出了简单指示。


 while(1);

}


关键字:AVR  外部中断  INT1检测  LED 引用地址:AVR外部中断INT1检测按键,使用LED作指示

上一篇:AVR单片机中断的学习探究(外部中断与内部中断)
下一篇:atmega8 例程:INT1外部中断

推荐阅读最新更新时间:2024-03-16 16:08

英飞凌多模式反激控制器改善中高端LED照明性能并降低功耗
2016年3月7日,德国慕尼黑讯 英飞凌科技股份公司(FSE: IFX / OTCQX: IFNNY)近日推出一款面向LED应用的多模式反激控制器IC。它可缩短灯具 点亮时间 ,节省器件数量,降低运行和待机功耗。IRS2982S专为满足中高端LED设计的性能和效率要求而设计,是一款适合各种室内、室外、办公室和工厂照明方案需求的多功能控制器解决方案。 IRS2982S配备600 V高压启动单元,使得 点亮时间 小于0.5秒,而且节省了外部分压电阻。可配置的临界导通模式(CrCM)和断续导通模式(DCM)确保它满足各种各样的应用需求,适合全电流范围内的调光LED转换器设计。IRS2982S的主要应用是CV(恒压)模式的隔离
[电源管理]
英飞凌多模式反激控制器改善中高端<font color='red'>LED</font>照明性能并降低功耗
LED市场日益红火,企业该如何迎接
今年年初以来,LED照明下游应用市场需求超出预期持续快速增长,直接带动了中游封装和上游外延芯片产能的快速消化,部分企业甚至出现了去年难得一见的订单排队现象。产业链各环节多家企业24小时产能全开,却依然不同程度地出现产品供不应求的状况。那么,是什么原因带来了如此火爆的市场需求?这一波行情究竟又能持续多久?    全产业链现火爆行情   “随着LED照明产品价格的下降,公司的销售也出现了爆发性增长。”LED照明应用企业勤上光电股份有限公司董事长李旭亮表示,“目前公司24小时满负荷生产,但仍满足不了客户的需求,需要外包部分生产环节。”   下游照明市场快速增长的同时给中游封装企业带来了大量订单。“今年前几个月封装订单已经让我们
[模拟电子]
<font color='red'>LED</font>市场日益红火,企业该如何迎接
弱弱地问一句:您还在为LED调光发愁吗?
现在LED灯已经广泛用于照明行业的各个领域,舞台灯光行业的LED舞台灯光如LED摇头灯、LED投光灯、LED洗墙灯、LED图案效果灯等舞台LED灯已受到广大用户的认可和喜爱。 众所周知LED作为一种光源,调光是很重要的。不仅是为了在家居中得到一个更舒适的环境,在今天来说,减少不必要的电光线,以进一步实现节能减排的目的是更加重要的一件事。而且对于LED光源来说,调光也是比其他荧光灯、节能灯、高压钠灯等更容易实现,所以更应该在各种类型的LED灯具中加上调光的功能。 一、采用直流电源led的调光技术 用调正向电流的方法来调亮度要改变LED的亮度,是很容易实现的。首先想到的是改变它的驱动电流,因为LED的亮度是几乎和它
[电源管理]
四大举措让LED照明行业起死回生
  自2011年以来经常听闻有LED照明企业倒闭、老板跑路的新闻,而这些倒闭和跑路的一个很重要的原因就是资金链断裂,同时,还有不少LED照明企业在排队上市,难道只有上市才能解决资金问题?为什么不向市场要资金而跑去上市圈钱呢?LED照明企业的出路在哪裡?   思路决定出路   也许主要是受国家所给予的政策支援有关,很多LED照明企业一开始就看中了国家补贴,所以不断地有LED照明企业成立,仅仅几年之内就达到甚至超过了上万家。然而,蛋糕越大,想吃蛋糕的人也就越多,所以随着经济危机的进一步恶化,民用LED照明普及率的发展滞后,同时又因为恶性竞争的加剧,使得不少LED照明企业无论在资金链方面还是市场销售方面都遇到了炸弹式的攻击,
[电源管理]
涉及Micro-LED 巨量转移技术!隆利科技获一项发明专利证书
隆利科技日前发布公告称,公司近日收到了由国家知识产权局颁发的一项发明专利证书,专利名为“亲疏水界面组装制备 LED 显示器的方法”,专利号为ZL202010728768.6。 据悉,该专利是一种关于 Micro-LED 巨量转移的技术,可以简洁快速且精准地转移巨量的微型发光二极管,并具有高良率。 隆利科技在公告中指出,该专利为公司自主研发,未来将陆续在公司相关业务中应用。上述专利的取得不会对公司生产经营造成重大影响,但有助于推动自主创新,发挥公司自主知识产权技术优势,完善知识产权保护体系,从而增强公司核心竞争力。 天眼查信息显示,隆利科技的一般经营项目涵盖发光二极管(LED)、背光源、电子产品的技术开发与销售。货物及技术进出口
[手机便携]
基于LIN通信的车内环境照明解决方案
更为有远见的OEM汽车厂商已经意识到车内环境照明的价值,以在日益竞争激烈的市场中提升产品的差异化。进而由于电子设备已成为汽车组件中增长最快的部分,速度超过了机械装置、气动装置和液压装置。随着车内环境照明应用数量的不断增多,OEM汽车厂商对不同颜色的LED环境照明方案进行了区分应用,现在主要是应用于其中的中级桥车模型,将来如何大规模扩展的唯一真正问题是怎样在可接受的成本内实现所需的照明系统。 为了满足上述应用要求并降低成本、缩短实现时间,选择正确的解决方案至关重要。本文将从以下几个方面对车内环境照明解决方案进行阐述: (1)车内环境照明实现方法的选择; (2)使用控制算法实现对RGB LED颜色的混光,温度补偿以及LED之间的
[嵌入式]
高亮度LED照明的应用解决方案
相对传统的卤素低压照明,采用 高亮度LED 作为室内装饰灯、景观照明、街灯照明具有很多好处。高亮度LED能以更小的 功率 消耗提供更大的 亮度 ,具有节能、环保、使用成本低的特性。例如, Cree 公司的XLamp XR-E LED 仅需1W功率就能提供100 流明 的亮度,只需少于80个的XR-E LED便能达到一般街灯照明的要求。此外,由于XLampLED的寿命比较长,所以 LED灯 并不需要昂贵的灯泡更换,从而可以降低街道照明设备的总成本。 高亮度LED照明设计的最大难题是散热。一般照明应用需要将数个或者大量的LED放在一个模组中以达到所需的亮度。多个LED集中在有限的空间中将造成散热困难。通过选择高质量的解决方案并进行合理的
[电源管理]
D001-开发工具-AVR Studio 环境配置和使用笔记
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86 1、 编译连接类 1-1、 使用-Os级别的优化(执行所有优化,但不增加代码尺寸): 2、 编辑类 2-1、 退出工程时自动保存、工程中的文件只显示文件名: 2-2、 将1个tab输入替换成4个空格: 2-3、 设置字体格式、解决中文乱码 2016.10.16遇到一个问题: 1、将notepad++的内容复制到avr studio,发现中文乱码; 2、反过来从avr studio复制到notepad++,也是乱码。 于是将默认字体、从Courier改为新宋体
[单片机]
D001-开发工具-<font color='red'>AVR</font> Studio 环境配置和使用笔记
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved