51单片机对LCD1602显示的四线驱动 下载本文

内容发布更新时间 : 2024/6/27 22:55:47星期一 下面是文章的全部内容请认真阅读。

51单片机对LCD1602显示的四线驱动

/这个程序已经调试过了

//下面调用实例 ////////////////////////////////// //LCD1602读写头文件 //四线驱动方式 ////////////////////////////////// #include

#include “LCD1602.h” /*-----------

管脚定义在液晶头文件中 -----------*/ void main(void){ LCD_init();

p=LCD_PutStr(“Hello Lcd1602!\\n”,-1); //显示一段文字 p=LCD_PutNum(1234,2,p); //显示12.34这个数 while(1); }

/*--------------------------------------------------------- 液晶LCD1602C 使用4条数据线(D4~D7) -----------------------------------------------------------*/ /*------------------------------------------------------------- LCD引脚定义 1---GND 2---VCC 3---VO 4---RS 5---RW

6---EN 7到14--D0-D7 15--背景灯+ 16--背景灯-

-----------------------------------------------------------------*/ #include #include

本文引用地址: http://21ic/app/mcu/201812/784986 #define LCD_DATA P2 sbit LCD1602_RS=P2??; sbit LCD1602_EN=P2??; int p=0;

/*-------------------------------------------------------------------------------------------------- 函数说明

--------------------------------------------------------------------------------------------------*/ void LCD_init(void); void LCD_en_write(void);

void LCD_write_command(unsigned char command) ; void LCD_write_data(unsigned char Recdata); void LCD_set_xy (unsigned char x, unsigned char y);

void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s); void LCD_write_char(unsigned char X,unsigned char Y,unsigned char Recdata); void delay_nus(unsigned int n); void delay_nms(unsigned int n); void delay_1us(void) //1us延时函数 {

_nop_(); }

void delay_nus(unsigned int n) //N us延时函数 {

unsigned int i=0;

for (i=0;i delay_1us(); }

void delay_1ms(void) //1ms延时函数 {

unsigned int i;

for (i=0;i《1140;i++); }

void delay_nms(unsigned int n) //N ms延时函数 {

unsigned int i=0;

for (i=0;i delay_1ms(); }

void LCD_init(void) //液晶初始化 {

LCD_write_command(0x28); delay_nus(40);

LCD_write_command(0x28); delay_nus(40);

LCD_write_command(0x28); delay_nus(40); LCD_en_write(); delay_nus(40);

LCD_write_command(0x28); //4位显示 LCD_write_command(0x0c); //显示开