📄 t6963.c
字号:
#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 + -