#include <p18f1320.h>
#include "delays.h"
#pragma config WDT = OFF, LVP = OFF, OSC = INTIO2
void sendbyte(char Num,char bits){
char i;
for(i=0;i<bits;i++){
CCPR1L = 0x1A; // 0
CCP1CON = 0x1C; // 50%
if(Num&1==1)
Delay100TCYx(24); //1.2mS
else
Delay100TCYx(12); //0.6mS
Num=Num>>1;
CCPR1L = 0x00; //Space
CCP1CON = 0x0C ; // 0%
Delay100TCYx(12); //0.6mS
}
}
void main(void) {
OSCCON=0x72; //speed up the clock to 8MHz
ADCON1 = 0;
TRISBbits.TRISB3 = 0;
TRISBbits.TRISB6=1;
PR2 = 0b00110100 ;
T2CON = 0b00000100 ;
CCPR1L = 0b00011010 ;
CCP1CON = 0b00011100 ;
while(1) {
CCPR1L = 0x1A; // 0
CCP1CON = 0x1C ; // 50%
Delay100TCYx(48); //2.4mS pulse
CCPR1L = 0x00; //Space
CCP1CON = 0x0C ; // 0%
Delay100TCYx(12); //0.6mS
sendbyte(18,7); //device 18
sendbyte(1,5); //command 1
Delay1KTCYx(100);
}
}