0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数码管每秒间隔显示数字的实现方法

h1654155282.3538 来源:天涯孤星 作者:天涯孤星 2021-05-01 17:25 次阅读

如何实现每秒间隔显示数字呢?利用单片机延时函数空耗时间,延时1s来实现,等学完单片机定时器中断,就可以设计精确计时程序。

pIYBAGCCkpqAUXYDAAPrI_fcSfM136.png

1.程序设计

#include《reg52.h》//头文件

#defi ne uchar unsigned char//宏定义

#defi ne uint unsigned int

uchar code table []={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴数码管编码

void delay(uint a)//延时函数

{

uint j,i;

for(j=a;j》0;j--)

for(i=110;i》0;i--);

}

void main()//主函数

{

uint num;//定义变量

while(1)

{

delay(1000); //延时时间大约1s

P1=0xfe;

P0=table[num];

num++;

if(num》9)

num=0;

}

}

2.程序解释

①num++;即num=num+1。

②P1=0xfe;选通第一个数码管。

③if(num》9)

num=0;

以上是简写,写全如下:

if(num》9)

{

num=0;

}

如果num变量数字大于9,num重新赋值为“0”。

3.面包板制作展示

“显示数字”面包板制作展示

4.C语言基础知识

(1)if语句

格式一:

if(表达式){语句1;语句2;}

步骤:如果表达式为“真”,则执行语句1和语句2,如果为“假”,则跳过语句1与语句2,执行其他的程序。

格式二:

if(表达式){语句1;语句2;}

else{语句3;语句4;}

步骤:如果表达式为“真”,则执行语句1和语句2,如果为“假”,则执行语句3与语句4。

(2)运算符

常见运算符如表

o4YBAGCCkqeAb336AACOxZTFu6E688.png

运算符

上面的程序只是让“num”自加到9,如何显示大于“9”的数字呢?

当显示大于9的数值就需要用到数字的分解。

3)数字分解

以两位数字为例,一位数码管是无法显示两个数字,数字分解是必需的,分解后分别送到两个数码管显示。比如一个两位数字是num,分解十位(a表示),a=num/10(称之为求模);分解个位(b表示),b=num%10(称之为求余)。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数码管
    +关注

    关注

    31

    文章

    1826

    浏览量

    89930
收藏 人收藏

    评论

    相关推荐

    通过定时器来控制跑秒时间间隔数码管的动态显示实现

    大大……通过定时器来控制跑秒的时间间隔,然后用其中两个数码管显示!这个用数码管的动态显示实现
    发表于 05-12 23:40

    按键控制各位数码管显示不同数字

    用4*4矩阵键盘扫描是否有按键按下,当有按键按下第一位数码管显示按下的那个数字,接着再按下按键,第二位就显示此时按下的数字,而第一位仍是原
    发表于 07-19 10:24

    如何实现每秒间隔显示数字

      常见运算符如表    运算符  上面的程序只是让“num”自加到9,如何显示大于“9”的数字呢?  当显示大于9的数值就需要用到数字的分解。  3)
    发表于 01-20 15:48

    如何去实现数码管数字编程

    数码管的结构是由哪些部分组成的?数码管分为哪几种?如何去实现数码管数字编程?其代码该怎样去编写?
    发表于 07-30 06:44

    如何实现多位数码管显示

    按键累加计数,并显示数码管。实验电路:3 实现四位数码管的动态扫描显示;通过动态扫描的方式让四位数码管
    发表于 11-18 07:16

    数码管的编程方法

    之前学习的数码管的编程方法只能让数码管的六位数都显示相同的数字~非常不实用!数字电路中学过,生活
    发表于 11-22 06:04

    请***片机中断法实现数码管每秒加一的方法是什么?

    请***片机中断法实现数码管每秒加一的方法是什么?
    发表于 11-29 06:50

    数码管动态扫描显示数字的有关知识

    今天恰好学到了按键这部分!所以结合之前编写数码管动态扫描显示数字的有关知识编了代码实现了一个小功能~功能:按一下按键,数码管
    发表于 01-06 07:57

    掌握通过并行接口芯片对键盘进行扫描并在多位数码管显示数字方法

    实验九、键盘扫描及数码管显示实验1、实验目的学习了解键盘扫描的基本原理。掌握通过并行接口芯片对键盘进行扫描并在多位数码管显示数字
    发表于 01-13 08:22

    共阳数码管数字1的显示实现

    一、电路图段选位选通过Y6选择八个数码管的一个或多个,再通过Y7进行数码管显示。段码:共阳数码管数字1的
    发表于 02-24 06:30

    什么是数码管?静态数码管的驱动介绍

    (1位)、联排(2位、4位、8位)2、工作原理(1)亮灭原理(其实就是内部的照明LED)(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不
    发表于 02-24 06:21

    数码管静态显示和动态显示实现方法

    数码管静态显示和动态显示数码管共阳和共阴段选和位选数码管静态显示原理代码
    发表于 03-01 07:34

    如何实现多个数码管同时显示

    文章目录前言一、基础二、代码部分1.数码管数字显示部分2.译码器的选择部分3.数码管显示前言用一个小题目来演示
    发表于 03-02 07:30

    分享三个在FPGA开发板上实现数码管动态显示的案例

    1、在FPGA开发板上实现数码管动态显示的案例介绍数码管动态显示原理在开展本章实验之前,我们需要先了解一下
    发表于 07-25 15:18

    分享一个基本的数码管动态显示案例

    样性的显示效果。其实现方法就是利用人眼的视觉暂留效应,轮流点亮数码管,并且在各位数码管点亮的期间给出对应的段码,只要进行这一过程的速度控制得
    发表于 08-01 15:21