完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
通过执行SLEEP指令或写入 01b至寄存器OPMD[1:0]位, NY8A054D将进入睡眠模式。
在进入睡眠模式后, 寄存器/PD(STATUS[3]) 位将清除为 0, 寄存器/TO(STATUS[4]) 位将设置为 1 且清除 WDT并保持运作。 在睡眠模式下, 所有硬件功能是被关闭的, 停止指令执行且NY8A054D只能通过一些特殊事件唤醒。 因此睡眠模式是NY8A054D最省电的模式 ①指令执行停止, 所有硬件功能关闭。 ②FHOSC和FLOSC两者都自动关闭。 ③如遇以下任一状况IC便能从睡眠模式中唤醒: (a) 看门狗超时中断 (b) PA/PB输入状态改变中断 (c) INT0/1 外部中断。 ④从睡眠模式唤醒后, 如SELHOSC=1, IC将回到正常模式, 如SELHOSC=0 则IC将回到慢速模式。 ⑤不建议改变振荡模式(正常到慢速/慢速到正常), 并在同一时间进入待机模式。 首先,I/O口初始化时设置 PA/PB唤醒控制寄存器: AWUCON = C_PA5_Wakeup | C_PA6_Wakeup | C_PA7_Wakeup; 然后,在 INTE(中断使能寄存器) 中使能 ==PABIE INTE = C_INT_PABKey; 然后,在中断服务函数里面添加 PABIF( PortA / PortB输入状态变化中断标志位) if(INTFbits.PABIF) { LED_R = 1; //可添加唤醒后操作 INTFbits.PABIF = 0; } 最后,将 SLEEP 指令放到while(1)里面: while(1) { if(SLEEP_order == 1) { SLEEP_order = 0; SLEEP(); //进入睡眠 } } |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1148浏览 2评论
747浏览 1评论
500浏览 0评论
266浏览 0评论
429浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:11 , Processed in 1.337410 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号