⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1602.txt

📁 1602液晶的实用的详细程序。程序仅供参考
💻 TXT
字号:
include "main.h"    
   
/*显示屏初始化函数*/   
void JHD_1602A_init(void)   
{   
 //I/O口方向设置    
 DATA_BUS_JHD_1602A_DDR;   
 SET_RS_JHD_1602A_DDR;   
 SET_RW_JHD_1602A_DDR;   
 SET_EN_JHD_1602A_DDR;    
    
 /*显示模式设置*/   
 write_JHD_1602A_command(0x38);                
    delay_ms(5);   
 write_JHD_1602A_command(0x38);   
    delay_ms(5);   
 write_JHD_1602A_command(0x38);   
    delay_ms(5);   
 write_JHD_1602A_command(0x38);   
       
 write_JHD_1602A_command(0x08);             /*显示关闭*/   
 write_JHD_1602A_command(0x01);             /*显示清屏*/   
 write_JHD_1602A_command(0x06);             /*显示光标移动设置*/   
    delay_ms(5);   
 write_JHD_1602A_command(0x0C);             /*显示开及光标设置*/   
}   
   
/*显示屏指令写入函数*/   
void write_JHD_1602A_command(unsigned char command)    
{   
    CLR_RS_JHD_1602A;   
    CLR_RW_JHD_1602A;    
    SET_EN_JHD_1602A;   
    DATA_BUS_JHD_1602A = command;   
    delay_us(10);   
    CLR_EN_JHD_1602A;   
}   
   
/*显示屏数据写入函数*/   
void write_JHD_1602A_data(unsigned char data)    
{   
    SET_RS_JHD_1602A;   
    CLR_RW_JHD_1602A;    
        SET_EN_JHD_1602A;   
    DATA_BUS_JHD_1602A = data;   
    delay_us(10);   
        CLR_EN_JHD_1602A;   
}   
   
/*显示屏清空显示*/   
void clear_JHD_1602A(void)   
{   
    write_JHD_1602A_command(0x01);   
    delay_ms(5);   
}   
   
/*显示屏字符串写入函数*/   
void write_JHD_1602A_str(unsigned char x,unsigned char y,unsigned char *s)    
{   
       
    if (y == 0) { write_JHD_1602A_command(0x80 + x);}   
    else        { write_JHD_1602A_command(0xC0 + x);}   
    delay_us(10);   
    while (*s)  { write_JHD_1602A_data( *s);   s ++;}   
}   
   
/*显示屏单字符写入函数*/   
void write_JHD_1602A_char(unsigned char x,unsigned char y,unsigned char data)    
{   
       
    if (y == 0) { write_JHD_1602A_command(0x80 + x);}   
    else        { write_JHD_1602A_command(0xC0 + x);}   
    delay_us(10);   
    write_JHD_1602A_data(data);     
}   
   
   
   

#include "main.h" 
 
/*显示屏初始化函数*/ 
void JHD_1602A_init(void) 
{ 
 //I/O口方向设置 
 DATA_BUS_JHD_1602A_DDR; 
 SET_RS_JHD_1602A_DDR; 
 SET_RW_JHD_1602A_DDR; 
 SET_EN_JHD_1602A_DDR;  
  
 /*显示模式设置*/ 
 write_JHD_1602A_command(0x38);				 
 	delay_ms(5); 
 write_JHD_1602A_command(0x38); 
	delay_ms(5); 
 write_JHD_1602A_command(0x38); 
	delay_ms(5); 
 write_JHD_1602A_command(0x38); 
	 
 write_JHD_1602A_command(0x08);				/*显示关闭*/ 
 write_JHD_1602A_command(0x01);				/*显示清屏*/ 
 write_JHD_1602A_command(0x06);				/*显示光标移动设置*/ 
	delay_ms(5); 
 write_JHD_1602A_command(0x0C);				/*显示开及光标设置*/ 
} 
 
/*显示屏指令写入函数*/ 
void write_JHD_1602A_command(unsigned char command)  
{ 
	CLR_RS_JHD_1602A; 
	CLR_RW_JHD_1602A;  
	SET_EN_JHD_1602A; 
	DATA_BUS_JHD_1602A = command; 
	delay_us(10); 
	CLR_EN_JHD_1602A; 
} 
 
/*显示屏数据写入函数*/ 
void write_JHD_1602A_data(unsigned char data)  
{ 
	SET_RS_JHD_1602A; 
   	CLR_RW_JHD_1602A;  
    	SET_EN_JHD_1602A; 
	DATA_BUS_JHD_1602A = data; 
	delay_us(10); 
    	CLR_EN_JHD_1602A; 
} 
 
/*显示屏清空显示*/ 
void clear_JHD_1602A(void) 
{ 
	write_JHD_1602A_command(0x01); 
	delay_ms(5); 
} 
 
/*显示屏字符串写入函数*/ 
void write_JHD_1602A_str(unsigned char x,unsigned char y,unsigned char *s)  
{ 
	 
    if (y == 0) { write_JHD_1602A_command(0x80 + x);} 
    else        { write_JHD_1602A_command(0xC0 + x);} 
    delay_us(10); 
    while (*s)  { write_JHD_1602A_data( *s);   s ++;} 
} 
 
/*显示屏单字符写入函数*/ 
void write_JHD_1602A_char(unsigned char x,unsigned char y,unsigned char data)  
{ 
	 
    if (y == 0) { write_JHD_1602A_command(0x80 + x);} 
    else        { write_JHD_1602A_command(0xC0 + x);} 
    delay_us(10); 
    write_JHD_1602A_data(data);   
} 
 
 
 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -