/*----------------------------------------------------
液晶LCD1602C 使用4条数据线(D4~D7)
编译器:keil 日期: 2021-9-15 20:29:57
目标芯片 : stc15w404as
时钟: 24.0000Mhz
作者:dukou
---------------------------------------------------*/
#include "LCD1602.h"
#include "delay.h"
void lcd_port(unsigned char num)
{
a7=num&0x80;
a6=num&0x40;
a5=num&0x20;
a4=num&0x10;
}
void write_1602(unsigned char cd,dat) //cd=0 写命令 cd=1 写数据
{
unsigned char i;
LCD_RS=cd;
for(i=0;i<2;i++) //循环两次 写完一个数据/命令
{
LCD_EN=1;
lcd_port(dat); //P1高四位数据不改动
delay_nms(3); //先送高四位数据 再送低四位数据
LCD_EN=0;
dat<<=4; //低四位左移到高四位
}
}
void lcd_init(void)
{
write_1602(0,2); //设置4位数据接口
write_1602(0,0x28); //显示方式设置
write_1602(0,0x0e); //设置开显示,不显示光标
//write_1602(0,0x06); //默认(0x06)写入新数据后光标右移 屏幕不移动
write_1602(0,0x01); //显示清0,数据指针清0
}
void LCD_set_xy( unsigned char x, unsigned char y ) //写地址函数
{
unsigned char address;
if (y == 0) address = 0x80 + x;
else address = 0xc0 + x;
write_1602(0,address);
}
void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s) //列x=0~15,行y=0,1
{
LCD_set_xy( X, Y ); //写地址
while (*s) // 写显示字符
{
write_1602(1,*s);
s ++;
}
}
void LCD_write_char(unsigned char X,unsigned char Y,unsigned char LCD_data) //列x=0~15,行y=0,1
{
LCD_set_xy( X, Y ); //写地址
write_1602(1,LCD_data);
}
lcd1602基本驱动函数lcd1602-master.zip
需积分: 5 89 浏览量
2024-05-13
08:00:28
上传
评论
收藏 5KB ZIP 举报
流华追梦
- 粉丝: 4639
- 资源: 2155
最新资源
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
- A pure Python library for adding tables to a Tkinter application
- Vector资源文件.zip
- MobaXterm-Installer
- MicroMsg.xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