串口实现简单加减乘除
时间:10-02
整理:3721RD
点击:
#include<reg52.h>
#include<stdio.h>
unsigned char j=0,flag=0,num1,num2,fh1,result,a,b,c;
unsigned char receive[4]={0,1,2,3};
void main()
{
TMOD=0x20;
TH1=0xE8;
TL1=0xE8;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
EA=1;
while(1)
{
if(flag==3)
{
ES=0;
num1=receive[0]-'0';
num2=receive[2]-'0';
if(receive[3]=='=')
{
if(receive[1]=='+')
result=num1+num2;
if(receive[1]=='-')
result=num1-num2;
if(receive[1]=='/')
result=num1/num2;
if(receive[1]=='*')
result=num1*num2;
SBUF=result+'0';
}
while(!TI);
TI=0;
ES=1;
}
}
}
void serial_() interrupt 4
{
RI=0;
receive[j]=SBUF;
flag++;
j++;
}
为什么什么都没没有返回(我想实现简单的算法)
#include<stdio.h>
unsigned char j=0,flag=0,num1,num2,fh1,result,a,b,c;
unsigned char receive[4]={0,1,2,3};
void main()
{
TMOD=0x20;
TH1=0xE8;
TL1=0xE8;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
EA=1;
while(1)
{
if(flag==3)
{
ES=0;
num1=receive[0]-'0';
num2=receive[2]-'0';
if(receive[3]=='=')
{
if(receive[1]=='+')
result=num1+num2;
if(receive[1]=='-')
result=num1-num2;
if(receive[1]=='/')
result=num1/num2;
if(receive[1]=='*')
result=num1*num2;
SBUF=result+'0';
}
while(!TI);
TI=0;
ES=1;
}
}
}
void serial_() interrupt 4
{
RI=0;
receive[j]=SBUF;
flag++;
j++;
}
为什么什么都没没有返回(我想实现简单的算法)
很有想法。
大神们请赐教