登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 数码管1位正计时

[复制链接]
发表于 2022-2-12 22:06:43 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 数码管1位正计时
学习安排: 数码管1位正计时
开始时间: 2022-02-12
结束时间: 2022-02-12
本帖最后由 叶俊杰 于 2022-2-12 22:11 编辑

#include <STC12C5A60S2.H>
sbit ENLED = P1^1 ;                                                         
sbit LED = P0^1 ;
sbit A2 = P2^2;
sbit A1 = P2^1;
sbit A0 = P2^0;

unsigned char code LedChar[] = {
  0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
        0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
int main()
{
        unsigned char cnt = 0;
        unsigned char sec = 0;
  ENLED = 0;                                                              //使能芯片 74HC245,注意38译码器打开数码管
  A2=1;
  A1=0;
  A0=1;

  TMOD  = 0x01;
        TR0 = 1;                                                             //启动定时器
        TH0 = 0xB8;
        TL0  = 0x00;
        while(1)
        {
            if (TF0 == 1)
                {
                  TF0 = 0;
                        TH0 = 0xB8;
                        TL0 = 0x00;
                        cnt++;
                        if (cnt >= 50)                                     //达到1秒
                        {
                          cnt = 0;
                                P0 = LedChar[sec];
                                sec++;                                     //sec--即为倒计时
                                if (sec >= 16)
                                {
                                    sec = 0;
                                }
                        }
                }
        }
}


好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表