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

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

    关注

    32

    文章

    1873

    浏览量

    90829
收藏 人收藏

    评论

    相关推荐

    数码管驱动芯片的使用方法

    数码管驱动芯片(也称为LED驱动芯片)是一种用于控制数码管显示的集成电路。它可以将微控制器产生的数字信号转换为适合数码管
    的头像 发表于 12-08 16:24 9258次阅读

    硬件模块---数码管基本原理与实现方法

    如果阳极连在一起,就是共阳极数码管,阴极连在一起,就是共阴极数码管。 如上图,是一个共阴极数码管,要使数码管显示不同的
    的头像 发表于 05-11 09:20 3091次阅读
    硬件模块---<b class='flag-5'>数码管</b>基本原理与<b class='flag-5'>实现</b><b class='flag-5'>方法</b>

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

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

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

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

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

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

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

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

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

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

    数码管(静态显示)【汇编版】

    数码管(静态显示)【汇编版】数码管(静态显示)【汇编版】数码管(静态显示)【汇编版】
    发表于 12-29 15:27 0次下载

    动态数码管显示程序

    动态数码管显示程序,动态数码管显示程序,动态数码管显示程序,动态
    发表于 01-12 14:55 60次下载

    六个数码管轮流显示数字

    六个数码管轮流显示数字
    发表于 05-11 14:33 4次下载

    数码管显示的多种方式

    1、 实现3*4按键数码管显示
    发表于 09-06 15:02 22次下载

    静态数码管和动态数码管

    (1位)、联排(2位、4位、8位)2、工作原理(1)亮灭原理(其实就是内部的照明LED)(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不
    发表于 01-12 18:31 40次下载
    静态<b class='flag-5'>数码管</b>和动态<b class='flag-5'>数码管</b>

    8个数码管循环显示数字

    8个数码管循环显示数字
    发表于 10-20 10:15 4次下载

    数码管显示原理及其实现方式

    数字FPGA电路中,作为入门级别的外设除LED灯外,数码管算是使用频率最多、应用范围最广的一个核心集成外设了,因此学习数码管的使用非常有必要,下面一起来看看数码管
    的头像 发表于 10-01 09:53 7312次阅读
    <b class='flag-5'>数码管</b>的<b class='flag-5'>显示</b>原理及其<b class='flag-5'>实现</b>方式

    简述led数码管的类型和显示原理

    LED数码管 :这是最常见的LED数码管类型,由七个LED发光体组成,可以显示0-9的数字。 十四段LED数码管 :在七段LED
    的头像 发表于 08-29 09:11 445次阅读