lcd开机流程图_LCD1602程序代码及显示流程图.doc

本文提供了一段LCD1602显示程序的代码,包括初始化、写指令和写数据的子程序。通过定义LCD的接口和延时函数,实现了在LCD1602上显示字符和字符串的功能,适用于单片机开发。
摘要由CSDN通过智能技术生成

LCD1602程序代码及显示流程图

LCD1602程序代码及显示流程图

lcd1602显示程序代码

前些天弄了最小系统板后就想着学习1602的显示程序,可惜坛子里的或网上的,都没有简单的1602显示程序,无柰在网上下载了一段经过反复修改测试,终于有了下面一段代码:

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// - - 初始化接口

# define LCD_DB P0 // - - P0 = DB0~DB7

sbit LCD_RS=P2 ; // - - p2.0 = RS

sbit LCD_RW=P2; // - - p2.1 = RW

sbit LCD_E=P2; // - - p2.2 = E

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// - - 定义函数

# define uchar unsigned char

# define uint unsigned int

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// - - 定义子程序函数

void LCD_init(void); // - - 初始化LCD1602函数

void LCD_write_command(uchar command); // - - 向LCD1602写指令函数

void LCD_write_data(uchar dat); // - - 向LCD1602写数据函数

void LCD_set_xy(uchar x,uchar y); // - - 设置LCD1602显示位置 X(0-16),y(1-2)

void LCD_disp_char(uchar x,uchar y,uchar dat); // - - 在LCD1602上显示一个字符

void LCD_disp_string(uchar X,uchar Y,uchar *s); // - - 在LCD1602上显示一个字符串

//void LCD_check_busy(void);//检查忙函数。我没用到此函数,因为通过率极低。

void LCD_delay_10us(uint n); // - - 10微秒的延时子程序

void LCD_delay_50us(uint n); // - - 50微秒的延时子程序

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// - - 初始化LCD1602

void LCD_init(void)

{

LCD_delay_10us(20);

LCD_write_command(0x38); // - - 设置8位格式,2行,5x7

LCD_delay_10us(5);

LCD_write_command(0x0c); // - - 整体显示,关光标,不闪烁

LCD_delay_10us(5);

LCD_write_command(0x06); // - - 设定输入方式,增量不移位

LCD_delay_10us(5);

LCD_write_command(0x01); // - - 清除屏幕显示

LCD_delay_50us(40);

}

//********************************

// - - 向LCD1602写指令

void LCD_write_command(uchar dat)

{

LCD_delay_10us(5);

LCD_RS=0; // - - 指令

LCD_RW=0; // - - 写入

LCD_DB=dat;

LCD_delay_10us(5);

LCD_E=1; // - - 允许

LCD_delay_10us(5);

LCD_E=0;

}

// - - 向LCD1602写数据

void LCD_write_data(uchar dat)

{

LCD_delay_10us(5);

LCD_RS=1;// - -

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值