rendered paste body#include "reg51.h"int code frequenzen[] = { -83 , -100 , -125 , -167 , -250};int code zaehlwerte[] = { 12048 , 10000 , 8000 , 6024 , 4000 };sbit ton_ausgabe = 0x95;unsigned int data ton_zaehler;unsigned char data zaehlstufe;void init(){ TMOD = 0x02; TR0 = 0; IT0 = 1; TH0 = frequenzen[0]; TL0 = frequenzen[0]; ton_zaehler = zaehlwerte[0]; zaehlstufe = 0; EX0 = 1; ET0 = 1; EA = 1 ; }void ext_int_bwm(void) interrupt 0 { ton_zaehler = 0; TR0 = 1;} void timer0(void) interrupt 1 {ton_ausgabe = ~ton_ausgabe;ton_zaehler++; if(ton_zaehler == 0){ zaehlstufe++; if(zaehlstufe == 5){ zaehlstufe = 0; TR0 = 0; return; } else{ TR0 = frequenzen[zaehlstufe]; ton_zaehler = zaehlwerte[zaehlstufe]; } }}void main(){ init(); while(1);}