找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2652|回复: 4
打印 上一主题 下一主题
收起左侧

51单片机倒计时99秒

[复制链接]
跳转到指定楼层
楼主
ID:391069 发表于 2019-3-19 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用,38译码器,数码管,51单片机(普中科技单片机的板子)
下面是程序
#include "reg52.h"

typedef unsigned char u8;
typedef unsigned int  u16;

sbit LSA=P2^2;//38译码器控制位选
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

u16 s=1000;  //int
u8 sec=100,mb[2]; //char

void Timer0Init()  //定时器0初始化
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
        TH0=0XFC;        //给定时器赋初值,定时1ms
        TL0=0X18;       
        TR0=1;//打开定时器                       
}

void delay(u16 i) //延时函数,延时1ms(这个不准,配合消影使用)
{
        while (i--);
}


void Digdisplay()//数码管显示函数
{
        u8 i;
        for(i=0;i<2;i++)
        {
          switch(i)
          {
                         case(0):
                         LSA=0;LSB=0;LSC=0; break;
                         case(1):
                       LSA=1;LSB=0;LSC=0; break;
           }
        P0=smgduan[mb[1-i]]; //发送段码
        delay(1); //间隔扫描
        P0=0x00; //消影
}
}

void main()
{
        Timer0Init();//定时器初始化
        while(1)
        {
                if(TF0==1) //溢出归零
                {
                        TF0=0;
                        TH0=0xFC;
                        TL0=0x18;
                        s++;
                }
                if(s==1000)
                {
                        s=0;
                        sec--;      //每秒以后减一
                        if(sec==0)sec=100;  //计时100秒以后重新开始
                }
                mb[0]=sec%10; //秒表个位
                mb[1]=sec/10; //秒表十位
                Digdisplay();
        }
}

按照写好的正计时99秒,自己改的
       

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:388477 发表于 2019-5-12 15:52 | 只看该作者
赞一个
回复

使用道具 举报

板凳
ID:388477 发表于 2019-5-12 18:21 | 只看该作者
我也是普中的板子,用你的程序我的个位十位是反的, P0=smgduan[mb[1-i]]; //这里改为P0=smgduan[mb[i]],谢谢你的分享!
回复

使用道具 举报

地板
ID:590727 发表于 2019-7-26 11:39 来自手机 | 只看该作者
感谢大佬分享,菜鸟每天飞过
回复

使用道具 举报

5#
ID:835382 发表于 2020-10-27 20:35 | 只看该作者
兄弟问一下那个mb是什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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