12864液晶显示器与矩阵键盘实现简易计算器

需积分: 48 22 下载量 130 浏览量 更新于2024-09-08 12 收藏 10KB TXT 举报
"该资源是关于使用单片机实现一个基于12864液晶显示屏和4*4矩阵键盘的简易计算器。计算器具备基础的整数加减乘除功能,支持清除操作,并在进行除法时能保留两位小数。如果尝试除以零,程序会给出错误提示。" 在该程序中,主要涉及以下知识点: 1. **单片机编程**:程序使用了C语言编写,针对51系列单片机进行设计。它通过控制P3口的引脚来驱动12864液晶显示屏和4*4矩阵键盘。 2. **12864液晶显示屏**:这种显示屏用于显示计算器的数字和符号。在代码中,定义了相关的控制引脚如RS、RW、E和PSB,用于与单片机通信,实现数据显示。 3. **矩阵键盘**:4*4矩阵键盘用于输入数字和运算符。程序中的`keyscan()`函数负责扫描并识别按键,`scan()`函数则用于处理按键趋势,确保输入的连续性和准确性。 4. **运算逻辑**:程序中定义了一系列标志位(如flag1到flag16)来追踪当前的操作状态,比如加法、减法、乘法、除法、清除等。`value()`函数处理输入的数值,`display_value()`函数则将结果显示在屏幕上。 5. **错误处理**:通过`math_error()`函数,程序可以检测并处理除数为零的情况,向用户显示“matherror”提示。 6. **数据结构**:使用了`long table2[19]`这样的数组来存储计算过程中的数值,考虑到可能需要处理较大的整数。 7. **延时函数**:`delay(uint)`函数用于提供适当的延迟,确保操作的稳定性和用户交互的响应性。 8. **初始化函数**:`init()`函数初始化12864液晶显示屏,设置必要的显示参数。 9. **字符编码表**:如`codetable1`、`codetable3`、`codetable4`和`codetable5`分别对应数字、欢迎信息、计算器名称以及错误信息的ASCII码表示。 整体来看,这个项目结合了硬件接口编程、运算逻辑控制、用户交互设计等多个方面的知识,是一个很好的学习单片机控制和嵌入式系统开发的实践案例。