矩阵按键

本文通过朱老师的单片机教程,探讨了教学中采用逐步构建和优化代码的方法,如何帮助初学者建立直观理解并降低挫败感。作者以美国小学解鸡兔同笼问题为例,强调了笨办法在建立直觉和逻辑思维中的作用,并分享了自己的矩阵按键代码实现过程,计划进一步优化。
摘要由CSDN通过智能技术生成

今天晚上,看朱老师的视频,以0.8倍的速度看,这样播放速度总算是跟上老师语速了。
除了讲技术之外,老师在课程里也分享了自己最初学习时的心历路程,这些内容,对于我们这些初学的自学者来说,真的是有很大的鼓励。其它的单片机教程,一上来就搞有一点难度的代码,我等看得头大的同时,还会有一定的挫败感——为什么别人那么聪明?为什么我怎么想也想不出来?我是不是傻?是不是不适合学?我的逻辑思维是不是不行?。。。
而朱老师并不会一开始就直接上那种简洁的代码,而是傻瓜式的,一条一条的写出来,然后,再把写出来的傻瓜代码进一步优化,提练。这样的好处,是先实现了基础功能,其次,代码可视化之后,可以看到得其中的规律。
这让我想起了吴军老师在得到的课程《数学通识50讲》中,美国人是如何解 鸡兔同笼 之类问题的:

在小学他们不教学生那些需要技巧的解法。对于鸡兔同笼问题,就是列表的笨办法。比如,在第一个例子中,他们先让学生们明白,兔子的数量不能超过94/4 = 24只,然后就列一张表,从24只开始往下试验,看看脚的数量有多少:
在这里插入图片描述

我当时看了他们的教科书,就想美国人真笨,果然数学学不好。
但是发现他们再做其它相似的问题时,就可以从上述过程中受到启发,比如前面的鸡蛋问题,美国人也是列表:

事实上,只要是有整数解的各种二元一次方程的问题,都可以用列表这种笨办法解决。也就是说,美国小学的做法实际上是教给了大家一个很笨的,但是很通用的工具。这样,能解决一个就能解决很多,虽然办法很笨,很花时间,但总不至于让孩子们无从下手。
至于那些解题技巧,他们很少在小学教,省得大家学不会,有挫败感。那些聪明的孩子,可以去上课外班。上述笨办法的另一个好处是,学生们在列表的过程中,更感受到数字变化的趋势,慢慢地就会知道大约从多少开始试验,而不是永远从零开始。

在开初学的时候,不妨先用笨办法,建立一种直观的感觉,同时,也要多加训练自己的逻辑思维,以缩短脑回路。为什么很多老一辈的人心算很快,而我们却离不开计算器?很大程度,跟他们以前用算盘有关——用算盘的时候,是可以看得见珠子的,慢慢的,就成了珠心算了。
说了那么多心得感悟,把今天的代码粘贴上来。
这个代码是我自己写的并在开发板上做了验证,还没有看老师对应的讲解视频,明天再把代码优化一下,应该可以更简洁些,然后再看老师的讲解视频。
思路是行、列扫描。按下按键的时间要远远大于单片机采样的时间,所以,在按下的时候,对单片机来说,是很容易扫描到的。世间武功唯快不破。

#include <reg51.h>

#define uchar unsigned char
uchar TempHang,TempLie,Number;

void delay();
sbit LED = P2^7;
uchar SingleLED[] = {
   0xc0,
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值