📄 lcd_12864a_driver.h
字号:
/****************************************************************************
** - lcd_12864a_driver.h -
**
** 12864a型号的LCD驱动程序的匹配h文档
**
**
**
** mader:高其良
**
** File version: $2007.7.3$
**
***************************************************************************/
#ifndef lcd_12864a_driver_h
#define lcd_12864a_driver_h
#include <def_AVR_IAR.h>
/*******************IO定义(根据具体情况稍做修改)********************/
#if !defined(LCD_12864A_CS1_DDR) || !defined(LCD_12864A_RES_DDR) || !defined(LCD_12864A_A0_DDR) || \
!defined(LCD_12864A_SCL_DDR) || !defined(LCD_12864A_SI_DDR) || !defined(LCD_12864A_CS1) || \
!defined(LCD_12864A_RES) || !defined(LCD_12864A_A0) || !defined(LCD_12864A_SCL) || \
!defined(LCD_12864A_SI)
#pragma message ("\nLCD12864a驱动:\n警告:IO没有完全重新定义,使用默认定义!")
#define LCD_12864A_CS1_DDR DC_1
#define LCD_12864A_RES_DDR DC_2
#define LCD_12864A_A0_DDR DC_3
#define LCD_12864A_SCL_DDR DC_4
#define LCD_12864A_SI_DDR DC_5
#define LCD_12864A_CS1 C_1
#define LCD_12864A_RES C_2
#define LCD_12864A_A0 C_3
#define LCD_12864A_SCL C_4
#define LCD_12864A_SI C_5
#endif
/*******************IO初始化(根据具体情况稍做修改)********************/
#ifndef LCD_12864A_IO_INITIALIZTION
#pragma message ("警告:IO初始化函数没有重新定义,使用默认初始化函数!")
#define LCD_12864A_IO_INITIALIZTION() \
LCD_12864A_CS1_DDR = 1; \
LCD_12864A_RES_DDR = 1; \
LCD_12864A_A0_DDR = 1; \
LCD_12864A_SCL_DDR = 1; \
LCD_12864A_SI_DDR = 1
#endif //LCD_12864A_IO_INITIALIZTION()
/*******************命令字与命令格式(格式中1表示可变参量)*********************/
/*屏幕开关*/
#define LCD_12864A_OFF_ON 0xae,0x01
/*开始行设定*/
#define LCD_12864A_START_LINE 0x40,0x3f
/*页面选择*/
#define LCD_12864A_PAGE 0xb0,0x0f
/*列设定高4位*/
#define LCD_12864A_COLUMN_H 0x10,0x0f
/*列设定低4位*/
#define LCD_12864A_COLUMN_L 0x00,0x0f
/*屏幕左右倒置*/
#define LCD_12864A_ADC 0xa0,0x01
/*屏幕正反显*/
#define LCD_12864A_NORMAL_REVERSE 0xa6,0x01
/*屏幕全显开关*/
#define LCD_12864A_ENTIRE_DISPLAY_OFF_ON 0xa4,0x01
/*屏幕斜视角*/
#define LCD_12864A_BIAS 0xa2,0x01
/*软件复位,对某些寄存器有效*/
#define LCD_12864A_RESET 0xe2,0x00
/*输出状态设定*/
#define LCD_12864A_OUTPUT_STATUS 0xc0,0x0f
/*电源控制*/
#define LCD_12864A_POWER 0x28,0x07
/*内部校准电阻*/
#define LCD_12864A_INTERNAL_RESISTOR 0x20,0x07
/*明亮度设定高0位*/
#define LCD_12864A_BRIGHTNESS_H 0x81,0x00
/*明亮度设定低6位*/
#define LCD_12864A_BRIGHTNESS_L 0x00,0x3f
/*静态指示器设定高1位*/
#define LCD_12864A_STATIC_INDICATOR_H 0xab,0x01
/*静态指示器设定低2位*/
#define LCD_12864A_STATIC_INDICATOR_L 0x00,0x03
/*******************************函数定义**********************************/
void Lcd12864aWrite8Bit(unsigned char byte);
void Lcd12864aWdat(unsigned char dat);
void Lcd12864aWcom(unsigned char com_type,unsigned char format,unsigned com);
void Lcd12864aInitializtion(void);
void Lcd12864aSleepMode(void);
void Lcd12864aStandbyMode(void);
void Lcd12864aLocate(unsigned char page,unsigned char column);
void Lcd12864aCls(void);
//范例:Lcd_12864a_asc_printf(0,70,asc_code+('K'-32)*16);
void Lcd12864aAscPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
//范例:Lcd_12864a_cchar_printf(5,70+16*0,jy+32*0);
void Lcd12864aCcharPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
//范例:Lcd_12864a_bmp_printf(0,0,dog_ghost);
void Lcd12864aBmpPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
//范例:Lcd_12864a_number_printf(3,80,asc_code,123);
void Lcd12864aNumberPrintf(unsigned char page,unsigned char column,unsigned char __flash *p,unsigned int s);
#endif //lcd_12864a_driver_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -