www.gusucode.com > 单片机控制TC35I无线通信模块源代码-源码程序 > 单片机控制TC35I无线通信模块源代码-源码程序/code/SMS_Mcu_Program/ocmj.txt
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}; uchar code tab4[]={ "Golden Palm Science " " Technology Co.,Ltd " "No.31 Jianshe Road3 " "Zhaoqing P.R.China " "Postcode: 526040 " "TEL: 86-758-2263858 " "E_mail:jmgpc " "@pub.zhaoqing.gd.cn "}; uchar code tab6[]={ /*-- 调入了一幅图像:F:\\梁\\画图\\COCKL.bmp --*/ /*-- 宽度x高度=160x80 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x01,0x00,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x0C,0x07,0x00, 0x03,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1E,0x1C,0x3F,0x00,0x0F,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00, 0x00,0x00,0x00,0x20,0x78,0xFF,0xFE,0x00,0x7E,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF, 0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x30,0xFF,0xFF,0xF8,0x03,0xF8,0x00,0x00,0x3F, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x3D,0xFF,0xFF,0xFF,0xFF, 0xE0,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x3D, 0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x03,0xFF,0xFF,0xFC,0x00,0x00,0x7F,0xFF,0x80,0x00, 0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xF8,0x00,0x00, 0x01,0xFF,0xE0,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x7F,0xFF, 0xFF,0xFF,0xFF,0xE0,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x7E,0x7F,0xFF,0xFF,0xF0, 0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x03,0xF8,0x00,0x00,0x00,0x00,0xFE, 0x7F,0xFF,0xFF,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0xFC,0x00, 0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xF8,0x00,0x7E,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x0F,0xFF,0xFF, 0xFF,0xFF,0xE0,0x0F,0xFF,0x00,0x3E,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x7F,0xC0,0x1E,0x00,0x00,0x00,0x01,0x03, 0xFF,0xFF,0x80,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xF0,0x0E,0x00, 0x00,0x00,0x00,0x3F,0xFF,0xFF,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, 0x01,0xF8,0x06,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xF8,0x00,0x00,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFE,0x01,0xFC,0x06,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFC,0x00, 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFC,0x06,0x00,0x00,0x00,0x3F,0xFF, 0xFF,0xFF,0xFE,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x3E,0x06,0x00, 0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xE0,0x3E,0x06,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x07,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xF8,0x1E,0x06,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFE,0x00, 0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x0E,0x06,0x00,0x00,0x03,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x0E,0x06,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFE,0x0E,0x06,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x3F,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0x1F,0xFE,0x1C,0x0E,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFE,0x00, 0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xFE,0x30,0x1C,0x00,0x00,0x0F,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xFE,0x30,0x18,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, 0xFE,0x00,0x60,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFE,0xFE,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFE,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFE,0x7E,0x00,0x00,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE, 0x7E,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0x9F,0xFE,0x7E,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xFE,0x3C,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xFE,0x18,0x00,0x00,0x00, 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xFC, 0x18,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0x8F,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xFC,0x70,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0x60,0x00,0x00,0x00, 0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFE,0x07,0xC0, 0x60,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xCF,0xFE,0x07,0xC0,0x60,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0x7F,0xCF,0xFE,0x07,0xC0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x3F,0xCF,0xFE,0x07,0x00,0x60,0x00,0x00,0x00, 0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x3F,0xCF,0xFC,0x06,0x00, 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x3F, 0xCF,0xF0,0x04,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xF0,0x3F,0x8F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x7F,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xE0,0xFE,0x1F,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0x60,0xF0, 0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF, 0xFF,0xFC,0x38,0xC0,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x07,0xFF,0xFE,0x3F,0xFF,0xFC,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x03,0xFF,0xFE,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xF8,0x0F,0xFF,0xFC,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x03, 0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x7F,0xC0,0x00,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xF0,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00, 0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x3E,0x00,0x00,0x07,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x01,0xCC,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE6,0x00,0x00,0x03,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC7,0x80,0x00, 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0xC3,0xF8,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x03,0x80,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0C,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x0C,0x60,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F, 0xFE,0x0C,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xFF,0xF8,0x0C,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFD,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,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<80;k=k+4) { for(j=0;j<2;j++) { for(i=0;i<20;i++) { wr_zb(0xf3,i,k+j); send(data1); } } for(j=2;j<4;j++) { for(i=0;i<20;i++) { wr_zb(0xf3,i,k+j); send(data2); } } } } /*-----------------显示图形-----------------*/ void disp_img (uchar code *img) { uchar i,j; for(j=0;j<80;j++) { for(i=0;i<20;i++) { wr_zb(0xf3,i,j); send(img[j*20+i]); } } } /*--------------显示中文------------------*/ void disp_chn (uchar code *chn) { uchar i,j; for(j=0;j<5;j++) { for(i=0;i<10;i++) { wr_zb(0xf0,i,j); send(chn[j*20+i*2]); send(chn[j*20+i*2+1]); } } } /*--------------显示字符------------------*/ void disp_eng (uchar code *eng) { uchar i,j; for(j=0;j<2;j++) { for(i=0;i<20;i++) { wr_zb(0xf9,i,j*16); send(eng[j*20+i]); } } for(j=2;j<8;j++) { for(i=0;i<20;i++) { wr_zb(0xf1,i,(j+2)*8); send(eng[j*20+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); } }