📄 jhd_1602a.c
字号:
#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 + -