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

標(biāo)題: 定時(shí)器的問題 [打印本頁(yè)]

作者: hejiajian    時(shí)間: 2008-9-9 20:23
標(biāo)題: 定時(shí)器的問題

要求定時(shí)器可以實(shí)現(xiàn)三個(gè)時(shí)間的顯示,而且每個(gè)時(shí)間的初始值可以改變,完成硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì),需要完成硬件仿真。(依據(jù)見習(xí)時(shí)間來決定,實(shí)物可以暫時(shí)不做)

設(shè)計(jì)指標(biāo)參數(shù):

(1)    定時(shí)時(shí)間1。1s-99s,可調(diào)。

(2)    定時(shí)時(shí)間2。1s-99s,可調(diào)。

(3)    定時(shí)時(shí)間3。1min-99min,可調(diào)。

(4)    所有時(shí)間數(shù)字均可調(diào)。

(5)    用數(shù)碼管顯示剩余時(shí)間。


#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit p1=P2^3;
void keyscan(uchar z);
void delay(uchar k);
void display(uchar i);
void shezhi();
void playon();
uchar nummiaoge,nummiaoshi,numfenge,numfenshi,numshige,numshishi,tt,num;
uchar code table1[]={0x3f,
0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77};
ding1h=keyscan(0);
ding1l=keyscan(1);
ding2h=keyscan(2);
ding2l=keyscan(3);
ding3h=keyscan(4);
ding3l=keyscan(5);
ding4h=keyscan(6);
ding4l=keyscan(7);
ding5h=keyscan(8);
ding5l=keyscan(9);
ding6h=keyscan(10);
ding6l=keyscan(11);
play=keyscan(12);
zanting=keyscan(13);
close=keyscan(14);
res=keyscan(15);
nummiaoge=P2^0;
nummiaoshi=P2^1;
numfenge=P2^2;
numfenshi=P2^3;
numshige=P2^4;
numshishi=P2^5;
void main()
{
 tt=0;
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;
 ET0=1;
 TR0=1;
 while(1)
 {
  shezhi();
  playon();
 }
}
void keyscan(uchar z)
{
 uchar n;
 P1=0xfe;
 n=P1;
 n&=0xf0;
 if(n!=0xf0)
 {
  delay();
  P1=0xfe;
  n=P1;
  n&=0xf0;
  if(n!=0xf0)
   {
     switch(n)
    {
        case(0xe0):display(0);break;
        case(0xd0):display(1);break;
        case(0xb0):display(2);break;
        case(0x70):display(3);break;
        }
      }
 }
 P1=0xfd;
 n=P1;
 n&=0xf0;
 if(n!=0xf0)
 {
  delay();
  P1=0xfd;
  n=P1;
  n&=0xf0;
  if(n!=0xf0)
   {
      switch(n)
       {
        case(0xe0):display(4);break;
        case(0xd0):display(5);break;
        case(0xb0):display(6);break;
        case(0x70):display(7);break;
       }
      }
 }
 P1=0xfb;
 n=P1;
 n&=0xf0;
 if(n!=0xf0)
  {
   delay();
   P1=0xfb;
   n=P1;
   n&=0xf0;
   if(n!=0xf0)
    {
       switch(n)
        {
         case(0xe0):display(8);break;
         case(0xd0):display(9);break;
         case(0xb0):display(10);break;
         case(0x70):display(11);break;
        }
       }
  }
 P1=0xf7;
 n=P1;
 n&=0xf0;
 if(n!=0xf0)
  {
   delay();
   P1=0xf7;
   n=P1;
   n&=0xf0;
   if(n!=0xf0)
    {
       switch(n)
       {
         case(0xe0):display(12);break;
         case(0xd0):display(13);break;
         case(0xb0):display(14);break;
         case(0x70):display(15);break;
        }
       }
  }
}
void display(uchar i)
{
 uchar table2[]={
 0xC0,0xF9,0xA4,0xB0,
 0x99,0x92,0x82,0xF8,
 0x80,0x90,0x88,0x83,
 0xC6,0xA1,0x86,0x8E};
 P2=0xfe;
 P0=table;
}
void delay(uchar k)
{
 uint x,y;
 for(x=100;x>0;x--)
  for(y=k;y>0;y--);
}
void shezhi()
{
 if(ding1h==0)
  {
   nummiaoge++;
   if(nummiaoge==10)
   {
    nummaioge=0;
   }
  }
 if(ding1l==0)
  {
   nummiaoge--;
   if(nummiaoshi==-1)
   {
    nummaioshi=9;
   }   
  }
 if(ding2h==0)
  {
   nummiaoshi++;
   if(nummiaoshi==10)
   {
    nummiaoshi=0;
   }   
  }
 if(ding2l==0)
  {
   nummiaoshi--;
   if(nummiaoshi==-1)
   {
    nummiaoshi=9;
   }   
  }
 if(ding3h==0)
  {
   numfensge++;
   if(numfenge==10)
   {
    numfenge=0;
   }   
  }
 if(ding3l==0)
  {
   numfenge--;
   if(numfenge==-1)
   {
    numfenge=9;
   }
  }
 if(ding4h==0)
  {
   numfenshi++;
   if(numfenshi==10)
   {
    numfenshi=0;
   }   
  }
 if(ding4l==0)
  {
   numfenshi--;
   if(numfenshi==-1)
   {
    numfenshi=9;
   }   
  }
 if(ding5h==0)
  {
   numshige++;
   if(numshige==10)
   {
    numshige=0;
   }   
  }
 if(ding5l==0)
  {
   numshige--;
   if(numshige=-1)
   {
    numshige=9;
   }   
  }
 if(ding6h==0)
  {
   numshishi++;
   if(numshishi==10)
   {
    numshishi=0;
   }   
  }
 if(ding6l==0)
  {
   numshishi--;
   if(numshishi==-1)
   {
    numshishi=9;
   }   
  }
}
void playon()
{
 while(1)
 {
  nummiaoge--;
  if(nummiaoge==0)
   {
    nummiaoshi=nummiaoshi-1;
    nummiaoge=9;
    if(nummiaoshi==0)
    {
     numfenge=numfenge-1;
     nummiaoshi=9;
     if(numfenge==0)
     {
      numfenshi=numfenshi-1;
      numfenge=9;
      if(numfenshi==0)
      {
       numshige=numshige-1;
       numfenshi=9;
       if(numshige=0)
       {
        numshishi=numshishi-1;
        numshige=9;
       }
      }
     }
    }
   }
  if(numshishi,numshige,numfenshi,numfenge,nummiaoshi,nummiaoge==0)
  {
   p1=1;
  }
 }
}
void exter0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 tt++;
}


