📄 wakeup.c
字号:
/*该程序实现PIC18F458的休眠工作方式,并由实验板上的按键产生"电平变化中断"将其从休眠状态中激活。休眠与激活的状态由与D口相连的8个LED显示。休眠时高4个
LED发光,低4个LED熄灭; 激活以后高4个LED熄灭,低4个LED发光
*/
#include "p18f458.h"
unsigned long i;
/*系统初始化子程序
*/
void initial()
{
INTCON=0x08; /*全局中断禁止,"电平变化中断"只执行唤醒功能*/
/*清除B口电平变化中断标志
*/
TRISA=0x00; /*A口设置为输出
*/
TRISB=0XF0; /*RB1输出,RB4输入
*/
TRISD=0X00; /*D口为输出
*/
TRISE=0x00; /*E口设置为输出
*/
PORTBbits.RB1=0;
PORTAbits.RA3=0;
PORTE=0; /*将K1,K2,K3,K4四条列线置0
*/
PORTB=PORTB;
/*读PORTB的值,锁存旧值,也为“电平变化
中断”作准备
*/
}
void SLEEP(void)
{
_asm
SLEEP /*进入休眠状态
*/
_endasm
}
/*主程序
*/
void main (void)
{
initial(); /*初始化
*/
PORTD=0X0F; /*高4个LED灯亮
*/
SLEEP(); /*单片机开始进入休眠状态
*/
PORTD=0XF0; /*激活后,低4个LED灯亮
*/
while(1)
{
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -