基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用

STC12C5A60S2系列1T 8051单片机管脚图

在这里插入图片描述在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置

在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍

在这里插入图片描述在这里插入图片描述

液晶显示器LCD1602简单介绍

在这里插入图片描述在这里插入图片描述
DDRAM : 数据显示随机存储器 液晶显示器显示数据是来于数据显示随机存储器
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
CGRAM:字符生成随机存储器 用户自定义字符会存储在字符生成存储器
在这里插入图片描述
CGROM:字符库只读存储器 只提供字符 用液晶显示器显示这些字符

总结:不管是CGRAM(字符生成随机存储器)自定义的字符 还是CGROM(字符库只读存储器)原有的字符 写进DDRAM(数据显示随机存储器)内存地址上 才能在液晶显示器屏幕显示出来
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

IIC通信简单介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

掉电保存数据芯片24C02简单介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

通过液晶显示器LCD1602显示整数、小数

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
main.c

#include "STC12C5A60S2.h" 
//#include "AT24C02.h" 
//#include "AT24C02OfI2C.h" 
//#include <intrins.h>
#include <stdio.h>
#include "LCD1602.h" 
#define uchar unsigned char//自定义无符号字符型为uchar
#define uint unsigned int//自定义无符号整数型为uint 
 void main()//主函数
{
   
//  uchar Data;//声明数据变量
//	uchar String[10];//声明字符串数组变量
//	LCD1602Init();//液晶显示器初始化函数
//	uchar i;//声明循环变量
//  uchar String[20];//声明字符串数组变量
//  uchar StringCache[5];//声明字符串缓存数组变量
//  LCD1602Init();//液晶显示器初始化函数
//  Data = ReadByteFromAT24C02(0x50,0x20);//单片机作为主机通过I2C通信从AT24C02内存地址0x20上读取一个字节 
//  LCD1602SetDisplayPosition(0,0);//液晶
LCD1602 显示屏是一种常见的字符型液晶显示屏,可以通过其液晶显示屏上的 16×2 个字符位置来显示字符。如果要在 LCD1602 显示屏上显示小数点,可以考虑以下两种方法: 1. 使用自定义字符 LCD1602 显示屏可以通过自定义字符的方式来显示小数点。首先需要将小数点的形状转换为 5×8 的点阵图,然后将其写入到 LCD1602 的 CGRAM 中。接下来,在需要显示小数点的位置上调用该自定义字符即可。 2. 使用特殊字符 LCD1602 显示屏中还有一些特殊字符,例如箭头、方块等,可以通过调用这些特殊字符来显示小数点。具体方法是将需要显示小数点的位置上的字符替换为特殊字符中的一个,例如将 "." 替换为 "→",就可以实现小数点显示。 无论使用哪种方法,都需要在程序中进行相应的设置和调用。在 Arduino 中,可以通过 LiquidCrystal 库来控制 LCD1602 显示屏的显示。以下是一个简单的示例代码,可以实现在第二行第十个字符位置显示小数点的功能: ```C++ #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte decimal[8] = { B00000, B00000, B00000, B00000, B00000, B00000, B00100, B00000 }; void setup() { lcd.begin(16, 2); lcd.createChar(0, decimal); } void loop() { lcd.setCursor(9, 1); lcd.write(byte(0)); delay(1000); } ``` 在上述代码中,首先定义了一个 5×8 的点阵图 decimal,表示小数点的形状。然后在 setup() 函数中,将该点阵图写入到 LCD1602 的 CGRAM 中,并将其编号为 0。最后在 loop() 函数中,通过调用该自定义字符来显示小数点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值