📄 use_12864_driver.h
字号:
# ifndef _USE_12864_DRIVER_H_
# define _USE_12864_DRIVER_H_
/*****************************************************************
* 声明库名称:12864液晶驱动配置库 *
* 版本: v0.02 *
* 作者: I ROBOT *
* 创建日期: Copyright (C) 2008年10月14日 *
*----------------------------------------------------------------*
* [支持库] *
* 支持库名称: *
* 支持库版本: *
* 支持库说明: *
*----------------------------------------------------------------*
* [版本更新] *
* 更新: I ROBOT *
* 更新日期: 2008年10月22日 *
* 版本: v0.02 *
*----------------------------------------------------------------*
* [版本历史] *
* v0.01 创建版本,配置12864和AVR之间的接口 *
* v0.02 独立添加了MCU与12864的接口宏定义和数据流宏定义 *
* 便于移植 *
*----------------------------------------------------------------*
* [使用说明] *
* 1.根据自己的使用需要和AVR环境配置AVR和12864的数据 *
* 和控制端口匹配的配置 *
*****************************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "AVR_Environment_Configure.h"
/********************
* 系 统 宏 定 义 *
********************/
/*----------------------*
* 代码移植配置区 *
*----------------------*/
//TODO:在这里根据移植的环境配置
/*---------------------------------------------*
* MCU与12864的接口配置 *
*---------------------------------------------*/
//TODO:在这里修改移植配置
/*------------------*
* 常 数 宏 定 义 *
*------------------*/
/*----------------------*
* 代码移植非配置区 *
*----------------------*/
//TODO:通用代码不必修改
/*---------------------------------------------*
* 12864 屏 幕 属 性 配 置 宏 定 义 *
*---------------------------------------------*/
# ifndef _12864_PARAMEMTER
# define _12864_PARAMEMTER
/////////////////////////
# define SCREEN_CENTER_X 63
# define SCREEN_CENTER_Y 31
# define SCREEN_LENTH 128
# define SCREEN_WIDTH 64
# define SCREEN_X_PIXEL 128
# define SCREEN_Y_PIXEL 64
/////////////////////////
# endif
/*---------------------------------------------*
* 12864 指 令 宏 定 义 *
*---------------------------------------------*/
# ifndef _12864_INSTRUCTION
# define _12864_INSTRUCTION
# define _12864_ON 0X3F
# define _12864_OFF 0X3E
# define _12864_START_ROW 0XC0
# define _12864_PAGE 0XB8
# define _12864_COL 0X40
# endif
/*---------------------------------------------*
* 12864 状 态 宏 定 义 *
*---------------------------------------------*/
# ifndef _12864_STATE_LIST
# define _12864_STATE_LIST
# define _12864_BUSY 0X80
# define _12864_STATE_OFF 0X20
# define _12864_STATE_RESET 0X10
# endif
/*---------------------------------------------*
* 12864 特 殊 数 据 宏 定 义 *
*---------------------------------------------*/
# ifndef _12864_SPECIAL_DATA
# define _12864_SPECIAL_DATA
# define _12864_CLEAR 0X00
# endif
/*------------------*
* 动 作 宏 定 义 *
*------------------*/
/*---------------------------------------------*
* MCU 与 12864 数 据 流 操 作 定 义 *
*---------------------------------------------*/
# ifndef MCU_12864_DATA_STREAM_CONTROL
# define MCU_12864_DATA_STREAM_CONTROL
# define WRITE_12864_RS_HIGH (P1OUT |= BIT5)
# define WRITE_12864_RS_LOW (P1OUT &= ~BIT5)
# define WRITE_12864_RW_HIGH (P1OUT |= BIT6)
# define WRITE_12864_RW_LOW (P1OUT &= ~BIT6)
# define WRITE_12864_E_HIGH (P1OUT |= BIT7)
# define WRITE_12864_E_LOW (P1OUT &= ~BIT7)
# define WRITE_12864_CS1_HIGH (P3OUT |= BIT0)
# define WRITE_12864_CS1_LOW (P3OUT &= ~BIT0)
# define WRITE_12864_CS2_HIGH (P3OUT|= BIT1)
# define WRITE_12864_CS2_LOW (P3OUT &= ~BIT1)
# define WRITE_12864_RESET_HIGH (P3OUT |= BIT2)
# define WRITE_12864_RESET_LOW (P3OUT &= ~BIT2)
# define WRITE_12864_DATA_ (P2OUT)
# define READ_12864_DATA_ (P2IN)
# endif
/*---------------------------------------------*
* MCU 与 12864 数 据 流 方 向 宏 定 义 *
*---------------------------------------------*/
# ifndef MCU_12864_DATA_STREAM_DIRECTIOON
# define MCU_12864_DATA_STREAM_DIRECTION
# define DATA_FROM_12864 do\
{\
P2DIR = 0X00;\
P2OUT = 0XFF;\
}\
while (0);
# define _12864_DATA_FROM_MCU do\
{\
P2DIR = 0XFF;\
}\
while (0);
# endif
/********************
* 模块结构体定义区 *
********************/
/********************
* 函 数 声 明 区 *
********************/
extern void _12864_Hardware_Configure(void);
extern BOOL Dot_Is_Exist_12864(UINT8 chx,UINT8 chy);
extern void LCD_Init_12864(void);
extern void Clear_LCD_12864(void);
extern void Draw_Dot_12864(UINT8 chx,UINT8 chy);
extern void Clear_Dot_12864(UINT8 chx,UINT8 chy);
extern void Bresenham_Line_To(INT16 chx_Start,INT16 chy_Start,
INT16 chx_End,INT16 chy_End);
/********************
* 模块函数声明区 *
********************/
/********************
* 模块变量声明区 *
********************/
/********************
* 全局变量声明区 *
********************/
# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -