新闻中心

EEPW首页>嵌入式系统>设计应用> T6963C的51单片机驱动程序

T6963C的51单片机驱动程序

作者: 时间:2016-12-02 来源:网络 收藏
#include
#include
         
          #include
          
           #include
           
            #include #include
            
             #include "Test.h"/* 地址定义 */#define d_c_add XBYTE[0x00] //数据口 命令口/* 常数定义 */#define uchar unsigned char#define uint unsigned int/* T6963C 命令定义 */#define LCD_CUR_POS 0x21 /* 光标位置设置(只有设置到有效显示地址并打开显示时才看到) */#define LCD_CGR_POS 0x22 /* CGRAM偏置地址设置(可以增加自已的符号) */#define LCD_ADR_POS 0x24 /* 地址指针位置(设置读写操作指针) */#define LCD_TXT_STP 0x40 /* 文本区首址(从此地址开始向屏幕左上角显示字符) */#define LCD_TXT_WID 0x41 /* 文本区宽度(设置显示宽度,N/6或N/8,其中N为x轴的点数) */#define LCD_GRH_STP 0x42 /* 图形区首址(从此地址开始向屏幕左上角显示点) */#define LCD_GRH_WID 0x43 /* 图形区宽度(设置显示宽度,N/6或N/8,其中N为x轴的点数) */#define LCD_MOD_OR 0x80 /* 显示方式:逻辑或 */#define LCD_MOD_XOR 0x81 /* 显示方式:逻辑异或 */#define LCD_MOD_AND 0x82 /* 显示方式:逻辑与 */#define LCD_MOD_TCH 0x83 /* 显示方式:文本特征 */#define LCD_DIS_SW 0x90 /* 显示开关:D0=1/0,光标闪烁启用/禁用 *// * D1=1/0,光标显示启用/禁用 *//* D2=1/0,文本显示启用/禁用(打开后再使用) *//* D3=1/0,图形显示启用/禁用(打开后再使用) */#define LCD_CUR_SHP 0xA0 /* 光标形状选择:0xA0-0xA7表示光标占的行数 */#define LCD_AUT_WR 0xB0 /* 自动写设置 */#define LCD_AUT_RD 0xB1 /* 自动读设置 */#define LCD_AUT_OVR 0xB2 /* 自动读/写结束 */#define LCD_INC_WR 0xC0 /* 数据一次写,地址加1 */#define LCD_INC_RD 0xC1 /* 数据一次读,地址加1 */#define LCD_DEC_WR 0xC2 /* 数据一次写,地址减1 */#define LCD_DEC_RD 0xC3 /* 数据一次读,地址减1 */#define LCD_NOC_WR 0xC4 /* 数据一次写,地址不变 */#define LCD_NOC_RD 0xC5 /* 数据一次读,地址不变 */#define LCD_SCN_RD 0xE0 /* 屏读 */#define LCD_SCN_CP 0xE8 /* 屏拷贝 */#define LCD_BIT_OP 0xF0 /* 位操作:D0-D2--定义D0-D7位,D3--1为置位,0为清除 *//* 定义标志位 */sbit CD = P1^0;sbit CE = P1^1;sbit light = P1^2;extern uchar code HZTable[ ][32];extern uchar code ASCII_DOT_LIB[][16];/********************************************************************************************************//************************************************************************ 名称:LCD_TestStaBit01()* 功能:判断读写指令和读写数据是否允许。* 入口参数:无* 出口参数:返回0表示禁止,否则表示允许***********************************************************************/uchar LCD_TestStaBit01(void){ uchar i;CD=1;for(i=100; i>0; i--){ if( (d_c_add&0x03)==0x03 ) break;}return(i);}/************************************************************************ 名称:LCD_TestStaBit02()* 功能:查询是否可数据自动读状态* 入口参数:无* 出口参数:返回0表示禁止,否则表示允许***********************************************************************/uchar LCD_TestStaBit02(void){ uchar i;CD=1;for(i=100; i>0; i--){ if( (d_c_add&0x04)==0x04 ) break;}return(i);}/************************************************************************ 名称:LCD_TestStaBit03()* 功能:数据自动写状态是否允许。* 入口参数:无* 出口参数:返回0表示禁止,否则表示允许***********************************************************************/uchar LCD_TestStaBit03(void){ uchar i;CD=1;for(i=100; i>0; i--){ if( (d_c_add&0x08)==0x08 ) break;}return(i);}/********************************************************************************************************//************************************************************************ 名称:LCD_ReadState()* 功能:读取状态字子程序。* 入口参数:无* 出口参数:返回值即为读出的状态字* 说明:函数会设置LCM数据总线为输入方式***********************************************************************/LCD_WriteCommand(uchar command){CD=1;d_c_add=command;}/********************************************************************************************************//************************************************************************ 名称:LCD_WriteData()* 功能:写数据子程序。(发送数据前,不检查液晶模块的状态)* 入口参数:dat 要写入LCM的数据* 出口参数:无* 说明:函数会设置LCM数据总线为输出方式***********************************************************************/LCD_WriteData(uchar dat){CD=0;d_c_add=dat;}/********************************************************************************************************//************************************************************************ 名称:LCD_ReadData()* 功能:读取数据子程序。* 入口参数:无* 出口参数:返回值即为读出的数据* 说明:函数会设置LCM数据总线为输入方式***********************************************************************/uchar LCD_ReadData(void){uchar dat;CD=0;dat=d_c_add;return dat;}
             
             
             
             
上一页 1 2 3 下一页

评论


技术专区

关闭