前言:发现STC板子上的按键不够用了,想着用导航键,但无奈在网上找了很久都没有任何一个字眼是关于STC学习板导航按键的使用和详细的代码。今天下午我帅帅的学长教会了我如何去使用导航键,为了更好的巩固和理解,特写博客一篇,希望能帮到有需要的人。
本篇博客构成:
目录
一、导航键原理介绍;
二、STC学习板结构简单介绍;
三、A/D转换的使用和中断的简单介绍;
四、详细代码解释;
一、导航键原理介绍:
先来看导航键的结构图:
1.首先可以看到左边有多个不同阻值的电阻,然后是分别是1、2、3、4、5、6共6个接口。
2.图片中间是一个开关,可以接到不同的接口上;
3.图片右上角KEY3是输出;
以上便是我们需要关注的,下面的K3、K2、K1就板子上的三个开关啦。这个不用管。
导航键如何确定被按下是哪个方向呢?哈哈相信聪明的你想到了,导航键的开关接到不同接口上由于总阻值不一样,所以加在这两点的电压肯定不同。比如当我向上按导航键,这个时候会有一个电压,假如0.5v吧,那么我们如何去拿到这个电压数据呢?刚刚说KEY3是输出,所以当然是从输出去接收啦。但这是模拟信号,需要转成数字才行。这个时候就需要用到我们的A/D转换啦,这个过程叫ADC,亦即模拟转数字。所以配置好端口和启动A/D转换器就好啦。
二、STC学习板结构简单介绍:
这张图标注了STC板子上每一个接口的名称,当你想用这个某个端口的时候就在这张图上面找对应的名字就好。
比如我们现在要用KEY3这个口,发现它对应的名称是P1.7,当我们要在代码里用它的时候,将引脚别名为P1^7就好,也就是声明你这个引脚是这个端口。你会发现前面还有一些字母是干嘛呢?比如ADC7,说明这个端口可以作为A/D转换的输入。如图:
不懂就多翻数据手册啊,要什么有什么!
三、A/D转换的使用:
强行插一张图:
核心原理就在我圈的红圈里面。这一部分会不停的比较转换得到的数字值,直到差值无限逼近0才会向结果寄存器输出精度很高的数字值。
1.IO口初始化:
设置推挽输出:
P0M0 = 0xFF;
P0M1 = 0x00;
P2M0 |= 0x08; //0000 1000
P2M1 &= 0xF7; //1111 0111
P0口为什么这么设置,不用我说了吧?数码管显示数字都需要这样设置。
P2为什么是这样设置呢?由于数码管是共阴极的(咱们的板子),所以数码管点亮需要led_sel为1,所以P2M0 就是 0000 1000啦,也就是0x08呗。P2M1我就不说了吧,查看STC结构图都可以看懂,还有M0M1不同组合对应的工作模式。推挽是10。 因此设置P2.3为推挽只需为M0M1为10就好,其它口不适用,设置为高阻输入。详情看图:
相关知识
湖南大学边上花店
湖南大学“花瑶花”文化创意产业精准扶贫项目
高中音乐人音版 (2019)必修《音乐鉴赏》中花六板教案
【粘虫板诱虫板双面黄板沾虫板蝴蝶花型花形小鸟形异型防水园林花卉】批发
教师节特辑 | “勿忘”师恩,天湘板业鲜花板礼赞师者
【防晒花卉诱虫板
花落,无痕学习的绘画插画课程
转移学习:使用VGGNet对花朵图像进行分类
不同颜色的黏虫板在虫害监测和防治中的应用进展
养花土板结了怎么办
网址: 湖南大学STC学习板导航键的使用 https://m.huajiangbk.com/newsview166867.html
上一篇: 蓝星花如何管理 |
下一篇: 长寿花十月份怎么管理 |