// 看完1602的手册后突发奇想用按键来手动驱动它;
// 这样能更清楚的理解它的驱动时序 以及数据写入过程(图中rw接地 只写不读);
1.初始化
以下过程中一直将RS键置0 (RS为0时输入指令 为1时输入数据);
(1).开显示
从左边八个按键输入0x38(开双行显示);
从左到右一次为d7~d0 键值为 :0 0 1 1 1 0 0 0;
然后给en一个下降沿 按下en再弹起 (这一部做完还没有效果出现);
(2).开光标
从左边八个按键输入0x0f(或0x0e 区别是 0f光标闪烁 0e不闪烁);
从左到右一次为d7~d0 键值为 :0 0 0 0 1 1 1 1
然后给en一个下降沿 按下en再弹起 (这时候屏幕第一位会出现闪烁的光标 如果没有请那就从头开始一步一步检查)
(3).写地址
默认从第一行第一位(地址x80)开始这里为了演示写入过程从第二行第一位(地址0xc0)开始
从左边八个按键输入0xc0(第二行第一位地址);
从左到右一次为d7~d0 键值为 :1 1 0 0 0 0 0 0;
然后给en一个下降沿 按下en再弹起 (这时候闪烁的光标就出现在了第二行第一位);
2.写数据
以下过程中一直将RS键置1 (RS为0时输入指令 为1时输入数据);
从左边八个按键输入0x32(数字2的ASCII码值为 0x32);
从左到右一次为d7~d0 键值为 :0 0 1 1 0 0 1 0;
然后给en一个下降沿 按下en再弹起 (这时候第二行第一位就会出现一个数字二);
接着从左边八个按键输入0x42(大写字母B的ASCII码值为 0x42);
从左到右一次为d7~d0 键值为 :0 1 0 0 0 0 1 0;
然后给en一个下降沿 按下en再弹起 (这时候第二行第二位就会出现一个大写字母B 这块不用重写地址的原因是 上一次的数据写入完之后屏幕会自动把地址左移一位);
哈哈 2B出现了 其他的可以按照以上方法及ASCII码表自由发挥
END
附ASCII表: