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

標題: 通過51單片機實現的跑步節奏器程序 [打印本頁]

作者: klhlkjlkj    時間: 2019-5-29 21:54
標題: 通過51單片機實現的跑步節奏器程序
見附件

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int


  5. sbit s2=P3^4;
  6. sbit s3=P3^5;
  7. sbit s4=P3^6;
  8. sbit s5=P3^7;
  9. sbit led1=P1^0;
  10. sbit led2=P1^1;
  11. sbit led3=P1^2;
  12. sbit led4=P1^3;
  13. sbit beep=P2^3;

  14. uchar tt,aa;
  15. uint fre,fla;
  16. int flag=0;
  17. int i=0,j=0;

  18. void main()
  19. {
  20.            //第一塊  讀取開關狀態  賦值一個標志位  并亮燈顯示       
  21.         while(!flag)
  22.         {
  23.                 if(s2==0&&s3!=0)                           //模式1
  24.                 {
  25.                 for(i=0;i<30000;++i);                   //延時
  26.                 if(s2==0)
  27.                         {
  28.                                 flag=1;
  29.                                 led1=0;
  30.                         }
  31.                 }
  32.                 else if(s3==0&&s2!=0)                            //模式2
  33.                 {
  34.                 for(i=0;i<30000;++i);                   //延時
  35.                 if(s3==0)
  36.                         {
  37.                                 flag=2;
  38.                                 led2=0;
  39.                         }
  40.                 }
  41.                 else if(s4==0)                            //模式3
  42.                 {
  43.                 for(i=0;i<30000;++i);                   //延時
  44.                 if(s4==0)
  45.                         {
  46.                                 flag=3;
  47.                                 led3=0;
  48.                         }
  49.                 }
  50.                 else if(s5==0)                            //模式4
  51.                 {
  52.                 for(i=0;i<30000;++i);                   //延時
  53.                 if(s5==0)
  54.                         {
  55.                                 flag=4;
  56.                                 led4=0;
  57.                         }

  58.                 }
  59.                 else if(s2==0&&s3==0)
  60.                 {
  61.                 for(i=0;i<30000;++i);
  62.                 if(s2==0&&s3==0)                   //延時
  63.                                 flag=5;
  64.                 }
  65.                 else
  66.                     flag=0;
  67.         }  


  68.         TMOD=0x11;                         //選擇定時器  t0的工作方式為1
  69.         EA=1;
  70.         TH0=(65536-fre)/256;
  71.         TL0=(65536-fre)%256;
  72.         TH1=(65536-50000)/256;
  73.         TL1=(65536-50000)%256;
  74.         ET1=1;
  75.         TR1=1;
  76.         ET0=1;
  77.         TR0=1;
  78.         while(1)
  79.         {};


  80. }

  81.         void time1() interrupt 3
  82.         {
  83.                 TH1=(65536-50000)/256;
  84.                 TL1=(65536-50000)%256;
  85.                 fla++;
  86.                 if(fla==360)
  87.                 {
  88.                         fla=0;
  89.                         fre=50000;
  90.                 }
  91.         }

  92.          
  93.         void time0() interrupt 1
  94.         {
  95.                 if(flag==1)       
  96.                 {
  97.                         TH0=(65536-fre)/256;
  98.                         TL0=(65536-fre)%256;
  99.                         tt++;
  100.                         if(fla<80)    //以下幾個if分別用來選取不同的頻率
  101.                           if(tt==10)
  102.                           {
  103.                                   tt=0;
  104.                             fre=50000;
  105.                                    beep=~beep;
  106.                            }
  107.                         if(fla>80&&fla<160)
  108.                         {
  109.                                 tt=0;
  110.                                 fre=50000;
  111.                              beep=~beep;
  112.                         }
  113.                           if(fla>160)
  114.                         if(tt==3)
  115.                         {
  116.                                 tt=0;
  117.                                 fre=55000;
  118.                                 beep=~beep;
  119.                         }
  120.                         TR0=1;
  121.                 }
  122.                 if(flag==2)       
  123.                 {
  124.                         TH0=(65536-fre)/256;
  125.                         TL0=(65536-fre)%256;
  126.                         tt++;
  127.                         if(fla<80)    //以下幾個if分別用來選取不同的頻率
  128.                         {
  129.                                 tt=0;
  130.                                 fre=50000;
  131.                              beep=~beep;
  132.                         }
  133.                         if(fla>80&&fla<160)
  134.                            if(tt==10)
  135.                            {
  136.                     tt=0;
  137.                     fre=50000;
  138.                     beep=~beep;
  139.                            }
  140.                           if(fla>160)
  141.                         if(tt==3)
  142.                         {
  143.                                 tt=0;
  144.                                 fre=55000;
  145.                                 beep=~beep;
  146.                         }
  147.                         TR0=1;
  148.                 }
  149.                 if(flag==3)       
  150.                 {
  151.                         TH0=(65536-fre)/256;
  152.                         TL0=(65536-fre)%256;
  153.                         tt++;
  154.                         if(fla<80)    //以下幾個if分別用來選取不同的頻率
  155.                           if(tt==3)
  156.                         {
  157.                                 tt=0;
  158.                                 fre=55000;
  159.                                 beep=~beep;
  160.                         }
  161.                         if(fla>80&&fla<160)
  162.                         {
  163.                         tt=0;
  164.                         fre=50000;
  165.                      beep=~beep;
  166.                         }
  167.                           if(fla>160)
  168.                           if(tt==10)
  169.                            {
  170.                             tt=0;
  171.                             fre=50000;
  172.                             beep=~beep;
  173.                            }
  174.                         TR0=1;
  175.                 }
  176.                 if(flag==4)       
  177.                 {
  178.                         TH0=(65536-fre)/256;
  179.                         TL0=(65536-fre)%256;
  180.                         tt++;
  181.                         if(fla<80)    //以下幾個if分別用來選取不同的頻率
  182.                           if(tt==10)
  183.                            {
  184.                             tt=0;
  185.                             fre=50000;
  186.                             beep=~beep;
  187.                            }
  188.                         if(fla>80&&fla<160)
  189.                         {
  190.                                 tt=0;
  191.                                 fre=50000;
  192.                              beep=~beep;
  193.                         }
  194.                           if(fla>160)
  195.                         if(tt==3)
  196.                         {
  197.                                 tt=0;
  198.                                 fre=55000;
  199.                                 beep=~beep;
  200.                         }
  201.                         TR0=1;
  202.                 }
  203.                 if(flag==5)       
  204.                 {
  205.                         TH0=(65536-fre)/256;
  206.                         TL0=(65536-fre)%256;
  207.                         tt++;    //以下幾個if分別用來選取不同的頻率
  208.                          if(tt==20)
  209.                            {
  210.                             tt=0;
  211.                             fre=50000;
  212.                             beep=~beep;
  213.                            }
  214.                         TR0=1;
  215.                 }
  216.         }       
