新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STC15F2K60S2串口1程序

STC15F2K60S2串口1程序

作者: 时间:2016-11-26 来源:网络 收藏
此程序为才写的串口1,工作模式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)
{
if( flag == 1 )
{
SBUF = temp ;
flag = 0 ;
}
}
}
void Uart( void ) interrupt 4 using 1
{
if( RI )
{
RI = 0 ;
temp = SBUF ;
flag = 1 ;
}
if( TI )
{
TI = 0 ;
}
}



评论


技术专区

关闭