找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1132|回复: 1
打印 上一主题 下一主题
收起左侧

89c52制作舵机 摇头 快速回位

[复制链接]
跳转到指定楼层
楼主
ID:278244 发表于 2019-4-21 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
废话不多说直接代码吧
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm=P0^0;
sbit keyup=P3^2;
sbit keydn=P3^3;
sbit keysdk=P3^4;
sbit keysdm=P3^5;
uchar qi=10,zhi=10;
uchar count0,flag,jd;
int count1,sd=20;
void delay(uint z)
{
  uchar x,y;
  for(x=z;x>0;x--)
      for(y=110;y>0;y--);
}
void tm_init()
{
  TMOD=0x11;//¶¨Ê±Æ÷1¡¢2 ¹¤×÷ÔÚģʽ1 ¼´65536
  TH1=(65536-50000)/256;//¶¨Òå500ms
  TL1=(65536-50000)%256;
  TH0=0xff;//¶¨Òå0.1ms
  TL0=0x9c;
  IE=0x8a;
  TR0=1;
  TR1=1;  
}
void tm0_int() interrupt 1 //t0¶¨Òå
{
  uchar temp;
  TH0=0xff;//¶¨Òå0.1ms
  TL0=0x9c;  
  if(flag==1)
    temp=qi;
  else
    temp=zhi;
  if(count0<temp)
     pwm=1;
  else
     pwm=0;
  count0=count0+1;
  count0=count0%200;

}
void tm1_int() interrupt 3
{
   TH1=(65536-50000)/256;//¶¨Òå500ms
   TL1=(65536-50000)%256;
   count1++;
   if(count1==4)
      flag=0;     
   if(count1==sd)//30Ãë   600
   {
      flag=1;
      count1=0;
   }
      
}
void test()
{
   if(keyup==0)
   {
     delay(20);
     if(keyup==0)
     {
     
         qi++;
         count0=0;
         while(!keyup);
     }
   }
     if(keydn==0)
   {
     delay(20);
     if(keydn==0)
     {
     
         qi--;
         count0=0;
         while(!keydn);
     }
   }
    if(keysdk==0)
   {
     delay(20);
     if(keysdk==0)
     {
     
         sd=sd+20;
         count1=0;
         while(!keysdk);
     }
   }
   if(keysdm==0)
   {
     delay(20);
     if(keysdm==0)
     {
     
         sd=sd-20;
         count1=0;
         while(!keysdm);
     }
   }
}
  
void main()
{
  uint m=0;
  count0=0;count1=0;
  jd=15;
  flag=1;//falg=1ʱcount0=10 flag=0ʱcount0=10
  tm_init();
  while(1)
  {
   test();
  }
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2019-4-22 04:36 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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