#include "reg51.h" #include "sio.h" sbit TRIG = P2^7; sbit ECHO = P2^6; #define XTAL 19660800L #define PERIOD12MS (12L * XTAL / 12L / 256L / 1000L) void delay(unsigned int t) { while(t--) ; } void main (void) { EA = 0; TMOD &= ~0x0F; // clear timer 0 mode bits TMOD |= 0x01; // put timer 0 into MODE 1, 16bit com_initialize (); /* initialize interrupt driven serial I/O */ com_baudrate (14400); /* setup for 14400 baud */ EA = 1; // Enable Interrupts while (1) { START: TR0 = 0; TH0 = 0; TL0 = 0; TRIG = 0; // delay(100); TRIG = 1; // TR0 = 1; // while (ECHO) // { if (TH0 >= PERIOD12MS) // goto START; } TR0 = 0; // com_putchar(TH0); // com_putchar(TL0); TR0 = 1; while (TH0 < PERIOD12MS) ; // } }