|
想請教, 以下是人家寫好的 C51 原碼, 用 11.0592MHZ XTAL, 因為有寫好的 PC HOST PROGRAM, 固定 57600 BAUD, C51 程式不改的話, 12M XTAL 出的 BAUD RATE 變成 62500 BAUD, 無法與 PC 端溝通, 但是 PC 端並不提供原碼.
手上沒有 11.0592MHZ, 想改用 12M XTAL, 怎樣改, 可以讓 AT89C2051 出來 57600呢,
用 Keil C 免費版成功編譯, 剩下的要改.
https://www.keil.com/download/product/
//串口初始化 晶振為11.0592M 方式1 波特率57600
void InitCom(void)
{
SCON = 0x50; //串口方式1,允許接收
TMOD = 0x21; //定時器1定時方式2,定時0為模式1,16位模式
TCON = 0x40; //設定時器1開始計數
TH1 = 255; //設波特率為57600
TL1 = 255;
PCON = 0x80; //波特率加倍控制,SMOD位
RI = 0; //清收發標誌
TI = 0;
TR1 = 1; //啟動定時器
EA = 1; //開總中斷
ES = 1; //開串口中斷
} |
|