1008-基于51单片机的5路舵机控制系统(5路)原理图、流程图、物料清单、仿真图、源代码

1008-基于51单片机的5路舵机控制系统(5路)原理图、流程图、物料清单、仿真图、源代码

功能介绍:

一个按键控制正转一个控制反转,共10个按键,然后再用一个按键控制5个舵机同时正转一个舵机同时控制5个舵机反转,共12个按键。
LCD1602显示当前舵机的旋转角度。

注:51单片机的速度比较低,控制精度也很差。本设计的角度不能细调,只能粗调。仅供学习参考

有哪些资料:

1、仿真工程文件
2、源代码工程文件
3、原理图工程文件
4、流程图
5、功能介绍
6、元件清单

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

#include "reg51.h"			 //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int

sbit motor0=P2^3;//第一个电机
sbit motor1=P2^4;//第二个电机
sbit motor2=P2^5;//第三个电机
sbit motor3=P2^6;//第四个电机
sbit motor4=P2^7;//第五个电机
uchar pwm[5]={7,7,7,7,7};//每个电机占空比
uint time=0;//计时变量
uchar sec=0;
uchar disp[]="000 ";
/*******************************************************************************
* 函 数 名         : delay(uint i)
* 函数功能		   : 延时
* 输    入         : i
* 输    出         : 无
*******************************************************************************/
void delay(uint i)
{
	while(i--);
}
/*******************************************************************************
* 函 数 名         : Timer0Init
* 函数功能		   : 定时器0初始化
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void Timer0Init()
{
	TMOD|=0X12;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
	TH0=106;	//给定时器赋初值,定时100us
	TL0=106;
	TH1=0X3C;//50ms
	TL1=0XB0;	
	ET1=1;
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	TR1=1;			
}
/*******************************************************************************
* 函 数 名         : Timer0Init
* 函数功能		   : 定时器0初始化
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
uchar key_scan()//按键检测
{
uchar i,j;
i=0;
j=0;
P1=0x0f;
if(P1!=0x0f) //检测有无按下
{
 switch(P1)//检测行
 {
  case 0x0e:i=3;break;
  case 0x0d:i=2;break;
  case 0x0b:i=1;break;
  case 0x07:i=0;
 }
 P1=0xf0;
 switch(P1)//检测列
 {
  case 0xe0:j=13;break;
  case 0xd0:j=9;break;
  case 0xb0:j=5;break;
  case 0x70:j=1;
 }
}
return i+j;
}
/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我Eric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值