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

📄 st12864串口.c

📁 经典的p算法
💻 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 + -