- 1、本文档共95页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
飞思卡尔培训1
飞思卡尔智能车_单片机篇 飞思卡尔单片机 8位单片机 51,宏晶,C8051,AVR 16位单片机 飞思卡尔9S12XS128,ARM,430,DSP2000 飞思卡尔单片机 MC9S12sx128:16位单片机 系统时钟:晶振16M,总线时钟可到80M 模块时钟:可对系统时钟分频 功能及模块 IO端口 PWM ECT PIT ATD SCI 端口控制 概述 A、B:通用IO E: AD:ATD模块 K T:TIM模块 P:PWM模块 S:SCI模块 M J H 管脚图 单片机端口配置 最小系统管脚接线图 引脚 常用引脚 背面焊接 IO口设置 概述 PORTA,PORTB做IO,T,P,AD功能不变 AB口IO设置 输入输出: (1位对应一个端口) 方向寄存器A口- DDRA, B口- DDRB 0输入,1输出 输出时的驱动能力(1位对应一组端口) A口-RDRIV[0]; B口-RDRIV[1]; 1全额驱动能力,0缩减(全额/3)驱动能力 上拉电阻控制 (1位对应一组端口) A口-PUCR[0];B口-PUCR[1]; 1使用,0不使用 端口的位访问 PORTA DDRA PORTB DDRB 第一个练习 点亮一盏灯 PB3口 输出DDRB=0x0f; 亮灯:PORTB=0x00; 飞思卡尔单片机使用 官网: 飞思卡尔半导体/ 开发工具 CodeWarrior 下载:CW_S12_v5.0_Special(3).exe 安装:---- BDM调试器 安装驱动:USBDMrelease\driver 最小系统板使用 电路板 电源 系统板及插座 电阻,LED 操作过程 运行程序 CodeWarrior 写程序、编译、连接、下载 程序调试界面 效果图 单片机时钟 总线时钟频率 总线时钟:可编程改变(一般最大80M) 时钟合成寄存器SYNR低4位 时钟分频寄存器REFDV低4位 SYNR与REFDIV高位 FVCO=2*FOSC*(SYN+1)/(REF+1) SYNR =0xc0 | 0x04; FREF=FOSC/(REFDIV + 1) REFDV=0x80 | 0x01; 时钟设置典型程序1 时钟设置典型程序2 PWM模块 作用: 硬件方法产生PWM,控制电机 PWM产生原理 计数器 周期 比较值 原理:当计数器值=比较值时,电平翻转 PWM产生 起始电平:高 PWM产生原理 起始电平:低 PWM模块 8路PWM 8位 PWM寄存器设置 PWM允许:1允许,0禁止 极性:0起始低,1起始高 居中对齐:0左对齐,1居中对齐 周期寄存器PWMPERx :8位 比较值寄存器PWMDTYx : 8位 PWM时钟 时钟选择 CLOCKA/B:对总线时钟分频 PWM时钟 SA与SB由CLOCK A/B分频得到 PWM模块 级联 4路PWM 16位 PWM级联 CONxy=1,表示xy级联,组成16位PWM 01,23,45,67级联 PWM允许,极性,居中对齐寄存器,PWM输出 分别继承1,3,5,7 周期寄存器PWMPERxy :16位 比较值寄存器PWMDTYxy :16位 PWM寄存器 练习 利用1个8位PWM通道,左对齐方式,起始高电平,产生一个频率=10kHz,占空比=1/4的PWM波形。 计算: 周期10000=2400 超过8位,分频:2400/256=9.4,16分频 周期=2400/16=150 比较值:150/4=37 寄存器设置 PP0通道: PWME _PWME0=1 左对齐: PWMCAE_CAE0=0; 极性起始高电平: PWMPOL _PPOL0=1; 时钟选择: PWMCLK _PCLK0=0,CLKA A分频1/16:PWMPRCLK _PCKA=4 周期:PWMPER0=150 比较值:PWMDTY0=37 程序 PWME=1;//PP0通道: PWMCAE=0;//左对齐: PWMPOL=0;//极性起始高电平: PWMCLK=0;//时钟选择,CLKA PWMPRCLK=0x04;//A分频1/16: PWMPER0=150;//周期: PWMDTY0=37;//比较值: 单片机中断 void mian() { 初始化 For(;;) { 后台程序 。。。 } } 中断程序 中断程序定位 TIM模块ECT模块 输入捕捉 比较输出 16位脉冲累加器 TIM时钟和定时器 时钟分频 定时器使能 0停止 1使能 计数器TCNT原理 使能后从0-0xFFFF-0-0xFFFF循环计数 TIM时钟和定时器 当PRTN=1,定时器由PTPSR精密分频 TIM输入捕捉IC 捕捉跳变沿,跳变时刻装入寄存器 通道功能选择 0输入
文档评论(0)