找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5081|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

幫我看看這段C8051F020串口程序代碼,想設(shè)置115200波特率

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113387 發(fā)表于 2016-4-12 12:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
高手幫我看看下面的“??????”應(yīng)該怎么填,希望的波特率是115200,感謝~

#include "ZLG7289.h"

unsigned char data1;
void SYSCLK_Init();
void PORT_Init();
void UART0_Init();

void  DelayMs(unsigned int i)
{
        unsigned int j;
        for(;i>0;i--)
                for(j=1000;j>0;j--)        ;                               
}
void SYSCLK_Init()
{      
        unsigned int i;   
        OSCXCN=0X67;         //0X67=0110,0111
        for(i=0;i<256;i++);         //等待>1ms
        while(!(OSCXCN&0X80));      //等待XTLVLD變?yōu)?
        OSCICN=0X88;         //時鐘失效檢測器,選擇外部時鐘源作為系統(tǒng)時鐘
}
void PORT_Init()
{   
        XBR0 = 0x27;          /*交叉開關(guān)配置,URAT總線TX0置到P0.0口,
                                                                                                RX0置到P0.1口, SPI總線SCK配置到P0.2口,
                                                                                                MOSI為P0.4口, NSS為P0.5,MISO配置到P0.3口,
                                                                                                IIC總線SDA置到P0.6口,SCK置到P0.7,
                                                                                                TX1,RX1配置到P1.0,P1.1,
                                                                                                CEX0,CEX1配置到P1.2,P1.3,
                                                                                                外部中斷int0配置到P1.4 */   
        XBR1 = 0x04;  
        XBR2 = 0x44;          /*允許功能選擇開關(guān)有效*/   
        P0MDOUT = 0x1A;      
        P74OUT   =0xff;
}
void UART0_Init()
{   
        SCON0=0x50;         //串口方式1   
        TMOD=0X20;          //選用定時器1作為波特率發(fā)生器
        TH1=?????;           //波特率為????????
        TL1=?????;
        ES0=1;             //開啟串口中斷0
        TF1=0;
        TR1=1;               //定時器開啟   
        PCON=0X80;           //波特率加倍 波特率為?????   
        TI0=1;
}
void UART0_ISR() interrupt 4 using 1
{
        if(RI0)
        {   
                RI0=0;           //中斷接受標(biāo)志清零      
                data1=SBUF0;      //接受數(shù)據(jù)
                ZLG7289_Download(1,0,0,0x03);
                DelayMs(1000);
                SBUF0=data1;       //發(fā)送數(shù)據(jù)  
                while(TI0==0);      
                TI0=0;           //發(fā)送標(biāo)志清零
        }
}
void main()
{      
        WDTCN=0XDE;
        WDTCN=0XAD;
        SYSCLK_Init();
        ZLG7289_Init();
        PORT_Init();
        UART0_Init();   
        EA=1;
        while(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:848699 發(fā)表于 2020-12-20 23:25 來自手機(jī) | 只看該作者
我也是C8051F020,也想設(shè)置115200的波特率。你最后解決了嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表