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

📄 lcd_12864a_driver.h

📁 裸片12864
💻 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 + -