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

📄 lcd1602._h

📁 meg16 的所有功能实例
💻 _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 + -