• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机按键控制LCD切屏问题

6d40133cbe4a08c7 2018-10-16 浏览量:2597

假设有上下两个按键,一块LCD12864。
实现内容:LCD要显示三个界面,分别为前界面A、中界面B、后界面C。上键控制LCD往前一个界面翻转,下按键控制LCD往后一个界面翻转。当没有检测到没有按键按下时,LCD三个界面自动轮翻。寻求思路。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个从逻辑处理上应该不难吧

    1. 定义好3个界面模块,且分配一个ID,比如(012)

    2. 定义2个全局变量,一个变量C用来标识当前展示的ID,一个变量N记录待展示的id

    3. 按键用来控制产生N,且加减法是循环加减法,即N=(C+1)%3  (加法时),或者N=(C+2)%3 (减法时)

    4. 然后控制展示N对应界面,且展示开始时置C=N。

    5. 每次切换后设置一个定时器,自动的做N=(C+1)%3 处理,并跳的4,这样不用按键就可以切换啦(注意设置是需要先取消以往的定时器再重新打开)。


    • 发布于 2018-10-17
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 这个我做过

    u8 uiIndex = 0;

    void forward()

    {

        if(0 != uiIndex)

            uIndex--;

        showUI(uiIndex);

    }


    void backward()

    {

        uiIndex++;

        if(3 == uiIndex)

            uiIndex = 0;

        showUI(uiIndex);

    }


    void loop()

    {

        u16 times = 300;

        while(1){

            u8 key = getKey();

            if(UP == key)

                forward();

             else if(DOWN == key)

                backward();

             else if(0 == --times){

                     times = 300;

                     backward();

             }

             delayms(10);//延时10mS

        }

    }

    • 发布于2018-10-16
    • 举报
    • 评论 0
    • 1
    • 0

  • 先把三个界面都显示好,三个界面还是会自动转,只是有按钮有会立刻跳到对应的个界面

    • 发布于2018-10-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 建一个全局变量,作为切屏的索引号,比如index,两个按键控制索引号的增和减,可以做成循环的,比如减,减到0后再减就变为2,另外使用switch作为屏幕显示的分支结构。表达式为index,case分别是0 1 2,每一个用来显示不同的一屏内容。大致思路就这样。
    • 发布于2018-10-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义好界面的id,比如123,定时中断循环改变id,在外部中断也可以改变id,主函数就是有改变id就刷屏
    • 发布于2018-10-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 这三个界面的内容要预先保存在RAM里面,然后触发一个动作就改变一次当前显示的界面内容
    • 发布于2018-10-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种要把你的界面先刷新到RAM中,直接在RAM读取显示会更快
    • 发布于2018-10-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先你能调通lcd显示一个点,显示全屏任意图案的函数,就可以做各种图像切换操作了。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 要把你的图像先能正确的显示,然后用程序去切换图像就行了
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的屏幕切换要设置好显存,显存太小就会出现这种情况
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机按键控制LCD切屏问题