首页 理论教育 51单片机C语言编程:LCD12864应用示例

51单片机C语言编程:LCD12864应用示例

时间:2023-10-11 理论教育 版权反馈
【摘要】:在89行,i的值是16~31,所以i+32dat的值就是48~53,对应的数组内的这8个元素正是显示“电”的下页的16个字节/

51单片机C语言编程:LCD12864应用示例

1.任务书

利用YL-236实训台,在图8-15所示LCD12864的左半屏矩形方框位置显示“机电”,格式为16×16,右半屏显示字符“A、B、C”,格式为8×16。

2.硬件连接

本任务的硬件连接如图8-16所示。

3.程序代码示例

/∗利用LCD12864显示,可将初始化、清屏、忙检测、写命令、写数据等写成子函数,这些子函数是LCD12864的基础函数,供显示汉字和字符时调用∗/

978-7-111-46996-4-Part02-148.jpg

图8-16 硬件连接

978-7-111-46996-4-Part02-149.jpg(www.xing528.com)

978-7-111-46996-4-Part02-150.jpg

978-7-111-46996-4-Part02-151.jpg

/∗一个8×16的字符由上下两页构成。63行为确定字符上页的地址,第65行、67行为写上页的每一行,具体过程是:以当显示数组内第0个字(即A)为例,dat=0,67行为写上页的8个字节的数据;69行为显示“A”的下页(页地址增加1),73行写下页的8个字节数据(从8~15)。

关于i+16∗dat的含义,以显示数组内第1个字符(B)为例,dat=1,在67行,i的值是0~7,所以i+16∗dat的值就是16~23,对应的数组内的这8个元素正是显示B的上页的8个字节。在73行,i的值是8~15,所以i+16∗dat的值就是24~31,对应的数组内的这8个元素正是显示B的下页的8个字节。下面16×16的显示函数的编程思想是一样的,该写法可当做一种固定的模式供参考使用∗/

978-7-111-46996-4-Part02-152.jpg

/∗81行、89行的i+32∗dat解释:一个16×16汉字共有32个字节的字模。以显示数组hz内第0个字(机)为例,dat=0,81~83行为写上页的16个字节的数据字号(0~15);87~89行为显示“机”的下页的16个字节数据(16~31)。

再例如,当显示数组hz内第1个字符(电)为例,dat=1,在83行,i的值是0~15,所以i+32∗dat的值就是32~47,对应的数组内的这8个元素正是显示“电”的上页的16个字节。在89行,i的值是16~31,所以i+32∗dat的值就是48~53,对应的数组内的这8个元素正是显示“电”的下页的16个字节∗/

978-7-111-46996-4-Part02-153.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