找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2380|回复: 0
打印 上一主题 下一主题
收起左侧

COG12864LCD液晶屏标准演示程序 IC为0724、0721、7565、7534

[复制链接]
跳转到指定楼层
楼主
ID:705815 发表于 2020-10-23 11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//COG12864标准演示程序,适合所有IC为0724、0721、7565、7534的LCD。
//时序为P6800时序,包括8080时序以及串口方式,不需要用到可以屏蔽掉。
//可根据不同型号的产品做适当调整,比如:对比度、地址(点阵的逻辑走线)、选用的是并口还是串口需选选用不同的程序、控制端口的定义、等等。


/***************一般连接方法:******************/
// C86->H:6800;      C86->L:8080;
// P/S->H:Parallel(并口);  P/S->L:Serial(串口)

//连接电容值都为无极性1uF/25V
// V0--||--VSS   (V0和地之间接一电容)
// V1--||--VSS   (V1和地之间接一电容)
// V2--||--VSS   (V2和地之间接一电容)
// V3--||--VSS   (V3和地之间接一电容)
// V4--||--VSS   (V4和地之间接一电容)
// C2N--||--C2P  (C2负和C2正之间接一电容)
// C1P--||--C1N  (C1正和C1负之间接一电容)
// C1N--||--C3P  (C1负和C3正之间接一电容)
// Vout--||--VSS (Vout和地之间接一电容)
//正常工作时,Vout电压约9.0V--11.0V左右


/***************电器性能参数描述****************/
//标准 工作 电压:3.3V
//内  部  频  率:20-24KHz,
//输入高电平电压:  0.8 x VDD — VDD V
//输入低电平电压:  VSS — 0.2 x VDD V

//Power Supply OFF
//显示模式关时标称电流:16 uA
//显示模式开时标称电流:19 uA

//Power Supply ON
//显示模式关时标称电流:90 uA
//显示模式开时标称电流:100 uA

//睡眠模式电流  0.1 uA
//Standby Current     5   uA

/************************************************/


//测试条件为:CPU--A89C51 or A89C2051工作在12MHz条件下

//每条指令执行时间均不小于1微妙

//请保证您的CPU工作频率不能高于驱动IC工作频率!

//IC工作频率请看相关IC资料电器特性说明!

/************************************************/




#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define  uint unsigned int

sbit        R_S=        P3^5;//指令/数据选择信号
sbit        RES=        P3^4;//复位信号
sbit        W_R=         P3^1;//写信号
sbit        R_D=        P3^0;//读信号
sbit    C_S=    P3^7;//片选





/****************Serial*************************/
//串口定义及连接方法:
//R_D,W_R 接 VDD(3.3V)
//D0-D5接地(如果悬空也可以)
/*
sbit        R_S=        P3^5;//指令/数据选择信号
sbit        RES=        P3^4;//复位信号
sbit        SCK=         P1^6;
sbit        SDA=        P1^7;
sbit    C_S=    P3^7;//片选
*/
/**********************************************/




uchar Page 0xb0        
               
void WrateC(uchar cmd);                //写入指令到LCD程序
void WrateD(uchar dat);                //写入数据到LCD程序
void LcdInit();                        //LCD初始化设定程序
void Delayms(uchar ms);        //延时程序               
void WriteEnglish(uchar col,uchar pag,uchar *ptr);//写英文字符串程序                        
void Setadd(uchar xl,uchar yl);//LCD地址设定程序





