我们在利用51单片机时,七段数码管是一种十分常见的输出设备,可用于显示数字和字母。数码管分为两种,共阴极和共阳极,两种数码管的编码体例分歧,应该若何实现这个功能?
起首我们打开Keil μVision编译软件,新建一个工程,然后保留在硬盘上的位置,然后选择Atmel-AT89C51单片机为当前的型号,并添加启动器STARTUP.A51文件,然后在当前目次下新建一个C文件,并将其添插手工作路径,如图所示
可以看见此时我们已经建立了一个空白的C文件,为了操纵51单片机现当作的端口,可以利用#include <reg51.h>来导入AT89C51的端口
起首我们界说需要用到的端口以及变量,可觉得小数点位建立一个sbit变量进行操作,4位数码管可利用一个数组来存储当前四位数值
按照数码管编址道理,7段是由a-g加上小数点位dp组成的,现实的二进制码为从dp、g、f、e、d、c、b、a共八位,若是要使该段亮则为1,不然为0,最后需要转换为16进制
可以利用系统自带的计较器作为参考,将对应的段码以1点亮,最后将转换出的16进制数填入数组中,以此类推完当作0~9共十个数字的编码
最后我们编写并完美本家儿法式,添加扫描函数以必然的频率扫描显示数组中的十六进制数,即可实现同时显示四位数字的结果,最后以一数字电压表为例进行数码管显示的测试
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!