void Start();
void Write(char);
void Stop();
void Delay();
void setup() {
// put your setup code here, to run once:
Start();
Write(0x40);
Stop();
Start();
Write(0xC0);
Write(0x3F);
Write(0x06);
Write(0x5B);
Write(0x4F);
Stop();
Start();
Write(0x8F);
Stop();
}
void Start()
{
volatile char *portf_dir=(volatile char*)0x30;
*portf_dir=0x03;
volatile char *portf_data=(volatile char*)0x31;
*portf_data=0x03;
Delay();
*portf_data&=~0x01;
Delay();
*portf_data=0x00;
}
void Write(char data)
{
volatile char *portf_dir=(volatile char*)0x30;
*portf_dir|=0x03;
volatile char *portf_data=(volatile char*)0x31;
for(char i=0;i<8;i++)
{
if((data>>i)&0x01)
{
*portf_data|=0x01;
}
else{
*portf_data&=~0x01;
}
Delay();
*portf_data|=0x02;
Delay();
*portf_data&=~0x02;
}
*portf_dir&=~0x01;
Delay();
*portf_data|=0x02;
Delay();
*portf_data&=~0x02;
}
void Stop()
{
volatile char *portf_dir=(volatile char*)0x30;
*portf_dir|=0x03;
volatile char *portf_data=(volatile char*)0x31;
*portf_data&=~0x02;
Delay();
*portf_data&=~0x01;
Delay();
*portf_data|=0x02;
Delay();
*portf_data|=0x01;
Delay();
}
void Delay()
{
short i;
for( i=0;i<300;i++);
}
void loop() {
// put your main code here, to run repeatedly:
}