lcd.h

来自「共享几个AVR单片机的常用代码」· C头文件 代码 · 共 52 行

H
52
字号
#include <avr/io.h>
#include <util/delay.h>

/*
	LCD PIN:
	DATA:	PORTA
	RS	:	PORTC 0
	RW	:	PORTC 1
	E	:	PORTC 2

LCD
	RS		PA1
	RW		PA2
	E		PA3]
	D0..7	PB0..7

*/

#define LCD_DATA	PORTA
#define LCD_DDR		DDRA
#define LCD_PIN		PINA

#define ADDR_ROW1		0x80
#define	ADDR_ROW2		0xc0

#define SET_RS_DATA		asm volatile("sbi 0x15,0"::)
#define SET_RW_READ		asm volatile("sbi 0x15,1"::)
#define SET_ENABLE		asm volatile("sbi 0x15,2"::)

#define SET_RS_OUT		asm volatile("sbi 0x14,0"::)
#define SET_RW_OUT		asm volatile("sbi 0x14,1"::)
#define SET_EN_OUT		asm volatile("sbi 0x14,2"::)

#define SET_RS_CMD		asm volatile("cbi 0x15,0"::)
#define SET_RW_WRITE	asm volatile("cbi 0x15,1"::)
#define SET_DISABLE		asm volatile("cbi 0x15,2"::)

#define SEND_EN_SINGAL SET_ENABLE;_delay_ms(1);SET_DISABLE	//If donot work,change the time


void Init_LCD(void);
void LCD_WaitReady(void);
void LCD_SendData(uint8_t cmd,uint8_t data);
void LCD_SetXY(uint8_t x,uint8_t y);
void LCD_Clear(void);
void LCD_DispStr(char *p);
void LCD_DispNum(uint32_t num);




⌨️ 快捷键说明

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