欢迎访问鸿雪径,这里介绍软件相关技术、动态以及鸿雪径杂谈,如有技术合作请与站长联系!邮费网 易食烤吧 特产大全网
首页 > 单片机开发 > STC89C5J6单片机串口波特率备忘(4800,9600)

STC89C5J6单片机串口波特率备忘(4800,9600)

发布时间:2018-01-31 作者: 点击:574
  1. 而如果你使用的是52及其以上的单片机(例如STC89C52),不用换跟换晶振也可以实现9600波特率。

  2. 51单片机通常由TIMER1来产生波特率,TIMER1的频率是晶振的1/12,也就是1M。它的频率太低导致它不能实现9600波特率。

    52及以上的单片机提供了TIMER2,可作为波特率发器。且它作为波特率发生器时,它的频率是晶振的1/2,也就是6M。

  3. 下面给出串口初始化函数:

    void Uart0_Init()

    {

        RCAP2L=0xD9;//9600波特率对应 FFD9,低位为D9

        RCAP2H=0xFF;//高位为FF

        T2CON=0x34;//RCLK、TCLK、TR2置1

        SCON=0x50;//串口工作模式1,接收使能

        ES=1;//打开接收中断

        EA=1;//打开总中断

    }

  4. 5

    中断函数:

    void Uart0_Ist() interrupt 4 //中断函数

    {

           if(RI)

        {

            RI= 0;

            //Do whatever you want;

        }

           if(TI)

        {

            TI = 0;

            //Do whatever you want;

        }

    }

----------------------

4800波特率:

void UsartInit()

{

SCON=0X50; //设置为工作方式1

TMOD=0X20; //设置计数器工作方式2

PCON=0X80; //波特率加倍

TH1=0XF3; //计数器初始值设置,注意波特率是4800的

TL1=0XF3;

ES=1; //打开接收中断

EA=1; //打开总中断

TR1=1; //打开计数器

}


更多关于 单片机,STC89,51单片机,波特率 的信息

    暂无相关信息

本站部分文章转载于网上,版权归原作者所有。如果侵犯您的权益,请Email和本站联系!
鸿雪径 www.HongXueJing.com  冀ICP备07017673号-4