C语言程序例程11
C语言程序例程/*该程序实现PIC18F458的休眠工作方式,并由实验板上的按键产生"电平变化中断"将其从休眠状态中激活。休眠与激活的状态由与D口相连的8个LED显示。休眠时高4个LED发光,低4个LED熄灭;激活以后高4个LED熄灭,低4个LED发光*/#include"p18f458.h"unsignedlongi;/*系统初始化子程序*/voidinitial(){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的值,锁存旧值,也为“电平变化中断”作准备*/}voidSLEEP(){_asmSLEEP/*进入休眠状态*/_endasm}/*主程序*/main(){initial();/*初始化*/PORTD=0X0F;/*高4个LED灯亮*/SLEEP();/*单片机开始进入休眠状态*/PORTD=0X
用户评论