📄 lcd1602._h
字号:
/*接口定义
1 Vss ->Gnd
2 Vdd ->Vcc
3 Vo ->N/A PCB已经接有变阻器
4 Rs ->PC3
5 RW ->PC4
6 En ->PC5
7~14 D0~D7 ->PA0~PA7
15 B+ ->VCC
16 B- ->Gnd
*/
/*注意:
本例使用M16,内部RC 8MHz测试通过,LCD1602型号为JHD162A 使用8位并口数据传输.
编译平台为ICCAVR 6.31
*/
#ifndef _LCD_1602_H
#define _LCD_1602_H 1
#define Ctrl_DDR DDRC //控制线端口
#define set_rs() PORTC|=(1<<PC3)
#define clr_rs() PORTC&=~(1<<PC3)
#define set_rw() PORTC|=(1<<PC4)
#define clr_rw() PORTC&=~(1<<PC4)
#define set_en() PORTC|=(1<<PC5)
#define clr_en() PORTC&=~(1<<PC5)
#define bk_on() PORTC|=(1<<PC7) //背光亮
#define bk_off() PORTC&=~(1<<PC7) //背光灭
#define Open_Ctrl() DDRC=(1<<PC4)|(1<<PC5)|(1<<PC3)|(1<<PC7) //打开控制线
#define Data_DDR DDRA //数据线端口
#define Data_PORT PORTA
#define Data_PIN PINA
#define Data_in() DDRA=0x00 //数据总线设为输入
#define Data_out() DDRA=0xFF //数据总线设为输出
void delay_1us(void); //延时10us
void delay_nus(unsigned int n); //延时8+4*(n-1)+3=7+4n us
void delay_1ms(void); //延时1ms
void delay_nms(unsigned int n); //延时nms
void lcd_wait_enable(void); //等待LCD不忙,可写
void lcd_write_cmd(char cmd,char attrib); //写命令
void lcd_set_xy(int x,int y); //设置DDRAM地址
void lcd_write_byte(char byte); //写字节
void lcd_disp_char(int x,int y,char ch); //写字
void lcd_disp_string(int x,int y,char *s); //写字串
void lcd_init(void); //初始化液晶
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -