打印

MA805-64双串口

[复制链接]
1009|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Kingswallow|  楼主 | 2014-5-28 07:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家一个问题,MA805-64单片机双串口的初始化要怎么设置,串口0波特率是1200,串口1的波特率是4800.
沙发
four_zhg| | 2014-5-30 22:47 | 只看该作者
串口0可以用定时器1作为波特率发生器。串口1有专用的波特率发生器,下面的波特率都是9600的
void serial_port_one_initial(void) //9600bps,8,n,1@11.0592MHz:TH1=TL1=0xB8;@22.1184MHz:TH1=TL1=0x70;
{
/*    AUXR2 |= 0x40;                //定时器1时钟1T模式
   TMOD=0x20;                                  //Set Timer1 Mode 2
    SCON=0x50;                                  //Set UART Mode 1
    PCON |=0x80;                                  //Set SMOD = 1 (Double Baud rate)
    TH1=0x70;                                   //Set Timer1 overflow rate
    TL1=0x70;  
    ET1 = 0;                //禁止定时器1中断
    TR1 = 1;                //启动定时器1
    ES = 1;    //允许串口中断*/


            //设置串口
          SCON=0x50;                                         
        //第一串口在模式1,3下 使用第二串口波特率
        //使能第二串口波特率,时钟来源为SYSCLK
        SCFG=0x94;
     //-------------------------------------------        
        SFRPI=0x01;                  //set SFR Page 1
          //第二串口模式为1: 10位可变波特率
        SCON1=0x50;
        //S1BRT=0xDC;                  //波特率为19200Bps--->22.1184Mhz
        S1BRT=0xB8;                  //波特率为9600Bps--->22.1184Mhz
    //----------------------------------------------------        
        SFRPI=0x00;                  //set SFR Page 0
        
       EIE1=0x10;    //使能第二串口中断
        ES = 1; //使能第一串口中断
        
}        
//-----------------------------------------------------------------------------------*/

使用特权

评论回复
板凳
gxliu08| | 2014-5-31 08:58 | 只看该作者
看看DATASHEET和参考例程,里面应该有

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