搜索
bottom↓
回复: 15

阿莫:帮看看这个??帮忙拿示波器测一下看看??告诉我波形。

[复制链接]

出0入0汤圆

发表于 2004-11-24 14:36:54 | 显示全部楼层 |阅读模式
这是驱动舵机的程序

舵机为1-2ms的脉冲

间隔是20ms



帮忙拿示波器测一下看看??告诉我波形。

要是不行帮改改。



CodeVision



#include <mega16.h>



int zkb;         

int t1,t2;     





// Timer 2 overflow interrupt service routine

interrupt [TIM2_OVF] void timer2_ovf_isr(void)

{

// Reinitialize Timer 2 value

//每次触发为20微秒

TCNT2=0xEC;

   

    if(t1!=0){

      t1-=1;

    }else{   

      PORTA.0=!PINA.0;

      if(PINA.0==1){

        t1=zkb/20;               

        t2=(20000-zkb)/20;        

      }else           

      {

        t1=t2;  

      }

    }                        

   

}



// Declare your global variables here

void delay_1ms(void); //函数声明,本实验中会用到这两个函数

void delay_nms(unsigned int n);   





void main(void)

{            

int aa=20;

/*初始化参数*/

zkb=1500;   

t1=zkb/20;        

t2=20000-t1;   

/********************************************/



OSCCAL=0X95;//系统时钟校准,不同的芯片和不同的频率

PORTA=0x00;

DDRA=0x00;

DDRA.0=1;



PORTA.0=1;



// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: 1000.000 kHz

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x02;

TCNT2=0xEC;

OCR2=0x00;



// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x40;



// Global enable interrupts

#asm("sei")



while (1)

      {

        delay_nms(1000);

        zkb+=aa;

        if(zkb>2000||zkb<1000){

          zkb=1000;            

          aa=-aa;

        }  

      }

}     



void delay_1ms(void)//1ms延时函数

{

  unsigned int i;

  for (i=0;i<150;i++)

  {

  }

}   



void delay_nms(unsigned int n)//延时n毫秒

{

  unsigned int i;

  for (i=0;i<n;i++)//执行n次1毫秒延时

  delay_1ms();

}
头像被屏蔽

出0入0汤圆

发表于 2004-11-24 14:44:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2004-11-24 15:06:37 | 显示全部楼层
驱动舵机的程序,不错,不错

又来个玩模型的,这个作成了回头机器人又多个模块了
头像被屏蔽

出0入0汤圆

发表于 2004-11-24 15:11:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-24 15:13:05 | 显示全部楼层
程序是我写的。

但是这个程序我调试没通过,所以请你帮忙用示波器看一下。

我手里没有示波器
头像被屏蔽

出0入0汤圆

发表于 2004-11-24 15:16:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-24 15:17:30 | 显示全部楼层
要是有示波器,用不了一个小时,调试就能通过。
头像被屏蔽

出0入0汤圆

发表于 2004-11-24 15:39:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-24 15:55:49 | 显示全部楼层
hehe



很简单的呀  测试PORTA.0

mega16接上电就行       8M

内部晶体



注意:源代码中有时钟效正



我借的示波器晚上拿回来。呵呵
头像被屏蔽

出0入0汤圆

发表于 2004-11-24 16:24:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-26 21:24:32 | 显示全部楼层
to 阿莫:

  程序弄好了,如何上传??
头像被屏蔽

出0入0汤圆

发表于 2004-11-26 22:58:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-27 11:56:13 | 显示全部楼层
to 阿莫:

   你好,这是最终的测试结果,效果不错。

   http://61.180.240.51:8888/down/AVR_mcu/可变脉宽输出试验(舵机控制).rar

   中文文件名,要用下载软件下载。

   你的服务器太慢了。我没有上传。如果你愿意,过一段我可以提供一个空间给你包括ftp和web,有了镜像空间,速度能快不少。
头像被屏蔽

出0入0汤圆

发表于 2004-11-27 13:15:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2004-11-27 15:56:47 | 显示全部楼层
to 阿莫:

   忘了告诉你,我的程序是用CodeVisionAVR调试的。里面的汇编是编译时的中间代码。

还有,镜像的问题,因为空间是我朋友管理的。我还要做些工作。但如果可以提供的话,我想我会免费提供给你,我喜欢avr,喜欢ouravr.com 。谢谢你同意我进入授权区。别忘了帮我开通此功能。
头像被屏蔽

出0入0汤圆

发表于 2004-11-27 19:10:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 06:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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