您的位置:首页 > 科技 > IT业 > 汕头cms建站_中石油第四建设公司官网_推广赚钱的项目_吉林网络推广公司

汕头cms建站_中石油第四建设公司官网_推广赚钱的项目_吉林网络推广公司

2025/4/22 5:55:05 来源:https://blog.csdn.net/QQQ371429594/article/details/147403519  浏览:    关键词:汕头cms建站_中石油第四建设公司官网_推广赚钱的项目_吉林网络推广公司
汕头cms建站_中石油第四建设公司官网_推广赚钱的项目_吉林网络推广公司

#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

//用数组来存储数码管的真值表,数组将在下一章详细介绍
unsigned char code LedChar[] = {
    0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
    0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};

void main()
{
    unsigned char cnt = 0;  //记录T0中断次数
    unsigned char sec = 0x0F;  //记录经过的秒数,倒计时初值0x0F(15)

    ENLED = 0;    //使能U3,选择数码管DS1
    ADDR3 = 1;
    ADDR2 = 0;
    ADDR1 = 0;
    ADDR0 = 0;
    TMOD = 0x01;  //设置T0为模式1
    TH0  = 0xB8;  //为T0赋初值0xB800
    TL0  = 0x00;
    TR0  = 1;     //启动T0
    
    while (1)
    {
        if (TF0 == 1)        //判断T0是否溢出
        {
            TF0 = 0;         //T0溢出后,清零中断标志
            TH0 = 0xB8;      //并重新赋初值
            TL0 = 0x00;
            cnt++;           //计数值自加1
            if (cnt >= 50)   //判断T0溢出是否达到50次
            {
                cnt = 0;            //达到50次后计数值清零
                P0 = LedChar[sec];  //当前秒数对应的真值表中的值送到P0口
                if (sec > 0)        //当秒数大于0时,减1
                {
                    sec--;
                }
                else                //当秒数等于0时,重新赋初值0x0F
                {
                    sec = 0x0F;
                }
            }
        }
    }
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com