求大神帮解答
//这是一个演示程序,你自己根据实际电路修改端口P1~P3
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
bit flag;
uchar x;
void init()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
}
void main()
{
init(); //初始化定时器1
P1=0xfe; //初始化P1
while(1)
{
if(x==1) //任务1
P1=0x55; //LED显示
if(x==2) //任务2
P1=0xaa; //LED显示
if(x==3&&flag==1) //任务3
{
ES=0; //关串口中断
flag=0; //接收完成标志清0
SBUF=P1&0x1f; //按位相与后得到低5位数据发送
while(!TI); //等待发送中断请求标志位为1
TI=0; //发送中断请求标志位清0
ES=1; //开串口中断
P1=~(P1&0x1f); //LED显示取反更直观观察低5位数据
}
}
}
void ver() interrupt 4
{
RI=0; //接收中断请求标志位清0
x=SBUF; //获取SBUF接收到的数据
flag=1; //接收完成标志置1
}
大哥,你太太太给力了,你收徒弟不,825692103 答案:睡,收徒弟加一下我吧,呜呜呜呜呜