找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1310|回复: 3
收起左侧

二位数码管倒计时DP计秒用,我现程序写到这里无法运行

[复制链接]
ID:608729 发表于 2021-6-8 21:23 | 显示全部楼层 |阅读模式
#include <reg51.h>
unsigned int time ;
char code tap[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//数码管0-9
void dingshidaojishi();
sbit  H=P0^2;
sbit  L=P0^3;
unsigned char miao=60;
unsigned char feng=30;
void InitTimer0(void)
{
    TMOD = 0x01;
    TH0 = 0x0D8;
    TL0 = 0x0F0;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}

void delay1ms(void)   //误差 0us
{
    unsigned char a,b;
    for(b=199;b>0;b--)
        for(a=1;a>0;a--);
}


void Timer0Interrupt(void) interrupt 1
{
    TH0 = 0x0D8;
    TL0 = 0x0F0;
    time++;
       
         
        }


void main ()
{

        unsigned char flag=0;
//        P1=0xc0;
//        P0=0x00;
        InitTimer0();


  while(1)
        {
           dingshidaojishi();

          if(time==50)
          
   {
            time=0;
       
          if(flag==0)
                {
                          flag=1;
                                       P1=feng;
                    
                }
                         
    else
                {
               
                 flag=0;
                 P1=feng(~(1<<7));
                  miao--;
                }

    if(miao==0)
                {
                miao=60;
                feng--;
               
                }

}
        }
}
void dingshidaojishi()
{
  H=1;
        P1=(tap[feng/10]);
        delay1ms();
        H=0;
       
        L=1;
        P1=(tap[feng%10]);
  delay1ms();
  L=0;
        delay1ms();

}

回复

使用道具 举报

ID:332444 发表于 2021-6-9 08:58 | 显示全部楼层
回复

使用道具 举报

ID:608729 发表于 2021-6-10 10:21 | 显示全部楼层
谢谢,我看看有没有搞定
回复

使用道具 举报

ID:608729 发表于 2021-6-10 15:21 | 显示全部楼层
xianfajushi 发表于 2021-6-9 08:58
可参http://www.51hei.com/bbs/dpj-207097-1.html

我看了一下  你给我的是一个倒计时  我这个可以完成  只是用二位数码管来倒计时 DP用来计秒 这个没搞过  想了好几天还是不行
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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