微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口实现简单加减乘除

串口实现简单加减乘除

时间: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++;
       
}

为什么什么都没没有返回(我想实现简单的算法)

很有想法。

大神们请赐教

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top