程序写好后使用STC-isp串口助手来看发送的数据,但是总是和想的不太一样。
我不知道问题出在了哪里,希望各位大大能给我指个方向,让我别无头苍蝇乱撞了。。。
#include <stc8h.h>
void UartInit(void);
void DelayXms(unsigned int Xms);
void main()
{
P3M1=0,P3M0=0;
CKSEL |= 0x00;
UartInit();
while(1)
{
SBUF=0x01;
DelayXms(1000);
}
}
void UartInit(void)//115200bps@11.0592MHz
{
SCON = 0x50;//8位数据,可变波特率
AUXR |= 0x40;//定时器1时钟为Fosc/1,即1T
AUXR &= 0xFE;//串口1选择定时器1为波特率发生器
TMOD &= 0x0F;//设定定时器1为16位自动重装方式
TL1 = 0xE8;//设定定时初值
TH1 = 0xFF;//设定定时初值
ET1 = 0;//禁止定时器1中断
TR1 = 1;//启动定时器1
EA=1;
ES=1;
}
void uart_ISR() interrupt 4
{
if(TI)
{
TI=0;
DelayXms(1000);
}
}
void DelayXms(unsigned int Xms)
{
unsigned int i,j;
for(i=Xms;i>0;i--)
for(j=124;j>0;j--);
}
我不知道问题出在了哪里,希望各位大大能给我指个方向,让我别无头苍蝇乱撞了。。。
#include <stc8h.h>
void UartInit(void);
void DelayXms(unsigned int Xms);
void main()
{
P3M1=0,P3M0=0;
CKSEL |= 0x00;
UartInit();
while(1)
{
SBUF=0x01;
DelayXms(1000);
}
}
void UartInit(void)//115200bps@11.0592MHz
{
SCON = 0x50;//8位数据,可变波特率
AUXR |= 0x40;//定时器1时钟为Fosc/1,即1T
AUXR &= 0xFE;//串口1选择定时器1为波特率发生器
TMOD &= 0x0F;//设定定时器1为16位自动重装方式
TL1 = 0xE8;//设定定时初值
TH1 = 0xFF;//设定定时初值
ET1 = 0;//禁止定时器1中断
TR1 = 1;//启动定时器1
EA=1;
ES=1;
}
void uart_ISR() interrupt 4
{
if(TI)
{
TI=0;
DelayXms(1000);
}
}
void DelayXms(unsigned int Xms)
{
unsigned int i,j;
for(i=Xms;i>0;i--)
for(j=124;j>0;j--);
}