历史上的今天
返回首页

历史上的今天

今天是:2025年05月18日(星期日)

正在发生

2018年05月18日 | AVR外部中断INT1检测按键,使用LED作指示

2018-05-18 来源:eefocus

实验内容: 
使用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);

}



推荐阅读

史海拾趣

问答坊 | AI 解惑

音频信号分析仪的FPGA源码

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 音频信号分析仪的FPGA源码  …

查看全部问答>

大家看些图片,发表下对LED行业的看法吧!!!

最上面那张是5个一起的,下面是它背面的散热器!   然后是单个的,下面也是它的散热器!   个人感觉这几个灯还是比较牛的啦!单个15W,700MA电流! 不知道大家对LED这个行业怎么看呢???…

查看全部问答>

温度测量基础:热敏电阻

只需简单填写资料,即可下载,是电子书,测试测量的同志们不要错过了。 https://www.eeworld.com.cn/keithley/down.php?downid=34&id=0…

查看全部问答>

电力行业企业高薪招聘嵌入式开发人员!!

    欢迎满足以下条件之一的有识之士与我们联系,公司网址:     www.nerc.com.cn,发送简历邮箱地址:whl668@epri.ac.cn。     1.具有2年以上电力行业嵌入式产品开发经验。         2. ...…

查看全部问答>

proteus中ULN2003的问题

为什么在proteus仿真的时候,uln2003电平不取反啊 图片上传不上 …

查看全部问答>

优盘unknown driver 问题

kingston 2G 优盘 插上时是安装成功可以使用了,但过一会就是unknown driver 然后就没反应了,在我的电脑里也没有显示,在任务栏也没有显示,这种情况算什么,请高手帮忙…

查看全部问答>

关于计算机接口的小结

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多, ...…

查看全部问答>

看看宇航员

户籍科过来 妈妈妈妈那你们你们那你忙你妈妈你们那就没,不vh各方的大幅度的施工方…

查看全部问答>

pads9.2下载及破解文件

找了好久,终于找到了一个下载地址及破解文件,经验证已经能成功安装,拿来给大家分享,希望对各位坛友有帮助  …

查看全部问答>

dB与信噪比(SNR)

本帖最后由 qwqwqw2088 于 2015-1-23 14:24 编辑 噪比(Signal-to-noise ratio,缩写为 SNR 或 S/N),也称作信杂比或讯杂比。 信噪比,为有用信号功率(Power of Signal)与噪声功率(Power of Noise)的比。因此为幅度(Amplitude)比的平方: ...…

查看全部问答>