Hallo,
wie ihr sieht, ich bin noch am Anfang. Das gesamte Programm sieht so aus:


#include "sinnvoll_tfh.h"
#include "vt52_term.h"
#include <reg52.h>
#include <stdio.h>

sfr P4 = 0xe8;
sbit P4_0 = P4^0;
sbit P4_1 = P4^1;

/********************************************/
void DELAY_HARDWARE_1ms(void)
{
// Configure Timer 0 as a 16-bit timer
TMOD &= 0xF0; // Clear all T0 bits (T1 left unchanged)
TMOD |= 0x01; // Set required T0 bits (T1 left unchanged)
ET0 = 0; // No interupts
// Values for 50 ms delay
TH0 = 0xFC; // Timer 0 initial value (High Byte)
TL0 = 0x18; // Timer 0 initial value (Low Byte)
TF0 = 0; // Clear overflow flag
TR0 = 1; // Start timer 0
while (TF0 == 0); // Loop until Timer 0 overflows (TF0 == 1)
TR0 = 0; // Stop Timer 0
}
/*********************************/
void DELAY_HARDWARE_X_Second(void)
{
unsigned int d;
// Call DELAY_HARDWARE 100ms() 100 times
for (d = 0; d < 10; d++)
{
DELAY_HARDWARE_1ms();
}
}
/**********************/
void init_seri(void)
{
BD = 1; // Baudratengenerator
PCON |= 0x80;
S0CON = 0x52; // Serial Interface Mode 1,
}
/**********************/
void main(void)
{
int Zahl; // Definition der verwendeten Variablen
char n, m;
Zahl = 0;
init_seri();
P4_0 = 1;
P4_1 = 1;
printf("\n Anfang ");
while(1)
{
n = P4_0;
m = P4_1;
DELAY_HARDWARE_X_Second();
{ Zahl = Zahl + 1;
printf("\n %d %bd %bd", Zahl, n, m);
}
}
}

Gruß