main.c
#include <REGX52.H>
#include "UART.H"
void Delay(int t)
{
while(--t);
}
void main()
{
UART_Init();
while(1)
{
}
}
void UART_Routine() interrupt 4//中断
{
if(RI==1)
{
P2=~SBUF;
UART_SendByte(SBUF);
RI=0;
}
//P2=0x00;
}
UART.c
#include <REGX52.H>
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte;
while(TI==0);
TI=0;
}
void UART_Init()//串口通信
{
SCON=0x40;//串口
PCON |=0x80;
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xF3; //设定定时初值
TH1 = 0xF3; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
EA=1;
ES=1;
}
UART.h
#ifndef __UART_H__
#define __UART_H__
void UART_Init();
void UART_SendByte(unsigned char Byte);
#endif
|