历史上的今天
今天是: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);
}
上一篇:AVR USART接收中断程序
下一篇:AVR 定时器中断程序
史海拾趣
|
最上面那张是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. ...… 查看全部问答> |
|
kingston 2G 优盘 插上时是安装成功可以使用了,但过一会就是unknown driver 然后就没反应了,在我的电脑里也没有显示,在任务栏也没有显示,这种情况算什么,请高手帮忙… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多, ...… 查看全部问答> |
|
本帖最后由 qwqwqw2088 于 2015-1-23 14:24 编辑 噪比(Signal-to-noise ratio,缩写为 SNR 或 S/N),也称作信杂比或讯杂比。 信噪比,为有用信号功率(Power of Signal)与噪声功率(Power of Noise)的比。因此为幅度(Amplitude)比的平方: ...… 查看全部问答> |




