使用单片机制作电子计算器

编程狂想曲 2024-01-14 ⋅ 17 阅读

简介

电子计算器是一种广泛使用的便携式设备,用于完成各种常见的数学运算。本项目旨在使用单片机(例如Arduino)制作一个基本的电子计算器。本文将介绍电子计算器的基本原理、所需材料、电路连接、编程代码和使用方法。

所需材料

为了制作电子计算器,您需要以下材料:

  1. 单片机板(例如Arduino Uno)
  2. LCD显示屏
  3. 按键开关
  4. 面包板和导线
  5. 电阻器和电容器(用于电路稳定)

电路连接

首先,将Arduino板与LCD显示屏和按键开关连接。请参考以下连接图:

+---------------------------------------+
|                                       |
|              Arduino Uno              |
|                                       |
|   +-- [5V] ----------- VCC (LCD)      |
|   |   |                               |
|   |   +-- [GND] ---------- GND (LCD)  |
|   |   |                               |
|   |   +-- [2] -------------- RS (LCD) |
|   |   |                               |
|   |   +-- [3] ------------- E (LCD)   |
|   |   |                               |
|   |   +-- [4] ------------- D4 (LCD)  |
|   |   |                               |
|   |   +-- [5] ------------- D5 (LCD)  |
|   |   |                               |
|   |   +-- [6] ------------- D6 (LCD)  |
|   |   |                               |
|   |   +-- [7] ------------- D7 (LCD)  |
|   |   |                               |
|   |   +-- [8] ------------ A (Button) |
|   |   |                               |
|   |   +-- [9] ------------ B (Button) |
|   |   |                               |
|   |   +-- [10] ------------ C (Button)|
|   |   |                               |
|   |   +-- [11] ------------ D (Button)|
|   |                                   |
|   +-----------------------------------+
|                                       |
+---------------------------------------+

编程代码

#include <LiquidCrystal.h>  // 引入LiquidCrystal库

LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // 初始化LCD对象

int buttonA = 8;  // A按钮连接到引脚8
int buttonB = 9;  // B按钮连接到引脚9
int buttonC = 10; // C按钮连接到引脚10
int buttonD = 11; // D按钮连接到引脚11

void setup() {
  lcd.begin(16, 2);  // 初始化LCD
  lcd.print("Electronic");  // 打印欢迎消息
  lcd.setCursor(0, 1);
  lcd.print("Calculator");
  delay(2000);  // 延迟2秒
  lcd.clear();  // 清除屏幕
}

void loop() {
  int button = 0;
  
  // 检测哪个按钮被按下
  if (digitalRead(buttonA) == LOW) {
    button = 1;
  } else if (digitalRead(buttonB) == LOW) {
    button = 2;
  } else if (digitalRead(buttonC) == LOW) {
    button = 3;
  } else if (digitalRead(buttonD) == LOW) {
    button = 4;
  }
  
  // 根据按钮执行相应的操作
  switch (button) {
    case 1:
      // 执行A按钮的操作
      lcd.setCursor(0, 0);
      lcd.print("Button A");
      delay(1000);
      lcd.clear();
      break;
    case 2:
      // 执行B按钮的操作
      lcd.setCursor(0, 0);
      lcd.print("Button B");
      delay(1000);
      lcd.clear();
      break;
    case 3:
      // 执行C按钮的操作
      lcd.setCursor(0, 0);
      lcd.print("Button C");
      delay(1000);
      lcd.clear();
      break;
    case 4:
      // 执行D按钮的操作
      lcd.setCursor(0, 0);
      lcd.print("Button D");
      delay(1000);
      lcd.clear();
      break;
    default:
      // 当没有按钮被按下时,显示默认消息
      lcd.setCursor(0, 0);
      lcd.print("Press a Button");
      break;
  }
}

使用方法

上传上述编程代码到Arduino板,并将所有组件连接好。然后,您可以通过按下不同的按钮来触发不同的操作。在LCD显示屏上,您将看到相应的消息显示。

这只是一个简单的示例,您可以根据需要扩展此电子计算器的功能。例如,您可以添加数学运算,并根据按钮的输入来计算结果。

希望这个项目能帮助你了解如何使用单片机制作电子计算器!

参考链接:


全部评论: 0

    我有话说: