Hallo
Ik heb laatst uit mijn oude Medion PC een VFD gehaald (M18ST05A).
Een DataSheet heb ik hiervoor niet gevonden, wel dit.
http://www.hit-karlsruhe.de/aol2mime/medion_md_8800_vfd.htm
Hieruit lijd ik af, dat hij op een TTL niveau moet worden gevoed.
Maar als ik deze aansluit op mijn (soort van) Open source bordje
(18F2550) en ik programmeer dit met de PicKit2, dan komen er hier wel random karakters op.
is dit dan echt op een TTL niveau gevoed (MAX232 nodig).
of zou ik het normaal wel van de Pic kunnen sturen?
ook heb ik geprobeerd om met MikroC een simpel "Software UART"
Programma te schrijven, om dit VFD te sturen, maar dit werkt dus niet.
c code:
/* Declair variable */
char i, error, byte_read, Data;
/*Start Program*/
void main() {
TRISB = TRISB & 0b11111111; //set: B as Output
TRISC = 0b10000001; //Set: RX as Input, TX as Output, PB1 = PORTC_BIT0
PORTB = 0b11110000; //Show on port B "Start up Software"
delay_ms (1000);
error = Soft_UART_Init(PORTC, 7, 6, 9600, 0); //Initialize UART
Delay_ms (100);
if (error = 0) //Baud Rate OK, Show on port B
{PORTB = 0b0001000;}
else if (error = 1) //Baud Rate to high, Show on port B
{PORTB = 0b0010000;}
else if (error = 2) //Baud Rate To low, Show on port B
{PORTB = 0b0100000;}
Delay_ms(1000);
PORTB = 0b11110000; //Show on port B "Going to next step"
Delay_ms (1000);
while (1)
{
if (PORTC & 0b00000001) //Is PB1 Active?
{
while (PORTC & 0b00000001) //PB1 is NOT active, Show on port B "PB1 not active"
{
PORTB = 0b10000000;
Delay_ms (200);
PORTB = 0b01000000;
Delay_ms (200);
}
}
else //PB1 is Active, Show on port B "PB1 is Active", Send DataRow to VFD
{
do
{
PORTB = 0b01000000;
Soft_UART_Write(0x1B);
Soft_UART_Write(0x30);
Soft_UART_Write(10);
Soft_UART_Write(3);
Delay_ms (2000);
}
while (PORTC & 0b00000001 != 1);
}
}
}
De DataRow wijst op de verschillende stappen die ik moest doen, van bovenstaande site, om iets op het display te laten verschijnen.