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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3095|回復: 1
收起左側

基于STC89C52單片機的舵機SG90驅動程序

[復制鏈接]
ID:593642 發表于 2019-8-1 17:18 | 顯示全部樓層 |閱讀模式



        本人是初學單片機,若有不到之處,希望大家積極指出,共同學習                         下面說一下驅動舵機SG90過程中的一些經驗:
1.了解舵機基本運動機理
    舵機內部結構及運動原理詳細解析
       (重要的是看舵機運動原理)


2.注意我們使用的是模擬舵機(模擬舵機和數字舵機驅動方法不同)
     模擬舵機:需要不斷的發送PWM信號,才可旋轉到指定位置。
    數字舵機:只需給一個PWM信號,即可旋轉到指定位置。


3. 使用PWM信號控制—詳細代碼如下
  1. /***************************************************
  2. /*舵機控制
  3. /*開關K1控制順時針旋轉  開關K2控制逆時針旋轉
  4. /*每次旋轉角度由定時器1控制 定時器周期越短 精度越高
  5. ****************************************************/
  6. #include <reg52.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int

  9. sbit pwm=P1^0;
  10. sbit k1=P3^0;        //k1順時針旋轉
  11. sbit k2=P3^1;        //k2逆時針旋轉

  12. uchar count=0;
  13. uchar n=14;                //初始位置-在90°附近   

  14. void delay5ms()
  15. {
  16.     unsigned char a,b;
  17.     for(b=19;b>0;b--)
  18.         for(a=130;a>0;a--);
  19. }
  20. void key()
  21. {
  22.   if(k1==0)
  23.   {
  24.             delay5ms();
  25.           if(k1==0)
  26.           {
  27.              while(k1==0); //判斷當鍵盤松開時
  28.                    if(n<=25) n++;//判斷是否旋轉到180°
  29.                  else n=26;           
  30.           }
  31.   }
  32.     if(k2==0)
  33.   {
  34.             delay5ms();
  35.           if(k2==0)
  36.           {
  37.              while(k2==0); //判斷當鍵盤松開時
  38.                    if(n>=6) n--; //判斷是否旋轉到0°
  39.                  else n=5;
  40.           }
  41.   }
  42. }

  43. void InitTimer()//0.1ms 12Mhz
  44. {
  45.     TMOD = 0x01;
  46.     TH0 = 0xFF;
  47.     TL0 = 0x9C;
  48.     EA = 1;
  49.     ET0 = 1;
  50.     TR0 = 1;
  51. }

  52. void main()
  53. {
  54.     InitTimer();
  55.         while(1)
  56.         {
  57.           key();
  58.         }
  59. }

  60. void Timer() interrupt 1
  61. {
  62.     TH0 = 0xFF;
  63.     TL0 = 0x9C;
  64.         count++;
  65.         if(count<=200)
  66.         {
  67.            if(count<=n)
  68.            {
  69.                       pwm=1;
  70.            }
  71.            else
  72.            {
  73.                       pwm=0;
  74.            }
  75.         }
  76.         else
  77.         {
  78.            count=0;
  79.            pwm=0;
  80.         }
  81. }
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:593642 發表于 2019-8-2 15:55 | 顯示全部樓層
講的不錯
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久综合网 | 亚洲综合久久精品 | 中文字幕一区二区三区四区五区 | 91精品国产美女在线观看 | h片在线免费看 | 欧美综合在线观看 | 最新黄色毛片 | 日日夜夜精品视频 | 亚洲精品欧美 | 中文字幕av中文字幕 | 一区二区三区四区在线 | 国产精品毛片一区二区三区 | 韩日视频在线观看 | 国产高清视频一区 | 99久久精品免费看国产小宝寻花 | 国产小视频在线 | 亚洲精久| 美女久久视频 | 99色综合| 91久久久久久久久 | 米奇成人网 | 日本三级线观看 视频 | 亚洲成av人影片在线观看 | 国产在线一区二区三区 | 亚洲狠狠 | 国产九九九九 | 一区二区三区 在线 | 欧美视频在线播放 | 99re热精品视频 | 91精品91久久久 | 欧美国产精品一区二区 | 欧美福利影院 | 亚洲精品99 | 国产精品污www在线观看 | 日本不卡一区 | 国产精品日日摸夜夜添夜夜av | 国产视频久久 | 亚洲精品久久久一区二区三区 | 国产激情精品 | 一级毛片播放 | h视频亚洲|