ChipKIT Uno32 教程--第六课:7段数码管

作者: Pollux
上传时间为: 2012-07-13 01:22 AM

结合论坛前几课的学习,今天突发奇想,来搞一搞显示界面,先从最简单的7段数码管搞起,随后还会弄一下LCD显示屏。话不多说,步入正题。

本次设计的目的是要实现串口输入数字,ChipKIT 识别后用输出口驱动7段数码管显示。

首先,需要找一个7段数码管,7段数码管这个东西是分公母的,称为为共阴极和共阳极。一般情况下有10个引脚。上面5个下面5个,每排的中间一个一般情况下是接低电平或者高电平。先用万用表的正极放在中间一个,另外一个依次去测。如果是共阳极就有亮,否则共阴极,根据发光位置就可以判断引脚了。

可以发现我使用的7段数码管是共阳极的。

7段数码管即相当于7个条状LED放在一起组成数字使用,所以可用电流表测得各个引脚通电时对应哪个LED点亮,以此作为最后编码数字的参照。

中间上下两个引脚互通,用于接通高电平。黑色加重代表此段LED被点亮。

然后构建硬件电路,如下:

(注:由于数码管是共阳极,故将输出引脚拉低时,LED点亮,而输出电压为3.3V,所以总的输入电压也需要3.3V)

然后在Mpid环境下编写程序,以实现从串口输入数字,在数码管段显示:

1.引脚初始化,串口初始化:

参照上面说过的引脚通电对应单个条状LED点亮的对应图(如下):

观察数字如何组成,得出数字对应与各个引脚的赋值:

为方便每次读串口,根据串口给管脚输出电平,编写数字对应引脚的调用函数:

读串口,判断数字,然后对应参数表对相应管脚赋值:

然后编译烧写,等待几秒,打开串口监视工具(需等待几秒,直到LED4停止闪烁),输入,数字0-9,观察数码管对应显示:

结果如下:

如果数字显示不正确,则检查程序编写是否有误,因为数码管上条状LED显示,所以很容易找出那个引脚赋值错误。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示