云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 1 LCD1602显示总结

1 LCD1602显示总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/22 22:20:42

即可。

2.3 LCD1602字符菜单界面的Tab实现

在解决了每次按键就只有一个输入后,菜单输入区就可以接受字符了。多个输入区彼此切换应成为一个菜单界面基备的。

要让各个输入区实现Tab式的切换,首先是要用一个按键来触发(Tab按键)。而且还要用标志变量来保存到底该切换到哪一个输入区。在程序的模块化设计中,可以专门的编写一个函数来实现。如果用一个函数来实现,可以用两种思路来实现这个功能。

(1) 用一个全局变量来作为各个输入区的标志变量。用此变量的值来判断LCD光标该跳往各处。

(2) 用局部static的变量来作为各个输入区的标志变量。此时可以将变量定义来函数内部。

至于全局变量和局部静态变量到底哪个好,还得学习一下,空口还说不出来太多。 举一个用局部static变量来实现上图两个坐标的切换,很简单的了:

[plain] view plaincopyprint?

?? void x_to_y_to_x() ?? {

?? if( in_menu_flag ){

?? static unsigned char x_cur = 1; ?? static unsigned char y_cur = 0; ??

?? //光标首先在输入x值处,如果用户输入x坐标按确定就跳将LCD的输入y坐标处 ?? if( x_cur ){

?? lcd_write_command( 0x80 + 0x40 + strlen( d_line ) + strlen( y_axis) ); ??

?? //光标在输入y坐标处 ?? x_cur = 0; ?? y_cur = 1; ?? //如果是在

?? }else if( y_cur ){

?? lcd_write_command( 0x80 + 0x40 + strlen( x_axis ) ); ??

?? //光标在输入x坐标处 ?? x_cur = 1; ?? y_cur = 0; ?? }

?? }else if( in_line_menu_flag ){ ??

?? static unsigned char location = 1;

?? if( location == 1 ){

?? lcd_write_command( 0x80 + BEFOR_X_LENGHT + 5 ); ??

?? }else if( location == 2 ){

?? lcd_write_command( 0x80 + 0x40 + BEFOR_X_LENGHT ); ??

?? }else if( location == 3){

?? lcd_write_command( 0x80 + 0x40 + BEFOR_X_LENGHT + 5); ??

?? }else if( location == 4){

?? lcd_write_command( 0x80 + BEFOR_X_LENGHT ); ?? location = 0; ?? }

?? location++; ?? } ?? }

程序表明,如果当前处于in_menu_flag这个菜单界面(上图界面)内,则在接收到切换按键时实现切换。这里用了static变量生命周期长,可以记住变量本身状态(值)的特点实现了这一要求。

后面那段处于in_line_menu_flag中的界面时(每次只有一个界面状态为真),用一个static变量实现了4个输入区的切换。

搜索更多关于: 1 LCD1602显示总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

即可。 2.3 LCD1602字符菜单界面的Tab实现 在解决了每次按键就只有一个输入后,菜单输入区就可以接受字符了。多个输入区彼此切换应成为一个菜单界面基备的。 要让各个输入区实现Tab式的切换,首先是要用一个按键来触发(Tab按键)。而且还要用标志变量来保存到底该切换到哪一个输入区。在程序的模块化设计中,可以专门的编写一个函数来实现。如果用一个函数来实现,可以用两种思路来实现这个功能。 (1) 用一个全局变量来作为各个输入区的标志变量。用此变量的值来判断LCD光标该跳往各处。 (2) 用局部static的变量来作为各个输入区的标志变量。此时可以将变量定义来函数内部。 至于全局变量和局部静态变量到底哪个好,还得学习一下,空口还说不出来太多。 举一个

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com