12835(12864)

摘要 大家好,我是小典,我来为大家解答以上问题。12835,12864很多人还不知道,现在让我们一起来看看吧!1.大小可调字库里的字符大小应该是固定...

大家好,我是小典,我来为大家解答以上问题。12835,12864很多人还不知道,现在让我们一起来看看吧!

1.大小可调

字库里的字符大小应该是固定的,你要是实现大小可调就要用到字模提取软件,把字符转换为像素点。

2. 任意位置显示

#include<reg52.h> //包含单片机寄存器的头文件

sbit RS=P2^2; //寄存器选择位,将RS位定义为P2.2引脚

sbit RW=P2^3; //读写选择位,将RW位定义为P2.3引脚

sbit EN=P2^4; //使能信号位,将E位定义为P2.4引脚

unsigned char table[]=" 你好 ";

unsigned char code digit[ ]={"0123456789"}; //定义字符数组显示数字

void read_busy() //读忙标志

{

RS=0;

RW=1;

EN=1;

while(P0 & 0x80);

EN=0;

}

void delay(unsigned int i) //延时函数

{

while(--i);

}

void Write_LCD_command(unsigned char value) //写命令函数

{

read_busy(); //每次读写前都要惊醒“忙”判断

RS=0;

RW=0;

delay(200);

EN=1; //EN从1---0锁存有效数据

P0=value;

delay(200);

EN=0;

}

void Write_LCD_data(unsigned char value)//写数据函数

{

read_busy(); //每次读写前都要惊醒“忙”判断

RS=1;

RW=0;

delay(200);

EN=1; //EN从1---0锁存有效数据

P0=value;

delay(200);

EN=0;

}

void init_LCD() //LCD12864初始化

{

delay(4000);

Write_LCD_command(0x30);//8位数据格式,基本指令显示

delay(100); //延时时间

Write_LCD_command(0x30);//8位数据格式,基本指令显示

delay(37);

Write_LCD_command(0x0C);//开显示、关闭光标

delay(100);

Write_LCD_command(0x01);//清屏指令

delay(10000); //延时

Write_LCD_command(0x06);//设置显示点:指针自加1

}

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

//以上是我测温程序的显示驱动部分,下面给你实现任意位置显示的程序

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

void main()

{

unsigned int num;

init_LCD() //LCD12864初始化

while(1)

{

for(num=0;num<4;num++)//2个汉字

{

Write_LCD_command(0x90);//根据需要改变数值从而实现不同位置显示,看看12864的手册就知道了

Write_LCD_data(table[num]);

delay(10000);

}

}

}

本文到此讲解完毕了,希望对大家有帮助。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。