#include "lcdcontrol.h";
volatile char data[4][4]={{0x06,0x5B,0x4F,0x77},{0x66,0x6D,0x7D,0xEF},{0x07,0x7F,0x6F,0x39},{0x79,0x3F,0x71,0x0E}};
volatile char *dira=0x21,*dirc=0x27;
volatile char *row=0x22,*col=0x28,data1;
volatile char k,j;
void setup()
{
*dira=(volatile char*)0x0F;
*dirc=(volatile char*)0x00;
//Serial.begin(9600);
setlcd();
displaylcd(0x38);
while(1)
{
for(k=0;k<4;k++)
{
*row = 1<<k;
if(*col)
{
// Serial.println(*col);
/*if(*col==0x01)
j=0;
else if(*col==0x02)
j=1;
else if(*col==0x04)
j=2;
else
j=3;
data1=data[k][j];*/
displaylcd(0x38);
}
}
//displaylcd(0x39);
}
}
void loop()
{
/*for(k=0;k<4;k++)
{
*row = 1<<k;
if(*col)
{
/*if(*col==0x01)
j=0;
else if(*col==0x02)
j=1;
else if(*col==0x04)
j=2;
else
j=3;
data1=data[k][j];
displaylcd(0x38);
}
}*/
}
/*void init_port(void);
void outdata(char);
void outcontrol(char);
void Delay(int);
void lcd_control_write(void);
void lcd_control_write1(void);
void init_lcd(void);
void write_data(char);
volatile long i;
void setup()
{
init_port();
init_lcd();
outcontrol(0x02);
write_data(0x48);
}
void loop()
{
}
void init_port()
{
volatile char *portf_dir=(volatile char*)0x30;
volatile char *portk_dir=(volatile char*)0x107;
*portf_dir=0xFF;
*portk_dir=0x03;
}
void outdata(char out_data)
{
volatile char *portf_data=(volatile char*)0x31;
*portf_data=out_data;
}
void outcontrol(char out_data)
{
volatile char *portk_data=(volatile char*)0X108;
*portk_data=out_data;
}
void init_lcd(void)
{
outdata(0x38);
lcd_control_write();// 8bit 2 line
outdata(0x0F);// display on cursor blinking
lcd_control_write();
outdata(0x01);// clear display
lcd_control_write();
outdata(0x06);// Auto Icrement
lcd_control_write();
}
void write_data(char x)
{
outdata(x);
lcd_control_write1();
}
void lcd_control_write(void)
{
outcontrol(0x01);
Delay(2);
outcontrol(0x00);
Delay(2);
}
void lcd_control_write1(void)
{
outcontrol(0x03);
Delay(2);
outcontrol(0x02);
Delay(2);
}
void Delay(int count)
{
volatile long i;
for(i=0;i<count;i++);
}*/