久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3988|回復: 7
打印 上一主題 下一主題
收起左側

怎么才能讓單片機999倒計時按下一個鍵后從000開始正計數

  [復制鏈接]
跳轉到指定樓層
樓主
ID:474609 發表于 2019-2-1 21:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大神們,能不能提示一下
單片機開發板上電數碼管顯示999倒計時,按下s4數碼管從000開始正向計時
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:469932 發表于 2019-2-2 04:58 | 只看該作者
網內找找,將計時器改成倒計時就行

評分

參與人數 6黑幣 +104 收起 理由
找人PK + 12
shuisheng60 + 12
yoxi + 15 很給力!
Trump1438 + 15 贊一個!
jinsheng7533967 + 35 回帖助人的獎勵!
#include51.h + 15 很給力!

查看全部評分

回復

使用道具 舉報

板凳
ID:94031 發表于 2019-2-2 07:46 | 只看該作者
先要完成數碼管從000開始正向計時的程序,然后加上確認s4按下程序,確認完后啟動從000開始正向計時的程序。
回復

使用道具 舉報

地板
ID:164602 發表于 2019-2-2 09:33 | 只看該作者
你要求的功能,我做到了。
#include <reg51.h>

#define GPIO_DIG P0//數碼管

sbit LSA=P2^2;//138譯碼器
sbit LSB=P2^3;
sbit LSC=P2^4;

unsigned char code DIG_CODE[16]={0x3f,0x06,
0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71};//標準十六進制碼(段碼)
unsigned char DisplayData[3];
unsigned int SS=999,TT=0,i=0;
bit A=0;

void DigDisplay()
{
        unsigned char i,j;
        for(i=0;i<3;i++)
        {
                switch(i)
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0; break;
                        case(1):
                                LSA=1;LSB=0;LSC=0; break;
                        case(2):
                                LSA=0;LSB=1;LSC=0; break;
                }
                GPIO_DIG=DisplayData[i];//發送段碼
                j=10;
                while(j--);       
                GPIO_DIG=0x00;
        }
}

void TimerConfiguration()
{
    TMOD = 0x01;
    TH0 = 0x3c;
    TL0 = 0xB0;
        PT0=1;
    EA = 1;
    ET0 = 1;
        TR0=1;
}

void IntConfiguration()
{
        IT1=1;
        EX1=1;
        EA=1;
}

void Delay10ms(unsigned int c)
{
    unsigned char a,b;
    for(c;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}

void XS(void)
{
                DisplayData[2]=DIG_CODE[SS/100];
                DisplayData[1]=DIG_CODE[(SS%100)/10];
                DisplayData[0]=DIG_CODE[(SS%10)/1];
}

void main ()
{
        TimerConfiguration();
        IntConfiguration();
        while(1)
        {
                XS();
                DigDisplay();
        }
}

void Timer0() interrupt 1
{
        TH0 = 0x3c;
    TL0 = 0xb0;
        TT++;
        if (TT>=20)
        {
                TT=0;
                if (A==0)
                {
                        SS--;
                        if (SS>999)
                        {
                                SS=999;
                        }
                }
                else
                {
                        SS++;
                        if (SS>999)
                        {
                                SS=0;
                        }
                }
        }
        TF0=0;
}

void Int1(void) interrupt 2//K4
{
        Delay10ms(5);
        A=~A;
        if (A==0)
        {
                SS=999;
        }
        else
        {
                SS=0;
        }
        Delay10ms(10);
        IE1=0;
}

回復

使用道具 舉報

5#
ID:303383 發表于 2019-2-2 10:27 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

6#
ID:834551 發表于 2020-12-23 15:15 | 只看該作者
如何調用138譯碼器
回復

使用道具 舉報

7#
ID:367934 發表于 2020-12-24 09:44 | 只看該作者
int n=999;
int bo=0;
while(1)
{
        //計數部分
        if(bo==0)
        {
                n--;
                if(n==0)
                {
                        n=999;
                }
        }else
        {
                n++;
                if(n>999)
                {
                        n=0;
                }
        }
        //按鍵
        if(key==0)
        {
      if(bo==0)
          {
                bo=1;
                n=999;               
          }else
          {
                bo=0;
                n=0;         
          }
                 
        }
       
}
回復

使用道具 舉報

8#
ID:867249 發表于 2020-12-24 17:36 | 只看該作者
int n=999;
int bo=0;
while(1)
{
        //計數部分
        if(bo==0)
        {
                n--;
                if(n==0)
                {
                        n=999;
                }
        }else
        {
                n++;
                if(n>999)
                {
                        n=0;
                }
        }
        //按鍵
        if(key==0)
        {
      if(bo==0)
          {
                bo=1;
                n=999;               
          }else
          {
                bo=0;
                n=0;         
          }
                 
        }
        
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av一二三四 | 欧美综合一区二区三区 | 97免费在线视频 | 高清黄色毛片 | 精品一区二区三区在线观看国产 | 亚洲成人福利在线观看 | 99久久电影 | h视频在线免费 | 日本不卡免费新一二三区 | 日韩一区二区免费视频 | 日韩成人在线播放 | 精品视频一区二区三区在线观看 | 国产色片| 久久久一二三区 | 色就干| 国产欧美在线播放 | 国产精品一二区 | 亚洲成人一区 | 先锋资源网 | 中文字幕第三页 | 久久噜噜噜精品国产亚洲综合 | www.日韩欧美 | 日韩久久成人 | 91网站在线看 | 午夜手机在线 | 欧美日韩国产一区二区三区 | 狠狠狠干 | 99久久夜色精品国产亚洲96 | 亚洲另类视频 | 亚洲69p| 国产精品资源在线观看 | 欧美一区二区 | 嫩草视频在线看 | 日韩av成人 | 日韩超碰在线 | 一区二区三区在线播放 | 福利片在线看 | 亚洲精品资源 | 欧美黄色精品 | 丁香久久| 狠狠干美女 |