我用w77e58单片机,晶振为22.1184,串口0和串口1分别用定时器2和定时器1做波特率发生器,波特率要求设9600

2025-01-04 01:07:42
推荐回答(3个)
回答1:

//设置T2为工作方式2,作为波特率时钟
TCLK = 1;
RCLK = 1;
C_T2 = 0;//T2的输入时钟为主时钟的2分频,不采用外部输入
T2MOD&= ~DCEN_;//递增计数方式

/***********************************************************************
* T2作为串口波特率时钟,设置T2初始值:
* MCU工作时钟Fclk = 11.0592MHz
* 机器周期Tm = 12/11.0592us = 1.085us,
* T1初值 = 0x10000 - Fclk/(32*BaudRate),即0xFFDC
***********************************************************************/
RCAP2H = 0xFF;
RCAP2L = 0xDC;
}这是我程序T2的设置方式,你看下。希望对你有所帮助

回答2:

建议 去 我的领地 5d6d 的 proteus 论坛看看

那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词

回答3:

做个任务 不影响你吧 谢谢