C51单片机LCD1602驱动程序
发布时间:2025-12-09 16:59:43
浏览次数:4
C51单片机LCD1602驱动程序
- LCD1602简介
-
- LCD1602关键性指令操作
- 一、清屏指令
- 二、进入模式设置指令
- 三、显示开关控制指令
- 四、功能设定指令
- 五、RAM地址映射图
- LCD1602驱动代码
-
- 函数封装
-
本篇为学习普中科技单片机开发板HC68000-EM3 V2.2后的笔记汇总;
LCD1602简介
LCD1602字符型液晶(每行显示16个字符,一共可以显示两行)——一种专门用来显示字母、数字、符号的点阵型液晶模块。它由若干个5x7或者5x10的点阵字符组成,每个点阵字符位都可以用来显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。
1602的引脚
lcd1602.h文件
声明:请根据晶振自行编写延时函数
#include "delay.h" //请根据晶振自行编写延时函数sbitRS=P1^0; // 根据实际硬件连接修改sbitRW=P1^1; // 根据实际硬件连接修改sbitE=P1^2; // 根据实际硬件连接修改#define DPORTP0 // 根据实际硬件连接修改void lcd1602Init(); // 初始化void lcd1602Clear(); // 清屏命令void lcd1602SetCursor(unsigned char Para);//设置光标void lcd1602WriteChar(unsigned char xPos,unsigned char yPos,unsigned char Dat); // 写1个字符void lcd1602WriteString(unsigned char xPos,unsigned char yPos,unsigned char *s); // 写字符串
lcd1602.c文件
#include "lcd1602.h"void lcd1602WriteByte(unsigned char dat){}//写数据void lcd1602WriteCmd(unsigned char cmd){}//写命令void lcd1602Clear(){}//清屏void lcd1602SetCursor(unsigned char Para){} // 设置光标void lcd1602Init(){}//初始化// 内部函数用于设置显示字符起始坐标void lcd1602WritePos(unsigned char xPos,unsigned char yPos) {unsigned char tmp;xPos&=0x0f; // x位置范围是0~15yPos&=0x01; // y位置范围是0~1if(yPos==0) // 显示第一行tmp=xPos; // 第一行字符地址从 0x00 开始elsetmp=xPos+0x40; // 第二行字符地址从 0x40 开始tmp|=0x80; // 设置 RAM 地址lcd1602WriteCmd(tmp);}//在指定的行与列显示指定的字符,xpos:行,ypos:列,c:待显示字符void lcd1602WriteChar(unsigned char xPos,unsigned char yPos,unsigned char Dat){lcd1602WritePos(xPos,yPos);lcd1602WriteByte(Dat);}// 在液晶上显示字符串,xpos:行坐标,ypos:列坐标,str-字符串指针void lcd1602WriteString(unsigned char xPos,unsigned char yPos,unsigned char *s){unsigned char i=0;lcd1602WritePos(xPos,yPos); // 起始坐标while(s[i]){lcd1602WriteByte(s[i]);i++;if (i>=16) break; // 超出16个字符外的数据丢弃}}