📄 st12864串口.c
字号:
#include <reg51.h>
#include <absacc.h>
#include <ctype.h>
#include <intrins.h>
#include <setjmp.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define uint unsigned int
#define uchar unsigned char
#define xchar unsigned char code
sbit CS = P3^0;
sbit SCLK = P3^2;
sbit SID = P3^1;
/*sbit BFLAG = ACC^1;*/
uchar serdat[8]={0,0,0,0,0,0,0,0};
xchar hz1[256]=
{
/*-- 调入了一幅图像:E:\WD\12864-~3.BMP --*/
/*-- 宽度x高度=128x64 --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x88,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x11,
0xAA,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x55,
0x9C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x39,
0x9C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x39,
0xAA,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x55,
0x88,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x11,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,
0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,
0xBF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,
0x8C,0x00,0x00,0x00,0x00,0x1D,0xCF,0x02,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x31,
0x92,0x00,0x00,0x00,0x07,0xDD,0x9B,0x86,0x00,0x6C,0x78,0x00,0x00,0x00,0x00,0x49,
0x80,0x00,0x00,0x03,0xC4,0xCD,0x99,0x0E,0x00,0x66,0xC8,0xE0,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x06,0xEC,0x47,0x97,0x0E,0x00,0x66,0x8D,0xFC,0x00,0x00,0x00,0x01,
0x92,0x00,0x01,0x86,0x6E,0xC7,0x1F,0x96,0x00,0x66,0x8D,0x6D,0xE0,0x00,0x00,0x49
};
xchar hz2[256]=
{
0x8C,0x00,0x01,0x86,0x67,0xC3,0x19,0x96,0x00,0x67,0x8C,0x67,0xB8,0x00,0x00,0x31,
0xBF,0x00,0x03,0xC6,0x67,0xC3,0x11,0xBF,0x80,0xC7,0x8C,0x63,0x18,0x00,0x00,0xFD,
0x8C,0x00,0x01,0xC0,0x44,0x67,0x99,0xBF,0x80,0xC7,0x8C,0x63,0x90,0x00,0x00,0x31,
0x92,0x00,0x00,0xC0,0x8C,0x65,0x99,0x86,0x00,0xCD,0x8C,0xC1,0xC0,0x00,0x00,0x49,
0x80,0x00,0x00,0xE1,0x9C,0x6D,0xEF,0x8F,0x81,0xFC,0x9C,0xC0,0xC0,0x00,0x00,0x01,
0x80,0x00,0x00,0x61,0x37,0xDD,0xE6,0x00,0x01,0xF0,0xF8,0xC4,0x60,0x00,0x00,0x01,
0x92,0x00,0x00,0x73,0xF3,0x80,0x00,0x00,0x00,0x00,0x21,0xE4,0x60,0x00,0x00,0x49,
0x8C,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x60,0x00,0x00,0x31,
0xBF,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0xFD,
0x8C,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x31,
0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x92,0x10,0x00,0x00,0x00,0x0F,0xFF,0x00,0x5C,0x00,0x00,0x00,0x00,0x80,0x00,0x49,
0x8C,0x08,0x00,0x00,0x00,0x0C,0x00,0xFF,0xBB,0x00,0x00,0x00,0x00,0x40,0x00,0x31,
0xBF,0x08,0x00,0x00,0x00,0x0C,0x00,0x00,0xBF,0x80,0x00,0x00,0x00,0x40,0x00,0xFD
};
xchar hz3[256]=
{
0x8C,0x04,0x00,0x00,0x00,0x0F,0xFF,0x03,0x08,0x40,0x00,0x00,0x00,0x20,0x00,0x31,
0x92,0x04,0x00,0x00,0x00,0x0C,0x00,0xFC,0x10,0x39,0x00,0x00,0x00,0x10,0x00,0x49,
0x80,0x02,0x00,0x00,0x07,0xFC,0xC0,0x04,0x33,0xE5,0x00,0x00,0x00,0x08,0x00,0x01,
0x80,0x01,0x00,0x00,0x09,0xFC,0xA0,0x7F,0xBF,0xBF,0xC0,0x00,0x00,0x04,0x00,0x01,
0x92,0x01,0x00,0x00,0x1E,0xFE,0xDE,0x9F,0xDF,0xE0,0xE0,0x01,0xFE,0x02,0x00,0x49,
0x8C,0x00,0x80,0x00,0x16,0xFF,0xE1,0xEF,0xEC,0x00,0x18,0x02,0x7F,0x01,0x00,0x31,
0xBF,0x00,0x40,0x00,0x23,0x7F,0x01,0x6F,0xE3,0xF8,0x04,0x07,0xBF,0x80,0xC0,0xFD,
0x8C,0x00,0x20,0x00,0x23,0x7F,0xA2,0x37,0xFF,0x56,0x02,0x05,0xBF,0x80,0x20,0x31,
0x92,0x00,0x20,0x00,0x23,0x7F,0xC2,0x37,0xFB,0xEB,0x81,0x08,0xDF,0xC0,0x00,0x49,
0x80,0x00,0x10,0x00,0x23,0x7F,0xD2,0x37,0xFF,0x75,0x40,0xFF,0x5F,0xC0,0x00,0x01,
0x80,0x00,0x08,0x00,0x23,0x7F,0xE2,0x37,0xFF,0xFF,0xA0,0x8F,0x5F,0xC0,0x00,0x01,
0x92,0x00,0x04,0x00,0x23,0x7F,0x6A,0x37,0xF0,0x3F,0xFF,0x0F,0xFF,0xC0,0x00,0x49,
0x8C,0x00,0x02,0x00,0x16,0xFE,0x3E,0x37,0xF8,0x07,0xF9,0x0C,0x1F,0xC0,0x00,0x31,
0xBF,0x00,0x01,0x00,0x1E,0xFE,0x7E,0x37,0xFB,0xFB,0xCF,0xF8,0x0F,0xC0,0x00,0xFD,
0x8C,0x00,0x00,0x80,0x09,0xFD,0xFD,0x6F,0xE8,0x00,0x20,0x07,0xEF,0xC0,0x00,0x31,
0x92,0x00,0x00,0x40,0x07,0xF8,0x01,0xEF,0xCF,0xFF,0xFF,0x00,0x0F,0x80,0x00,0x49
};
xchar hz4[256]=
{
0x80,0x00,0x00,0x30,0x00,0x00,0x00,0x9F,0xF8,0x7F,0xC8,0xFF,0xFF,0x80,0x00,0x01,
0x80,0x00,0x00,0x08,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x02,0x7F,0x00,0x00,0x01,
0x92,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFE,0x00,0x00,0x49,
0x8C,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,
0xBF,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,
0x8C,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,
0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x88,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x11,
0xAA,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x55,
0x9C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x39,
0x9C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x38,0x70,0xE1,0xC3,0x87,0x0E,0x1C,0x39,
0xAA,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x54,0xA9,0x52,0xA5,0x4A,0x95,0x2A,0x55,
0x88,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x10,0x20,0x40,0x81,0x02,0x04,0x08,0x11,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
//xchar hz1[512]=
//{
/*-- 调入了一幅图像:E:\WD\12832.bmp --*/
/*-- 宽度x高度=128x32 --*/
/*0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,
0x80,0x03,0x0E,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x01,0xC0,0xE0,0x01,
0x80,0x1F,0x8E,0x00,0x00,0x00,0x00,0x00,0x01,0xC1,0xFF,0xC0,0x01,0xC0,0xE0,0x01,
0x80,0xF8,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,0x80,0xC0,0x03,0x80,0xE0,0x01,
0x80,0x18,0x0E,0x00,0x03,0xFF,0xFF,0x00,0x00,0xE1,0x80,0xC0,0x03,0x80,0xE0,0x01,
0x80,0x18,0x0E,0x00,0x03,0x03,0x03,0x00,0x00,0x39,0x98,0xC0,0x03,0x00,0xE6,0x01,
0x80,0x18,0x3E,0x38,0x03,0x03,0x03,0x00,0x0F,0xF9,0x98,0xC0,0x07,0x1F,0xFF,0x01,
0x80,0x1B,0xBE,0x70,0x03,0x03,0x03,0x00,0x00,0x71,0x98,0xC0,0x06,0x00,0xE0,0x01,
0x83,0xFF,0xAE,0xE0,0x03,0x03,0x03,0x00,0x00,0x71,0x98,0xC0,0x0F,0x00,0xE0,0x01,
0x80,0x18,0x6E,0xC0,0x03,0x03,0x03,0x00,0x00,0xE1,0x98,0xC0,0x0F,0x00,0xE0,0x01,
0x80,0x38,0xEF,0x80,0x03,0x03,0x03,0x00,0x00,0xC1,0x98,0xC0,0x1B,0x00,0xE1,0xC1,
0x80,0x38,0xEF,0x00,0x03,0x03,0x03,0x00,0x01,0xC1,0x98,0xC0,0x1B,0x7F,0xFF,0xE1,
0x80,0x7E,0x0F,0x00,0x03,0xFF,0xFF,0x00,0x01,0xF1,0x98,0xC0,0x33,0x00,0x00,0x01,
0x80,0x7F,0x0F,0x00,0x03,0x03,0x03,0x00,0x03,0xFD,0x98,0xC0,0x63,0x00,0xE0,0x01,
0x80,0xFB,0x8F,0x00,0x03,0x03,0x03,0x00,0x06,0xDD,0xBC,0x00,0x03,0x00,0xE0,0x01,
0x80,0xD9,0x9D,0x80,0x03,0x03,0x03,0x00,0x0C,0xCC,0x3E,0x00,0x03,0x00,0xE6,0x01,
0x81,0x98,0x1D,0x80,0x03,0x03,0x03,0x00,0x18,0xC0,0x3C,0x00,0x03,0x3F,0xFF,0x01,
0x81,0x98,0x19,0xC0,0x03,0x03,0x03,0x00,0x00,0xC0,0x3C,0x00,0x03,0x00,0xE0,0x01,
0x83,0x18,0x38,0xC0,0x03,0x03,0x03,0x00,0x00,0xC0,0x6C,0x30,0x03,0x00,0xE0,0x01,
0x86,0x18,0x30,0xE0,0x03,0x03,0x03,0x00,0x00,0xC0,0xEC,0x30,0x03,0x00,0xE0,0x01,
0x80,0x18,0x70,0x70,0x03,0x03,0x03,0x00,0x00,0xC0,0xCC,0x30,0x03,0x00,0xE0,0x01,
0x80,0x18,0xE0,0x78,0x03,0xFF,0xFF,0x00,0x00,0xC1,0x8C,0x30,0x03,0x00,0xE0,0x01,
0x80,0x19,0x80,0x3E,0x03,0x00,0x03,0x00,0x00,0xC7,0x0E,0x70,0x03,0x00,0xE1,0xC1,
0x80,0x1B,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0xCC,0x07,0xF0,0x03,0x7F,0xFF,0xE1,
0x80,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0x00,0x00,0x03,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};*/
void delayms(uint v)
{
while(v!=0)v--;
}
void delay(uint nn)
{
uint mm;
while(nn-->0)
for(mm=0;mm<1250;mm++)
{ };
}
/*void r_busy()
{
uint i;
do
{
CS=1;
SID=1;SCLK=0;
for(i=0;i<5;i++)
{ SCLK=1;SCLK=0;}
SID=1;SCLK=1;SCLK=0;
{ SID=0;SCLK=1;SCLK=0;SCLK=1;SCLK=0;}
ACC=P3&0x02;SCLK=1;SCLK=0;
}
while(BFLAG==1);
}*/
void w_cd(uchar dat,uchar cd_type) /* type=0(instruction), type=1(data) */
{
int i;
uchar temp;
temp=dat;
for(i=0;i<8;i++)
{ serdat[i]=temp>>7;temp=temp<<1;}
/* r_busy();*/
CS=1;
SID=1;SCLK=0;
for(i=0;i<5;i++)
{ SCLK=1;SCLK=0;}
SID=0;SCLK=1;SCLK=0;
if(cd_type<1) { SCLK=1;SCLK=0;SCLK=1;SCLK=0;}
else { SID=1;SCLK=1;SCLK=0;SID=0;SCLK=1;SCLK=0;}
for(i=0;i<4;i++)
{ SID=serdat[i];SCLK=1;SCLK=0;}
for(i=0;i<4;i++)
{ SID=0;SCLK=1;SCLK=0;}
for(i=4;i<8;i++)
{ SID=serdat[i];SCLK=1;SCLK=0;}
for(i=0;i<4;i++)
{ SID=0;SCLK=1;SCLK=0;}
CS=1;
if(cd_type<1){ delayms(55);}
else { }
}
void initial()
{
w_cd(0x38,0);
w_cd(0x01,0);
w_cd(0x06,0);
w_cd(0x0c,0);
}
void main()
{
uchar m=0,n=0;
delay(2);
initial();
while(1)
{
/******* GDRAM display *******/
w_cd(0x3c,0);
w_cd(0x03,0);
w_cd(0x36,0);
for(m=0;m<16;m++)
{
w_cd(0x80+m,0);w_cd(0x80+n,0);
for(n=0;n<16;n++)
{
w_cd(hz1[n+16*m],1);
}
for(n=0;n<16;n++)
{
w_cd(hz3[n+16*m],1);
}
}
for(m=0;m<16;m++)
{
w_cd(0x90+m,0);w_cd(0x90+n,0);
for(n=0;n<16;n++)
{
w_cd(hz2[n+16*m],1);
}
for(n=0;n<16;n++)
{
w_cd(hz4[n+16*m],1);
}
}
/* for(m=0;m<16;m++)
{
w_cd(0x90+m,0);w_cd(0x90+n,0);
for(n=0;n<16;n++)
{
w_cd(hz1[n+16*m+256],1);
}
}*/
delay(55);
w_cd(0x38,0);
w_cd(0x01,0);
/******** 12832C display ********/
w_cd(0x80,0);
w_cd(0xa1,1);w_cd(0xa0,1);
w_cd(0xC9,1);w_cd(0xEE,1);
w_cd(0xDB,1);w_cd(0xDA,1);
w_cd(0xC7,1);w_cd(0xEF,1);
w_cd(0xCC,1);w_cd(0xEF,1);
w_cd(0xCA,1);w_cd(0xD3,1);
w_cd(0xBC,1);w_cd(0xD1,1);
w_cd(0xa1,1);w_cd(0xa0,1);
w_cd(0xa1,1);w_cd(0xa0,1);
w_cd(0xa3,1);w_cd(0xb1,1);
w_cd(0xa3,1);w_cd(0xb2,1);
w_cd(0xa3,1);w_cd(0xb8,1);
w_cd(0xa3,1);w_cd(0xf8,1);
w_cd(0xa3,1);w_cd(0xb6,1);
w_cd(0xa3,1);w_cd(0xb4,1);
w_cd(0xa1,1);w_cd(0xa0,1);
w_cd(0x90,0);
w_cd(0xbc,1);w_cd(0xf2,1);
w_cd(0xcc,1);w_cd(0xe5,1);
w_cd(0xd7,1);w_cd(0xd6,1);
w_cd(0xbf,1);w_cd(0xe2,1);
w_cd(0xcf,1);w_cd(0xd4,1);
w_cd(0xca,1);w_cd(0xbe,1);
w_cd(0xc4,1);w_cd(0xa3,1);
w_cd(0xbf,1);w_cd(0xe9,1);
w_cd(0xbc,1);w_cd(0xf2,1);
w_cd(0xcc,1);w_cd(0xe5,1);
w_cd(0xd7,1);w_cd(0xd6,1);
w_cd(0xbf,1);w_cd(0xe2,1);
w_cd(0xcf,1);w_cd(0xd4,1);
w_cd(0xca,1);w_cd(0xbe,1);
w_cd(0xc4,1);w_cd(0xa3,1);
w_cd(0xbf,1);w_cd(0xe9,1);
delay(65);
/******** HCGROM display ********/
w_cd(0x80,0);
for(n=0;n<32;n++)
{
w_cd(0x41+n,1);
}
w_cd(0x90,0);
for(n=0;n<32;n++)
{
w_cd(0x61+n,1);
}
delay(65);
/********* CGROM display *********/
/*-------------------------------*/
w_cd(0x80,0);
for(n=0;n<16;n++)
{
w_cd(0xb0,1);w_cd(0xa1+n,1);
}
w_cd(0x90,0);
for(n=0;n<16;n++)
{
w_cd(0xcd,1);w_cd(0xa1+n,1);
}
delay(65);
/*-------------------------------*/
/* w_cd(0x80,0);
for(n=0;n<16;n++)
{
w_cd(0xe6,1);w_cd(0xa1+n,1);
}
w_cd(0x90,0);
for(n=0;n<16;n++)
{
w_cd(0xf7,1);w_cd(0xf7+n,1);
}
delay(65);*/
/*********************************/
w_cd(0x01,0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -