#define S_CLOCK PORTD.F3
#define S_CLEAR PORTD.F1
#define S_DATA PORTD.F0
#define S_STORE PORTD.F2
#define STORE S_STORE =1; S_STORE =0
void SEND(unsigned short x){
S_CLOCK = 0;
S_DATA = x;
asm{
nop
}
S_CLOCK = 1;
S_DATA = 0;
}
void main(){
unsigned short h,l;
unsigned short i;
TRISD = 0;
PORTD = 0;
STORE;
S_CLOCK = 1;
S_CLEAR = 1;
h = 0b10101101;
l = 0b11011001;
//send 2 bytes
for (i=0;i<8;i++){
SEND(l & 0x01);
l = l >> 1;
}
for (i=0;i<8;i++){
SEND(h & 0x01);
h = h >> 1;
}
STORE;
}