数码管显示代码(扫盲教程:深入浅出讲解单片机控制单只数码管循环显示0~F)

Posted

篇首语:志不强者智不达,言不信者行不果。本文由小常识网(cha138.com)小编为大家整理,主要介绍了数码管显示代码(扫盲教程:深入浅出讲解单片机控制单只数码管循环显示0~F)相关的知识,希望对你有一定的参考价值。

数码管显示代码(扫盲教程:深入浅出讲解单片机控制单只数码管循环显示0~F)

最近有好多小伙伴留言说,我发的项目很难,他们都是刚入门的,希望我写一些入门级的教程,那么今天我就从硬件和软件两个方面来给大家讲一下最基本也是十分重要的电路 单片机驱动数码管显示电路。

要弄清楚单片机控制数码管显示字符的原理我们首先要知道:三个概念

单片机:通俗的讲单片机是一种集成电路芯片,利用一些特殊工艺把许多不同功能的模块集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。单片机可以烧进程序,然后从不同的IO口输出规定的电平信号。

七段数码管(如下图):

数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。一般的七段数码管拥有七个发光二极管(三横四纵)用以显示十进制0至9的数字外加小数点,也可以显示英文字母 A 至 F(b、d 为小写,其他为大写)。现时大部分的七段数码管会以斜体显示。

好了,上面是单片机和数码管的概念,下面说一下单片机的工作原理:

一个单片机要想能正常工作必须满足它工作的最小系统,这个最小系统包括,电源电路,晶振电路,复位电路等,当电源电路给单片机正常供电后,在上电的一瞬间会给复位电容充电从而完成上电复位的动作。单片机复位结束后,我们把需要控制数码管显示的代码烧进单片机,这时候单片机就会根据写的代码从不同的IO口输出不同的电平,从而控制七段数码管每一段的亮灭,而达到显示不同数字的目的。

好了说了半天理论了,下面我们开始实践一下吧!

首先用PROTEUS仿真软件画好单片机最小系统和LED数码管驱动原理图:本项目中用STC89C52

把程序烧进去以后,数码管开始从0到F显示,适当调整源代码参数可以修改显示不同的数字和不同的时间间隔。

51单片机参考源代码如下:

/*单只数码管循环显示0~F 作者 科技小伟1*/

#include <reg51.h>

typedef unsigned char uint8;

typedef unsigned int uint16;

code uint8 LED_CODE[] = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,

0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E;

void delay(uint16 x)

uint16 i,j;

for(i = x; i > 0; i --)

for(j = 114; j > 0; j --);

void main()

uint8 i = 0;

while(1)

for(i = 0; i < 16; i ++) //i = (i + 1) % 16

P0 = LED_CODE[i];

delay(500);

好了以上就是单片机控制数码管显示的全部内容了,本文从软件和硬件两个角度分别讲解,如果有任何意见或者需要设计文件 欢迎留言或者私信,如果你也对单片机感兴趣,那么快点行动起来吧!我们下期再见!

相关参考

数码管动态显示实验(基于51单片机的数字时钟设计(数码管和LCD显示))

一起来来了解吧数字时钟设计飞起来基于(数码管和LCD显示)两种显示方法一,针对初学者的要求1、掌握单片机定时/计数器的工作原理和控制方法。2、熟练掌握单片机定时/计数器的几种不同工作方式特点及其选择方法。3、掌...

数码电子看板(用51单片机STC89C52编程实现智能电饭煲中的数码管时间显示功能)

这一篇我们来学习带时钟显示功能的四位数码管开发应用,也就是通过四位数码管分别显示秒钟,分钟,或者小时,那么这个功能在单片机项目开发当中应用非常广泛的,比如,跑步机,桑拿设备,电饭煲,电磁炉,电子钟,微...

数码信息历只有4个按键(51单片机四位数码管4个LED灯4个按键实现多种功能?)

任务描述:用89C51单片机实现如下功能:<初始状态为数码管显示2020,四个灯灭。1、电路有四个控制按键,四个灯,四个数码管;2、按键1,按下,,第一个数码管开始从0-9递增,同时第一个灯亮;3、按键2,按下,第二个数码...

数码管显示拨码开关编码(590调速器故障代码一览表)

当调速器出现跳闸时,显示屏会立即出现一条信息,说明跳闸原因,可能出现的跳闸消息如下表跳闸消息和含义可能的跳闸原因超速报警(OVERSPEED)电动机的速度反馈信号超过了额定速度的125%时,就会出现这样的报警速度回路...

点阵屏(玩转16×16LED点阵屏)

在单片机发烧友圈子中,有关用单片机驱动LED、数码管、LCD等的入门文章随处可见,有关驱动LED点阵屏的文章则不多,至于真正能够显示一个国标汉字的16×16点阵屏的则更少。本文向大家介绍一款用ATmega48单片机控制16×16点阵屏...

点阵屏(玩转16×16LED点阵屏)

在单片机发烧友圈子中,有关用单片机驱动LED、数码管、LCD等的入门文章随处可见,有关驱动LED点阵屏的文章则不多,至于真正能够显示一个国标汉字的16×16点阵屏的则更少。本文向大家介绍一款用ATmega48单片机控制16×16点阵屏...

数码管显示数字(单片机-动态数码管)

#include"REG52.H"typedefunsignedintu16;typedefunsignedcharu8;#defineSMG_A_DP_PORTP0sbitHCA=P2^2;sbitHCB=P2^3;sbitHCC=P2^4;u8gsmg_code[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0

智能数字显示报警仪(科普:风速报警仪介绍、原理、应用)

...用单片机及相应的外围电路模块组成,显示部分采用高亮数码管显示。采用高精度测量风速传感器,它与传统产品相比,具有精度高、量程宽、输入线电阻高、观测方便、稳定可靠等优点。采用先进的电子技术、微电脑处理技术...

数码管在protues里怎么找(基于51单片机的电子时钟内附开题报告模板、论文模板)

基于单片机的数字式电子时钟设计设计要求1)设计AT89S51的最小系统;2)LED显示电路及与AT89S51接口,LED数码块显示时、分、秒;3)时钟调整电路及与AT89S51接口;4)电子时钟程序设计;5)基于Proteus的电子时钟原理及仿真实现;...

热打码机故障判断(带单片机的电蚊拍拆解并维修不开机故障,附详细电路图分析)

...该是充过一段时间的原因继续手柄开壳控制板部分两个LED数码管两个按键,这个电蚊拍是抓住手柄就能电蚊