//#include <STC15F2K60S2.H>
#include <REG52.H>
#include <stdio.h>
#define FOSC 11059200L //系统频率
#define BAUD 115200 //串口波特率
void delay_ms(xms);
void InitUART();
void main()
{
InitUART(); //初始化串口
while(1)
{
printf("OK!\n");
delay_ms(500);
}
}
//毫秒延时函数
void delay_ms(unsigned int xms)
{
unsigned char i;
for(xms;xms>0;xms--)
for(i=110;i>0;i--);
}
void InitUART(void)//使用定时器1作为串口波特率发生器
{
// SCON = 0x50; //8位数据,可变波特率
// T2L = (65536 - (FOSC/4/BAUD)); //设置波特率重装值
// T2H = (65536 - (FOSC/4/BAUD))>>8;
// AUXR = 0x14; //T2为1T模式, 并启动定时器2
// AUXR |= 0x01; //选择定时器2为串口1的波特率发生器
// ES = 1; //使能串口1中断
// EA = 1;
//
// TI=1;//使用printf必须添加
TMOD=0x20;//即0010 0000,定时器/计数器1,工作方式2
TH1=0xfd;//设置波特率为9600
TL1=0xfd;
TR1=1;//启动定时器/计数器1
SCON=0x50; //0101 0000.串口工作方式1,允许串行控制
PCON=0x00;//设置SMOD=0
IE=0x90; //CPU允许中断,串行允许中断
TI=1;//直接使用printf必须加入此句才能实现发送
}