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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機秒表作業(yè)

[復制鏈接]
跳轉到指定樓層
樓主
ID:358750 發(fā)表于 2018-6-25 19:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                               作業(yè)11  秒表或電子鐘設計
1.秒表任務要求:
    最小顯示位10ms,計時范圍0~59分59秒990毫秒;
    可記錄多個成績;
    系統工作符合一般秒表要求 ,具備清零、計時、停止、記錄、查看功能。
     或者
     2.電子鐘任務要求:
    顯示當前時間;
    調整時間
    設置整點報時
    設置鬧鐘

  1. #include<stc12c5a60s2.h>
  2. #define uchar unsigned char
  3. uchar code distable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
  4. uchar disnum[]={0,0,16,0,0,16,0,0};
  5. unsigned int temp1,temp2,temp3,j=0;
  6. uchar k=0x01,i=0,a,d,b=0,w=0,s=0,c=0;
  7. char data *p40,*p60,*p80;

  8. void int_0( ) interrupt 0
  9. {
  10.                 b++;
  11.                 if(b==3)
  12.                 {
  13.                         b=0;
  14.                 }
  15.                 if(b==0)
  16.                 {
  17.                         j=0;
  18.                         w=0;
  19.                         s=0;
  20.                         a=1;
  21.                         c=0;
  22.                 }
  23.                 if(b==1)
  24.                 {
  25.                         a=0;
  26.                 }
  27.                 if(b==2)
  28.                 {
  29.                         a=1;
  30.                         c=0;
  31.                 }
  32.        
  33. }

  34. void int_2( ) interrupt 2
  35. {
  36.         if(b==1)
  37.         {
  38.                 c++;
  39.                 d=c;
  40.                 if(c==1)
  41.                 {
  42.                         p40=0x40;
  43.                         p60=0x60;
  44.                         p80=0x80;
  45.                 }
  46.                 if(c<17)
  47.                 {
  48.                         *p40=j;
  49.                         *p60=w;
  50.                         *p80=s;
  51.                         p40++;
  52.                         p60++;
  53.                         p80++;
  54.                 }
  55.         }
  56.         if(b==2)
  57.         {
  58.                 c++;
  59.                 if(c==1)
  60.                 {
  61.                         p40=0x40;
  62.                         p60=0x60;
  63.                         p80=0x80;
  64.                 }
  65.                 if(c<=d)
  66.                 {
  67.                         j=*p40;
  68.                         w=*p60;
  69.                         s=*p80;
  70.                         p40++;
  71.                         p60++;
  72.                         p80++;
  73.                 }
  74.         }
  75.                


  76. }

  77. void int_1( ) interrupt 1
  78. {
  79.         TH0=55536/256;
  80.         TL0=55536%256;
  81.         if(a==1)
  82.         {
  83.                 j=j;
  84.         }
  85.         else
  86.         {
  87.                 j++;
  88.         }
  89.         if(j==100)
  90.         {
  91.                 j=0;
  92.                 w++;
  93.                 if(w==60)
  94.                 {
  95.                         s++;
  96.                         w=0;
  97.                         if(s==60)
  98.                         {
  99.                                 s=0;
  100.                         }       
  101.                 }
  102.         }       
  103.         disnum[7]=j%10;
  104.         disnum[6]=j/10;
  105.         disnum[4]=w%10;
  106.         disnum[3]=w/10;
  107.         disnum[1]=s%10;
  108.         disnum[0]=s/10;
  109.                
  110. }

  111. void int_3( ) interrupt 3
  112. {
  113.         P0M1=0X00;
  114.         P0M0=0XFF;
  115.         P2M1=0X00;
  116.         P2M0=0XFF;
  117.         TH1=65036/256;
  118.         TL1=65036%256;
  119.         P0=distable[disnum[i]];
  120.            P2=k;
  121.            k=k<<1;
  122.         i++;
  123.         if(i==8)
  124.         {
  125.                 i=0;
  126.                 k=0x01;       
  127.         }
  128.                
  129. }

  130. void main()
  131. {
  132.         TMOD=0x11;
  133.         TH1=55536/256;
  134.         TL1=55536%256;
  135.         ET1=1;
  136.         EA=1;
  137.         TR1=1;
  138.         TH0=65036/256;
  139.         TL0=65036%256;
  140.         ET0=1;
  141.         TR0=1;
  142.         IT1=1;                              
  143.         EX1=1;
  144.         IT0=1;                              
  145.         EX0=1;  
  146.         k=0x01;
  147.         i=0;
  148.         a=1;
  149.         b=0;
  150.         p40=0x40;
  151.         p60=0x60;
  152.         p80=0x80;
  153.         for(j=0;j<16;j++)
  154.         {
  155.                 *p40=0;
  156.                 p40++;
  157.                 *p60=0;
  158.                 p60++;
  159.                 *p80=0;
  160.                 p80++;
  161.         }
  162.         p60=0x60;
  163.         p80=0x80;
  164.         p40=0x40;
  165.         while(1);
  166. }

復制代碼


單片機作業(yè)11(秒表).doc

27.54 KB, 下載次數: 6, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表