新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > T6963C的51單片機(jī)驅(qū)動(dòng)程序

T6963C的51單片機(jī)驅(qū)動(dòng)程序

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
#include
#include   #include #include #include #include #include "Test.h"/*   地址定義   */#define  d_c_add XBYTE[0x00] //數(shù)據(jù)口  命令口/*   常數(shù)定義   */#define  uchar unsigned char#define  uint unsigned  int/* T6963C 命令定義 */#define  LCD_CUR_POS  0x21      /* 光標(biāo)位置設(shè)置(只有設(shè)置到有效顯示地址并打開顯示時(shí)才看到) */#define  LCD_CGR_POS  0x22      /* CGRAM偏置地址設(shè)置(可以增加自已的符號(hào)) */#define  LCD_ADR_POS  0x24      /* 地址指針位置(設(shè)置讀寫操作指針) */#define  LCD_TXT_STP  0x40      /* 文本區(qū)首址(從此地址開始向屏幕左上角顯示字符) */#define  LCD_TXT_WID  0x41      /* 文本區(qū)寬度(設(shè)置顯示寬度,N/6或N/8,其中N為x軸的點(diǎn)數(shù)) */#define  LCD_GRH_STP  0x42      /* 圖形區(qū)首址(從此地址開始向屏幕左上角顯示點(diǎn)) */#define  LCD_GRH_WID  0x43      /* 圖形區(qū)寬度(設(shè)置顯示寬度,N/6或N/8,其中N為x軸的點(diǎn)數(shù)) */#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      /* 顯示開關(guān):D0=1/0,光標(biāo)閃爍啟用/禁用 *// *        D1=1/0,光標(biāo)顯示啟用/禁用 *//*        D2=1/0,文本顯示啟用/禁用(打開后再使用) *//*        D3=1/0,圖形顯示啟用/禁用(打開后再使用) */#define  LCD_CUR_SHP  0xA0      /* 光標(biāo)形狀選擇:0xA0-0xA7表示光標(biāo)占的行數(shù) */#define  LCD_AUT_WR      0xB0      /* 自動(dòng)寫設(shè)置 */#define  LCD_AUT_RD      0xB1      /* 自動(dòng)讀設(shè)置 */#define  LCD_AUT_OVR  0xB2      /* 自動(dòng)讀/寫結(jié)束 */#define  LCD_INC_WR      0xC0      /* 數(shù)據(jù)一次寫,地址加1 */#define  LCD_INC_RD      0xC1      /* 數(shù)據(jù)一次讀,地址加1 */#define  LCD_DEC_WR   0xC2      /* 數(shù)據(jù)一次寫,地址減1 */#define  LCD_DEC_RD   0xC3      /* 數(shù)據(jù)一次讀,地址減1 */#define  LCD_NOC_WR   0xC4      /* 數(shù)據(jù)一次寫,地址不變 */#define  LCD_NOC_RD   0xC5      /* 數(shù)據(jù)一次讀,地址不變 */#define  LCD_SCN_RD   0xE0      /* 屏讀 */#define  LCD_SCN_CP   0xE8      /* 屏拷貝 */#define  LCD_BIT_OP   0xF0      /* 位操作:D0-D2--定義D0-D7位,D3--1為置位,0為清除 *//*  定義標(biāo)志位  */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()* 功能:判斷讀寫指令和讀寫數(shù)據(jù)是否允許。* 入口參數(shù):無* 出口參數(shù):返回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()* 功能:查詢是否可數(shù)據(jù)自動(dòng)讀狀態(tài)* 入口參數(shù):無* 出口參數(shù):返回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()* 功能:數(shù)據(jù)自動(dòng)寫狀態(tài)是否允許。* 入口參數(shù):無* 出口參數(shù):返回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()* 功能:讀取狀態(tài)字子程序。* 入口參數(shù):無* 出口參數(shù):返回值即為讀出的狀態(tài)字* 說明:函數(shù)會(huì)設(shè)置LCM數(shù)據(jù)總線為輸入方式***********************************************************************/LCD_WriteCommand(uchar command){CD=1;d_c_add=command;}/********************************************************************************************************//************************************************************************ 名稱:LCD_WriteData()* 功能:寫數(shù)據(jù)子程序。(發(fā)送數(shù)據(jù)前,不檢查液晶模塊的狀態(tài))* 入口參數(shù):dat   要寫入LCM的數(shù)據(jù)* 出口參數(shù):無* 說明:函數(shù)會(huì)設(shè)置LCM數(shù)據(jù)總線為輸出方式***********************************************************************/LCD_WriteData(uchar dat){CD=0;d_c_add=dat;}/********************************************************************************************************//************************************************************************ 名稱:LCD_ReadData()* 功能:讀取數(shù)據(jù)子程序。* 入口參數(shù):無* 出口參數(shù):返回值即為讀出的數(shù)據(jù)* 說明:函數(shù)會(huì)設(shè)置LCM數(shù)據(jù)總線為輸入方式***********************************************************************/uchar LCD_ReadData(void){uchar dat;CD=0;dat=d_c_add;return dat;}				   
				
            
                
			
							
上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