標(biāo)題: 51單片機(jī)觸摸開(kāi)關(guān)控制9g舵機(jī)源程序 [打印本頁(yè)]

作者: 于麗華    時(shí)間: 2022-2-11 14:02
標(biāo)題: 51單片機(jī)觸摸開(kāi)關(guān)控制9g舵機(jī)源程序
STC89C52RC型號(hào)的51單片機(jī)中觸摸開(kāi)關(guān)控制9g舵機(jī),親測(cè)可用,有疑問(wèn)可以找我呦   

制作出來(lái)的實(shí)物圖如下:

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


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #define unchar unsigned char
  3. unsigned char count;      //0.5ms次數(shù)標(biāo)識(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()          //定時(shí)器初始化
  10. {
  11. TMOD = 0x01;           //定時(shí)器0工作在方式1   
  12. TH0  =  (65535-500)/256;
  13. TL0  =  (65535-500)%256;    //12MZ晶振,0.5ms
  14. EA=1;            //總中斷打開(kāi)
  15. ET0=1;           //定時(shí)器中斷打開(kāi)
  16. TR0=1;           //定時(shí)器開(kāi)關(guān)打開(kāi)
  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ù)是否小于角度標(biāo)識(shí)
  25.      {
  26.           pwm1=1;                  //確實(shí)小于,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ù)標(biāo)識(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單片機(jī)控制舵機(jī).zip (3.9 MB, 下載次數(shù): 20)






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1