飞思卡尔单片机mc9s12dg128的pwm参考程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
飞思卡尔单片机mc9s12dg128的pwm参考程序
大学生参考网() 发表时间:10月13日 17:44 提交:
demon
#include
#include
#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
#include
#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);
}