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

📄 t6963.c

📁 T6963液晶驱动软件
💻 C
📖 第 1 页 / 共 2 页
字号:
#pragma DEBUG CODE small ot(7)
#include <absacc.h>
#include <reg51.h>
#include <stdarg.h>
#include <stdio.h>

#define ulong		unsigned long
#define uint		unsigned int
#define uchar		unsigned char

#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

#define LCMDW		XBYTE[0x5000]		
#define LCMCW		XBYTE[0x5002]	

#define LC_CUR_POS	0x21		
#define LC_CGR_POS	0x22		
#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		
#define LC_CUR_SHP	0xA0		
#define LC_AUT_WR	0xB0		
#define LC_AUT_RD	0xB1		
#define LC_AUT_OVR	0xB2		
#define LC_INC_WR	0xC0		
#define LC_INC_RD	0xC1		
#define LC_DEC_WR	0xC2		
#define LC_DEC_RD	0xC3		
#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		

uchar code Bmp_1[]={
/*--  调入了一幅图像:D:\My Documents\16080bmp.bmp  --*/
/*--  宽度x高度=160x80  --*/
0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFD,0xFC,0x43,0xC2,0x3F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFD,0xFF,
0x0F,0xF0,0xFF,0xDF,0xFD,0xFF,0xCF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0xFF,0xFD,0xFF,0x0F,0xF0,0xFF,0xDF,0xFD,0xFF,0xCF,0xFF,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x07,0xE2,0x7F,0xFF,0xF8,0x7F,0xBF,0xFD,0xFF,0xDF,0xFD,0xFF,0xCF,0xFF,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xFF,0xC2,0x1F,0xBF,0xFD,0xFF,0x8F,
0xF8,0x7F,0x87,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xE0,0x7F,0xFF,0xF8,0x7F,
0xFF,0xFF,0xFC,0x21,0xC2,0x1E,0x31,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xF0,
0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0x8F,0xF8,0x7F,0x87,0xF7,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x07,0xF0,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0x8F,0xF8,0x7F,0x87,0xF7,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFD,0xFF,0xFE,0xFD,0xFF,0x00,0x00,0x7F,0xDF,
0xFD,0xFF,0xCF,0xF7,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFE,0xFF,0xF0,
0x00,0x00,0x07,0xDF,0xFD,0xFF,0xCF,0xE1,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xDE,
0x0F,0xFC,0x7F,0xC0,0x7F,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0x88,0x7F,0xE0,0x00,0x00,
0x00,0x00,0x06,0x02,0xEF,0xE1,0x0F,0x83,0xFF,0xFF,0xF0,0x7F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x06,0x02,0xEF,0xE1,0x0F,0x83,0xFF,0xFF,0xF0,0x7F,
0xFF,0xFF,0xFF,0xE1,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xDE,0xEF,0xFC,0x7E,0x1F,
0xCF,0xBF,0xFC,0x3F,0xC0,0x00,0x3F,0xF7,0xFF,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,
0x0F,0xFE,0xFC,0x3D,0xB6,0x5E,0xFE,0x1F,0x00,0x00,0x03,0xF7,0xF7,0xE0,0x00,0x00,
0x00,0x00,0x06,0x52,0xEF,0xFE,0xF8,0x72,0xCF,0xBD,0x77,0x8E,0x0F,0xFF,0x80,0x7F,
0xF7,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0xEF,0xBF,0xF1,0xFD,0xFF,0xFE,0xCB,0xC0,
0x7E,0x79,0xF8,0x3F,0xC3,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0x0F,0xBF,0xC3,0xBF,
0xFB,0xFF,0xF7,0xC0,0xFD,0xB6,0xFE,0x1F,0x08,0x60,0x00,0x00,0x00,0x00,0x06,0x52,
0x0F,0xBF,0xC3,0xBF,0xFB,0xFF,0xF7,0xC0,0xFD,0xB6,0xFE,0x1F,0x08,0x60,0x00,0x00,
0x00,0x00,0x06,0x52,0xEE,0x1F,0x86,0x5E,0xF5,0xFF,0xFE,0x63,0xCE,0x79,0xCF,0x8F,
0xC3,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0xE8,0x43,0x0F,0xBD,0x7B,0xC1,0xFD,0xAF,
0xB7,0xFF,0xB7,0xC7,0xF7,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0x0E,0x1F,0x3B,0xFE,
0xFF,0xDC,0x0E,0x7F,0xCD,0xEF,0xCE,0x61,0xF7,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0xBE,0x35,0xDF,0xFC,0x1F,0xC3,0xFE,0xFA,0x57,0x7D,0xB0,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFF,0xBE,0x35,0xDF,0xFC,0x1F,0xC3,0xFE,0xFA,0x57,0x7D,0xB0,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xBE,0x7B,0xAF,0x81,0xFF,0xF9,0xFD,
0x7D,0xEE,0xBE,0x78,0xFF,0xE0,0x00,0x00,0x00,0x00,0x06,0x7F,0xFF,0xFE,0x7F,0xDE,
0x3E,0x0F,0xFC,0x3E,0xFF,0xFF,0x7B,0xF8,0x7F,0xA0,0x00,0x00,0x00,0x00,0x06,0x02,
0x0F,0xFC,0x7D,0xF0,0xC0,0x03,0xFF,0x8F,0xC0,0x01,0xF5,0xFE,0x7F,0xA0,0x00,0x00,
0x00,0x00,0x06,0x5E,0xEF,0xFC,0xFA,0x63,0x00,0x00,0xFE,0x62,0x0F,0xF8,0x3B,0xDE,
0x7E,0x00,0x00,0x00,0x00,0x00,0x06,0x5E,0xEF,0xFC,0xFA,0x63,0x00,0x00,0xFE,0x62,
0x0F,0xF8,0x3B,0xDE,0x7E,0x00,0x00,0x00,0x00,0x00,0x06,0x5E,0xEE,0x7C,0xCD,0xCC,
0x00,0x00,0x00,0x10,0xF0,0x07,0x87,0xAE,0x38,0x40,0x00,0x00,0x00,0x00,0x07,0xDE,
0xEE,0x7C,0xB7,0x90,0x00,0x00,0x00,0x0D,0x00,0x00,0x73,0xDF,0x3E,0x00,0x00,0x00,
0x00,0x00,0x06,0x02,0xEC,0x3C,0xCF,0xA0,0x00,0x00,0x00,0x02,0x00,0x00,0x09,0xF7,
0x3F,0xA0,0x00,0x00,0x00,0x00,0x07,0xDE,0xE1,0x8C,0xFE,0x20,0x00,0x00,0x00,0x02,
0x00,0x00,0x04,0x69,0x0F,0xA0,0x00,0x00,0x00,0x00,0x07,0xD2,0xEC,0x3C,0xF6,0x40,
0x00,0x00,0x00,0x01,0x00,0x00,0x02,0x37,0x0F,0xE0,0x00,0x00,0x00,0x00,0x07,0xD2,
0xEC,0x3C,0xF6,0x40,0x00,0x00,0x00,0x01,0x00,0x00,0x02,0x37,0x0F,0xE0,0x00,0x00,
0x00,0x00,0x07,0xD2,0xEE,0x7C,0xCA,0x40,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0xBF,
0x8F,0xE0,0x00,0x00,0x00,0x00,0x06,0x32,0x0E,0x7C,0xF6,0x40,0x0C,0x00,0x0C,0x01,
0x00,0x00,0x01,0x99,0x8F,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFC,0xFE,0x40,
0x0C,0x00,0x0C,0x01,0x38,0x00,0x00,0x56,0x8F,0xC0,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0xFC,0xCE,0x40,0x00,0x00,0x00,0x01,0x38,0x00,0x00,0x59,0x8F,0xC0,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFF,0xFC,0xCE,0x40,0x00,0x00,0x00,0x01,0x38,0x00,0x00,0x59,
0x8F,0xC0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFC,0xB6,0x40,0x00,0x00,0x00,0x01,
0x00,0x00,0xC0,0x5F,0x8F,0x80,0x00,0x00,0x00,0x00,0x07,0xDE,0x0E,0x7C,0xCE,0x40,
0x02,0x00,0x30,0x01,0x01,0x80,0xC0,0x59,0x8C,0x20,0x00,0x00,0x00,0x00,0x06,0x02,
0xEE,0x7C,0xFE,0x20,0x01,0x80,0x40,0x01,0x42,0x40,0x00,0x56,0x8F,0x80,0x00,0x00,
0x00,0x00,0x07,0xDE,0xEC,0x3C,0x7B,0xA0,0x00,0x7F,0x80,0x01,0x3C,0x30,0x00,0x59,
0x8F,0xC0,0x00,0x00,0x00,0x00,0x07,0xDE,0xEC,0x3C,0x7B,0xA0,0x00,0x7F,0x80,0x01,
0x3C,0x30,0x00,0x59,0x8F,0xC0,0x00,0x00,0x00,0x00,0x06,0x52,0x01,0x8E,0x75,0x90,
0x00,0x00,0x00,0x02,0x04,0x0F,0x81,0x9F,0x8F,0xC0,0x00,0x00,0x00,0x00,0x06,0x52,
0xEC,0x3E,0x7B,0xD0,0x0C,0x00,0x06,0x03,0x03,0xF0,0x01,0xBF,0x8F,0xE0,0x00,0x00,
0x00,0x00,0x06,0x52,0xEE,0x7E,0x7F,0xCE,0x32,0x00,0x09,0x8C,0xC0,0x00,0x06,0x37,
0x0F,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0x0E,0x7E,0x7E,0x61,0xB1,0x80,0x09,0xB0,
0x7F,0xC0,0x38,0x69,0x0F,0xE0,0x00,0x00,0x00,0x00,0x06,0x52,0xEF,0xFE,0x3D,0xBC,
0x70,0x40,0x31,0xC2,0x40,0x3F,0xC3,0xF7,0x3E,0x60,0x00,0x00,0x00,0x00,0x06,0x52,
0xEF,0xFE,0x3D,0xBC,0x70,0x40,0x31,0xC2,0x40,0x3F,0xC3,0xF7,0x3E,0x60,0x00,0x00,
0x00,0x00,0x06,0x52,0xEF,0xFF,0x3E,0x6F,0x08,0x3F,0xC1,0x9C,0xC0,0x00,0x8F,0xDE,
0x3E,0x60,0x00,0x00,0x00,0x00,0x06,0x52,0x0F,0xDF,0x0F,0xD3,0xC4,0x00,0x02,0x3D,
0x00,0x18,0xBB,0xAE,0x3C,0x20,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xDF,0x8E,0x6F,
0xF2,0x00,0x04,0x7D,0x30,0x20,0xB5,0xDE,0x71,0x80,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0x8F,0x8D,0xBE,0xFA,0x00,0x05,0xDD,0xF0,0x20,0xBB,0xF8,0x7C,0x20,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFF,0x8F,0x8D,0xBE,0xFA,0x00,0x05,0xDD,0xF0,0x20,0xBB,0xF8,
0x7C,0x20,0x00,0x00,0x00,0x00,0x07,0xDD,0x9C,0x21,0x86,0x7D,0x7A,0x00,0x05,0xAC,
0x30,0x1E,0xBE,0x78,0x7E,0x60,0x00,0x00,0x00,0x00,0x06,0x50,0x0F,0x8F,0xC7,0xDE,
0xFA,0x00,0x05,0xDF,0x42,0x00,0xBD,0xB0,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x5D,
0x9F,0xDF,0xF3,0xAF,0xFA,0x1F,0x09,0xFF,0x43,0xE0,0xBE,0x71,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x06,0x0D,0x9F,0xDF,0xF3,0xDF,0xB9,0xE0,0xF3,0xF3,0x44,0x11,0x37,0xE1,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x06,0x0D,0x9F,0xDF,0xF3,0xDF,0xB9,0xE0,0xF3,0xF3,
0x44,0x11,0x37,0xE1,0xFF,0xE0,0x00,0x00,0x00,0x00,0x06,0x50,0x0F,0xFF,0xF9,0xF3,
0x4C,0x0E,0x06,0x6D,0x39,0xCE,0x4B,0xE7,0xF7,0xE0,0x00,0x00,0x00,0x00,0x06,0x5F,
0xFF,0xFF,0x78,0x6D,0xBF,0xFF,0xFD,0xB3,0x83,0xE0,0xF7,0xC7,0xF7,0xE0,0x00,0x00,
0x00,0x00,0x06,0x50,0x0F,0xFF,0x7C,0x33,0xFE,0x7D,0xCE,0x7F,0xFE,0x7F,0xFF,0x8F,
0xC3,0xE0,0x00,0x00,0x00,0x00,0x06,0x53,0xEF,0xFE,0x3E,0x1F,0xBD,0xB2,0xB7,0xFE,
0xFD,0xB7,0xBE,0x1F,0x08,0x60,0x00,0x00,0x00,0x00,0x06,0x50,0x0F,0xF0,0x87,0x8F,
0x4E,0x7D,0xCF,0xDD,0x7E,0x69,0x4C,0x3F,0xC3,0xE0,0x00,0x00,0x00,0x00,0x06,0x50,
0x0F,0xF0,0x87,0x8F,0x4E,0x7D,0xCF,0xDD,0x7E,0x69,0x4C,0x3F,0xC3,0xE0,0x00,0x00,
0x00,0x00,0x06,0x53,0xEF,0xFE,0x3F,0xC3,0xBF,0xFF,0xFB,0xAE,0xF7,0xF7,0xB8,0x7F,
0xF7,0xE0,0x00,0x00,0x00,0x00,0x07,0xD0,0x0F,0xFF,0x7F,0xE1,0xFB,0xDE,0xF5,0xDF,
0xCB,0xBF,0xF1,0xF7,0xF7,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0x7F,0xF0,
0xF5,0xAD,0x7B,0xFE,0xF6,0x5F,0x83,0xF7,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0xFF,0xFE,0x7C,0x7B,0xDE,0xFF,0xBD,0x7F,0xBF,0x07,0xE1,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFE,0x7C,0x7B,0xDE,0xFF,0xBD,0x7F,0xBF,0x07,0xE1,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xE2,0x7F,0xFF,0xFE,0x7E,0x0F,0xF3,0xCE,0x5E,
0xFB,0xFE,0x3F,0x88,0x7F,0xE0,0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xFF,0xFC,0x3F,
0x07,0xED,0xB7,0xBF,0xF5,0xF0,0x7F,0xE1,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xE0,
0x7F,0xFF,0xF1,0x8F,0xC1,0xF3,0xCF,0xEF,0x7B,0xC0,0xFF,0xF7,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x07,0xF0,0xFF,0xFF,0xFC,0x3F,0xF8,0x3F,0xFD,0xD2,0xBE,0x07,0xCF,0xF7,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xF0,0xFF,0xFF,0xFC,0x3F,0xF8,0x3F,0xFD,0xD2,
0xBE,0x07,0xCF,0xF7,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFD,0xFF,0xFF,0xFE,0x7F,
0xFE,0x0F,0xBA,0x6F,0x78,0x1F,0xCF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x07,0xFF,
0xFF,0xFF,0xFE,0x7F,0xBF,0xC1,0x4D,0xFF,0x00,0x7F,0x87,0xFF,0xFF,0xE0,0x00,0x00


};

