找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1158|回复: 0
收起左侧

51单片机触摸开关控制9g舵机源程序

[复制链接]
ID:461901 发表于 2022-2-11 14:02 | 显示全部楼层 |阅读模式
STC89C52RC型号的51单片机中触摸开关控制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次数标识
  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;           //定时器开关打开
  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次数是否小于角度标识
  25.      {
  26.           pwm1=1;                  //确实小于,PWM输出高电平
  27.      }
  28.     else
  29.       {
  30.           pwm1=0;                 //大于则输出低电平
  31.       }
  32.     count++;        //0.5ms次数加1
  33.      if(count>=40)
  34.      count=0;
  35.    
  36.                
  37. }
  38.    unsigned char count;      //0.5ms次数标识

  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. }
复制代码
51hei.png

hex文件下载(uv2版本的工程):
51单片机控制舵机.zip (3.9 MB, 下载次数: 20)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表