找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1727|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機觸摸開關(guān)控制9g舵機源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:461901 發(fā)表于 2022-2-11 14:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STC89C52RC型號的51單片機中觸摸開關(guān)控制9g舵機,親測可用,有疑問可以找我呦   

制作出來的實物圖如下:

   0.5ms--------------0度;
   1.0ms------------45度;
   1.5ms------------90度;
   2.0ms-----------135度;
   2.5ms-----------180度;


單片機源程序如下:
  1. #include<reg52.h>
  2. #define unchar unsigned char
  3. unsigned char count;      //0.5ms次數(shù)標識
  4. unsigned char jd=0;  
  5. sbit pwm1 = P1^0;
  6. unsigned char flag=1;
  7. unsigned char flag1=1;
  8. sbit key1=P2^0;


  9. void Time0_Init()          //定時器初始化
  10. {
  11. TMOD = 0x01;           //定時器0工作在方式1   
  12. TH0  =  (65535-500)/256;
  13. TL0  =  (65535-500)%256;    //12MZ晶振,0.5ms
  14. EA=1;            //總中斷打開
  15. ET0=1;           //定時器中斷打開
  16. TR0=1;           //定時器開關(guān)打開
  17. }

  18. void Time0_Int() interrupt 1
  19. {
  20.    static int t=0;
  21.    t++;
  22.   TH0  = (65535-500)/256;             //重新賦值
  23.    TL0  = (65535-500)%256;   
  24.     if(count< jd)              //判斷0.5ms次數(shù)是否小于角度標識
  25.      {
  26.           pwm1=1;                  //確實小于,PWM輸出高電平
  27.      }
  28.     else
  29.       {
  30.           pwm1=0;                 //大于則輸出低電平
  31.       }
  32.     count++;        //0.5ms次數(shù)加1
  33.      if(count>=40)
  34.      count=0;
  35.    
  36.                
  37. }
  38.    unsigned char count;      //0.5ms次數(shù)標識

  39. void keyscan()              //按鍵掃描
  40. {
  41.     if(key1==0&&flag1)
  42.         {
  43.         
  44.            flag=!flag;
  45.            flag1=0;
  46.    }else if(key1) flag1=1;
  47.             
  48. }

  49. void main()
  50. {
  51.       
  52. count=0;
  53. Time0_Init();
  54. while(1)
  55. {
  56.         keyscan();
  57.         if(flag)
  58.                 {
  59.                   jd=4;
  60.                
  61.                 }
  62.                 else
  63.                 jd=1;

  64. }
  65. }
復(fù)制代碼


hex文件下載(uv2版本的工程):
51單片機控制舵機.zip (3.9 MB, 下載次數(shù): 20)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表