//取模方式:纵向,字节到序,逗号保留
code unsigned char fontASCII8x16[96][16]=
{
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -

        0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -!-

        0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -"-

        0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00, // -#-

        0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00, // -$-

        0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00, // -%-

        0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -&-

        0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -'-

        0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00, // -(-

        0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00, // -)-

        0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00, // -*-

        0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, // -+-

        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00, // -,-

        0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ---

        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00, // -.-

        0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00, // -/-

        0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00, // -0-

        0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00, // -1-

        0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // -2-

        0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -3-

        0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00, // -4-

        0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -5-

        0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -6-

        0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00, // -7-

        0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -8-

        0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00, // -9-

        0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // -:-

        0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00, // -;-

        0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00, // -<-

        0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00, // -=-

        0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00, // ->-

        0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -?-

        0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00, // -@-

        0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -A-

        0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00, // -B-

        0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00, // -C-

        0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00, // -D-

        0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -E-

        0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -F-

        0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00, // -G-

        0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -H-

        0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -I-

        0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00, // -J-

        0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00, // -K-

        0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -L-

        0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -M-

        0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -N-

        0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00, // -O-

        0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -P-

        0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00, // -Q-

        0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -R-

        0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00, // -S-

        0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -T-

        0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -U-

        0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00, // -V-

        0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00, // -W-

        0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00, // -X-

        0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -Y-

        0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00, // -Z-

        0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00, // -[-

        0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00, // -\-

        0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00, // -]-

        0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -^-

        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, // -_-

        0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -`-

        0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -a-

        0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00, // -b-

        0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -c-

        0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -d-

        0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -e-

        0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -f-

        0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00, // -g-

        0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -h-

        0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -i-

        0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00, // -j-

        0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00, // -k-

        0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -l-

        0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00, // -m-

        0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -n-

        0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -o-

        0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00, // -p-

        0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00, // -q-

        0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -r-

        0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00, // -s-

        0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00, // -t-

        0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -u-

        0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00, // -v-

        0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00, // -w-

        0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00, // -x-

        0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00, // -y-

        0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00, // -z-

        0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00, // -{-

        0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00, // -|-

        0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00, // -}-

        0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -~-

        0x80,0xC0,0x60,0x30,0x60,0xC0,0x80,0x00,0x07,0x07,0x04,0x04,0x04,0x07,0x07,0x00, // --


};



char code Hanzi[]={
/*--  调入了一幅图像:C:\Documents and Settings\Administrator\桌面\12864.bmp  --*/
/*--  宽度x高度=128x64  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0x20,0x20,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0xE0,0x20,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,0xF8,0x06,0x01,0x00,0x00,0x00,0x00,0x01,0x07,0x00,0x00,0xFC,
0x02,0x01,0x00,0x00,0x00,0x01,0x02,0xFC,0x00,0x00,0xF8,0x06,0x01,0x00,0x00,0x00,
0x81,0x87,0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x12,0x12,0xF2,0x12,0x12,0x12,
0xF2,0x12,0x12,0x1F,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x88,
0xE8,0x28,0x08,0x08,0xF8,0x08,0x08,0x28,0x48,0x88,0x08,0x08,0x04,0x00,0x00,0x00,
0x00,0x00,0x00,0xC0,0x7F,0x01,0x11,0x11,0x13,0xF5,0x19,0x11,0x11,0x19,0xF7,0x11,
0x11,0x11,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,0x03,0x0C,0x08,0x10,0x10,0x10,0x10,0x08,0x06,0x00,0x00,0x03,
0x04,0x08,0x10,0x10,0x10,0x08,0x04,0x03,0x00,0x00,0x01,0x06,0x08,0x10,0x10,0x10,
0x10,0x0F,0x00,0x00,0x00,0x20,0x20,0x20,0x21,0x2E,0x24,0x20,0x3F,0x20,0x20,0x20,
0x3F,0x28,0x24,0x22,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x10,0x08,0x04,0x03,0x01,
0x00,0x20,0x20,0x60,0x7F,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x0C,0x00,0x00,0x00,
0x00,0x20,0x18,0x07,0x00,0x41,0x41,0x21,0x19,0x0F,0x01,0x01,0x01,0x01,0x3F,0x01,
0x01,0x01,0x01,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,0x20,0x20,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,
0x10,0x10,0x10,0x10,0x10,0x20,0xC0,0x00,0x00,0x00,0xC0,0x20,0x10,0x10,0x10,0x10,
0x20,0xC0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0xC0,0x20,0x10,0x10,0x10,0x10,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,
0xF0,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x08,0x08,
0xC8,0x38,0x0C,0x10,0x10,0xD0,0x78,0x1E,0xD0,0x90,0x10,0x10,0x10,0x10,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,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x40,0x20,0x10,0x08,0x06,0x81,0x00,0x00,0x00,0xF1,0x0A,0x04,0x04,0x04,0x04,
0x0A,0xF1,0x00,0x00,0x00,0x31,0x11,0x1B,0x0A,0xFF,0x0A,0x1B,0x11,0x31,0x00,0x00,
0x7F,0x84,0x02,0x02,0x02,0x02,0x04,0xF8,0x00,0x00,0x00,0x18,0x24,0x23,0x20,0x20,
0xFF,0xFF,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x21,0x21,0x21,0x21,0x20,
0x21,0x21,0x21,0x21,0x7F,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x20,
0x41,0x62,0x3C,0x40,0x46,0x45,0x44,0x44,0xFF,0x44,0x44,0x44,0x42,0x60,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x03,0x02,0x02,0x00,0x00,0x00,0x00,0x03,
0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x02,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,
0x03,0x03,0x02,0x02,0x00,0x00,0x00,0x0C,0x06,0x01,0x00,0x00,0x00,0x07,0x04,0x00,
0x00,0x01,0x06,0x00,0x00,0x00,0x03,0x0E,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x08,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,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,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(uchar ms)
{        
        uchar j;
        while(ms--)
          for(j=0;j<=20;j++); //20us=0.02ms//  
                           
}               
        

void Clear()
{
   unsigned char  i,j,m=0;
   for(i=0;i<8;i++)   
    {
     Setadd(0,i);                     
     for(j=0;j<128;j++)
          WrateD(0x00);
     }
}



//LCD初始化设定
void LcdInit()
{               
        RES=0;
        delay(50);//最少2um
        RES=1;
        delay(20);
                                                        
        WrateC(0xe2);//软件复位
        WrateC(0xA2);//Bais set
        WrateC(0xA0);//ADC seg镜像选择 0xa0正常,0xA1左右镜像
        WrateC(0xc0);//com output scan direction,com镜像选择 0xc0正常,0xC8上下镜像
/****Select internal resistor ratio****/
        WrateC(0x2c);//内部电源管理,
        WrateC(0x2e);//三条指令间隔时间2um
        WrateC(0x2F);//
/**************************************/

        WrateC(0x81);
        WrateC(0x16);//电压调整寄存器低位 范围:0x00-0x3f (微调)值越大,显示效果越浓(底影越浓)
        WrateC(0x25);//电压调整寄存器高位 范围:0x21-0x27 ,(粗调)值越大,显示效果越浓(底影越浓)

        WrateC(0xAF);//显示开
        WrateC(0x40);//从首行开始显示
        Clear();//清除屏幕
}
        


void Hanzi_Disp(void)  //显示图片程序
{
  unsigned char   i,j,k=0;
  for(i=0;i<8;i++)
        {         
         Setadd(0,i);
         for(j=0;j<128;j++)        
           WrateD(Hanzi[i*128+j]);        
        }
            
          delay(5000);           
}  




void Display(unsigned char sda,unsigned char sda1)
{
   unsigned char  i,j;
   for(i=0;i<8;i++)   
    {
     WrateC(Page+i);   
          WrateC(0x10);
         WrateC(0x00);         
       for(j=0;j<128;j++)
          { WrateD(sda);
            WrateD(sda1);
          }
    }
}  





//主程序,初始化及初值设定
void main()
{        
        LcdInit();
        Display(0x00,0xff);
          delay(5000);

        Display(0xff,0x00);
          delay(5000);
        Hanzi_Disp(void)   //显示一幅图片
        delay(5000);
        
        WriteEnglish(1,0,"COG LCD");//显示标准英文字符


        while(1);
}



//LCD数据指针位置程序
void Setadd(uchar xl,uchar yl)
{    uchar i;
     i=xl&0x0f;    //i=(xl+0)&0x0f;(SEG0~SEG127)  // i=(xl+4)&0x0f;(SEG4~SEG131)
     xl=(xl>>4)+0x10;

     WrateC(0xb0+yl);           
         WrateC(xl);
          WrateC(i);        
}





void WriteEnglish(uchar col,uchar pag,uchar *ptr)
{
   uchar  i,j;
   uchar  c;
while(*ptr)
  {                  
   c= *ptr;
   c -= 32;
   for(i=0;i<2;i++)   
      {
              Setadd(col,pag);                        
       for(j=0;j<8;j++)
           WrateD(fontASCII8x16[c][i*8+j]);           
       pag++;   
      }
          col+=8;            
      if(col>0x7f)        
            {
           col=0;
                   pag+=2;
             }
          ptr++;
          pag-=2;
   }

}



/************8080时序*************/
/*
void WrateC(uchar cmd)  //写入指令到LCD
{
        R_S=0;//选择指令存储器        
    C_S=0;                                                
        W_R=0;
        R_D=1;
        P1=cmd;
        W_R=1;        
        C_S=1;
}


void WrateD(uchar dat)        
{
        R_S=1;//选择数据存储器,指令执行时间1us
        C_S=0;                                                
        W_R=0;
        R_D=1;
        P1=dat;
        W_R=1;        
    C_S=1;
}
*/
/**********************************/



/************6800时序*************/

void WrateC(uchar cmd) //写入指令到LCD
{
        R_S=0;//选择指令存储器        
        C_S=0;                                                
        W_R=0;
        R_D=1;
        P1=cmd;
        R_D=0;
        W_R=1;        
        C_S=1;
}


void WrateD(uchar dat)         //写入数据到LCD
{
        R_S=1;//选择数据存储器,指令执行时间1us
        C_S=0;                                                
        W_R=0;
        R_D=1;
        P1=dat;
        R_D=0;
        W_R=1;        
    C_S=1;
}

/**********************************/





/************Serial*************/
/*
void WrateC(Uchar cmd)

{
    unsigned char data i,j;
        SCK=1;//串口送数据前,保持SCK为高
            R_S=0;  
            C_S=0;
        for(i=0;i<8;i++)
            {
                 j=com;
                 SCK=0;
                 SDA=com&0x80;
         SCK=1;            
                 com=j<<1;
                }
            C_S=1;
                R_S=1;
}


void WrateD(Uchar dat)

{
    unsigned char data i,j;
        SCK=1;//串口送数据前,保持SCK为高
            R_S=1;  
            C_S=0;
        for(i=0;i<8;i++)
            {
                 j=dat;
                 SCK=0;
                 SDA=dat&0x80;
         SCK=1;            
                 dat=j<<1;
                }
            C_S=1;
                R_S=0;
}

*/
/**********************************/


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表