原创 AVR 多路 舵机控制(转)

2011-4-7 09:28 2431 2 15 分类: MCU/ 嵌入式

不久前作了个机械手。。用了四一个舵机。。

下面贴出一个舵机 的控制程序  。。多路。只需要在 中断程序中加代码就行
//头文件
#include <ioM16v.h>
#include <macros.h>
/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
uint pwm1,pwm2,pwm3,pwm4,base;
//端口初始化
void port_init(void)
{
 PORTA = 0xF0;
 DDRA  = 0xF0;
 PORTB = 0x00;
 DDRB  = 0x00;
 PORTC = 0x00;
 DDRC  = 0x00;
 PORTD = 0x00;
 DDRD  = 0x00;
}

//定时器T2初始化
void timer2_init(void)
{
 TCCR2  = 0x00;//停止定时器
 ASSR   = 0x00;//异步时钟模式
 TCNT2  = 0xE2;//初始值
 OCR2   = 0xE1;//匹配值
 TIMSK |= 0x40;//中断允许
 TCCR2  = 0x02;//启动定时器
}

//T2溢出中断服务程序
#pragma interrupt_handler timer2_ovf_isr:5
void timer2_ovf_isr(void)
{
 TCNT2 = 0xE2;
 base++;
 if((base*20)<pwm1)
  PORTA|=BIT(4);
 else PORTA&=~BIT(4);
 if(base==1000)
  {
   base=0;
   PORTA|=BIT(4);
  }
}

void init_devices(void)
{
 CLI(); //禁止所有中断
 MCUCR  = 0x00;
 MCUCSR = 0x80;//禁止JTAG
 GICR   = 0x00;
 port_init();
 timer2_init();
 SEI();//开全局中断
}
//主函数
void main(void)
{
 init_devices();
 pwm1=1500;
 while(1)
 {
  NOP();
 }
}
 
PARTNER CONTENT

文章评论13条评论)

登录后参与讨论

用户377235 2012-11-3 00:32

非常好

用户521115 2011-3-10 11:08

http://bbs.5imx.com/bbs/viewthread.php?tid=402962&extra=page%3D1&page=2

用户521115 2011-3-10 11:07

http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=922320

用户521115 2011-3-10 11:05

http://paperedu.cn/paper_9gkb5q/

用户521115 2011-3-10 11:05

http://www.starlunwen.com/article/html/33591.html

用户521115 2011-3-10 11:03

http://218.16.124.207/bbs/bbs_content_all.jsp?bbs_sn=3780522

用户521115 2011-3-10 11:02

http://bbs.roboticfan.com/archiver/showtopic-7249.aspx

用户521115 2011-3-10 10:58

http://blog.ednchina.com/mculab/85369/message.aspx

用户521115 2011-3-10 10:58

http://on-line-master-degrees.com/mxt97311

用户521115 2011-3-10 10:57

http://proteus261040013.blog.163.com/blog/static/11861188420099296230414/
相关推荐阅读
用户521115 2012-09-10 23:33
评论:@明明的杂货铺 博客中提到的“AVR通过串口给芯片烧录程序(ATMega16)”
avr 下载...
用户521115 2011-05-02 14:57
基于Windows CE 的USB Key 驱动程序设计
摘要:对Widows CE 系统下驱动结构进行了讨论,在深入研究针对USB 设备流接口驱动设计基础上,给出并分析了USB Key 设备驱动的部分关键代码。关键词:流设备驱动程序,USB Key 设备,...
用户521115 2011-04-20 18:56
CE下开发wifi miniport驱动之如何加载驱动
要写一个wifi miniport driver,首先得了解如何写一个基本的miniport driver。因为对于嵌入式系统来说,wifi大多是设计成chip on board,因此我这里也不涉对p...
用户521115 2011-04-15 10:40
Re: [RFC] CDC NCM USB host driver
Linux USB development and users ()headersGreg Lee | 8 Jun 23:47Re: [RFC] CDC NCM USB host driverGreg...
用户521115 2011-04-12 22:47
WinCE系统的USB功能定制,附WinCE中USB的架构
USB Function Driver:用于支持USB Device驱动。 USB Host Support:用于支持USB Host控制器驱动。 USB Human Input Device (HI...
我要评论
13
2
关闭 站长推荐上一条 /3 下一条