復制代碼

所有資料51hei提供下載:
跑步頻率器最終.zip (26.58 KB, 下載次數: 9)



作者: admin    時間: 2019-5-30 16:30
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲欧美中文日韩在线v日本 | 日本又色又爽又黄的大片 | 国产日韩欧美一区二区在线播放 | 日韩毛片 | 国产精品久久久久久久久久久久久 | 日韩在线播放中文字幕 | 一区二区日本 | 日韩毛片中文字幕 | 久久久久久久91 | 日韩精品 电影一区 亚洲 | 精品成人在线视频 | 成人av一区二区亚洲精 | 99久久久国产精品 | 亚洲一区二区三区免费在线观看 | 在线看一区二区三区 | 国产日韩一区二区三区 | 国产色视频网站 | www日| 国产精品久久久久久影院8一贰佰 | 亚洲精品字幕 | 色999视频| 在线观看成年人视频 | 久久久久国产一区二区三区 | 97成人在线 | 99热精品久久 | 国产馆| 91久久北条麻妃一区二区三区 | 亚洲精品自在在线观看 | 亚洲精品在线免费观看视频 | 久久精品 | 日韩视频中文字幕 | 欧美亚州 | 精品国产99 | 国产乱码高清区二区三区在线 | 亚洲精品二区 | 狠狠色综合久久婷婷 | 九九99靖品 | 中文字幕在线观看精品 | 国产在线不卡视频 | 在线观看国产wwwa级羞羞视频 | 中文字幕久久久 |