#define IO_BUS	    1
#define DATA_BUS    P1
sbit RS  = P3^3;
sbit CS = P3^2;
sbit RD_ = P3^1;
sbit WR_ = P3^0;
sbit RST = P3^4;


sbit NEXT_KEY  = P3^5;
uchar data Key_No;
bit CCW_Key_Press;
bit CW_Key_Press;
bit AUTO_RUN;
#define LCM_Width   160
#define LCM_Height  80
#define MAX_MENU	12
#define  OSC12M
uchar gCurRow,gCurCol;	
void Timer0_Delay(uchar i)  
{
        uchar data j;
        TMOD = 0x01;
        for(j=0;j<i;j++)
        {
                TR0 = 0 ;
                TF0 = 0 ;
                #ifdef OSC12M
                       TH0 = 0x0fc;
                       TL0 = 0X28;
                #endif
                #ifdef OSC8M
                       TH0 = 0x0fd;
                       TL0 = 0X75;
                #endif
                #ifdef OSC6M
                       TH0 = 0x0fe;
                       TL0 = 0X1c;
                #endif
                TR0 = 1;
                while(TF0==0);
        }
        TR0 = 0;
}
void Next_SW(void)
{

	Timer0_Delay(100);
	if(AUTO_RUN)
	{
                RUN_LED = 0;
                if(!NEXT_KEY)
                {

			while(!NEXT_KEY);
                        Timer0_Delay(100);
                        while(NEXT_KEY);
                         Timer0_Delay(100);
                         while(!NEXT_KEY);
                         Timer0_Delay(250);


                 }
                 else
                 {
                        Timer0_Delay(150);
                 }

       }
       else
       {
       		do{

        		if(!NEXT_KEY)
                	{
                        	RUN_LED = 0;
				Timer0_Delay(10);

                        	if(NEXT_KEY)     break;
                 	}

	       	}while(1);
       }
	                Key_No += 1;
                if(Key_No> MAX_MENU)Key_No = 1;
        RUN_LED = 1;
}

