at89c52 定时器T2产生波特率串口老是无反应,谁做过,帮忙...

2020-01-30 14:01发布

本帖最后由 Doci 于 2013-3-21 16:50 编辑

at89c52 定时器T2产生波特率串口老是无反应,谁做过,帮忙看看或者给个例程看看,谢谢

void UART_init(void)
{        

    SCON=0x50;                //SM0 SM1 SM2 REN TB8 RB8 TI RI
        RCAP2H=0xff;
        RCAP2L=0xfd;
        TH2=RCAP2H;
        TL2=RCAP2L;
        T2CON=0x34;                //TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
    TR2=1;          /* 启动定时器2*/
    T2MOD=0;
    ES=1;        /*开串口中断*//* 波特率不倍增*/  
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
tim4146
1楼-- · 2020-01-30 16:14
        TMOD = 0x20;                        // 定时器1工作于8位自动重载模式, 用于产生波特率
        TH1 = 0xFD;                                // 波特率9600
        TL1 = 0xFD;
       
        SCON = 0x50;                        // 设定串行口工作方式
        PCON &= 0xef;                        // 波特率不倍增
               
        TR1 = 1;                                // 启动定时器1
tim4146
2楼-- · 2020-01-30 21:21
 精彩回答 2  元偷偷看……
Doci
3楼-- · 2020-01-31 01:07
tim4146 发表于 2013-3-21 16:36
楼主为什么用这么多的变量啊...

您好,我用的是定时器2做波特率发生器,一直有问题
tim4146
4楼-- · 2020-01-31 05:40
问题出在哪里?把现象描述一下看看,我尽量帮忙...
Doci
5楼-- · 2020-01-31 08:30
tim4146 发表于 2013-3-21 16:56
问题出在哪里?把现象描述一下看看,我尽量帮忙...

您好,没什么现象,串口发送接收都无效,串口不工作。所以不知道问题出在哪
zxk236350893
6楼-- · 2020-01-31 13:08
用示波器看看有没有输出,波形对不对

一周热门 更多>