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

📄 ocm2x8b.c

📁 51单片机控制TC35I无线通信模块的完整Keil C程序
💻 C
字号:

//OCM2x8B参考程序
#include <reg52.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#define data_ora   P1              //MCU P1<------> LCM
#define uchar      unsigned char
#define uint       unsigned int

sbit req =P3^0;  //请求信号,H有效
sbit busy=P3^1;  //H:已收到数据并在处理中,L:空闲可接收数据

void send (uchar dat);

uchar code tab2[]={
0x1d,0x50,0x25,0x54,0x1f,0x26,0x1c,0x1c,0x33,0x30,0x2f,0x3e,0x19,0x0b,0x2b,0x1e,
0x10,0x22,0x1f,0x29,0x20,0x0d,0x32,0x1a,0x1e,0x07,0x2f,0x34,0x2a,0x1e,0x26,0x57};

uchar code tab4[]={
"Golden Palm TECH"
"TEL:0758-2263858"
"FAX:  2285110   "
"www.gpt.com.cn  "};

uchar code tab6[]={
/*--  调入了一幅图像:F:\梁\画图\HOCO12832.bmp  --*/
/*--  宽度x高度=128x32  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x18,0x0C,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x13,0x10,0x03,0xFE,0x00,
0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x3F,0x30,0x1F,0xFF,0xC0,
0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x8C,0x03,0xF0,0x00,0x7F,0xE0,0x7C,0x01,0xE0,
0x03,0xFF,0xF0,0x00,0x00,0x00,0x01,0x36,0x06,0xC0,0x00,0x5F,0xC0,0xFF,0xFC,0x60,
0x01,0xFF,0xF0,0x00,0x00,0x00,0x02,0x1B,0x0F,0x80,0x00,0xFF,0x01,0xFE,0x0F,0x30,
0x00,0xEF,0xF0,0x00,0x00,0x00,0x02,0x6D,0x9F,0x00,0x00,0x3E,0x03,0xFF,0xF1,0x90,
0x00,0xFF,0xF8,0x00,0x00,0x00,0x04,0x36,0xFE,0x00,0x01,0xFF,0x07,0xFF,0xFC,0x90,
0x00,0xEF,0xFF,0xFF,0x80,0x00,0x04,0xDB,0x7E,0x00,0x03,0xFF,0x87,0xFF,0xFC,0xD0,
0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x04,0x6D,0xFC,0x00,0x07,0xFF,0x8F,0xFF,0xFE,0x50,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x36,0xFC,0x10,0x07,0xFF,0x8F,0xFF,0xFE,0x90,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x1B,0xF8,0x10,0x07,0xFF,0xCF,0xFF,0xFE,0x80,
0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x04,0x0F,0xF8,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0x07,0xFF,0xFF,0xF0,0x00,0x04,0x07,0xF0,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x03,0xF0,0x20,0x07,0xFF,0xFF,0xFF,0xBA,0x00,
0x00,0xFD,0xFF,0xFF,0xFC,0x00,0x02,0x03,0xF0,0x20,0x03,0xFF,0xFF,0xDF,0xB8,0x00,
0x00,0xC1,0xC0,0x3F,0xFC,0x00,0x01,0x01,0xE0,0x40,0x00,0xFF,0xFF,0xDF,0xB0,0x00,
0x00,0x81,0xC0,0x3F,0xCE,0x00,0x00,0x81,0xE0,0x80,0x00,0x7F,0xFF,0xDF,0xA0,0x00,
0x00,0x81,0x80,0x1D,0xCF,0x00,0x00,0x41,0xE1,0x00,0x00,0x3F,0xFF,0x9B,0x00,0x00,
0x01,0x83,0x80,0x1F,0xC7,0x80,0x00,0x21,0xE2,0x00,0x00,0x1F,0xFD,0xB6,0x00,0x00,
0x01,0xC3,0x00,0x0E,0xE6,0x80,0x00,0x19,0xEC,0x00,0x00,0x07,0xFE,0x20,0x00,0x00,
0x00,0xC3,0x00,0x07,0x67,0x40,0x00,0x07,0xF0,0x00,0x00,0x03,0x3E,0x00,0x00,0x00,
0x00,0x02,0x00,0x03,0xE7,0xA0,0x00,0x00,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,
0x00,0x06,0x00,0x03,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
0x00,0x06,0x00,0x07,0x03,0x00,0x77,0x46,0x74,0x24,0x80,0x06,0x04,0x00,0x00,0x00,
0x00,0x1C,0x00,0x06,0x00,0x00,0x55,0x45,0x54,0x57,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0x00,0x0E,0x00,0x00,0x45,0x45,0x74,0x57,0x80,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x00,0x00,0x55,0x45,0x44,0x74,0x80,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x77,0x76,0x47,0x54,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};


/*---------------延时子程序----------------*/
void delay (uint us)
{
  while(us--);
}
void delay1 (uint ms)
{
  uint i,j;
  for(i=0;i<ms;i++)
  for(j=0;j<1000;j++)
  ;
}
/*------------写命令或数据到LCD--------------*/
void wr_zb (uchar comm,uchar addr_x,uchar addr_y)
{
  send(comm);
  send(addr_x);
  send(addr_y);
}
void send (uchar dat)               //写命令或数据
{
  while(busy==1)
    ;
  data_ora=dat;
  req=1;
  while(busy==0)
    ;
  req=0;
}
/*--------------显示点阵------------------*/
void disp_lat (uchar data1,uchar data2)
{
  uchar i,j,k;
  for(k=0;k<32;k=k+4)
  {
    for(j=0;j<2;j++)
    {
      for(i=0;i<16;i++)
      {
        wr_zb(0xf3,i,k+j);
        send(data1);
      }
    }
    for(j=2;j<4;j++)
    {
      for(i=0;i<16;i++)
      {
        wr_zb(0xf3,i,k+j);
        send(data2);
      }
    }
  }
}
/*-----------------显示图形-----------------*/
void disp_img (uchar code *img)
{
  uchar i,j;
  for(j=0;j<32;j++)
  {
    for(i=0;i<16;i++)
    {
      wr_zb(0xf3,i,j);
      send(img[j*16+i]);
    }
  }
}
/*--------------显示中文------------------*/
void disp_chn (uchar code *chn)
{
  uchar i,j;
  for(j=0;j<2;j++)
  {
    for(i=0;i<8;i++)
    {
      wr_zb(0xf0,i,j);
      send(chn[j*16+i*2]);
      send(chn[j*16+i*2+1]);
    }
  }
}
/*--------------显示字符------------------*/
void disp_eng (uchar code *eng)
{
  uchar i,j;
  for(j=0;j<4;j++)
  {
    for(i=0;i<16;i++)
    {
      wr_zb(0xf1,i,j*8);
      send(eng[j*16+i]);
    }
  }
}
/*------------------主程序--------------------*/
void main ()
{
  SP=0x5f;
  req=0;
  busy=1;
  while(1)
  {
    send(0xf4);
    disp_lat(0xff,0xff);
    delay1(800);
    send(0xf4);
    disp_chn(tab2);
    delay1(800);
    send(0xf4);
    disp_lat(0xff,0x00);
    delay1(800);
    send(0xf4);
    disp_eng(tab4);
    delay1(800);
    send(0xf4);
    disp_lat(0xcc,0xcc);
    delay1(800);
    send(0xf4);
    disp_img(tab6);
    delay1(800);
  }
}

⌨️ 快捷键说明

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