void port_initialization()
{
volatile char *portF_dir;
volatile char *portK_dir;
portF_dir=0x30;
portK_dir=0x107;
*portF_dir=0xFF;
*portK_dir=0xFF;
}
void outportF(char outdata)
{
volatile char *portF_data;
portF_data=0x31;
*portF_data=outdata;
}
void outportK(char outdata)
{
volatile char *portF_data;
portF_data=0x108;
*portF_data=outdata;
}
void ideal_state()
{
outportF(0x00);
outportK(0xFF);
}
void column(char input)
{
outportK(~input);
}
void delay1(int count)
{
long int volatile i;
while(count!=0)
{
for(i=0;i<1000;i++);
count=count-1;
}
}
void character_display(char character[])
{
int i,j=0;
while(j<50)
{
for(i=0;i<8;i++)
{
outportF(character[i]);
column(0x01<<i);
delay1(1);
ideal_state();
}
j=j+1;
}
}
void setup() {
// put your setup code here, to run once:
port_initialization();
int i,j;
char A[8]={0x00,0xFE,0x11,0x11,0x11,0x11,0xFE,0x00};
char B[8]={0xFF,0x99,0x99,0x99,0x99,0x99,0x99,0x66};
char C[8]={0x3C,0x42,0x81,0x81,0x81,0x81,0x81,0x81};
char D[8]={0xFF,0x81,0x81,0x81,0x81,0x81,0x42,0x3C};
char E[8]={0xFF,0x99,0x99,0x99,0x99,0x99,0x99,0x99};
ideal_state();
while(1)
{
character_display(A);
delay1(100);
character_display(B);
delay1(100);
character_display(C);
delay1(100);
character_display(D);
delay1(100);
character_display(E);
delay1(100);
}
}
void loop() {
// put your main code here, to run repeatedly:
}