×
单片机 > 单片机程序设计 > 详情

51单片机9600波特率改115200波特率

发布时间:2020-08-25 发布时间:
|

前几天写一个程序,碰到一个问题,51单片机常用到的波特率是9600的,但是使用到的模块的波特率是115200的,程序写好了但是功能不能正常实现,所以想到了修改波特率,但是在网上查了好多关于修改波特率的文章,但是都没有直接可以解决问题的,希望写这篇文章可以对遇到相同问题的同学起到帮助。


 void Uart1Init(void)    //串口初始化

{

   SCON=0x50;            //串口工作方式1,8位UART

   TH2=0xFF;           

   TL2=0xFD;               //波特率:115200  晶振:11.0592MHZ 

   RCAP2H=0xFF;   

   RCAP2L=0xFD;        //16位自动再装入值

   TCLK=1;   

   RCLK=1;   

   C_T2=0;   

   EXEN2=0;                //波特率发生器工作方式

   TR2=1 ;                    //定时器2开始

   TI = 1;                      //发送标志位置1

}

同时添加头文件

#ifndef __STC89C5xRC_RDP_H_

#define __STC89C5xRC_RDP_H_

/////////////////////////////////////////////////

/* The following is STC additional SFR */

/* sfr  AUXR  = 0x8e; */

/* sfr  AUXR1 = 0xa2; */

/* sfr  IPH   = 0xb7; */

sfr  P4  = 0xe8;

sbit P46 = P4^6;

sbit P45 = P4^5;       //ISP下载需勾选"ALE脚用作P4.5口"

sbit P44 = P4^4;

sbit P43 = P4^3;

sbit P42 = P4^2;

sbit P41 = P4^1;

sbit P40 = P4^0;

sfr  XICON = 0xc0;

sfr  WDT_CONTR = 0xe1;

sfr ISP_DATA  = 0xe2;

sfr ISP_ADDRH = 0xe3;

sfr ISP_ADDRL = 0xe4;

sfr ISP_CMD   = 0xe5;

sfr ISP_TRIG  = 0xe6;

sfr ISP_CONTR = 0xe7;

/* Above is STC additional SFR */

/*--------------------------------------------------------------------------

REG51F.H

Header file for 8xC31/51, 80C51Fx, 80C51Rx+

Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.

All rights reserved.

Modification according to DataSheet from April 1999

 - SFR's AUXR and AUXR1 added for 80C51Rx+ derivatives

--------------------------------------------------------------------------*/

/*  BYTE Registers  */

sfr P0   = 0x80;

sbit P00 = P0^0;

sbit P01 = P0^1;

sbit P02 = P0^2;

sbit P03 = P0^3;

sbit P04 = P0^4;

sbit P05 = P0^5;

sbit P06 = P0^6;

sbit P07 = P0^7;

sfr P1   = 0x90;

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

sbit P15 = P1^5;

sbit P16 = P1^6;

sbit P17 = P1^7;

sfr P2   = 0xA0;

sbit P20 = P2^0;

sbit P21 = P2^1;

sbit P22 = P2^2;

sbit P23 = P2^3;

sbit P24 = P2^4;

sbit P25 = P2^5;

sbit P26 = P2^6;

sbit P27 = P2^7;

sfr P3   = 0xB0;

sbit P30 = P3^0;

sbit P31 = P3^1;

sbit P32 = P3^2;

sbit P33 = P3^3;

sbit P34 = P3^4;

sbit P35 = P3^5;

sbit P36 = P3^6;

sbit P37 = P3^7;

sfr PSW  = 0xD0;

sfr ACC  = 0xE0;

sfr B    = 0xF0;

sfr SP   = 0x81;

sfr DPL  = 0x82;

sfr DPH  = 0x83;

sfr PCON = 0x87;

sfr TCON = 0x88;

sfr TMOD = 0x89;

sfr TL0  = 0x8A;

sfr TL1  = 0x8B;

sfr TH0  = 0x8C;

sfr TH1  = 0x8D;

sfr IE   = 0xA8;

sfr IP   = 0xB8;

sfr SCON = 0x98;

sfr SBUF = 0x99;

/*  80C51Fx/Rx Extensions  */

sfr AUXR   = 0x8E;

