stc15f2k60s2开发板有没有人教一下

在stc15f2k60s2开发版的数码管上显示12345678过会显示9876543 在不用定时器和计时器的情况下怎么实现其效果

没人的话我来教

以下内容部分参考ChatGPT模型:


可以使用定时器中断来实现数码管显示的效果,但是如果不想使用定时器和计时器,可以使用延时函数来实现。

具体的做法是,先编写一个延时函数,然后利用延时函数来实现数码管上的数字显示。

下面是一个示例代码:

#include <stc15f2k60s2.h>

// 定义延时函数
void delay(unsigned int ms)
{
    unsigned int i,j;
    for(i=0;i<ms;i++)
        for(j=0;j<1141;j++);
}

void main()
{
    unsigned char num[] = {1,2,3,4,5,6,7,8,9,8,7,6,5,4,3};
    unsigned char i;
    while(1)
    {
        for(i=0; i<15; i++)
        {
            P0 = num[i];   // P0口连接数码管
            delay(500);    // 延时500ms
        }
    }
}

这段代码中,先定义了一个延时函数 delay(),然后定义了一个数组 num,用于存储要显示的数字。在 while 循环中,通过循环遍历 num 数组,然后将数字依次显示在数码管上,并使用延时函数来控制显示时间。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快