蓝桥杯单片机竞赛学习计划(二)

蓝桥杯单片机学习计划之点亮数码管

前言

上一节我们学习了点亮LED灯,成功编写程序将竞赛板上的八个LED灯点亮了,那么今天我们一起来学习点亮数码管。


一、数码管介绍

数码管是一种显示器件,在平时生活中应该是比较常见的,比如有些热水器就是使用数码管来显示水温的。每个数码管的内部其实都是由8个LED灯组成的,只是对其进行了排列然后进行了封装。根据数码管内部连接方式的不同,分为共阳数码管和共阴数码管。竞赛板上使用了两个四位的共阳数码管,原理图如下:
在这里插入图片描述
从上图可以看到,每个四位的数码管都有12个管脚,其中com1——com4分别是每一位数码管的公共级,板子上的数码管是共阳的,所以它们的公共级就是阳极;剩下八个管脚分别对应数码管的a——dp段,dp是小数点。如果想要使数码管显示数字1,则只需要让对应的d段和c段点亮,其他熄灭即可,对应十六进的0xF9。0-9数码管段码表如下:
在这里插入图片描述

二、原理图

那么板子上数码管和单片机是如何连接的呢?和上一节一样,我们一起顺藤摸瓜寻找一下:
在这里插入图片描述
首先从上图可以看到,板子上分别使用两个74H573锁存器控制两个数码管,关于锁存器上一节点亮LED灯的时候已经使用过了,这边就不再介绍了。上面那个锁存器(U7)控制的是数码管的八个段,下面那个锁存器(U8)控制的是八个数码管的位,而两个锁存器的八个输入端都是由P0控制的,另外两个锁存使能端Y7C和Y6C连接如下:在这里插入图片描述
分别连接到了译码器的Y6和Y7,对应真值表:
在这里插入图片描述
那么到此为止引脚的连接关系就都找完了。下面开始写程序将数码管点亮。

三、数码管静态显示

那么我们想要将数码管点亮,思路就是:首先选通控制控制位的锁存器,使P0端口输出0xFF(共阳),然后关闭位锁存器,再选通控制端的锁存器,使P0端口输出0x00,那么八个数码管就都点亮了,程序如下:

#include <STC15F2K60S2.H>
void main()
{
   
	P2 = (P2&0x1f) | 0xC0;//位选
	P0=0xFF;//打开所有位
	P2 &= 0x1f;//锁存
			
	P2 = (P2&0x1f) | 0xE0;//段选
	P0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值