51单片机实现小数双显示:LCD1602与数码管应用

需积分: 34 10 下载量 89 浏览量 更新于2024-07-26 收藏 22KB DOCX 举报
本文档主要介绍了如何使用51单片机配合LCD1602液晶屏和矩阵键盘实现一个简单的计算器功能,能够处理并显示小数。涉及到的技术包括单片机编程、字符编码、数据传输和处理以及硬件连接。 首先,文档引用了两个字符编码表:`codetabledu`和`codetabledu1`,分别对应小数点前后的字符编码,以及一个数字字符编码表`ucharcodetable`。这些表用于将数字和运算符转换为液晶屏可以识别的二进制信号。 在程序的定义部分,有多个变量如`floatdispbuf1`用于存储浮点数,`num1`, `num2`, `num3`作为计算过程中的临时变量,`flag3`控制运算符的优先级,`num5`, `num6`, `num7`和`n1`用于整数计算,`n2`表示十进制位数,`fuhao`可能用于标识负号。另外,还有一些控制键的状态变量如`key1`, `key2`, `key3`,以及`flag1`和`flag2`用于处理按键输入和运算符号。 函数`keyscan1()`和`ukeyscan1()`可能是用于扫描矩阵键盘的输入,`delay()`函数则用于延时处理,确保操作稳定。`change()`函数用于字符编码的调整,可能是在液晶屏上显示不同位置的数值或符号。 核心部分是`jisuan(floatx,chary,floatz)`函数,该函数实现了加减乘除四种基本运算。通过判断输入的按键`y`值(10代表加法,11代表减法,12代表乘法,13代表除法),根据运算符对输入的浮点数`x`进行相应的计算,并返回结果。 最后,程序通过调用这些函数和变量处理用户输入的数字和运算符,然后在LCD1602液晶屏上显示计算结果,包括小数部分。整个过程展现了单片机在计算器应用中的基本操作和处理小数的能力。 总结来说,本资源提供了一个51单片机驱动LCD1602液晶显示和矩阵键盘构建简单计算器的实例,重点在于数据转换、运算处理和液晶显示技术的应用,对于学习和理解单片机在实际项目中的应用具有一定的参考价值。