📄 6963c.h
字号:
/* www.wzlab.com * LCM 控制芯片6963 点阵数量240×128 * 实现初级接口 * 编程工具:gcc avr */ #ifndef _6963C_H_#define _6963C_H_#include <compat/ina90.h>#include <avr/delay.h>/* 用户定义常量 */#define LCD_LINE 16 //显示行数 #define TEXT_ADD 0x00 //0x4e00现存开始#define TEXT_END_ADD 0x5000-0x5000%(30*LCD_LINE) //现存结束#define GRH_ADD 0x5f00 //图形现存开始#define RD 4 //lcd接口定义#define WR 3#define RST 7#define CD 6#define CE 5//#define ww 1/* 不变常量 */#define STX 0x02#define ETX 0x03#define EOT 0x04#define ENQ 0x05#define BS 0x08 /*退键*/#define CR 0x0D /*光标回头*/#define LF 0x0A /*换行*/#define DLE 0x10#define ETB 0x17#define SPACE 0x20 /*空格*/#define COMMA 0x2C#define TRUE 1#define FALSE 0#define HIGH 1#define LOW 0// T6963C 命令定义#define LC_CUR_POS 0x21 // 光标位置设置#define LC_CGR_POS 0x22 // CGRAM偏置地址设置#define LC_ADD_POS 0x24 // 地址指针位置#define LC_TXT_STP 0x40 // 文本区首址#define LC_TXT_WID 0x41 // 文本区宽度#define LC_GRH_STP 0x42 // 图形区首址#define LC_GRH_WID 0x43 // 图形区宽度#define LC_MOD_OR 0x80 // 显示方式:逻辑“或”#define LC_MOD_XOR 0x81 // 显示方式:逻辑“异或”#define LC_MOD_AND 0x82 // 显示方式:逻辑“与”#define LC_MOD_TCH 0x83 // 显示方式:文本特征#define LC_DIS_SW 0x90 // 显示开关:D0=1/0:光标闪烁启用/禁用; // D1=1/0:光标显示启用/禁用; // D2=1/0:文本显示启用/禁用; // D3=1/0:图形显示启用/禁用;#define LC_CUR_SHP 0xA0 // 0xA0 光标形状选择:0xA0-0xA7表示光标占的行数#define LC_AUT_WR 0xB0 // 自动写设置#define LC_AUT_RD 0xB1 // 自动读设置#define LC_AUT_OVR 0xB2 // 自动读/写结束#define LC_INC_WR 0xC0 // 数据一次写,地址加1#define LC_INC_RD 0xC1 // 数据一次读,地址加1#define LC_DEC_WR 0xC2 // 数据一次写,地址减1#define LC_DEC_RD 0xC3 // 数据一次读,地址减1#define LC_NOC_WR 0xC4 // 数据一次写,地址不变#define LC_NOC_RD 0xC5 // 数据一次读,地址不变#define LC_SCN_RD 0xE0 // 屏读#define LC_SCN_CP 0xE8 // 屏拷贝#define LC_BIT_OP 0xF0 // 位操作:#define font_w 8 //字体宽度 // D0-D2:定义D0-D7位;D3:1置位;0:清除 /***********常用操作命令和参数定义***************/#define DISPON 0x3f /*显示on */#define DISPOFF 0x3e /*显示off */#define DISPFIRST 0xc0 /*显示起始行定义 */#define SETX 0x40 /*X定位设定指令(页) */#define SETY 0xb8 /*Y定位设定指令(列) */#define Lcdbusy 0x80 /*LCM忙判断位 */extern unsigned char cur_row,cur_col; // 当前行、列存储,行高16点,列宽8点/* 取当前行数据 */extern unsigned char get_row(void); /* 取当前列数据 */extern unsigned char get_col(void); /*倒叙函数*/extern unsigned char upend(unsigned char a); /*芯片时序*/extern unsigned char r_sta(void);extern unsigned char r_dt(void); /*写数据*/extern void w_data(unsigned char data); /*写命令*/extern void w_command(unsigned char uCmd); /* 状态位STA1,STA0判断(读写指令和读写数据) */ /* 在读写数据或者写入命令前必须保证均为1 */extern unsigned char judge_sta01(void);/*检查STA2,如果 STA2=1 为自动读状态 */extern unsigned char judge_sta2(void);/* 状态位STA3判断(STA3 = 1 数据自动写状态) */extern unsigned char judge_sta3(void);/* 状态位STA6判断(STA6 =1 屏读/屏拷贝状态) */extern unsigned char judge_sta6(void);/* 写双参数的指令 */extern unsigned char w2para(unsigned char uCmd,unsigned char uPar1,unsigned char uPar2);/* 写单参数的指令 */extern unsigned char w1para(unsigned char uCmd,unsigned char uPar1);/* 写无参数的指令 */extern unsigned char w0para(unsigned char uCmd);/* 写数据 */extern unsigned char wdata(unsigned char uData);/* 读数据 */extern unsigned char rdata(void);/* 设置当前地址 */extern void set_pos(unsigned char urow, unsigned char ucol);/* 设置当前显示行、列 */extern void cursor(unsigned char uRow, unsigned char uCol);/* LCM 初始化 */extern unsigned char lcm_init(void);/* 图形清屏 */extern void cls(void);/* 字符清屏 */extern void cls_txt(void);/*光标位置闪烁*/extern void cursor_p(unsigned char uRow, unsigned char uCol);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -