用C语言写一个基于51单片机的简易计算器
时间: 2023-07-04 19:11:19 浏览: 170
基于单片机简易计算器的设计.pdf
好的,下面是一个简单的基于51单片机的计算器程序,可以实现加、减、乘、除四种基本运算,希望可以帮到你:
```c
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1 = P1^0; //按键连接P1.0
sbit key2 = P1^1; //按键连接P1.1
sbit key3 = P1^2; //按键连接P1.2
sbit key4 = P1^3; //按键连接P1.3
sbit key5 = P1^4; //按键连接P1.4
sbit key6 = P1^5; //按键连接P1.5
sbit key7 = P1^6; //按键连接P1.6
sbit key8 = P1^7; //按键连接P1.7
uchar num1, num2; //操作数1和操作数2
uint result; //运算结果
void delay(uint t) //延时函数
{
uint i, j;
for (i = t; i > 0; i--)
for (j = 110; j > 0; j--);
}
void keyscan() //按键扫描函数
{
if (key1 == 0) { //加法运算
result = num1 + num2;
}
if (key2 == 0) { //减法运算
result = num1 - num2;
}
if (key3 == 0) { //乘法运算
result = num1 * num2;
}
if (key4 == 0) { //除法运算
result = num1 / num2;
}
}
void main()
{
while (1) {
if (key5 == 0) { //读取操作数1
delay(5); //延时去抖
if (key5 == 0) {
num1 = P2;
while (!key5); //等待松开按键
}
}
if (key6 == 0) { //读取操作数2
delay(5); //延时去抖
if (key6 == 0) {
num2 = P2;
while (!key6); //等待松开按键
}
}
keyscan(); //按键扫描
P0 = result; //显示结果
}
}
```
以上代码仅供参考,具体实现方式可以根据个人需要进行调整。
阅读全文