...
void main(){
safeguard_init();
_pac=0;// Port a Ausgang
_pbc0=0; // hier Ausgang
_pdc0=0; // Ausgang TXD
_pbc3=0; // Ausgang SCL
_pbc2=0; // Ausgang/Eingang SDA
_pbc1=0; // Ausgang E am LCD-Modul
_pd0=1; // TXD = 1
_eadi=0; //Kein Interupt
i=0;
_pbc2=0; // pb2 SDA ist zuerst Ausgang
_pb3=0; // pb3 SCL ist stets Ausgang
//A_Reg=85; // Test
//WrCOM(); //
//A_Reg=170; // Test
//WrCOM(); //
I2c_init();
_pa=0;
mydelay(4); // ca. 15ms warten
LCD_init();
mydelay(55); // ca. 200ms warten
I2c_start(); // Zuerst Lautstaerkewert
E_Reg=0x6E; // verringern auf 8
I2c_write();
mydelay(1);
E_Reg=0x04;
I2c_write();
mydelay(1);
E_Reg=0x40;
I2c_write();
mydelay(1);
E_Reg=0x08;
I2c_write();
mydelay(1);
I2c_stop();
while(1)
{
Frq_lesen();
//Umrechnung in 'brauchbare' Werte
F=dat_hi*256;
F=F+dat_low;
mydelay(50);
F=F*5;
F=F+6400;
F_high=F /256;
F_hi=F_high & 255;
//A_Reg=F_high; // Test
//WrCOM();
mydelay(1);
F_low= F % 256;
//A_Reg=F_low; // Test
//WrCOM();
mydelay(100);
//Lautstaerkewerte
Lautst_lesen();
//A_Reg=dat; // Test
//WrCOM();
mydelay(1);
E_Reg=1;
LCD_cmd();
E_Reg=2;
LCD_cmd();
E_Reg=128;
LCD_cmd();
E_Reg=70; // F
LCD_char();
mydelay(1);
E_Reg=114; // r
LCD_char();
mydelay(1);
E_Reg=101; // e
LCD_char();
E_Reg=113; // q
LCD_char();
E_Reg=46; // .
LCD_char();
E_Reg=58; // :
LCD_char();
E_Reg=F /10000;
Null_ausbl();
F=F%10000;
E_Reg=F/1000;
E_Reg=E_Reg+48; //2. Ziffer
A_Reg=E_Reg;
WrCOM();
LCD_char();
F=F%1000; //3. Ziffer
E_Reg=F/100;
E_Reg=E_Reg+48;
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=46; // Dezimalpunkt
A_Reg=E_Reg;
WrCOM();
LCD_char();
F=F%100;
E_Reg=F/10;
E_Reg=E_Reg+48;
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=32; // Blank
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=77; // M
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=72; // H
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=122; // z
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=192; // in 2. Zeile
LCD_cmd();
A_Reg=32; // Blank
WrCOM();
A_Reg=32; // Blank
WrCOM();
E_Reg=76; // L
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=97; // a
LCD_char();
E_Reg=117; // u
LCD_char();
E_Reg=116; // t
LCD_char();
E_Reg=115; // s
LCD_char();
E_Reg=116; // t
LCD_char();
E_Reg=46; // .
LCD_char();
E_Reg=58; // :
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=32; // Blank
A_Reg=E_Reg;
WrCOM();
LCD_char();
E_Reg=dat/10; // 1. Ziffer
Null_ausbl();
E_Reg=dat%10; // 2. Ziffer
E_Reg=E_Reg+48;
A_Reg=E_Reg;
WrCOM();
LCD_char();
A_Reg=13; // CR
WrCOM();
A_Reg=10; // LF
WrCOM();
mydelay(200);
mydelay(200);
}
}
...