#include <reg52.h>
#include <string.h>
void uart_init(void)
{
TMOD=0x20;//即0010 0000,定时器/计数器1,工作方式2
TH1=0xf3;//12M,波特率2400
TL1=0xf3;
SCON=0x50; //0101 0000.串口工作方式1,允许串行控制
PCON=0x00;//设置SMOD=0
IE=0x90; //CPU允许中断,串行允许中断
TR1=1;//启动定时器/计数器1
}
void sendbyte(uint8 c)
{
SBUF=c;
while(!TI);//等待发送完成
TI=0;
}
int main(void)
{
//加上i=0这个局部变量,程序就跑飞
uint8 length=0,*string="1234";
// uint8 a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;
uint8 a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;
length=strlen(string);
uart_init();
while(1)
{
sendbyte(0x06);
sendbyte(length);
} |