单片机12M的晶振使用9600波特率与电脑通讯

2025-05-03 05:42:32

1、想要使用9600的波特率与电脑通讯,却发现单片机上的晶振为12Mhz,真的无法实现了么?

2、对于51系列单片机,推荐改成11.0592M晶振。这个方法是肯定可以实现的。而如果你使用的是52及其以上的单片机(例如STC89C52),不用换跟换晶振也可以实现9600波特率。

3、51单片机通常由TIMER1来产生波特率,TIMER1的频率是晶振的1/12,也就是1M。它的频率太低导致它不能实现9600波特率。52及以上的单片机提供了TIMER2,可作为波特率发器。且它作为波特率发生器时,它的频率是晶振的1/2,也就是6M。

4、下面给出串口初始化函数:箪滹埘麽void Uart0_Init(){ RCAP2L=0xD9;//9600波特率对应 FFD9,低位为D9 RCA霸烹钟爷P2H=0xFF;//高位为FF T2CON=0x34;//RCLK、TCLK、TR2置1 SCON=0x50;//串口工作模式1,接收使能 ES=1;//打开接收中断 EA=1;//打开总中断}

5、中断函数:void Uart0_Ist()interrupt4 //中断函数{if(RI) { RI= 0; //Dowhatever you wa荏鱿胫协nt; }if(TI) { TI= 0; //Dowhatever you want; }}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