单片机数码管编程依次循环显示(单片机数码管0到20编程)

简介

数码管在电子产品中广泛应用,单片机作为常见的控制器,也常常需要控制数码管的显示。在单片机编程中,数码管编程是一个重要的部分,其实现方式通常有多种,其中之一是通过依次循环显示数字的方法。

原理

数码管的显示原理是通过控制其7段数码和小数点的显示和灭来实现数字的显示。依次循环显示数字则是将要显示的数字存储在一组数组中,设置一个变量存储当前需要显示的数字在数组中的索引,每经过一段时间,将该变量加1,并将对应的数字在数码管上显示。当需要循环到数组的末尾时,将变量重置为0,重新开始循环。

代码实现

以下是一个在8051单片机上实现依次循环显示数码管的代码示例:

单片机数码管编程依次循环显示(单片机数码管0到20编程)


#include
#define uint unsigned int
#define uchar unsigned char

// 定义数码管显示的数组
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(uint i)
{
    while(i--);
}

void main()
{
    uchar k=0;  //变量k用于存储当前需要显示的数码管字符在数组中的索引

    while(1)
    {
        P2=7;  //选中第一个数码管
        P0=table[k];  //显示对应的字符
        delay(1000);  //显示时间间隔为1秒
        P0=0x00;  //关闭显示

        P2=6;  //选中第二个数码管
        P0=table[k+1];  //显示对应的字符
        delay(1000);  //显示时间间隔为1秒
        P0=0x00;  //关闭显示

        P2=5;  //选中第三个数码管
        P0=table[k+2];  //显示对应的字符
        delay(1000);  //显示时间间隔为1秒
        P0=0x00;  //关闭显示

        P2=4;  //选中第四个数码管
        P0=table[k+3];  //显示对应的字符
        delay(1000);  //显示时间间隔为1秒
        P0=0x00;  //关闭显示

        k++;  //将k加1
        //当k遍历到数组的末尾时,重新开始循环
        if(k>=7)
        {
            k=0;
        }
    }
}

上述代码中,使用P2口控制数码管的选中,P0口控制数码管的显示和关闭。使用delay函数实现显示时间间隔的控制,同时使用变量k存储当前需要显示的字符在数组中的索引,实现了字符的依次循环显示。

总结

单片机数码管编程是单片机控制的重要部分之一,依次循环显示数字是其中一种实现方式。通过设置数组存储要显示的数字,在合适的时间间隔内修改相应的显示数据和选中位数,实现数码管数字的依次显示。这种编程方式相对简单,易于理解和掌握,并且在很多单片机应用中都有广泛的应用。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/mcuq4.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月26日 上午5:00
下一篇 2023年4月26日 上午5:00

猜你喜欢