Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
cool.... How can i put a pic into sleep mode? Never tried.. also how do i wake it up?
#include <p18Cxxx.h>
#include <delays.h>
#pragma config WDT = OFF, LVP = OFF, OSC = INTIO2
#define button1 PORTAbits.RA3
#define button2 PORTBbits.RB2
#define button3 PORTBbits.RB3
#define button4 PORTBbits.RB4
#define button5 PORTBbits.RB5
#define WakeMe PORTBbits.RB0
char pos;
int time;
void PlayTone(char num);
void high_ISR (void) ;
void high_interrupt (void);
void NightTime(void);
#pragma code high_vector = 0x08
void high_interrupt (void){
_asm goto high_ISR _endasm
}
#pragma code
#pragma interrupt high_ISR
void high_ISR (void) {
INTCONbits.INT0IF = 0;
INTCONbits.RBIF = 0;
LATAbits.LATA0 = 1;
}
void main(void){
int k,j,i;
OSCCON = 0x72; //8MHz clock
while(!OSCCONbits.IOFS); //Wait for OSC to become stable
pos = 0;
ADCON1 = 0xFF;
TRISB = 0xFF;
TRISA = 0x00;
TRISBbits.TRISB1 = 0;
TRISAbits.TRISA3 = 1;
LATBbits.LATB1 = 0;
INTCON = 0b10010000;
INTCON2 = 0b11110000;
INTCON3 = 0x00;
RCON = 0b10000000;
LATAbits.LATA0 = 1;
while(1){
if (button1)
PlayTone(0);
else if (button2)
PlayTone(1);
else if (button3)
PlayTone(2);
else if (button4)
PlayTone(3);
else if (button5)
PlayTone(4);
Delay10KTCYx(50);
time++;
if(time == 20){
NightTime();
}
}
}
void NightTime(void){
LATAbits.LATA0 = 0; //Turn off LED
OSCCONbits.IDLEN = 0; //Clear he IDLEN and SCS1:SCS0
OSCCONbits.SCS1 = 0;
OSCCONbits.SCS0 = 0;
Sleep(); //Call Sleep instruction
}
void PlayTone(char num){
int k,j,i;
int len;
time = 0;
switch (num){
case 0:
len = 100;
break;
case 1:
len = 150;
break;
case 2:
len = 200;
break;
case 3:
len = 250;
break;
case 4:
len = 0;
break;
}
if(!len) goto skipit;
for(k=80;k>0;k--){
LATBbits.LATB1 = 1;
for (i=len; i>0; i--);
LATBbits.LATB1 = 0;
for (i=len; i>0; i--);
}
goto doneit;
skipit:
if(pos){
for(k=0;k<30;k+=1){
for(j=0;j<70;j++){
LATBbits.LATB1 = 1;
for (i=k; i; i--);
LATBbits.LATB1 = 0;
for (i=k; i; i--);
}
}
pos = 0;
} else {
for(k=30;k>0;k-=1){
for(j=0;j<70;j++){
LATBbits.LATB1 = 1;
for (i=k; i; i--);
LATBbits.LATB1 = 0;
for (i=k; i; i--);
}
}
pos = 1;
}
doneit:
Nop();
}