⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h

📁 AVR单片机控制码盘程序
💻 H
字号:
/*
1。使用portc0-7作为8路舵机的脉冲信号
2。可调用控制函数HM_control()随时控制相应舵机的旋转角度,运行状态
3。角度控制精度为9度。
4。可根据需要,再添加可控舵机的路数,应可同时控制十六路,非同时控制更多路。
5。仅用了Timer0实现定时控制,通过对100us的中断个数进行软件计数来产生特定的控制脉冲
6。对不同类型的舵机,需要进行相应的修改。适合于周期20ms,脉宽0.5ms-2.5ms的舵机
*/

/**********************************************************************************
									Main.h
**********************************************************************************/
#ifndef _MAIN_
	#define _MAIN_
	
#define xtal 8	//定义延时函数所用到的晶振的频率
	
#define uint unsigned int
#define uchar unsigned char

#define Start 1
#define Stop 0

//八路舵机控制信号
#define HM0 0
#define HM1 1
#define HM2 2
#define HM3 3
#define HM4 4
#define HM5 5
#define HM6 6
#define HM7 7

//八路舵机运动状态量,初始为不给信号,舵机处于自由状态。
uchar HM0_state = Stop;
uchar HM1_state = Stop;
uchar HM2_state = Stop;
uchar HM3_state = Stop;
uchar HM4_state = Stop;
uchar HM5_state = Stop;
uchar HM6_state = Stop;
uchar HM7_state = Stop;

//舵机位置变量:各通道变量的取值范围是5-25,表示舵机控制要求的0.5ms-2.5ms的高电平脉冲,
uchar HM0_position = 0;
uchar HM1_position = 0;
uchar HM2_position = 0;
uchar HM3_position = 0;
uchar HM4_position = 0;
uchar HM5_position = 0;
uchar HM6_position = 0;
uchar HM7_position = 0;

//舵机控制函数,包括舵机通道选择变量num,状态设置变量state,舵机旋转角度变量angle。
void HM_control(uchar num, uchar state, uchar angle);
void Delay_ms(uint n);	//较为精确地延时n×1ms。

#endif
/**************************************************************************/ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -