求飞思卡尔杯智能车大赛部分程序

我现在做的是测速这部分,想要C语言程序代码,希望有注释的,请教高手帮帮忙,发邮箱里也行,直接写在这儿也行。邮箱是:[email protected],多谢!分不够可以加,好商量。

#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

unsigned int count=0; //用于记录0.5s内八位脉冲累加器溢出次数
unsigned int pulse=0; //用于记录0.5s内脉冲次数

void init_SCI(void)
{
SCI0BDH=0x00;
SCI0BDL=0x34; //设置波特率为9600
SCI0CR1=0; //设置8位数据位
SCI0CR2=0x0C; //发送接受使能
}

void init_PWM(void)
{
PWME=0X00; //PWM禁止
PWMPRCLK=0x10; //Clock B=8M/2=4MHz
PWMSCLB=200; //Clock SB=Clock B/2/200=10kHz
PWMCLK=0x0c; //设置PWM2、PWM3的时钟源均为Clock SB
PWMPOL=0x0c; //设置PWM2、PWM3的极性均为1
PWMCAE=0x00; //设置PWM2、PWM3的对齐方式为左对齐
PWMPER2=200; //设置PWM的周期为0.02s
PWMDTY2=100; //设置PWM2的周期内高电平时间
PWMPER3=200; //设置PWM的周期为0.02s
PWMDTY3=60; //设置PWM3的周期内高电平时间
PWME=0x0c; //PWM2、PWM3使能
}

void init_ECT (void) //ECT模块初始化
{
TSCR1_TEN=0; //计数器清零
TSCR2=0x07; //Clock=Bus Clock/128=8M/128=62500Hz
TIOS_IOS0=1; //0通道作为脉冲累加器输出比较
TIOS_IOS1=0; //1通道作为脉冲累加器输入捕捉
TC0=0x7A12; //ECT0定时0.5s,0x7A12=31250
TCTL4=0x04; //ECT1捕捉上升沿
TIE_C0I=1; //设置输出比较中断使能
PBCTL_PBEN=0; //16位脉冲累加器B禁止
ICPAR_PA1EN=1; //设置八位脉冲累加器PA1EN
PBCTL_PBOVI=1; //设置PA1EN中断使能
DLYCT=0x01; //延时256个Bus Clock,即32us
TSCR1_TEN=1; //启动定时器
}

void interrupt 27 PACBCOUNT(void)
{
PBFLG_PBOVF=1; //清除八位脉冲累加器溢出中断标志
count++; //八位脉冲累加器溢出次数加1
}

void interrupt 8 READCOUNT(void)
{
TFLG1_C0F=1; //比较中断标志清零
TC0+=0X7A12; //设定时间隔0.5s
pulse=count*256+PACN1; //定时时间内的脉冲数
while(!(SCI0SR1_TDRE))
; //等发射数据寄存器空
SCI0DRL=pulse/256; //将高位发送到PC
while(!(SCI0SR1_TDRE))
; //等发射数据寄存器空
SCI0DRL=0; //将低位发送到PC
PACN1=0; //脉冲累加器清零
count=0; //count置零,重新计溢出数
pulse=0; //将pulse置零,重新计脉冲数
}

void main(void)
{
DDRB=0xFF; //设置PORTB输出
PORTB=0x04; //设置33886的D1、D2分别为低电平、高电平
init_SCI();
init_PWM();
init_ECT();
EnableInterrupts;
for(;;)
{}
}

需要与硬件相对应,是针对S12DG128的.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-19
一、器材限制规定

一、器材限制规定
1. 须采用统一指定的车模,细节及改动限制见附件一;
2. 须采用限定的飞思卡尔16位微控制器MC9S12DG128作为唯一控制处理器,有关细节及其它电子器件使用之限制见附件二;
3. 其他事项

如果损毁车模中禁止改动的部件,需要使用相同型号的部件替换;
车模改装完毕后,尺寸不能超过:250mm 宽和400mm长,高度无限制。
二、有关赛场的规定
1. 赛道基本参数(不包括拐弯点数、位置以及整体布局)见附件三;
2. 比赛赛道实际布局将在比赛当日揭示,在赛场内将安排与实际赛道具有相同材料的测试赛道供参赛队进行调试;本回答被提问者采纳
相似回答