单片机数码管显示0到9C语言代码(单片机数码管时钟c语言程序)

介绍

单片机数码管显示是单片机学习中较为基础的内容之一。在单片机中,通过控制管脚输出高低电平实现不同数字在数码管中的显示。接下来将介绍如何使用C语言编写0-9数字的数码管显示。

程序实现

首先要定义数码管的引脚,比如P1口。P1口共7个引脚,分别对应数码管的a-g字母段,还有小数点dp。用二进制数的方法为这些引脚编号,其中a-g引脚编号为1-7,dp引脚编号为0。定义变量digit[]数组来存放数字0-9的二进制编码,按顺序放入数组中,便于后面的调用。

在主函数中,首先要定义延迟函数delay(),为了让数码管中的数据在可见范围内闪烁。然后通过for循环使数码管每隔一段时间显示0-9并清空。具体操作是将digit[i]的值赋给P1口,经过一段时间后再清空P1口。i的循环范围是0到9,表示显示0-9这十个数字,循环次数为10次。

代码实现

下面是具体的代码实现示例:

单片机数码管显示0到9C语言代码(单片机数码管时钟c语言程序)


#include
#define uchar unsigned char

//定义数码管引脚,a-g为P1口第1-7个引脚,dp为P1口第0个引脚
sbit Led = P1^7;
sbit spa = P1^6;
sbit spb = P1^5;
sbit spc = P1^4;
sbit spd = P1^3;
sbit spe = P1^2;
sbit spf = P1^1;
sbit spg = P1^0;

//定义0-9数字的二进制编码
uchar digit[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};

//延迟函数
void delay(uchar xms){
    uchar i,j;
    for(i=xms;i>0;i--){
        for(j=110;j>0;j--);
    }
}

void main(){
    uchar i;
    while(1){
        for(i=0;i<10;i++){
            Led = 1;
            P1 = digit[i];
            delay(80);
            P1 = 0x00;
            Led = 0;
            delay(80);
        }
    }
}

通过以上的代码实现,就可以在数码管中显示0到9这十个数字了。

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

郑重声明:

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

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

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

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

(0)
上一篇 2023年4月26日 上午10:40
下一篇 2023年4月26日 上午10:40

猜你喜欢