单片机串口中断执行流程 20

程序从main函数开始,初始化后进入while循环,首先IF判断,请问此时IF是真还是假?后面的执行流程如何?#include<reg52.h>#defineucharu... 程序从main函数开始,初始化后进入while循环,首先IF判断,请问此时IF是真还是假?后面的执行流程如何?
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[6]="I get";
//uchar code table[]="I get";
void init()//初始化函数
{
TMOD=0x20; //0010 0000定时器工作方式为方式2 8位自动重装
TH1=0xfd; //初始化计数器高8位 1111 1101
TL1=0xfd; //初始化计数器低8位
TR1=1; //启动定时器1
REN=1; //允许串行中断接收
SM0=0; //设定串口工作方式 为方式1(10位异步通信)
SM1=1; //设定串口工作方式
EA=1; //打开全局中断
ES=1; //打开串口中断 ES(IE.4)是串行口中断允许位
}

void main()
{
init();
while(1)
{
if(flag==1)//检测变量flag是否为1 为1则中断结束
{
ES=0;//关闭串口中断
for(i=0;i<6;i++) //发送数据
{
SBUF=table[i];
while(!TI); // TI是串口发送完成标志,发送完成硬件自动置TI为1并发起中断进入中断程序
TI=0; // TI=0,发送未完成
}
SBUF=a;//接收数据
while(!TI); //while(1);是一条指令,它让单片机停在这个位置,一般用来检测中断,只有cpu收到中断指令,才会跳出while(1),进入中断服务子程序
TI=0; //TI串口发送中断标志位。每发送完一个串行帧,由硬件置位TI。
//CPU响应中断时,不能自动清除TI,TI必须由软件清除。
ES=1; //打开串口中断
flag=0;
}
}
}

void ser() interrupt 4//4为串口中断,中断服务程序(函数)不需要申明,所以可以放在main函数后面
{
RI=0; //RI(SCON.0)串行口接收中断标志位,RI清0取消中断申请便于接收下一个中断
a=SBUF; //接收、发送缓存器赋于变量a
flag=1; //置标志位为1
}
展开
 我来答
桥玉书5U
2019-03-21 · 贡献了超过652个回答
知道答主
回答量:652
采纳率:6%
帮助的人:51.4万
展开全部
流程是:(主程序中)发送数据―等待中断―发送成功产生中断―进入中断清除TL,再次发送―中断返回―等待中断―发送成功产生中断―进入中断清除TL,再次发送。。。。循环而已。
miaolaiyun
2019-10-05
知道答主
回答量:4
采纳率:0%
帮助的人:3239
展开全部
flag初始默认0 ,进中断置1,主程序往下走,回0后进中断又置1,不断循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tmycw
2019-03-21
知道答主
回答量:15
采纳率:0%
帮助的人:7820
展开全部
MOUV的题你不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
136******42
2019-03-21
知道答主
回答量:18
采纳率:33%
帮助的人:2.5万
展开全部
你这说的过于笼统了,得看你想知道的具体串口中断问题。单片机串口主要是用于接收或者发送的。想明白这个,先说一下中断这个概念,举个例子,比
追问
我想知道程序执行顺序
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迎客松com
2019-03-21 · 贡献了超过113个回答
知道答主
回答量:113
采纳率:7%
帮助的人:9.9万
展开全部
I think the most important thing is to care about a person, now WeChat QQ so developed, not as before, although I miss the past, only the pager time, like the movie inside the story, like, like it is responsible. Don't love a person just for the sake of loving him, when you love him, you should surprise him first. I think people are the most. Like surprises. Secondly, you have to understand her. Know his hobby. Like a person's feeling is very best. When you have someone you like, you must cherish it. You have to be better. To be worthy of him. Don't think of it so far away. If you love roses, be brave enough to let out your fragrance.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式