飞思卡尔xs128初始化_第1页
飞思卡尔xs128初始化_第2页
飞思卡尔xs128初始化_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XS128初始化参考方案2010-02-0320:45#include<hidef.h>/*commondefinesandmacros*/#include<MC9s12XS128.h>/*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12xs128"#include"Hard.h"/XS128PLL初始化函数*/功台匕目匕:*/芯片初始化设置:通过设置CLKSELJ存器,确定内部总线的时钟源;通过PLL编*/程,设置PLLCLK通过设置INTCR和COPCT寄存器,分

2、别决定是否允许IRQ中断和*/看门狗。/(1)外部晶振=16MHZBusClock=40MHZ/(3)禁止看门狗/参数:无/返回:无/*/定义波特率Bt=14400,SCI0BD=fBUS/(16*Bt)staticvoidPLL_Init(void)(./(2)CLKSEL的第7位置0,选择系统时钟源为OSCCLK/在PLL程序执行前,内部总线频率=OSCCLK/2/clksel.7(PLL选择位)决定内部总线时钟来源/=O,BusClock=OSCCLK/2;=1,BusClock=PLLCLK/2CLKSEL&=0x7f;/此时:BusClock=OSCCLK/2/(3)禁止PL

3、LPLLCTL&=0xbf;/PLLCTL.6(pllon)设为0;先关闭PLL/(4)根据需要的时钟频率设置SYNRf口REFDVJ存器/计算公式:PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)SYNR=0x04;/对PLLCLM曾频的因子REFDV=0x01;/对PLLCL6频的因子/(5)打开PLLPLLCTL|=(1<<6);/PLLCTL.6(pllon)设为1;开PLL/(6)通过判断CRGFLG1存器的LOC6,确定PLL是否稳定while(CRGFLG&0X08)=0x00);/(7)时钟频率稳定后,允许锁相环时钟源作为系统时钟

4、源;CLKSEL|=(1<<7);/本旬执行后:BusClock=PLLCLK/2/(8)设置是否允许IRQ中断、是否允许看门狗IRQCR&=0xbf;COPCTL=0x00;voidIOInit()/DDRB=0xff;/PORTB=0x0f;/IRQCR.6(IRQEN)=0/COPCTL.2-0(cr2:cr0)=000测试用的IO口禁止IRQ中断(默认开)禁止看门狗初始时,电机停止转动直流电机倒转直流电机正转*/voidPwmInit(void)PWME=0X00;/PWMCTL_CON23=1;PWMCAE_CAE3=0;PWMPOL_PPOL3=1;PWMPRC

5、LK=0X00;PWMSCLB=0X05;PWMCLK_PCLK3=1;PWMPER23=40000;PWMDTY23=5950;处于正中间PWME_PWME3=1;DDRH=0xcf;/NRF24L01无线发送端口占用低6位DDRM|=0x03;/PM0、1口控制电机PTM|=0x03;/A0=0,A1=1/A0=1,A1=0/*功能:未级联时直接选择PP3作为控制舵机的口,级联后,需要改为PP3口作为舵机控制口。最好的方案:选择23口级联*禁止PW喻出/通道2,3级联/左对齐/PWM输出起始为高电平/ClockB不分频/ClockSB=fbus/10ClockSB为4MHZ/时钟来源选择C

6、lockSB/输出周期=(1/4M)*(40000)=10ms/高电平持续时间1.5ms,使舵机输出转角为0,舵机/启动PW嘛出/*功能:直流电机速度端口初始化端口:PTP1口,方向端口:PTM01*/voidMOTOR_PWM_Init(void)PWMCTL_CON01=1;/通道01级联PWMCAE_CAE1=0;/左对齐PWMPOL_PPOL1=1;/PWM输出起始为高电平PWMPRCLK=0X00;/ClockA不分频PWMSCLA=0X01;/ClockSA=fbus/4ClockSA为10MHzPWMCLK_PCLK1=1;/时钟来源选择ClockSAPWMPER01=10000

7、;/输出周期=(1/10M)*(10000)=1msPWMDTY01=3000;/府电平时间325us/启动速度调试时待改PWME_PWME1=1;/启动PW嘛出/*功能:激光管检测路面信息初始化占用端口:原ATD转换多用口,作为普通IO口使用时需设ATD0DIE时全1.*/voidSeniorInit()DDR01AD0&=0xf000;/光电传感器借PAD0PAD11/占PAD。氐8位,占PAD0H氐三位PT01AD0=0x0000;/初始给端口低电平ATD0DIEN=0xffff;/普通IO使能/*功能:时基中断初始化,实现5ms中断这次使用:中断里500ms进行一次测速。*/v

8、oidinitPIT(void)PITCFLMT_PITE=0;/定时中断通道0关PITCE_PCE0=1;/定时器通道0使能PITMTLD0=40-1;/8位定时器初值设定。40分频,在40MHzBusClock下,为1MHz即1us.PITLD0=PITTIME-1;/16位定时器初值设定。PITTIME*0.001MSPITINTE_PINTE0=1;定时器中断通道0中断使能PITCFLMT_PITE=1;/定时器通道0使能/*功能:脉冲累加器初始化,实现脉冲测速。端口使用:PTT7口,电路接法:需要上拉电阻5.1千欧姆*/voidinitPACA(void)/初始化脉冲累加器APACTL=0x50;/PT7上升沿脉冲计数PACNT=0x00;/累加器置初值/*功能:硬件初始化,包括以上各初始化所有初始化都要在这里进行*voidHardInit()Disableinterrupts;/关闭中断IOInit();/IO初始化Seniorinit();/传感器设置PLL_In

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论