当前位置: 首页 > 产品中心 > lcd显示屏-横屏

51单片机控制LCD12864液晶屏显示图形菜单

发表时间: 2024-04-14 作者: lcd显示屏-横屏
产品详情

  字符模式的各种限制,比如字体大小,不能显示图标等等,没有一点效果,这次就来个彻底的解脱,写一个单函数就能完成所有功能的函数,只需要2个图片就能完成任意菜单内容的菜单,可以有2的8次方=256个选择结果,应该能满足所有的要求了吧?菜单的内容就是图片的内容,因此能显示任意大小的图形文字混合的菜单条目,比如使用字符模式,一屏只能显示4行菜单(64/16=4),且只能显示汉字和字符等,显示位置等等的都受限,而这样的解决方法可以显示比如12*12(64/12=5行)的字符,8*8(64/8=8行)的字符,甚至不是字符,可以是图标+文字+任意其他的图像,只要是图片能显示的,都可以。。哈哈,很复杂,现在只写了一少半,预期可提供多种显示效果,希望我能完成。。。。

  /*使用2张图片作为纯图形菜单来选择和操作,返回被选择的项,pMenu是一个指向菜单的各种参数的结构体的指针,pTitleBmp指向作为菜单标题的一张图片,pMenuBmp指向作为菜单内容的图片(液晶的控制芯片是ST7920)

  xdata struct { //除非另有说明x坐标均为大列的坐标,一个大列是16个像素,一行共有8大列数据

  //========= 以下是入参基本信息参数,一旦确定,建议还是不要随意更改 ======

  UINT8 Line_Len;//最后下划线,则表示不画出这条线(像素为单位)

  UINT8 Scroll_Speed;//菜单滚动的速度,0~9个级别,越低越快,越高越慢(液晶屏显示速度有快有慢,调整这个参数用于适用不同的液晶屏

  UINT8 Continue_Scroll;//指定菜单是不是能够形成一个连续滚动选择的效果;0不连续,背景和反白位置都会根据真实的情况滚动 1菜单连续滚动,反白位置不动

  UINT8 RePaint;//=0不重画菜单,=1重画整个菜单的图像,一般都是首次调用本函数的时候置1,用于画出整个菜单,以后调用置0就可以了

  UINT8 MenuEffect;//菜单运动的效果;0没有一点效果,只是最普通的菜单形态,1平滑滚动,2平滑滚动,具有惯性效果,3具有减速效果,没有惯性效果,4具有减速和惯性效果