Friday 5 June 2015

PIC parallel slave port slave

#include<htc.h>
#include"lcdsub.c"
#define rd RE0
#define wr RE1
#define cs RE2
void elay(int s);
void pspint();

void elay(int s)
{
while(s--);
}
void pspint()
{
TRISE=0x17;
}
void pspread()
{
unsigned char data;
wr=1;
//elay(200);
rd=0;
//PORTC=PORTD;
while(PSPIF==0);
//data=PORTD;
PSPIF=0;
//TRISB=0xff;
//PORTB=PORTD;
//TRISB=0x00;
data=PORTD;
lcddisp(data);

//PORTB=PORTD;
//lcddisp(PORTD);
cs=1;
elay(200);
cs=0;
}
void main()
{
ADCON1=0x07;
//TRISE=0xff;
TRISB=0X00;
TRISC=0X00;
TRISD=0XFF;
lcdint();
pspint();
//lcdstr("initialized");
elay(6500);
//lcdcmd(0x01);
while(1)
{
//PORTB=PORTD;
pspread();
elay(65000);
}
}

#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;

chrrd=PORTB;
en=1;
delay(100);
en=0;
}
void lcddisp(char data)
{

rw=0;
rs=1;
//while(PSPIF==0);
//PORTB=PORTD;

//PSPIF=0;
PORTB=data;
en=1;
delay(100);
en=0;

}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTB=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTB=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}

No comments:

Post a Comment