51单片机串口调试程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/******************************************************************/
void UART_SER() interrupt 4
{
uchar Temp;//定义临时变量
if(RI)
{
RI=0;
//标志位清零
Temp=SBUF;
//读入缓冲区的值
#define uchar unsigned char
/******************************************************************//*名称:主函数*/
/*内容:打开串口调试程序,将波特率设置为9600,无奇偶校验*/
/*晶振11.0592MHz,发送和接收使用的格式相同,如都使用*/
打开串口调试?程序将波特率设置?为9600无奇偶校验晶振110592mh?z发送和接收使?用的格式相同?如都使用字符型格式在发送框输入?helloilovem?cu在接收框中同样可?以看到相同字?符说明设置和通?信正确波特率设置及?串口初始化define?baudra?te9600ul?define?fosc110592?00ul其中ul是不能省?略的代表长整型
//SM2=0->多级通信中使用的位,REN=1;
PCON=0;
if((PCON&0x80)==0x80) S_MOD=2;
TH1=256-(fosc*S_MOD)/(baudrate*12*32);//其中SMOD=0,
TL1=256-(fosc*S_MOD)/(baudrate*12*Байду номын сангаас2);
TR1=1;
P1=Temp;//把值输出到P1口,用于观察
SBUF=Temp;//把+接收到的值再发回电脑端
}
if(TI)
//如果是发送标志位,清零
TI=0;
}
串口调试程序:(已通过编译)
//串口调试程序51单片机
/******************************************************************/
#include<reg52.h>//头文件调用,写程序时都要加上
#define uint unsigned int//宏定义,为了后面定义变量书写简便
#define fosc 11059200UL//其中,UL是不能省略的,代表长整型。
unsigned char a,flag;
void serial_init(void)
{ unsigned char S_MOD=1;
TMOD=0x20;//T1工作在方式2
SCON=0x50;//SM0=0 SM1=1->串口通信在模式1,
/*字符型格式,在发送框输入hello,ILoveMCU,在接*/
/*收框中同样可以看到相同字符,说明设置和通信正确*/
/******************************************************************/
//******波特率设置及串口初始化
#define baudrate 9600UL
ES=1;
EA=1;
}
//*************
void main(void)
{
serial_init(); //初始化
while(1)
//主循环不做任何动作
{}
}
/******************************************************************//*串口中断程序*/
相关文档
最新文档