久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
求控制舵機的程序
[打印本頁]
作者:
admin
時間:
2015-10-26 07:11
舵機控制程序http://www.zg4o1577.cn/bbs/dpj-37116-1.html
作者:
wangxiangyang
時間:
2017-10-13 20:10
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//sbit KEY1 = P3^2; //定義調速的按鍵
sbit DC1 = P0^0; //定義舵機的控制端口
sbit DC2 = P0^1;
sbit DC3 = P0^2;
sbit DC4 = P0^3;
sbit DC5 = P0^4;
sbit DC6 = P0^5;
uchar CYCLE; //定義周期
uchar PWM1,PWM2,PWM3,PWM4,PWM5,PWM6; //定義低電平時間
/*********************************
函數:Delay_1ms()
參數:t
返回:無
功能:延時子程序,延時時間為 1ms * del。
使用晶振是11.0592M。 g
**********************************/
void Delay_1ms(uint t)
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<=100;j++);
}
/*********************************
函數:Time0Init()
參數:無
返回:無
功能:設置定時器0的工作方式2定時時長為100微秒,
并打開中斷和啟動定時器。
該例中使用的單片機晶振為11.0592M。
**********************************/
void Time0Init(void)
{
TMOD = 0x02; //設定定時器0工作在方式0模式
TH0 = 0xA4; //定時時長為100微秒的初值自動重載
TL0 = 0xA4; //定時時長為100微秒的初值
ET0 = 1; //打開定時器0中斷
EA = 1; //打開總中斷
TR0 = 1; //啟動定時器
}
/*********************************
函數:Time0Int()
參數:無
返回:無
說明:定時器0中斷函數。用于處理PWM的信號。
**********************************/
void Time0Int() interrupt 1
{
static uchar Count;
Count++;
if(Count >= PWM1)
{
DC1= 1;
} else DC1 = 0;
if(Count >= PWM2)
{
DC2 = 1;
} else DC2 = 0;
if(Count >= PWM3)
{
DC3 = 1;
} else DC3 = 0;
if(Count >= PWM4)
{
DC4 = 1;
} else DC4 = 0;
if(Count >= PWM5)
{
DC5 = 1;
} else DC6 = 0;
if(Count >= PWM6)
{
DC6 = 1;
} else DC6 = 0;
Count++;
if(Count == CYCLE)
{
Count=0;
}
}
//void PWMInit()
//{
// PWM1=146;
// Delay_1ms(5);
// PWM2=186;
// Delay_1ms(5);
// PWM3=189;
// Delay_1ms(5);
// PWM4=170;
// Delay_1ms(5);
// PWM5=146;
// Delay_1ms(5);
// PWM6=148;
// Delay_1ms(5);
//}
// void PWMna()
// {
// PWM1=158; Delay_1ms(5);
// PWM2=158; Delay_1ms(5);
// PWM3=182; Delay_1ms(5);
// PWM4=189; Delay_1ms(5);
// PWM5=174; Delay_1ms(5);
// PWM6=185; Delay_1ms(5);
// }
//void PWMfang()
//{
// PWM1=174; Delay_1ms(5);
// PWM2=174; Delay_1ms(5);
// PWM3=154; Delay_1ms(5);
// PWM4=189; Delay_1ms(5);
// PWM5=146; Delay_1ms(5);
// PWM6=169; Delay_1ms(5);
//}
void main()
{
Time0Init(); //定時器0初始化
CYCLE = 200; //定義PWM周期為20毫秒
/*傳統舵機 必須連續發信號,,數字舵機去掉while(1)就ok了*/
while(1)
{
// PWMInit();
// Delay_1ms(1000);
// PWMna();
// Delay_1ms(1000);
// PWMfang();
// Delay_1ms(1000);
//Delay_1ms(500);
PWM1=176; Delay_1ms(250);
// PWM2=174; Delay_1ms(500);
PWM3=176; Delay_1ms(500);
// PWM4=189; Delay_1ms(50);
// PWM5=179; Delay_1ms(50);
//PWM6=169; Delay_1ms(5)
Delay_1ms(1000);
PWM1=190; Delay_1ms(250);
// PWM2=186; Delay_1ms(500);
PWM3=192; Delay_1ms(500);
Delay_1ms(1000);
}
}
作者:
wangxiangyang
時間:
2017-10-13 20:11
admin 發表于 2015-10-26 07:11
舵機控制程序http://www.zg4o1577.cn/bbs/dpj-37116-1.html
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//sbit KEY1 = P3^2; //定義調速的按鍵
sbit DC1 = P0^0; //定義舵機的控制端口
sbit DC2 = P0^1;
sbit DC3 = P0^2;
sbit DC4 = P0^3;
sbit DC5 = P0^4;
sbit DC6 = P0^5;
uchar CYCLE; //定義周期
uchar PWM1,PWM2,PWM3,PWM4,PWM5,PWM6; //定義低電平時間
/*********************************
函數:Delay_1ms()
參數:t
返回:無
功能:延時子程序,延時時間為 1ms * del。
使用晶振是11.0592M。 g
**********************************/
void Delay_1ms(uint t)
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<=100;j++);
}
/*********************************
函數:Time0Init()
參數:無
返回:無
功能:設置定時器0的工作方式2定時時長為100微秒,
并打開中斷和啟動定時器。
該例中使用的單片機晶振為11.0592M。
**********************************/
void Time0Init(void)
{
TMOD = 0x02; //設定定時器0工作在方式0模式
TH0 = 0xA4; //定時時長為100微秒的初值自動重載
TL0 = 0xA4; //定時時長為100微秒的初值
ET0 = 1; //打開定時器0中斷
EA = 1; //打開總中斷
TR0 = 1; //啟動定時器
}
/*********************************
函數:Time0Int()
參數:無
返回:無
說明:定時器0中斷函數。用于處理PWM的信號。
**********************************/
void Time0Int() interrupt 1
{
static uchar Count;
Count++;
if(Count >= PWM1)
{
DC1= 1;
} else DC1 = 0;
if(Count >= PWM2)
{
DC2 = 1;
} else DC2 = 0;
if(Count >= PWM3)
{
DC3 = 1;
} else DC3 = 0;
if(Count >= PWM4)
{
DC4 = 1;
} else DC4 = 0;
if(Count >= PWM5)
{
DC5 = 1;
} else DC6 = 0;
if(Count >= PWM6)
{
DC6 = 1;
} else DC6 = 0;
Count++;
if(Count == CYCLE)
{
Count=0;
}
}
//void PWMInit()
//{
// PWM1=146;
// Delay_1ms(5);
// PWM2=186;
// Delay_1ms(5);
// PWM3=189;
// Delay_1ms(5);
// PWM4=170;
// Delay_1ms(5);
// PWM5=146;
// Delay_1ms(5);
// PWM6=148;
// Delay_1ms(5);
//}
// void PWMna()
// {
// PWM1=158; Delay_1ms(5);
// PWM2=158; Delay_1ms(5);
// PWM3=182; Delay_1ms(5);
// PWM4=189; Delay_1ms(5);
// PWM5=174; Delay_1ms(5);
// PWM6=185; Delay_1ms(5);
// }
//void PWMfang()
//{
// PWM1=174; Delay_1ms(5);
// PWM2=174; Delay_1ms(5);
// PWM3=154; Delay_1ms(5);
// PWM4=189; Delay_1ms(5);
// PWM5=146; Delay_1ms(5);
// PWM6=169; Delay_1ms(5);
//}
void main()
{
Time0Init(); //定時器0初始化
CYCLE = 200; //定義PWM周期為20毫秒
/*傳統舵機 必須連續發信號,,數字舵機去掉while(1)就ok了*/
while(1)
{
// PWMInit();
// Delay_1ms(1000);
// PWMna();
// Delay_1ms(1000);
// PWMfang();
// Delay_1ms(1000);
//Delay_1ms(500);
PWM1=176; Delay_1ms(250);
// PWM2=174; Delay_1ms(500);
PWM3=176; Delay_1ms(500);
// PWM4=189; Delay_1ms(50);
// PWM5=179; Delay_1ms(50);
//PWM6=169; Delay_1ms(5)
Delay_1ms(1000);
PWM1=190; Delay_1ms(250);
// PWM2=186; Delay_1ms(500);
PWM3=192; Delay_1ms(500);
Delay_1ms(1000);
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一级大片
|
日韩成人在线观看
|
亚洲一区成人
|
日本手机在线
|
久久国产精品偷
|
日韩精品久久久久
|
日韩国产中文字幕
|
午夜小电影
|
成人精品一区二区三区中文字幕
|
日韩高清电影
|
一区二区三区不卡视频
|
成人精品鲁一区一区二区
|
天天激情综合
|
久久国产综合
|
久久久免费
|
羞羞视频网站在线观看
|
国产欧美精品一区二区三区
|
欧美色综合一区二区三区
|
99视频在线免费观看
|
国产精品久久
|
亚洲美女视频
|
最新91在线
|
一本一道久久a久久精品蜜桃
|
成人三级影院
|
91热爆在线观看
|
啪啪网页
|
日韩影院在线观看
|
亚洲视频在线看
|
香蕉av免费
|
在线视频成人
|
欧美乱大交xxxxx另类电影
|
啪啪免费网站
|
日韩在线一区二区三区
|
亚洲精品国产a久久久久久 午夜影院网站
|
成人福利视频网站
|
涩涩视频在线看
|
一级国产精品一级国产精品片
|
国产精品毛片一区二区三区
|
日韩欧美中文
|
国产目拍亚洲精品99久久精品
|
激情av免费看
|