单片机12864的功能设置看不懂
清除显示0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”4.6ms地址归位000000001X设定DDRAM的地址计数器...
清除显示 0 0 0 0 0 0 0 0 0 1 将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H” 4.6ms
地址归位 0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容 4.6ms
进入点
设定 0 0 0 0 0 0 0 1 I/D S 指定在资料的读取与写入时,设定游标移动方向及指定显示的移位 72us
显示状态
开/关 0 0 0 0 0 0 1 D C B D=1:整体显示ON
C=1:游标ON
B=1:游标位置ON 72us
游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容 72us
里面的X是什么意思啊,LCD手册又没说清,我艹他妹的,研究了半天,还有那些什么SC的,都没有设定1OR0的值
0 0 0 0 0 1 S/C R/L X X 这个貌似是控制光标移动的,这个不会设置,貌似不设置,也能输入多个字符,一次输一个地输,但是不是应该要设置光标移动吗?我的程序,注意没有设置光标移动
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdrw=P3^6;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
lcdrw=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
wela=0;
dula=0;
lcden=0;
write_com(0x30); //基本指令
delay(5);
write_com(0x0f); //开显示,光标闪烁
delay(5);
write_com(0x17); //清屏幕
delay(5);
write_com(0x01);
delay(5);
}
void write_date(uint date)
{
lcdrs=1;
lcdrw=0;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void main()
{
init();
write_date('k');
delay(20);
write_date('Y');
d 展开
地址归位 0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容 4.6ms
进入点
设定 0 0 0 0 0 0 0 1 I/D S 指定在资料的读取与写入时,设定游标移动方向及指定显示的移位 72us
显示状态
开/关 0 0 0 0 0 0 1 D C B D=1:整体显示ON
C=1:游标ON
B=1:游标位置ON 72us
游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容 72us
里面的X是什么意思啊,LCD手册又没说清,我艹他妹的,研究了半天,还有那些什么SC的,都没有设定1OR0的值
0 0 0 0 0 1 S/C R/L X X 这个貌似是控制光标移动的,这个不会设置,貌似不设置,也能输入多个字符,一次输一个地输,但是不是应该要设置光标移动吗?我的程序,注意没有设置光标移动
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdrw=P3^6;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
lcdrw=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
wela=0;
dula=0;
lcden=0;
write_com(0x30); //基本指令
delay(5);
write_com(0x0f); //开显示,光标闪烁
delay(5);
write_com(0x17); //清屏幕
delay(5);
write_com(0x01);
delay(5);
}
void write_date(uint date)
{
lcdrs=1;
lcdrw=0;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void main()
{
init();
write_date('k');
delay(20);
write_date('Y');
d 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询