1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先看芯片手册吧
这对电源及睡眠模式的一个简述,并介绍了进入模式时和唤醒之后的处理(第二段一定好好吸收哦)。 这是控制寄存器的设定进入不同模式的设定,根据需要进入不同的模式。 看到这里,也算了解了。 下面发段代码: **********************************************************/ #include《iom8v.h》 #include《macros.h》 #include“xiaofeng_delay.h” /******************************************* 函数 名称: Port_Init 功 能: IO初始化 参 数: 无 返 回 值 : 无 /********************************************/ void Port_Init(void) { PORTB = 0xFF; DDRB = 0xFF; DDRD=0X00; PORTD=0XFF; } /******************************************* 函数 名称: Port_Init 功 能: IO初始化 参 数: 无 返 回 值 : 无 /********************************************/ void Power_Init(void) { MCUCR |= 0X20;//掉电模式,外部中断0低电平触发 GICR |= 0X40; //外部中断0使能 SREG |= 0X80;//使能总中断 } /******************************************* 函数 名称: Device_Init 功 能: 器件初始化 参 数: 无 返 回 值 : 无 /********************************************/ void Device_Init(void) { Port_Init(); //IO端口初始化 Power_Init(); //外部中断,省电模式,初始化 } /******************************************* 函数 名称: main 功 能: 主函数 参 数: 无 返 回 值 : 无 /********************************************/ void main(void) { unsigned char i; Device_Init(); while(1) { for (i=0;i《10;i++) { PORTB &= ~BIT(1); delay_nms(300); PORTB |= BIT(1); delay_nms(300); } MCUCR |= 0x80; //使能休眠 asm(“sleep”); for (i=0;i《10;i++) { PORTB &= ~BIT(2); delay_nms(300); PORTB |= BIT(2); delay_nms(300); } } } /******************************************* 函数名称: void int0_isr(void) 功 能: 外部中断0的服务函数 参 数: 无 返 回 值: 无 /********************************************/ #pragma interrupt_handler int0_isr:2 void int0_isr(void) { unsigned char i; for (i=0;i《10;i++) { PORTB &= ~BIT(0); delay_nms(300); PORTB |= BIT(0); delay_nms(300); } } 进入程序首先执行第二个灯闪烁, 闪烁停止,说明进入睡眠模式, 摁下按键,第一个灯开始闪烁,说明单片机被唤醒,进入外部中断服务函数, 第三个灯开始闪烁,说明中断服务函数执行完毕,执行SLEEP指令后面的程序。 有很多不足,也为有兴趣的朋友,做个例子吧,一起学习一下吧。 |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1147浏览 2评论
746浏览 1评论
499浏览 0评论
265浏览 0评论
428浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:46 , Processed in 1.269637 second(s), Total 78, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号