c51单片机计算器程序
时间: 2023-09-03 13:16:39 浏览: 152
一个51单片机的语音计算器程序.zip
以下是一个简单的C51单片机计算器程序示例,可以进行加、减、乘、除四则运算:
```
#include <reg52.h>
sbit Key_1 = P1^0; // 加
sbit Key_2 = P1^1; // 减
sbit Key_3 = P1^2; // 乘
sbit Key_4 = P1^3; // 除
sbit Key_5 = P1^4; // 等于
unsigned char num_1, num_2; // 两个运算数
unsigned char operator; // 运算符
unsigned char result; // 运算结果
void Delay(unsigned int t) { // 延时函数
unsigned int i, j;
for(i = 0; i < t; i++)
for(j = 0; j < 125; j++);
}
void Key_Scan() { // 按键扫描函数
if(Key_1 == 0) {
operator = '+';
Delay(10);
}
else if(Key_2 == 0) {
operator = '-';
Delay(10);
}
else if(Key_3 == 0) {
operator = '*';
Delay(10);
}
else if(Key_4 == 0) {
operator = '/';
Delay(10);
}
else if(Key_5 == 0) {
switch(operator) {
case '+': result = num_1 + num_2; break;
case '-': result = num_1 - num_2; break;
case '*': result = num_1 * num_2; break;
case '/': result = num_1 / num_2; break;
}
num_1 = 0;
num_2 = 0;
operator = 0;
P0 = result;
Delay(10);
}
else {
if(operator == 0) {
num_1 = P0;
}
else {
num_2 = P0;
}
Delay(10);
}
}
void main() {
operator = 0;
num_1 = 0;
num_2 = 0;
result = 0;
P0 = 0;
while(1) {
Key_Scan();
}
}
```
这个程序中,使用了P0口来输入和输出数据,P1口来检测按键输入。按下加、减、乘、除键时,会记录下运算符;按下等于键时,根据运算符进行相应的计算,并将结果输出。按下数字键时,会根据当前的运算符来记录输入的数字。注意,在使用P0口输入数字时,需要使用外部电路进行数码管的控制。
阅读全文