欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)時(shí)鐘,顯示時(shí)分秒,可按鍵設(shè)置.(用定時(shí)器和中斷) [打印本頁(yè)]

作者: yangsanyou    時(shí)間: 2018-11-5 12:30
標(biāo)題: 單片機(jī)時(shí)鐘,顯示時(shí)分秒,可按鍵設(shè)置.(用定時(shí)器和中斷)

單片機(jī)源程序如下:
  1. #include"reg51.h"
  2. sbit    key=P3^4;
  3. #define         WEI   P2
  4. #define   SEGNUM   P0
  5. unsigint addNum;
  6. unsigned int h,m,s;                 
  7. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
  8.                             0x7d,0x07,0x7f,0x6f,0x77,0x7c,
  9.                             0x39,0x5e,0x79,0x71,0x00 } ;
  10. void delay (unsigned int num)         
  11. {
  12.   unsigned i,j;
  13.   for(i=num;i>0;i--)
  14.     for(j=120;j>0;j--);
  15. }
  16. void main()
  17. {
  18.    TMOD=0x02;
  19.    TL0=TH0=6;         //256次-6次
  20.    EA=1;                 //開中斷允許位
  21.    ET0=1;                 //開中斷允許位
  22.    TR0=1;                 //啟動(dòng)定時(shí)/計(jì)數(shù)器定時(shí)或計(jì)數(shù)          
  23.    IT0=1;                 //邊沿觸發(fā)                 (外部中斷0)
  24.    EX0=1;                 //開中斷允許位
  25.    IT1=1;                 //邊沿觸發(fā)                 (外部中斷1)
  26.    EX1=1;                 //開中斷允許位
  27.    TR0=1;                 //啟動(dòng)定時(shí)/計(jì)數(shù)器定時(shí)或計(jì)數(shù)
  28.    while (1)
  29.    {

  30.          if(!key)
  31.     {  
  32.           delay(10) ;
  33.           if(!key)
  34.           {
  35.         h++;  while(!key) ;
  36.           }
  37.         }

  38.           WEI=0xfe;                                            //顯示位碼
  39.       SEGNUM=table[h/10];                        // h
  40.       delay(5);                                                //十位
  41.       WEI=0xfd;                                                //個(gè)位
  42.       SEGNUM=table[h%10];
  43.       delay(5);
  44.           WEI=0xfb;
  45.       SEGNUM=table[m/10];                        //
  46.       delay(5);
  47.       WEI=0xf7;
  48.       SEGNUM=table[m%10];
  49.       delay(5);
  50.           WEI=0xef;                                                 
  51.           SEGNUM=table[s/10];                         //
  52.           delay(5);
  53.           WEI=0xdf;
  54.           SEGNUM=table[s%10];
  55.           delay(5);       
  56.    }
  57. }
  58. void timer0() interrupt 1 //
  59. {
  60.    addNum++;
  61.    if(addNum==4000)                  //1000000/250     1秒除250次
  62.    {
  63.         s++;                                //如果一秒到了,s秒表數(shù)加一,addNum歸零
  64.         addNum=0;
  65.    }
  66.    if(s==60)   //如果秒為60,則清零,分加1
  67.    {
  68.     m++;
  69.         s=0;
  70.    }
  71.    if(m==60)  
  72.    {
  73.     h++;
  74.     m=0;
  75.    }
  76.    if(h==24)  
  77.    {
  78.     h=0;
  79.    }                                                                                 
  80. }

  81. void ex0( )  interrupt  0       
  82. {
  83.     s++;                                //表示外部中斷來時(shí)的動(dòng)作   (外部中斷0)
  84. }         
  85. void ex1( )  interrupt  2       
  86. {
  87.     m++;                               
  88. }
復(fù)制代碼

所有資料51hei提供下載:
時(shí)鐘,顯示時(shí)分秒,可按鍵設(shè)置.(用定時(shí)器和中斷).rar (16.31 KB, 下載次數(shù): 61)




作者: woshijwh    時(shí)間: 2018-11-19 10:28
阻塞性按鍵
作者: 1498847856    時(shí)間: 2019-7-3 14:22
很好,幫助很大




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1