内容发布更新时间 : 2025/3/4 23:07:48星期一 下面是文章的全部内容请认真阅读。
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); //显示开