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

📄 ocmj.txt

📁 51单片机控制TC35I无线通信模块的完整Keil C程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
Void OCMJ_WR(unsigned char dat) 
{   
   OCM_STB=0;  
   while(OCM_BUSY); 
   PORT_DATA=dat;
   delay_us(1);
   OCM_STB=1; 
    delay_us(1);
   while(!OCM_BUSY);
   OCM_STB=0; 
    beepims(20);
} 
/***************************************************
1)显示国标汉字 
   命令格式: F0 XX YY QQ WW 
   该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),
   其中 XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09
        YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04 
        QQ WW:坐标位置上要显示的GB 2312 汉字区位码      
*****************************************************/
void OCMJ_WR_CN(char xx,char yy,char* pData)
{
   OCMJ_WR(0xf0);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
   OCMJ_WR(*pData);
   OCMJ_WR(*(pData++)); 
}  
/*
局部清屏指令 F0 XX YY 55D 90D 此指令可清屏16X16点阵区域  
*/
void OCMJ_CLR_CN(char xx,char yy)
{ 
   OCMJ_WR(0xf0);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
   OCMJ_WR(55);
   OCMJ_WR(90);
}
/***************************************************
2) 显示8X8 ASCII字符 
   命令格式:F1 XX YY AS 
   该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),
   其中 XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13 
   YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F 
   AS:坐标位置上要显示的ASCII 字符码    
****************************************************/
void OCMJ_ASCII8(char xx,char yy,char as)
{
   OCMJ_WR(0xf1);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
   OCMJ_WR(as);
}   
/*
BT:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)

*/  
void OCMJ_Dot8(char xx,char yy,char BT);
void OCMJ_CLR_ASCII8(char xx,char yy)
{  char i;
   for(i=0;i<8;i++)
      OCMJ_Dot8(xx,yy+i,0);//BT:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)
}



/**************************************************
3) 显示8X16 ASCII字符 
   命令格式:F9 XX YY AS  
   该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0mS),
   其中 XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13 
   YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F 
   AS:坐标位置上要显示的ASCII 字符码
****************************************************/



void OCMJ_ASCII16(char xx,char yy,char as)
{  
   OCMJ_WR(0xf9);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
   OCMJ_WR(as);
}
/*
BT:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)

*/
void OCMJ_CLR_ASCII16(char xx,char yy)
{  char i;
   for(i=0;i<16;i++)
      OCMJ_Dot8(xx,yy+i,0);   //BT:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)
}
/**************************************************
4) 显示位点阵 
   命令格式: F2 XX YY 该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),
   其中 XX:为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9F 
   YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F 
****************************************************/ 
void OCMJ_Dot(char xx,char yy)
{
   OCMJ_WR(0xf2);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
} 
/**************************************************
5) 显示字节点阵 
   命令格式: F3 XX YY BT   该命令为4字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),
   其中 XX:为以1*8点阵为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13 
   YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F 
   BT:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)
****************************************************/ 
void OCMJ_Dot8(char xx,char yy,char BT)
{
   OCMJ_WR(0xf3);
   OCMJ_WR(xx);
   OCMJ_WR(yy);
   OCMJ_WR(BT);
} 
/**************************************************
6) 清屏 命令格式:F4 该命令为单字节命令(最大执行时间为11毫秒,Ts2=11mS),其功能为将屏幕清空。
**************************************************/
void OCMJ_CLR_ALL(void)
{
   OCMJ_WR(0xf4);
} 

/************************************************** 
7) 上移 命令格式:F5 该命令为单字节命令(最大执行时间为25毫秒,Ts2=25mS),其功能为将屏幕向上移动一个点阵行。
/**************************************************/
void OCMJ_UP(void)
{
   OCMJ_WR(0xf5);
} 
/******************************************************
8) 下移 命令格式:F6 该命令为单字节命令(最大执行时间为30毫秒,Ts2=30mS),其功能为将屏幕向下移动一个点阵行。
*******************************************************/
void OCMJ_DOWN(void)
{
   OCMJ_WR(0xf6);
}   
/********************************************************
9) 左移 命令格式:F7 该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向左移动一个点阵列。
*********************************************************/
void OCMJ_LEFT(void)
{
   OCMJ_WR(0xf7);
}
/*********************************************************  
10) 右移 命令格式: F8 该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向右移动一个点阵列。
*********************************************************/
void OCMJ_RIGHT(void)
{
   OCMJ_WR(0xf8);
} 




/***************************************************
2) 显示8X8 ASCII字符串
   命令格式:F1 XX YY AS 
   该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),
   其中 XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13 
   YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F 
   char flash * pData :字符串指针
****************************************************/
extern void OCMJ_WR_STR(unsigned char xx,unsigned char yy, char flash * pData)  
{ 
   while((*pData))   //遇到停止符0结束
   {  
      OCMJ_ASCII8(xx, yy,*pData); 
      pData++;
      if(xx<0x13) 
         xx++;
      else
      {
        xx=0;
        yy+=8;
      }       
   }   
}   
/***************************************************
1)显示国标汉字串
   命令格式: F0 XX YY QQ WW 
   该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),
   其中 XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09
        YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04 
       char flash * pData: 汉字串指针
*****************************************************/
extern void OCMJ_WR_CNS(unsigned char xx,unsigned char yy, char flash * pData)  
{ 
   while((*pData))   //遇到停止符0结束
   {  
      char x; 
      OCMJ_WR(0xf0);
      OCMJ_WR(xx);
      OCMJ_WR(yy);
   //   x=Unico_GB2312();
      OCMJ_WR(*pData-0xa0);
      pData++;  
   //   x=Unico_GB2312(* pData);
      OCMJ_WR(*pData-0xa0); 
      pData++;
      if(xx<0x09) 
         xx++;
      else
      {
        xx=0;
        yy++;
      }       
   }   
}   

--------------------------------------------------------------------------------
 
--  作者:邱工
--  发布时间:2005-2-16 15:46:35

--  

//OCM5x10B参考程序
#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[]={
0x35,0x38,0x27,0x4c,0x1d,0x50,0x25,0x54,0x1f,0x26,
0x1c,0x1c,0x33,0x30,0x2f,0x3e,0x19,0x0b,0x2b,0x1e,
0x10,0x22,0x1f,0x29,0x20,0x0d,0x36,0x30,0x2e,0x24,
0x2d,0x1c,0x30,0x2e,0x2f,0x34,0x2a,0x1e,0x26,0x57,
0x24,0x03,0x1f,0x49,0x24,0x3a,0x36,0x23,0x19,0x5a,
0x11,0x4a,0x1c,0x52,0x2c,0x45,0x36,0x30,0x2e,0x24,
0x32,0x1b,0x1c,0x16,0x37,0x36,0x1f,0x42,0x32,0x34,
0x1c,0x10,0x19,0x06,0x24,0x3c,0x17,0x41,0x18,0x1b,
0x15,0x24,0x33,0x23,0x1b,0x07,0x36,0x18,0x21,0x4e,
0x2a,0x19,0x33,0x23,0x18,0x5c,0x17,0x1d,0x11,0x43};

⌨️ 快捷键说明

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