void Check_Auto_SW(void)
{

       	if(!NEXT_KEY)
        {
			Timer0_Delay(10);
                        if(NEXT_KEY)
                        {
                        	AUTO_RUN = 0;
                        }
                        else
                        {
                        	AUTO_RUN = 1;
                	}

	}
	else
	{
		AUTO_RUN = 0;
	}
}
void Waite(void)          
{
        Timer0_Delay(1);
}
uchar fnGetRow(void)
{
	return gCurRow;
}

uchar fnGetCol(void)
{
	return gCurCol;
}
void Write_Com(uchar send_data)
{
	if(IO_BUS)
	{
		RS = 1;
		WR_ = 0;
		CS = 0 ;
		DATA_BUS = send_data;
		WR_ = 1;
		CS = 1;
	}
	else
	{
		LCMCW = send_data;
	}
}

void Write_Data(uchar send_data)
{
	if(IO_BUS)
	{
		RS = 0;
		WR_ = 0;
		CS = 0 ;
		DATA_BUS = send_data;
		WR_ = 1;
		CS = 1;
	}
	else
	{
		LCMDW = send_data;
	}
}

uchar  Read_Com(void)
{
	uchar data Read_Data;
	if(IO_BUS)
	{
		DATA_BUS = 0xff;
		RS = 1;
		RD_ = 0;
		CS = 0 ;
		Read_Data = DATA_BUS;
		RD_ = 1;
		CS = 1;
	}
	else
	{
		Read_Data = LCMCW;
	}
	return(Read_Data);
}
uchar  Read_Data(void)
{
	uchar data Read_Data;
	if(IO_BUS)
	{
		DATA_BUS = 0xff;
		RS = 0;
		RD_ = 0;
		CS = 0 ;
		Read_Data = DATA_BUS;
		RD_ = 1;
		CS = 1;
	}
	else
	{
		Read_Data = LCMDW;
	}
	return(Read_Data);
}

uchar fnST01(void)		
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -