原创 WJ-V2.0实验板实验例程六:串口测试

2009-12-13 22:40 1447 4 4 分类: MCU/ 嵌入式

/*********** (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;
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条