STC15F2K60S2串口1程序
//本示例在Keil开发环境下请选择Intel的8058芯片型号进行编译
//假定测试芯片的工作频率为18.432MHz
#include "reg51.h"
sfr P4 = 0xc0;
sfr P5 = 0xc8;
sfr AUXR = 0x8e ;
unsigned char temp ;
bit flag = 0 ;
void UartInit(void) //9600bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设定定时器1为16位自动重装方式
TL1 = 0xE0; //设定定时初值
TH1 = 0xFE; //设定定时初值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
EA = 1 ; //开启总中断
ES = 1 ; //开串口中断
}
void main( void )
UartInit() ;
SBUF = A ;
while(1)
}
}
}
void Uart( void ) interrupt 4 using 1
if( RI )
}
}
}
评论