/*********** (C) COPYRIGHT 2009 http://www.wang1jin.com ************
* 文件名称: main.c
* 程序作者: wish_btn
* 程序版本: V1.0
* 编制日期: 12-12-2009
* 功能描述: 串口测试
* 编译器:Keil C uVision4
* 芯片:STC89C52,11.0592M晶振
* 技术支持:http://www.wang1jin.com
*
* 提供原创51单片机、PROTEL99SE视频教程下载,欢迎大家前往论坛下载。
* 论坛地址: http://www.wang1jin.com/bbs/
******************** http://www.wang1jin.com **********************/
#include <REGX52.H>
unsigned char DataToSend,Flag,DataReceived;
/******************* http://www.wang1jin.com **********************
* 函数名称: main
* 功能描述: main函数,程序入口
* 输入参数: 无
* 返回参数: 无
**********************************************************************/
void main(void)
{
TMOD = 0x20; //定时器1模式2
TH1 = 0xFD; //装初值3设定波特率9600
TL1 = 0xFD;
TR1 = 1; //使能定时器1
SM0 = 0;
SM1 = 1; //串口工作模式
REN = 1;//串行口允许接受数据
EA = 1; //使能全局中断
ES = 1; //使能串口中断
while(1)
{
if(Flag == 1)
{
ES = 0;// 进入发送数据则先关中断
Flag = 0;
DataToSend = DataReceived; //将收到的数据发回给PC机
SBUF = DataToSend;
while(!TI);
TI = 0;
ES = 1;
}
}
}
/******************* http://www.wang1jin.com **********************
* 函数名称: serial
* 功能描述: 串口中断服务程序
* 输入参数: 无
* 返回参数: 无
**********************************************************************/
void serial() interrupt 4
{
P0 = SBUF;
DataReceived = SBUF;
Flag = 1;
RI = 0;
}
文章评论(0条评论)
登录后参与讨论