51单片机数码管动态显示教程(玩转51单片机2)
51单片机数码管动态显示教程(玩转51单片机2)图1-2展示的是整个的实验原理图,由于使用的P0端口,我们在使用时需要加上拉电阻。一般选择10k的上拉电阻即可。1-2 实验原理图proteus新建工程,在工程中添加的主要元器件有:MCU(C51),数码管等。本例程打算展示数码管从数字0一直显示到数字9。设计原理图如下1-2所示(原理图链接在评论区给出,需要自取):图1--1 元器件列表如图1-1所示是本次所使用的元器件,其中7SEG-MPX1-CA指的是数码管,CA指的是数码管是共阳,CC指的是数码管共阴。
前言从本章开始我们开始介绍如何点亮数码管,为了能够方便没有硬件的朋友也能够加入到51单片机的学习之中,我们新增了番外篇----使用proteus软件来进行仿真。从本章开始我们开始正式的学习单片机的内容。
数码管原理数码管也称作为半导体管,主要是由多个发光二极管按照一定的循序排列组合起来的显示元器件。比较常见的数码管有LED数码管。LED数码管是由多个发光二极管封装在一起组成“8”字型的器件。LED数码管常用的段数一般为7段,有的另加一个小数点 。根据LED的接法不同,分为共阴和共阳两类 。如图1-1所示:
数码管原理图
图中a b c d e f g dp分别对应的是二极管,如果我们想要显示数字“1”,那么我们就需要将编号为b c的二极管点亮,其余的二极管均为灭。其他的数字同理。
原理图设计proteus新建工程,在工程中添加的主要元器件有:MCU(C51),数码管等。本例程打算展示数码管从数字0一直显示到数字9。设计原理图如下1-2所示(原理图链接在评论区给出,需要自取):
图1--1 元器件列表
如图1-1所示是本次所使用的元器件,其中7SEG-MPX1-CA指的是数码管,CA指的是数码管是共阳,CC指的是数码管共阴。
1-2 实验原理图
图1-2展示的是整个的实验原理图,由于使用的P0端口,我们在使用时需要加上拉电阻。一般选择10k的上拉电阻即可。
软件设计部分本实验代码同样放置在评论区,需要的小伙伴自取。这里就主要讲解一下关键部分的代码,其余相对简单的部分,小伙伴可以自行研究。
图1-3 关键部分代码
图1-3展示的是主函数的代码,首先我们将P0口清零,在while循环中,我们将数组的第1个元素赋值到P0端口,P0端口输出,于是我们可以在数码管上看到我们的第一个数字(0),接着我们另变量i ,于是相对应的我们就可以输出数组中的第二个元素,依次类推,当i自增到10时,通过if条件语句判断,将其重新赋值到0,这就实现了我们循环显示0-9的一个思路。
效果展示