显示程序的集中方法讨论帖

很多时候,你需要细致入微。

——成心爽

作为唯一一种能够直观输出我们想要看到的的数值的模块,显示模块是我们在程序调试,程序展示的时候最常用的模块。在这里我整理了一下自己常用的使用方法以及对不同种方法的使用看法以及时机。希望对大家的编程有一定的帮助。

1. 直接显示,即我们在程序中间直接添加显示模块。

优点:方便,快捷,不需要考虑太多问题。想看那个地方直接拖到那个地方,选择自己想要的变量观察就好。

缺点:由于led屏幕的刷新时间问题,如果程序循环较快,我们的屏幕是会显示模糊甚至于无法显示。

例程:显示当前时间。(很明显由于此程序运转速度太快导致我们的led屏幕刷新速度跟不上数值改变速度)

2. 标志位触发显示。

当我们只想在程序触发了什么条件之后才会改变屏幕的值的时候,我们可以选择用标志位触发显示。

概念:当我们的程序运行到某个判断, 触发了我们想要的条件,这时候我们可以在执行模块之后改变一下标志位。(标志位大多数是用整形变量=1或者=0来表示。)

优点:不会屏闪

缺点:1、程序有时太过复杂,需要对于程序有个从上到下的把握。2、很多的计算模块由于看不到标志位的值,会让人变晕。

例程:倒计时程序显示时间的时候,我们需要清晰的显示时间。

不断的改变标志位和判断方法,避免led屏幕的刷新。

图1 倒计时程序概览

图2 倒计时显示模块细节

图3 倒计时程序解读

采用了两个循环。一个程序的永远循环:用来检测按键是否按下去。第二个是时间循环,用来检测时间是否到7秒。

第一个框的计算模块即为标志位的概念。长箭头表示程序的运行方向。

每个时间判断都是依次递增。例如第一个是判断时间是否小于1,第二个时间判断的就是是否小于2。以此类推。然后底下的条件判断就是判断标志位。同样如图2所示。当时间小于1秒的时候,因为一开始我们给标志位写了一个整型变量=1,所以当时间小于1秒的第一次执行的时候是能够显示的。随后标志位整型变量=0。那么在程序时间小于1秒的时候,将不再会执行显示程序。

同样的第二个时间是判断是否小于两秒。之后进行的是条件判断整型变量是否为0。他也只能执行一次显示程序。

通过这样的逻辑,就可以保证显示程序只能执行一遍。

3.判断改变量显示

概念:用两个变量寄存处来判断我们需要的变量是不是改变,若改变,则led屏幕刷新。

优点:1、没有屏闪 2、简单容易理解。

缺点:程序运用受限制。只能运用在变量变化速度不算快的情况(例如按键计数器)

例程:按键计数器

暂时只想到这三种普遍使用的方法。希望有其他想法的老师也能写一下用法。

———— / END / ————

论坛定位:论坛》全国Abilix活动中心》课程交流专区》复杂编程教学项目(创意区)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180312G177PD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券