我有些東西還是不大懂,我不知道怎么樣去把鍵盤的16個(gè)鍵如何去控制6歌數(shù)碼管的加減!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91精品国产色综合久久 | 欧美一区二区三区在线播放 | 国产一区二区三区 | 国产精品欧美一区喷水 | 国产精品成人在线播放 | 久久国产精品视频免费看 | 尤物在线精品视频 | 欧美精品在线一区二区三区 | 成人三级av| 国产情侣一区 | 国产欧美精品区一区二区三区 | 欧美.com| 91精品国产91久久久久青草 | 欧美激情久久久 | 亚洲成人一区二区 | 欧美电影大全 | 欧美成人精品在线 | 精品久久久久一区二区国产 | 香蕉久久a毛片 | 在线免费观看毛片 | 婷婷激情综合 | 国产精品免费观看 | 国外成人在线视频网站 | 日韩一级黄色毛片 | 日韩午夜网站 | 在线观看第一区 | 久久久久亚洲精品 | 国产一区二区三区免费 | 国产精品美女久久久久久久久久久 | 91福利在线导航 | 欧美在线天堂 | 色爱综合| 久久久久久久久久久久91 | 中文字幕精品一区 | 久久毛片 | 欧州一区二区 | 亚洲精品久久久 | 亚州成人 | 成人三区四区 | 在线电影日韩 | 综合在线视频 |