基于单片机的简单计算器的代码
时间: 2024-01-10 10:02:43 浏览: 54
基于单片机的简易计算器
以下是基于单片机的简单计算器的代码示例,以AT89S52单片机为例:
```
#include<reg52.h> //包含AT89S52寄存器头文件
sbit ADD=P2^0; //加法按键
sbit SUB=P2^1; //减法按键
sbit MUL=P2^2; //乘法按键
sbit DIV=P2^3; //除法按键
sbit CLR=P2^4; //清零按键
sbit LED=P1^0; //LED指示灯
unsigned int a=0,b=0,c=0; //定义三个无符号整型变量存储运算数和结果
void delay() //延时函数
{
unsigned int i,j;
for(i=500;i>0;i--)
for(j=5;j>0;j--);
}
void main() //主函数
{
while(1) //循环执行
{
if(ADD==0) //加法运算
{
a++; //a加1
LED=1; //LED指示灯亮
delay(); //延时
LED=0; //LED指示灯灭
}
if(SUB==0) //减法运算
{
a--; //a减1
LED=1; //LED指示灯亮
delay(); //延时
LED=0; //LED指示灯灭
}
if(MUL==0) //乘法运算
{
b++; //b加1
LED=1; //LED指示灯亮
delay(); //延时
LED=0; //LED指示灯灭
}
if(DIV==0) //除法运算
{
b--; //b减1
LED=1; //LED指示灯亮
delay(); //延时
LED=0; //LED指示灯灭
}
if(CLR==0) //清零运算
{
a=0; //a赋值为0
b=0; //b赋值为0
c=0; //c赋值为0
LED=1; //LED指示灯亮
delay(); //延时
LED=0; //LED指示灯灭
}
c=a*b; //计算a乘b的结果
}
}
```
以上代码实现了简单的加减乘除和清零功能,按下不同的按键可以实现不同的计算操作,结果通过LED指示灯显示。需要注意的是,这只是一个简单的示例代码,实际上还需要对输入的数据进行判断和处理,以保证计算结果的正确性和稳定性。
阅读全文