找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙或者串口控制舵机程序

[复制链接]
跳转到指定楼层
楼主
ID:880857 发表于 2021-3-24 15:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机,蓝牙控制舵机程序
#include<AT89x52.H>
#include <intrins.h>
unsigned char count;      //0.5ms次数标识
sbit pwm =P0^4;          //PWM信号输出
#define uint unsigned int
#define uchar unsigned char
uchar count = 0;
uchar scount = 15;
void delay(unsigned char i)//延时
{
unsigned char j,k;
for(j=i;j>0;j--)
   for(k=125;k>0;k--);
}
void init()        
{
SCON=0x50;
TMOD|=0x20;
TH1=0xfd;
TL1=0xfd;
TCON|=0x40;
TR1=1;
ES = 1;
EA=1;
}
void Time0_Init()          //定时器初始化
{
TMOD|= 0x01;           //定时器0工作在方式1   
IE|= 0x82;
TH0 = 0xff;
TL0 = 0x9c;     //11.0592MZ晶振
TR0=1;                 //定时器开始
}
/* 定时器0中断服务程序 */
void Time0() interrupt 1
{
   
TH0= 0xff;   //重装初值0.1ms
TL0= 0x9c;
   if(count <= scount) //控制占空比左右
    {
       //如果count的计数小于(5-25)也就是0.5ms-2.5ms则这段小t周期持续高电平。产生方波
       pwm = 1;
    }
   else
    {
       pwm = 0;
    }
count=(count+1);          //0.5ms次数加1
count=count%200;     //次数始终保持为40 即保持周期为20ms
}
void main()
{
count=0;
Time0_Init();
init();
            
}
//串口中断
void time() interrupt 4
{
       unsigned char receiveData;
       receiveData=SBUF;//出去接收到的数据
       RI = 0;//清除接收中断标志位
       SBUF=receiveData;//将接收到的数据放入到发送寄存器
       while(!TI);                        //等待发送数据完成
       TI=0;   
switch(SBUF)
{
case '1':scount--;
           if(scount <= 5)
           {
                scount = 5;
           }
           count = 0;
break;
case '2':scount++;
           if(scount >= 25)
           {
                scount = 25;
           }
           count = 0;
break;
case '3':scount--;
           if(scount<= 10)
           {
                scount = 10;
           }
           count = 0;break;
case '4':scount++;
           if(scount >= 20)
            {
                scount = 20;
           }
           count = 0;
break;
}
}                                            
                        

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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