智能车制作

标题: 悬赏 PID 模拟程序为啥用不了啊 [打印本页]

作者: 蓝毅Sep    时间: 2013-8-5 16:53
标题: 悬赏 PID 模拟程序为啥用不了啊
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
unsigned char i=0;
unsigned char PWM;

void PIT_init(void)
{ DDRB=0XFF;
  PORTB=0XFF;
PITCFLMT=0X00;
PITCE_PCE0=1;
PITMUX=0X00;
PITMTLD0=0X0F;
PITLD0=0X0011;
PITINTE=0X01;
PITCFLMT=0X80;

}
void delay(int a)
{
unsigned int i,j;
for(i=0;i<a;i++)
for(j=0;j<1024;j++);
}





#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt VectorNumber_Vpit0 void PIT_ISR(void)
{
PITTF_PTF0=1;
i++;
  if(i==200)
  i=0;
if(i<PWM)
PORTB=0XFF;
else
PORTB=0;

}
#pragma CODE_SEG  DEFAULT
void main(void)
{
PIT_init();
PWM=0;
}



作者: 灰原姐姐    时间: 2013-8-5 17:16
你这是PWM模拟程序而不是PID模拟程序吧?
而且PWM已经赋值为0了,自然是没有输出的。
作者: Magnetoplas    时间: 2013-8-5 17:17
PID在哪
作者: 蓝毅Sep    时间: 2013-8-5 17:25
PIT  不好意思  PWM赋值为零  还是输出5伏
作者: 冷霜    时间: 2013-8-5 22:38
i<PWM  这个条件会满足吗?
作者: 穆旦阿斗    时间: 2013-8-5 23:13
#pragma CODE_SEG  DEFAULT
void main(void)
{
PIT_init();
PWM=100;
for(;;)
{
  //空
}
}
作者: 蓝毅Sep    时间: 2013-8-6 08:38
冷霜 发表于 2013-8-5 22:38
i

会啊  i 初值为零
作者: 冷霜    时间: 2013-8-7 20:58
蓝毅Sep 发表于 2013-8-6 08:38
会啊  i 初值为零

但PWM的值是不是一直为零啊

作者: 天河之外    时间: 2013-12-2 23:42

作者: 打出一片天!    时间: 2014-5-24 15:40





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2