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

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

QQ登錄

只需一步,快速開始

搜索
查看: 2537|回復(fù): 0
收起左側(cè)

單片機(jī)鋼筋調(diào)直機(jī)源程序-第一個(gè)自主編譯C程序

[復(fù)制鏈接]
ID:83710 發(fā)表于 2015-6-23 20:41 | 顯示全部樓層 |閱讀模式
第一個(gè)自主設(shè)計(jì)自主編譯的C程序,雖然比不上人家的那好,但是這是我是實(shí)實(shí)在在,經(jīng)過N多失敗,仿真得出的,我珍惜,我還要努力!

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit led4=P1^0;
  5. sbit led3=P1^1;    //第一個(gè)自己編寫的c程序,付出了太多,才換回這幾行代碼,源于熱愛!2010年8月8日與天津開發(fā)區(qū)
  6. sbit led2=P1^2;
  7. sbit led1=P1^3;
  8. sbit inc=P2^0; //加
  9. sbit dec=P2^1; //減
  10. sbit flage=P2^3;//模擬傳感器
  11. sbit start=P2^2;
  12. sbit ctrl=P1^7;

  13. float setdate,setdate1,setdate10,ly=0.10,yi=1;//實(shí)際 要設(shè)定的浮點(diǎn)數(shù)
  14.   uint h;
  15. uchar g=0,s=0,bw=0,q=0; //顯示單元 個(gè)位、十位、百位、千位
  16. uchar gruang,sgruang;//計(jì)算圈數(shù)實(shí)際圈數(shù)
  17. uchar j=0;//實(shí)際圈數(shù)
  18. uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//不帶小數(shù)點(diǎn)顯示0~9
  19. uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //帶小數(shù)點(diǎn)顯示0~9
  20. void delay(uint z) //延時(shí)程序
  21. {
  22. uint x,a,b;
  23.          for (x=0;x<z;x++)
  24.   
  25.        {
  26.        for(b=120;b>0;b--)
  27.     {
  28.         for(a=3;a>0;a--);
  29.    
  30.              }
  31.     }


  32. }
  33. void display1() //顯示程序

  34. {   
  35.             
  36.     led1=0;
  37.     P0=tab[g]; //個(gè)
  38.     delay(1);
  39.     led1=1;
  40.      led2=0;
  41.     P0=tab1[s];//十
  42.     delay(1);
  43.     led2=1;
  44.     led3=0;
  45.     P0=tab[bw];   //百
  46.     delay(1);
  47.     led3=1;
  48.                  led4=0;
  49.     P0=tab[q];    //千
  50.     delay(1);
  51.     led4=1;


  52. }

  53. void display2() //顯示程序

  54. {   
  55.          
  56.     led1=0;
  57.     P0=tab[g]; //個(gè)
  58.     delay(1);
  59.     led1=1;
  60.      led2=0;
  61.     P0=tab[s];//十
  62.     delay(1);
  63.     led2=1;
  64.     led3=0;
  65.     P0=tab[bw];   //百
  66.     delay(1);
  67.     led3=1;
  68.                  led4=0;
  69.     P0=tab[q];    //千
  70.     delay(1);
  71.     led4=1;


  72. }


  73. float keyball()   //按鍵設(shè)置程序?qū)庸ち祥L(zhǎng)短設(shè)置
  74. {  
  75.          if(inc==0)     //兩位加
  76.                   {           
  77.       delay(30);
  78.    if(inc==0)   
  79.        {
  80.       
  81.         
  82.          if(g>9)
  83.         {g=0;
  84.         if(s>9)
  85.            
  86.          {g=0;s=0;setdate=0;setdate1=0;setdate10=0;}
  87.       
  88.      else  s++,setdate1=0,setdate10=(setdate10+yi);//+1

  89.       
  90.       
  91.       
  92.       
  93.         }
  94.                   
  95.     else g++,setdate1=(setdate1+ly); //+0.1
  96.      
  97.       
  98.          
  99.       }


  100.               }
  101.      if(dec==0)
  102.                   {               //兩位減
  103.       delay(30);
  104.    if(dec==0)   
  105.      {
  106.       
  107.         
  108.          if(g==0)
  109.         {g=9;
  110.          if(s==0)
  111.          {g=9;s=9;}
  112.         else s--,setdate10=(setdate10-yi);//-1

  113.       
  114.       
  115.       
  116.         }
  117.                   
  118.       
  119.       else   g--,setdate1=(setdate1-ly); //-0.1

  120.       
  121.          
  122.     }


  123.               }


  124.    setdate=(setdate1+setdate10);
  125. return setdate;//返回按鍵設(shè)定值

  126. }

  127. uint divdate(float set) //設(shè)定計(jì)算函數(shù)換算成整數(shù)圈
  128. {
  129. float d,e,c;
  130.    
  131.      d=0.034; //0.34米/10
  132.   e=set;//設(shè)定米數(shù)
  133.     c=(e/d); //值
  134.   h=c;
  135. return h; //返回計(jì)算后要轉(zhuǎn)的圈數(shù)
  136. }

  137. uint jiance()    //圈數(shù)檢測(cè)傳感器函數(shù)
  138. {
  139.   
  140. if(flage==0)
  141. {
  142.     delay(19);
  143.   if(flage==0)
  144.   {
  145.    
  146.      if(gruang==j)
  147.       { ;   //一旦J=S了證明長(zhǎng)度達(dá)到了空操作
  148.            }
  149.    else j++; //不到則J++
  150.     }


  151. }


  152. return j;     //返回實(shí)際圈數(shù)
  153. }



  154. void main() //主函數(shù)
  155. {   uint a;
  156. P2=0x1f;
  157. while (1)
  158. {


  159.    gruang=divdate(keyball());//讀入設(shè)定值然后換算成計(jì)算圈數(shù)


  160.         display1();//顯示
  161.    
  162.   if(gruang>0)   
  163.    {      if(start==0)
  164.     {
  165.     delay(25);
  166.         if(start==0)
  167.       {
  168.              s=0;
  169.           g=0;
  170.                       while(1)
  171.           {
  172.            
  173.            

  174.          sgruang=jiance();//實(shí)際轉(zhuǎn)的圈數(shù)
  175.                                                             a=sgruang;
  176.                                                                     g=a%10;   
  177.                                                                                              s=a/10;
  178.                         bw=a/100;
  179.                         q=a/1000;         
  180.                                                                                     
  181.       
  182.         
  183.       
  184.                                                                                             
  185.          
  186.            display2();
  187.         if(gruang==sgruang)
  188.                                        {
  189.             
  190.                          ctrl=0;
  191.      
  192.                          delay(100);
  193.          
  194.                                         ctrl=1;
  195.                 j=0;//長(zhǎng)度到了,j復(fù)位     
  196.                                     }
  197.           else  ctrl=1;
  198.          
  199.          
  200.          
  201.          
  202.          
  203.          
  204.          
  205.          
  206.          
  207.           }
  208.      
  209.      
  210.      
  211.       }
  212.    
  213.    
  214.    
  215.    
  216.    
  217.    
  218.    
  219.    
  220.     }
  221.      
  222.    


  223.   }

  224. }


  225. }
復(fù)制代碼

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费观看的黄色网址 | 日韩精品在线观看视频 | 成人欧美一区二区 | www天天操 | 亚洲精品免费视频 | 国产精品一区二区在线免费观看 | 天天插天天操 | 一区二区三区四区av | 91精品国产美女在线观看 | 性高湖久久久久久久久aaaaa | 日日草天天干 | 一区二区在线不卡 | 成人av一区 | 日本三级线观看 视频 | 久久青青 | 熟女毛片 | 欧美日韩在线视频一区二区 | 91就要激情 | 嫩草影院黄 | 色网站视频 | av电影一区二区 | 国产成人免费视频网站视频社区 | av日韩精品| 日韩精品视频在线 | 中文字幕在线视频观看 | 一级免费视频 | 91国在线 | 国产目拍亚洲精品99久久精品 | 成人欧美 | 日韩一区二区三区在线 | 精品乱人伦一区二区三区 | 久久久久久美女 | 日韩精品一区在线 | 一区二区国产在线 | 国产精品xxxx | 国产成人精品免费视频大全最热 | 久久国产婷婷国产香蕉 | 色婷婷久久久亚洲一区二区三区 | 一区二区三区在线看 | 一区二区三区四区在线 | 国产黄视频在线播放 |