微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STC15F2K60S2串口1程序

STC15F2K60S2串口1程序

时间: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 ;

}

}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top