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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機舵機驅動源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:74868 發表于 2018-8-3 17:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機控制舵機源程序如下:
  1. #include <reg52.h>

  2. unsigned char count;      //0.5ms次數標識

  3. sbit pwm =P1^0 ;          //PWM信號輸出

  4. sbit jia =P2^4;           //角度增加按鍵檢測IO口

  5. sbit jian =P2^5;           //角度減少按鍵檢測IO口

  6. unsigned char jd;         //角度標識



  7. sbit pwm1 =P0^0 ;          //PWM信號輸出給示波器,檢測PWM波用

  8. void delay(unsigned char i)//延時

  9. {

  10.   unsigned char j,k;

  11.   for(j=i;j>0;j--)

  12.     for(k=125;k>0;k--);

  13. }

  14. void Time0_Init()          //定時器0初始化

  15. {

  16. //定時器0裝初值 用示波器檢測后,11.0592MHZ晶振 定時0.5ms進入中斷 裝初值如下

  17. TH0  = (65536-445)/256;

  18. TL0  = (65536-445)%256;


  19. TMOD = 0x01;    //定時器0工作在方式1   

  20. IE = 0x82;        //IE=0x82=1000 0010 等價于 EA=1 開總中斷  ET0=1 開定時器0中斷

  21.   TR0=1;          //開定時器0

  22. }

  23. void Time0_Int() interrupt 1 //中斷程序

  24. {

  25. //重裝初值

  26. TH0  = (65536-445)/256;

  27. TL0  = (65536-445)%256;



  28.     if(count< jd)
  29. {
  30. pwm=1;                  //確實小于,PWM輸出高電平
  31. pwm1=pwm;              //接示波器用的io口,觀測PWM波形用            }        //判斷0.5ms次數是否小于角度標識
  32. //pwm=1;                  //確實小于,PWM輸出高電平
  33.     else
  34. {
  35. pwm=0;                  //確實小于,PWM輸出高電平
  36. pwm1=pwm;             //接示波器用的io口,觀測PWM波形用        }
  37.     //  pwm=0;                  //大于則輸出低電平
  38.     count=(count+1);          //0.5ms次數加1
  39.     count=count%40;     //次數始終保持為40 即保持周期為20ms
  40. }

  41. //此注銷掉部分為通過按鍵控制舵機轉動的程序,功能為通過jia按鍵控制正轉,
  42. //通過jian按鍵控制反轉
  43. /*void keyscan()              //按鍵掃描
  44. {
  45.    if(jia==0)               //角度增加按鍵是否按下
  46.   {
  47.     delay(10);              //按下延時,消抖
  48.     if(jia==0)              //確實按下
  49.      {
  50.       jd++;                 //角度標識加1
  51.       count=0;              //按鍵按下 則20ms周期從新開始
  52.       if(jd==6)
  53.         jd=5;               //已經是180度,則保持
  54.       while(jia==0);        //等待按鍵放開
  55.      }
  56.   }
  57.   if(jian==0)                //角度減小按鍵是否按下
  58.   {
  59.     delay(10);
  60.     if(jian==0)
  61.      {
  62.       jd--;                 //角度標識減1
  63.       count=0;
  64.       if(jd==0)
  65.         jd=1;               //已經是0度,則保持
  66.       while(jan==0);
  67.      }
  68.   }
  69. }*/

  70. void main()
  71. {
  72. //上電,舵機自動正反轉   
  73. //應注意每次步進是延時函數delay參數的設置,此處延時函數參數設置的并不理想   
  74. while(1)
  75. {
  76.   for(jd=1;jd<6;jd++)
  77. {
  78. count=0;
  79. Time0_Init();
  80. delay(50000000);
  81. }
  82. delay(50000000);
  83. for(jd=6;jd>0;jd--)

  84. {

  85. count=0;

  86. Time0_Init();

  87. delay(50000000);

  88. }

復制代碼

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人一区二区三区 | 欧美电影免费观看 | 孰女乱色一区二区三区 | 日韩免费视频一区二区 | 欧美一区二区在线观看 | www亚洲成人 | 在线国产视频观看 | 色资源在线观看 | 亚洲美女视频 | 欧美激情精品久久久久久免费 | 欧美成人精品二区三区99精品 | 亚洲精品久久久一区二区三区 | 先锋资源网 | 亚洲欧美一区二区三区在线 | 亚洲色欧美另类 | 亚洲色视频 | 国产日韩欧美精品一区二区三区 | 激情网站 | 精品国产91 | 亚洲第一视频 | 欧美精品久久 | 美国一级黄色片 | 中文字幕av网址 | 欧美日韩一区在线观看 | 久草影视在线 | 成人亚洲精品久久久久软件 | 中文字幕色站 | 中文字幕在线视频精品 | 亚洲精品一区二区三区丝袜 | 午夜免费福利片 | 成人免费观看男女羞羞视频 | 国产精品一区二区三区在线 | 日韩中文在线 | 乱一性一乱一交一视频a∨ 色爱av | 国产精品久久久久无码av | 91精品国产自产精品男人的天堂 | 神马久久香蕉 | 久久久久一区 | 中文字幕在线视频网站 | 这里只有精品999 | 一区二区三区国产好 |