找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2617|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

9999倒計(jì)時(shí)按鍵 單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:626687 發(fā)表于 2019-12-10 15:25 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

#include
#define uchar unsigned char
#define uint unsigned int
sbit k1 = P1^0;            //加
sbit k2 = P1^1;            //減
sbit k3 = P1^2;            //復(fù)位
void key(void);
void display(void);
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
                    0x92,0x82,0xf8,0x80,0x90};    //數(shù)組
   
char m=99,n=98;    //顯示初值,m,n的值決定開(kāi)機(jī)顯示數(shù)值
//延時(shí)程序
void delayms(uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--)
   for(j=110;j>0;j--);
}
//顯示程序
void display(void)
{
        P2=0X08;
  P0=table[m%10];   //顯示個(gè)位
  delayms(5);  
  P2=0X04;
     P0=table[m/10];   //顯示十位
  delayms(5);            
     P2=0X02;
  P0=table[n%10];   //顯示百位
  delayms(5);
  P2=0X01;
  P0=table[n/10];   //顯示千位
  delayms(5);
}
//按鍵處理
void key()
{
  if(k1==0)      //檢測(cè)按鍵是否被按下
   {       //延時(shí)消抖
    delayms(10);   
if(k1==0)     //再次檢測(cè)是否真正按下按鍵
{
   m++;      //m自加一
   if(m>=100)    //如果m加到100則n加一 (限制m的取值范圍) 個(gè)位、十位最大顯示99
   {
    n++;     //n自加一
  m=0;     //使m又從0開(kāi)始計(jì)數(shù)
  if(n>=100)    //如果n加到100則m=n=99 (限制n的取值范圍) 百位、千位最大顯示99
  {
    m=99;     //最大顯示9999
    n=99;
  }
   }
}
while(!k1);     //按鍵松開(kāi)
   }
  if(k2==0)      //檢測(cè)按鍵是否被按下
   {       //延時(shí)消抖
    delayms(10);    //再次檢測(cè)是否真正按下按鍵
if(k2==0)
{       //m自減一
   m--;
   if(m<=0)     //如果m減到0則n減一 (限制n的取值范圍) 個(gè)位、十位最小顯示00
   {      
     m=99;     //重新給m裝初值
    n--;     //n自減一
  if(n==-1)    //如果n減到-1,則m=n=0 (限制n的取值范圍) 百位、千位最小顯示00
  {
   n=0;     //最小顯示0000
   m=0;
  }
   }
}
while(!k2);     //按鍵松開(kāi)
   }
if(k3==0)      //檢測(cè)按鍵是否被按下
{
   delayms(10);     //延時(shí)消抖
   if(k3==0)     //再次檢測(cè)是否真正按下按鍵
   {
     m=0;      //復(fù)位,顯示0000
  n=0;
   }
   while(!k3);     //按鍵松開(kāi)
}
}
void main()
{
  while(1)
  {        //調(diào)用按鍵檢測(cè)
   key();      //數(shù)碼管顯示
   display();
  }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2019-12-10 21:51 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表