在c51 调试的时候,单步运行,查看寄存器里的数据,结果数据可设置的不一样: void init_serialcomm(void) { //SCON: serail mode 1, 8-bit UART, enable ucvr TH1 = 0xfc; //Baud:19200 fosc=12MHz TL1 = 0xfc; TCON = 0xe0; TMOD = 0x21; //TMOD: timer 1, mode 2, 8-bit reload PCON = 0x00; //SMOD=0; SCON = 0x50; IE = 0x92; //enable serail int and t0 int } 比如 TL1 = 0xfc; 运行后,用鼠标放在TL1 位置观察数据结果却是 0xff, 有时候是0xfd,很郁闷.
|