您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页128液晶程序+仿真图

128液晶程序+仿真图

来源:五一七教育网


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

128是由两块*的液晶屏组成的。当中页是通过自己去定义的。

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

#include\"reg51.h\"

#define uchar unsigned char

#define uint unsigned int

sbit lcdrst=P3^0;

sbit cs2=P3^5;

sbit cs1=P3^4;

sbit e=P3^2;

sbit rw=P3^3;

sbit rs=P3^1;

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

代码:字模生成可以在取模软件生成 。

方法是阴码 列行式 逆向

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

uchar code

qin[]={0x04,0x04,0xC4,0x5F,0x54,0xF4,0x54,0x5F,0xC4,0x14,0x10,0xFF,0x10,0x10,0xF0,

0x00,0x00,0x80,0x95,0x95,0x95,0x7F,0x55,0x55,0x95,0x60,0x1C,0x03,0x20,0x60,0x3F,0x00};

// 勤

uchar code

mian[]={0x00,0xF0,0x2C,0x27,0xE4,0x34,0x2C,0xE4,0x08,0x08,0xFF,0x08,0x08,0xF8,

0x00,0x00,0x40,0x21,0x11,0x0F,0x01,0x3F,0x41,0x49,0x44,0x43,0x40,0x44,0x48,0x47,0x70,0x00}; //勉

uchar code

li[]={0x44,0x44,0xFC,0x44,0x44,0x00,0xFE,0x92,0x92,0xFE,0x92,0x92,0x92,0xFE,

0x00,0x00,0x10,0x10,0x0F,0x08,0x48,0x40,0x45,0x44,0x44,0x7F,0x44,0x44,0x44,0x45,0x40,0x00};

//理

uchar code

gong[]={0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,

0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00}; //工

uchar code

xue[]={0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,

0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00};

//学

uchar code

yuan[]={0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,

0x04,0x00,0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00};

//院

uchar code

dian[]={0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,

0x00,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00};

//电

uchar code

zi[]={0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0x12,0x0A,0x06,0x02,0x00,0x80,0x00,

0x00,0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00};

//子

uchar code

cheng[]={0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0xBF,0x80,

0x00,0x00,0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x40,0x00}; //程

uchar code

tong[]={0x40,0x41,0xC6,0x00,0x00,0xF2,0x52,0x52,0x56,0xFA,0x5A,0x56,0xF2,0x00,

0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x5F,0x42,0x42,0x42,0x5F,0x4A,0x52,0x4F,0x40,0x40,0x00};

//通

uchar code

xin[]={0x80,0x40,0x30,0xFC,0x07,0x0A,0xA8,0xA8,0xA9,0xAE,0xAA,0xA8,0xA8,0x08,0x08,

0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00};

//信

uchar code

ban[]={0x42,0x42,0xFE,0x42,0x42,0xE0,0x00,0xFF,0x00,0x42,0x42,0xFE,0x42,0x42,0x42,

0x00,0x10,0x10,0x0F,0x88,0x49,0x20,0x18,0x07,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x00};

//班

uchar code

ling[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00}; //0

uchar code

ba[]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};

//8

uchar code

yi[]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}; //1

uchar code

kongge[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

//不显示任何内容

uchar code

kong[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //不显示任何内容

uchar code

huo[]={0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xFF,0x02,0x40,0x20,0x18,0x10,0x00,0x00,0x00,

0x00,0x80,0x41,0x20,0x10,0x0C,0x03,0x00,0x03,0x04,0x18,0x30,0x60,0x20,0x00,0x00};

//火

uchar code

yun[]={0x40,0x40,0x44,0x44,0x44,0x44,0xC4,0xC4,0x44,0x44,0x46,0x46,0x,0x60,0x40,0x00,

0x00,0x20,0x70,0x38,0x2C,0x27,0x23,0x31,0x10,0x12,0x14,0x18,0x70,0x20,0x00,0x00};

//云

uchar code

xie[]={0x00,0x22,0x3E,0x22,0x22,0xA2,0xFE,0x22,0x00,0xFE,0x02,0x22,0x5A,0x86,0x02,

0x00,0x10,0x10,0x08,0x04,0x23,0x40,0x3F,0x00,0x00,0xFF,0x00,0x04,0x08,0x08,0x07,0x00};

//邪

uchar code

shen[]={0x08,0x08,0x,0xCE,0xA8,0x18,0x00,0xF8,0x48,0x48,0xFF,0x48,0x48,0xF8,

0x00,0x00,0x02,0x01,0x00,0xFF,0x00,0x03,0x00,0x07,0x02,0x02,0xFF,0x02,0x02,0x07,0x00,0x00};

//神

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

延时函数

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

void delay(uchar z)

{

uchar i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

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

检查状态

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

void checkbusy()

{

uchar dat;

rs=0; //数据\\指令选择

rw=1; //允许读

do

{

P2=0x00; //清零P2口

delay(5);

e=1;

dat=P2; //读P2口

e=0;

dat>>=7; //仅当第7位为0时才可操作(判别busy信号)

}

while(!(dat==0x00));

}

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

写命令

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

void write_com(uchar com)

{

checkbusy(); //检查是否忙

rs=0; //写命令

rw=0;

P2=com;

e=1;

e=0;

}

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

写数据

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

void write_data(uchar date)

{

checkbusy(); //检查是否忙

rs=1; //写数据

rw=0;

P2=date;

e=1;

e=0;

}

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

显示汉字

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

void hanzi(uchar ye,uchar lie,uchar *daima)

{

uchar i,j;

for(i=0;i<2;i++)

{

write_com(0xb8+ye+i); // ye页与 ye+1页

write_com(0x40+lie); //确定初始行

for(j=0;j<16;j++)

{

write_data(daima[i*16+j]); //写数据(汉字)

}

}

}

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

显示数字

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

void shuzi(uchar ye,uchar lie,uchar *daima)

{

uchar i,j;

for(i=0;i<2;i++)

{

write_com(0xb8+ye+i); // ye页与 ye+1页

write_com(0x40+lie); //确定初始行

for(j=0;j<8;j++)

{

write_data(daima[i*8+j]); //写数据(数字)

}

}

}

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

清屏

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

void clearlcd()

{

uchar i,j;

cs1=0; //清全屏cs2=0;

for(i=0;i<8;i++)

{

write_com(0xb8+i);

write_com(0x40);

for(j=0;j<;j++)

write_data(0x00);

}

}

有cs1=0 cs2=0 与无 cs1=0 cs2=0 效果不同

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

初始化LCD

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

void init()

{

write_com(0x3e); //关显示

delay(1);

write_com(0x3f); //开显示

write_com(0xc0); //行初始地址

write_com(0xb8); //页初始地址

write_com(0x40); //列初始地址

}

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

显示数据

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

void display()

{

cs1=0; //左半屏 cs1=0 cs2=1;

hanzi(0,0,qin);

hanzi(0,16,mian);

hanzi(0,32,li);

hanzi(0,48,gong);

cs1=1; //右半屏 cs1=1 cs2=0;

hanzi(0,0,xue);

cs2=1

cs2=0

hanzi(0,16,yuan);

//hanzi(0,32,kongge); 加上

// 如果清屏时加上cs1=0 cs2=0则可以不用,否则要

//hanzi(0,48,kongge);

cs1=0;

cs2=1;

hanzi(2,0,dian);

hanzi(2,16,zi);

hanzi(2,32,gong);

hanzi(2,48,cheng);

cs1=1;

cs2=0;

hanzi(2,0,xue);

hanzi(2,16,yuan);

//hanzi(2,32,kongge);

//hanzi(2,48,kongge);

cs1=0;

cs2=1;

shuzi(4,0,ling);

shuzi(4,8,ba);

hanzi(4,16,tong);

hanzi(4,32,xin);

hanzi(4,48,gong);

cs1=1;

cs2=0;

hanzi(4,0,cheng);

shuzi(4,16,yi);

hanzi(4,24,ban);

//hanzi(4,40,kongge);

shuzi(4,56,kong);

cs1=0;

cs2=1;

hanzi(6,0,huo);

hanzi(6,16,yun);

hanzi(6,32,xie);

hanzi(6,48,shen);

cs1=1;

cs2=0;

//hanzi(6,0,kongge);

//hanzi(6,16,kongge);

//hanzi(6,32,kongge);

//hanzi(6,48,kongge);

}

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

主函数

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

void main()

{

init();

clearlcd();

while(1)

{

display();

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务