飞思卡尔单片机mc9s12dg128的pwm参考程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

飞思卡尔单片机mc9s12dg128的pwm参考程序

大学生参考网() 发表时间:10月13日 17:44 提交:

demon

#include /* common defines and macros */

#include /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

/*

*********************************************************

*pwm初始化函数wangpanbao@北华大学王盼宝by demon 2007-5-12 *********************************************************/

void pwm_initial()//pwm初始化函数

{

PWME=0x22;//通道01,45使能

PWMPOL=0x22;//通道01,45输出波形开始极性为1

PWMCTL=0x50;//通道01,45级联

PWMCLK=0x02;//通道01选择SA为时钟源

PWMSCLA=0X04;//通道01时钟SA为3MHz(24/(2*4))

PWMPER01=60000;//设定通道01输出频率(50Hz)

PWMPER45=12000;//设定通道45输出频率(2KHz)

}

/*

*********************************************************

*pwm输出函数 by demon 2007-5-12

*程序描述;由输入参数向舵机和电机输出相应pwm

*参数:舵机方向:3300-5700 速度:0-12000

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

void pwm(int speed,int direction)//pwm

{

pwm_initial();

if(direction<3300) direction=3300;

if(direction>5700) direction=5700;

PWMDTY01=direction;

if(speed>12000) speed=12000;

PWMDTY45=speed;

}

飞思卡尔单片机mc9s12dg128的io口初始化参

考程序

大学生参考网() 发表时间:10月13日 17:47 提交:

demon

#include /* common defines and macros */

#include /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"//wangpanbao@北华大学王盼宝

void main()

{ DDRA=0x00;

DDRB=0xFF;

PUCR=0x02;

while(1)

{

PORTB=PORTA;

}

EnableInterrupts;

for(;;) {} /* wait forever */

/* please make sure that you never leave this function */

}

飞思卡尔单片机mc9s12dg128的ad初始化参考程序

void AD(void)

{

word t0=0;

word t1=0;

word t2=0;

word t3=0;

word t4=0;

word t5=0;

word t6=0;

word t7=0;

while(ATD0STAT0_SCF)

{

t0=ATD0DR0;

ad00= (byte)(t0>>8);//高8位移到低8位且高8位为0

t1=ATD0DR1;

ad01= (byte)(t1>>8);

t2=ATD0DR2;

ad02= (byte)(t2>>8);

t3=ATD0DR3;

ad03= (byte)(t3>>8);

t4=ATD0DR4;

ad04= (byte)(t4>>8);

t5=ATD0DR5;

ad05= (byte)(t5>>8);

t6=ATD0DR6;

ad06= (byte)(t6>>8);

t7=ATD0DR7;

ad07= (byte)(t7>>8);

}

相关文档
最新文档