sfr AUXR1  = 0xA2;

sfr SADDR  = 0xA9;

sfr IPH    = 0xB7;

sfr SADEN  = 0xB9;

sfr T2CON  = 0xC8;

sfr T2MOD  = 0xC9;

sfr RCAP2L = 0xCA;

sfr RCAP2H = 0xCB;

sfr TL2    = 0xCC;

sfr TH2    = 0xCD;

/* PCA SFR

sfr CCON   = 0xD8;

sfr CMOD   = 0xD9;

sfr CCAPM0 = 0xDA;

sfr CCAPM1 = 0xDB;

sfr CCAPM2 = 0xDC;

sfr CCAPM3 = 0xDD;

sfr CCAPM4 = 0xDE;

sfr CL     = 0xE9;

sfr CCAP0L = 0xEA;

sfr CCAP1L = 0xEB;

sfr CCAP2L = 0xEC;

sfr CCAP3L = 0xED;

sfr CCAP4L = 0xEE;

sfr CH     = 0xF9;

sfr CCAP0H = 0xFA;

sfr CCAP1H = 0xFB;

sfr CCAP2H = 0xFC;

sfr CCAP3H = 0xFD;

sfr CCAP4H = 0xFE;

*/

/*  BIT Registers  */

/*  PSW   */

sbit CY   = PSW^7;

sbit AC   = PSW^6;

sbit F0   = PSW^5;

sbit RS1  = PSW^4;

sbit RS0  = PSW^3;

sbit OV   = PSW^2;

sbit P    = PSW^0;

/*  TCON  */

sbit TF1  = TCON^7;

sbit TR1  = TCON^6;

sbit TF0  = TCON^5;

sbit TR0  = TCON^4;

sbit IE1  = TCON^3;

sbit IT1  = TCON^2;

sbit IE0  = TCON^1;

sbit IT0  = TCON^0;

/*  IE   */

sbit EA   = IE^7;

sbit EC   = IE^6;

sbit ET2  = IE^5;

sbit ES   = IE^4;

sbit ET1  = IE^3;

sbit EX1  = IE^2;

sbit ET0  = IE^1;

sbit EX0  = IE^0;

/*  IP   */ 

/*  sbit PPC  = IP^6;*/

sbit PT2  = IP^5;

sbit PS   = IP^4;

sbit PT1  = IP^3;

sbit PX1  = IP^2;

sbit PT0  = IP^1;

sbit PX0  = IP^0;

/*  P3  */

sbit RD   = P3^7;

sbit WR   = P3^6;

sbit T1   = P3^5;

sbit T0   = P3^4;

sbit INT1 = P3^3;

sbit INT0 = P3^2;

sbit TXD  = P3^1;

sbit RXD  = P3^0;

/*  SCON  */

sbit SM0  = SCON^7; // alternatively "FE"

sbit FE   = SCON^7;

sbit SM1  = SCON^6;

sbit SM2  = SCON^5;

sbit REN  = SCON^4;

sbit TB8  = SCON^3;

sbit RB8  = SCON^2;

sbit TI   = SCON^1;

sbit RI   = SCON^0;

             

/*  P1  */

/* PCA

sbit CEX4 = P1^7;

sbit CEX3 = P1^6;

sbit CEX2 = P1^5;

sbit CEX1 = P1^4;

sbit CEX0 = P1^3;

sbit ECI  = P1^2;

*/

sbit T2EX = P1^1;

sbit T2   = P1^0;

/*  T2CON  */

sbit TF2   = T2CON^7;

sbit EXF2  = T2CON^6;

sbit RCLK  = T2CON^5;

sbit TCLK  = T2CON^4;

sbit EXEN2 = T2CON^3;

sbit TR2   = T2CON^2;

sbit C_T2  = T2CON^1;

sbit CP_RL2= T2CON^0;

/*  CCON  */

/*  PCA

sbit CF    = CCON^7;

sbit CR    = CCON^6;

sbit CCF4  = CCON^4;

sbit CCF3  = CCON^3;

sbit CCF2  = CCON^2;

sbit CCF1  = CCON^1;

sbit CCF0  = CCON^0;

*/

/////////////////////////////////////////////////

#endif



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈msp430f5529入门(2)----时钟配置.例程分析