智能车设计
文章平均质量分 60
DEMOK2010
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
智能车电源电路设计方法
<br />飞思卡尔智能车的电源系统主要6节1.2伏的电池(共7.2伏)供电,系统共需要为摄像头、电机驱动、舵机、测速模块和单片机数字电路部分提供电压信号。<br />其中,摄像头、电机驱动和测速模块需要5V电压,单片机数字部分需要5V电压,舵机需要6V电压,电机需要7.2V电压。<br />为了满足系统要求的4种电压信号,可有DC/DC电源转换器和LDO两类器件可选。虽然DC/DC效率高,但是基于成本和设计简单的原则。一般采用LDO(low dropout regulator)完成降压设计。由于系统是7.原创 2010-09-12 20:25:00 · 6358 阅读 · 4 评论 -
手把手教你写S12XS128程序(17)--Timer模块介绍1
<br />1、简述<br /> MC9S12XS128定时器模块与MC9S12DG128 ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。<br /> HC12 增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车ABS 方面。<br /> 基准计时器的核心仍然是一个16 位的可编程计数器,其时钟源来自一个预分频器。该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。波形的脉宽可以在几微原创 2010-10-19 20:25:00 · 2336 阅读 · 0 评论 -
手把手教你写S12XS128程序(23)--Timer寄存器说明5
6、IC/OC 选择寄存器(TIOS)寄存器偏移量:$0000Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0TIOS 寄存器用于指定各个通道的功能,即工作于 IC 还是 OC 方式。当某位 IOSn=0 时,对应的通道 n 为输入捕捉(1C)通道,否则当 IOSn=1 时,通道 n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。【说明】上电后该寄存器默认为$00,TSCR 中的 TEN 默认也为 0,这时所有通道处原创 2010-10-19 20:30:00 · 1570 阅读 · 0 评论 -
手把手教你写S12XS128程序(25)--Timer模块应用实例2
6、IC/OC 选择寄存器(TIOS)寄存器偏移量:$0000Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0TIOS 寄存器用于指定各个通道的功能,即工作于 IC 还是 OC 方式。当某位 IOSn=0 时,对应的通道 n 为输入捕捉(1C)通道,否则当 IOSn=1 时,通道 n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。【说明】上电后该寄存器默认为$00,TSCR 中的 TEN 默认也为 0,这时所有通道处原创 2010-10-19 20:32:00 · 1913 阅读 · 0 评论 -
手把手教你写S12XS128程序(26)--SCI寄存器说明1
<br />1、波特率控制寄存器(SCIBDH、SCIBDL)<br /> <br /> <br /><br /><br /><br />IREN:红外调制模式使能位<br />1 使能<br />0 禁止<br />TNP[0..1]:窄脉冲发射位<br />SBR[0..12]:波特率设置位<br />When IREN = 0 then,<br />SCI baud rate = SCI bus clock / (16 x SBR[12:0])<br />When IREN = 1 then,<b原创 2010-10-19 20:39:00 · 2875 阅读 · 0 评论 -
手把手教你写S12XS128程序(15)--A/D寄存器说明5
<br />5、ATD0状态寄存器5---ATD0START0、ATD0START0<br /> <br />ATD0START0反映当前的转换通道、A/D转换是否结束、是否有外部触发等;<br />ATD0START1反映转换序列中相应的转换是否完成。寄存器ATD0START0、ATD0START1如图21所示: <br /> <br />SCF ---转换序列完成标志<br /> 在单次转换模式时,当转换完成后置位 (SCAN = 0)<br /> 在连续转换模式时,当第一次转换原创 2010-10-19 20:23:00 · 1296 阅读 · 0 评论 -
手把手教你写S12XS128程序(16)--A/D转换应用实例
<br />要让 ATD 开始转换工作,必须经过以下三个步骤:<br />1.将 ADPU 置 1,使 ATD 启动;<br />2.按照要求对转换为数、扫描方式、采样时间、时钟频率及标志检查等方式进行设置;<br />3.发出启动命令;<br />如果上电默认状态即能满足工作要求,那么只要将 ADPU 置 1,然后通过控制寄存器发出转换命令,即可实现转换。<br /> <br />【例程2】<br />程序描述:由通道ATD0进行单通道A/D转换,转换值在B口显示<br />程序如下:<br /> #in原创 2010-10-19 20:24:00 · 2899 阅读 · 3 评论 -
手把手教你写S12XS128程序(20)--Timer寄存器说明2
<br />3、控制寄存器(TCTLl-TCTL4)<br /> <br />TCTLl-TCTL4 分为两组,分别对IC 和OC 电路进行设定,每组16 个二进制位,每两个二进制位管理一个通道。其中TCTLl、TCTL2 设定各个OC 通道匹配时的动作,包括切断OC 与输出引脚的联系,而TCTL3、TCTL4 设定IC 响应引脚的何种动作,包括禁止IC 的响应。<br /> <br />TCTL1 寄存器偏移量:$0008Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OM7OL7O原创 2010-10-19 20:28:00 · 1346 阅读 · 0 评论 -
手把手教你写S12XS128程序(21)--Timer寄存器说明3
<br />4、主定时器中断标志寄存器(TFLG1、TFLG2)<br /> <br />TFLG1 寄存器偏移量:$000EBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0C7FC6FC5FC4FC3FC2FC1FC0F<br /> <br />TFLG2 寄存器偏移量:$000F Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TOF0000000<br /> <br />所示的TFLG1、TFLG2 为中断标志寄存器,其中TFLG1 对应8 个IC/OC原创 2010-10-19 20:28:00 · 2101 阅读 · 1 评论 -
手把手教你写S12XS128程序(29)--SCI模块应用
<br />//------------------------------------------------------------------------------------------------------------------////功能说明:MC9S12XS128--SCI例程//使用说明:实现PC→MCU→PC通信,用户可以根据需要修改程序,实现PC→MCU或者MCU→PC通信//程序设计:电子设计吧【www.dzsj8.com】//设计时间:2010.01.21/原创 2010-10-19 20:42:00 · 2606 阅读 · 0 评论 -
手把手教你写S12XS128程序(14)--A/D寄存器说明4
<br />4、ATD0控制寄存器4---ATD0CTL5<br />ATD0CTL5用于选择转换方式,选择转换通道,设置单/多通道转换和单次/连续转换模式以及对齐方式。寄存器ATD0CTL5如图20所示: 图20 寄存器ATD0CTL5<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br原创 2010-10-19 20:22:00 · 1237 阅读 · 0 评论 -
手把手教你写S12XS128程序(22)--Timer寄存器说明4
<br />6、IC/OC 选择寄存器(TIOS)<br /><br />寄存器偏移量:$0000Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0<br /><br />TIOS 寄存器用于指定各个通道的功能,即工作于 IC 还是 OC 方式。当某位 IOSn=0 时,对应的通道 n 为输入捕捉(1C)通道,否则当 IOSn=1 时,通道 n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。<br />【说明】上电后该原创 2010-10-19 20:29:00 · 1869 阅读 · 1 评论 -
手把手教你写S12XS128程序(24)--Timer模块应用实例1
6、IC/OC 选择寄存器(TIOS)寄存器偏移量:$0000Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0TIOS 寄存器用于指定各个通道的功能,即工作于 IC 还是 OC 方式。当某位 IOSn=0 时,对应的通道 n 为输入捕捉(1C)通道,否则当 IOSn=1 时,通道 n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。【说明】上电后该寄存器默认为$00,TSCR 中的 TEN 默认也为 0,这时所有通道处原创 2010-10-19 20:31:00 · 2409 阅读 · 0 评论 -
手把手教你写S12XS128程序(27)--SCI寄存器说明2
<br />3、控制寄存器(SCICR1)<br /><br /> <br />LOOPS: 在LOOP模式下,RXD引脚与SCI接收部分断开,发射部分输出在内部和接收部分相连接,此时RXD可作为普通IO口,TXD输出SCI信号。<br />1 LOOP模式使能<br />0 正常模式<br />SCISWAI:等待模式下 SCI 停止位<br /> 0:在等待模式下允许 SCI<br />1:在等待模式下禁止 SCI<br />RSRC:接收器信号源选择位,当 LOOPS=1 时,RSRC 决定接原创 2010-10-19 20:40:00 · 2099 阅读 · 1 评论 -
IAR编译器使用问题总结-1
在使用高版本的iar 对k60进行开发的过程中,会有很多的问题出现,下面是我整理的我遇到过的一些问题,希望对大家有用,欢迎大家补充 问题一 : 6.3 及以上版本,在win 7 系统上面的兼容性问题 6.3以上的版本对win 7的兼容性不是很好,安装破解过后,可能遇到以下问题: (1)下载不成功:(2)debug 后,一直编译,不能stop ;或者stop后,不能复位原创 2014-08-12 20:51:34 · 4200 阅读 · 0 评论 -
【智能车新手入门】-如何提高C代码效率
针对刚接触编程的新手常常容易忽视的一些细节而又关键的问题,想要让你的智能车控制代码更规范、更高效、更节省时间,岱默给出如下建议: 1、使用尽量小的数据类型能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型变量定义的变量就不要用长整型(longint),这样做能有效节省数据空间,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C编译器并不报错,原创 2014-10-08 13:52:36 · 2891 阅读 · 0 评论 -
【智能车新手入门 】-JLINK v8常见问题以及解决办法
在智能车编程过程中,相信大部分程序猿都有一个忠实可靠的小伙伴—JLINK,JLINK出现问题而导致程序无法下载绝对是一件很头疼的事情吧。本期的智能车新手入门就来给大家谈谈JLINK v8经常会出现的问题以及小编从网上找到并测试好用的解决办法。 目前大家手中的JLINKv8经常出现的问题,可以总结为如下三点:1. LJINK上的指示灯不亮。2. 插上JLINK原创 2014-10-08 13:49:52 · 3408 阅读 · 1 评论 -
【智能车新手入门】-赛车行驶策略
影响赛车速度成绩的一个非常重要因素就是对弯道和直道的提前识别判断,从而实现安全过弯、快速通过直道,提高比赛成绩。而摄像头方案在这方面有天然的优势——1)相对于光电传感器,可以获得较远的路况信息。2)不仅可以得到单行的黑线信息,还可以同时获得多行的黑线信息。根据前面提到的最终以10行黑线信息作为弯、直道的判断算法依据,下面简单介绍一下该算法。在提取中心线算法的基础上,我们可以原创 2014-10-19 17:08:05 · 4530 阅读 · 0 评论 -
手把手教你写S12XS128程序(28)--SCI寄存器说明3
<br />5、状态寄存器 1(SCISR1)<br /><br /> <br />TDRE:发送保持器空标志位。发送前必须读 SCISR1,并确认 TDRE=1,然后将新的数据写入发送保持器以开始发送过程。复位后该位为 1。<br />0:SC0DR 处于忙状态<br />1:发送保持器的数据已被传送到发送移位器,这时可以向发送保持器写入新的数据<br />TC:发送结束标志。该位在发送器空闲(无发送动作)时置位。读 SCISRl,然后写 SCIDR 将清除该位。<br />0:发送器忙,正在发送<br原创 2010-10-19 20:41:00 · 1990 阅读 · 0 评论 -
手把手教你写S12XS128程序(19)--Timer寄存器说明1
<br />1、定时器/计数器系统控制寄存器1(TSCR1)<br /> <br />寄存器偏移量:$0006Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TEN TSWAITSFRZTFFCA0 0 0 0 <br />可在任何时候读或写。<br />TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。其各位的意义如下:<br /> <br />TEN:定时器使能位,原创 2010-10-19 20:27:00 · 1973 阅读 · 0 评论 -
手把手教你写S12XS128程序(18)--Timer模块介绍2
<br />IC 通道组<br /> IC 通道组由四个标准的缓冲通道IC0-IC3 和四个非缓冲通道IC4-IC7 组成,两部分的基本功能都是捕捉外部事件发生的时刻,但是缓冲通道除了IC/OC 寄存器TCn 外,还设有保持寄存器TCnH,此外还在入口设置了延迟计数器,用来提高抗干扰能力。非缓冲通道没有保持寄存器,入口也没有延迟计数器,但每个通道入口设置了一个2 输入端的多路器,事件触发信号可以是来自本通道的输入引脚PORTn,也可以是来自其关联通道PORT(n-4)的延迟计数器输出,使用更加灵原创 2010-10-19 20:26:00 · 2031 阅读 · 0 评论 -
飞思卡尔BDM下载器(电子设计吧版)介绍与使用方法
<br /><br />功能特点及优点介绍:<br />1、面积小,仅为16mm*40mm,比普通的U盘还小,携带方便。<br />2、使用方便,采用USB-A连接器,可以直接插在笔记本USB接口上,无需延长线。<br />3、通过跳线支持目标板供电选择模式。<br />4、支持标准BDM和非标准BDM接口选择。<br />5、兼容CodeWarrior V4.6,V4.7,V5.0,V6.1, V6.2。<br />6、经测试,该下载器支持HC12/HCS12 (X)全系列,HCS08全系列。<br />原创 2010-10-09 22:50:00 · 8782 阅读 · 0 评论 -
智能车硬件设计---电源篇
<br />飞思卡尔智能车的电源系统主要6节1.2伏的电池(共7.2伏)供电,系统共需要为摄像头、电机驱动、舵机、测速模块和单片机数字电路部分提供电压信号。<br />其中,摄像头、电机驱动和测速模块需要5V电压,单片机数字部分需要5V电压,舵机需要6V电压,电机需要7.2V电压。<br />为了满足系统要求的4种电压信号,可有DC/DC电源转换器和LDO两类器件可选。虽然DC/DC效率高,但是基于成本和设计简单的原则。一般采用LDO(low dropout regulator)完成降压设计。由于系统是7.原创 2010-10-09 22:50:00 · 5635 阅读 · 7 评论 -
CodeWarrior 开发环境快速入门-工程创建
<br />1、运行 CodeWarrior IDE<br />a、选择开始 > 程序 > CodeWarrior > CW for HC12 V4.6 --- 弹出菜单。<br />b、选择CodeWarrior IDE -- IDE 启动, 同时弹出CodeWarrior 窗口。<br />2、在 IDE 主菜单栏中, 选择 File > New –弹出新建窗口。<br /><br />a、选择HC(S)12 New Project Wizard<br />b、在Project name 文本框中, 输原创 2010-10-10 23:14:00 · 5022 阅读 · 0 评论 -
CodeWarrior 开发环境快速入门-程序下载
<br />1、 创建好一个工程后,编辑源代码。单击Sources ,在展开的目录下双击 main.c ,进入代码编辑界面。<br />编辑main.c的内容,C程序的框架已经被建立,只需要添加用户需要的代码。添加完毕后保存代码,如下图所示。2、代码完成后,请选择TBDML方式,如下图<br />点击编译图标,完成代码的编译,出现如下菜单<br />点击确定, 进入Debug模式如下图<br />菜单栏中的工具条释义如下<br /><br />单击运行按钮即完成下载。原创 2010-10-10 23:15:00 · 2307 阅读 · 2 评论 -
手把手教你写S12XS128程序(1)--PWM模块介绍
<br />该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该16位单片机资源。本文为第一讲,开始介绍该MCU的PWM模块。<br />PWM 调制波有 8 个输出通道,每一个输出通道都可以独立的进行输出。每 一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器 和两个可供选择的时钟源。每一个 PWM 输出通道都能调制出占空比从 0—100% 变化的波形。<br /><br />PWM 的主要特点有:<br /><br />1、它有 8 个独立的输出通道,并且通过编程可控制其输原创 2010-10-10 23:17:00 · 1832 阅读 · 0 评论 -
手把手教你写S12XS128程序(7)--PWM工作原理
<br />S12微控制器PWM模块是由独立运行的8位脉冲计数器PWMCNT、两个比较寄存器PWMPER和PWMDTY组成。<br /><br />1、左对齐方式<br />在该方式下,脉冲计数器为循环递增计数,计数初值为0 。<br />当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期。当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续计数;当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCN原创 2010-10-11 22:34:00 · 2021 阅读 · 1 评论 -
手把手教你写S12XS128程序(8)--PWM 应用实例
<br />PWM 初始化步骤总结<br />1、禁止PWMPWME = 0<br />2、选择时钟PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK<br />3、选择极性PWMPOL<br />4、选择对齐方式PWMCAE<br />5、选择占空比和周期 PWMDTYx, PWMPERx<br />6、使能PWMPWME = 1<br /> <br /> <br /><br /><br />【例程1】<br />//-------------------------------------原创 2010-10-11 22:34:00 · 1925 阅读 · 1 评论 -
手把手教你写S12XS128程序(11)--A/D寄存器说明1
<br /><br />1、ATD0控制寄存器2---ATD0CTL2<br />ATD0CTL2主要控制ATD0的启动、状态标志以及上电模式,对寄存器进行写操作时,将中断当前的转化过程。寄存器ATD0CTL2如图18所示:<br /><br />图18 ATD0CTL2寄存器<br />ADPU:A/D 使能控制位,相当于一个开关,用来启动/禁止A/D转换<br />1 =A/D 模块上电<br />0 =禁止 A/D,以减少功耗<br /><br />AFFC:A/D 快速转换完成标志位清零<br /原创 2010-10-12 18:42:00 · 1549 阅读 · 0 评论 -
手把手教你写S12XS128程序(13)--A/D寄存器说明3
<br /><br />3、ATD0控制寄存器4---ATD0CTL4<br />ATD0CTL4用于选择时钟,选择采样转换时间以及选择8位/10位转换方式。寄存器ATD0CTL4如图20所示:<br />图20 ATD0CTL4寄存器<br />SRES8 : A/D 精度选择控制位<br /><br />1 = 将采集到的模拟量以8位二进制数表示<br /><br />0 = 将采集到的模拟量以10位二进制数表示<br /><br />SMP0、SMP1 : 采样时间选择控制位<br /><br />原创 2010-10-12 18:44:00 · 1633 阅读 · 0 评论 -
手把手教你写S12XS128程序(2)--PWM寄存器说明1
<br />1、PWM启动寄存器PWME<br />PWME 寄存器每一位如图 1 所示:<br /><br /> 复位默认值:0000 0000B<br />图 1PWME 寄存器 <br /><br />每一个PWM 的输出通道都有一个使能位 PWMEx 。它相当于一个开关,用来启动和关闭相应通道的 PWM 波形输出。当任意的 PWMEx 位置 1,则相关的 PWM 输出通道就立刻可用。<br /> <br />用法: PWME7=原创 2010-10-10 23:19:00 · 1565 阅读 · 0 评论 -
手把手教你写S12XS128程序(6)--PWM寄存器说明5
<br />1、PWM通道计数寄存器 PWMCNTx<br /><br />PWMCNTx 寄存器共有 8个,每一个通道都有一个8位PWM加/减双向计数器,通道级联后可变成16位PWM加/减双向计数器。下面以PWMCNT0为例对 PWMCNTx 寄存器进行介绍。<br />PWMCNT0 寄存器如图 12 所示:<br /> <br />图 12 PWMCNT0 寄存器 <br /> <br /><br />计数器以所选时钟源的频率运行。计数器在任何时候都可以被读,而不影响计数,也不影响对 PWM 通道的原创 2010-10-11 22:32:00 · 1372 阅读 · 0 评论 -
手把手教你写S12XS128程序(12)--A/D寄存器说明2
<br />2、ATD0控制寄存器3---ATD0CTL3<br />ATD0CTL3主要控制结果寄存器的映射,设置转换序列的长度,还可以暂时冻结ATD0模块,尤其确定ATD0在BDM状态下的行为。寄存器ATD0CTL3如图19所示:<br /><br />图19 ATD0CTL3寄存器<br />S1C、S2C、S4C、S8C:转换序列长度选择位控制位<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /原创 2010-10-12 18:43:00 · 1397 阅读 · 0 评论 -
手把手教你写S12XS128程序(3)--PWM寄存器说明2
<br />1、PWM预分频寄存器PWMPRCLK<br /><br />PWMPRCLK 寄存器每一位如图3 所示:<br /> <br /><br /> 复位默认值:0000 0000B<br /><br />图 3 PWMPRCLK 寄存器 <br />PWMPRCLK 寄存器包括ClockA预分频和ClockB预分频的控制位。ClockA、ClockB的值为总线时钟的1/2n (0≤n≤7),具体设置参照图4和图5<br />原创 2010-10-10 23:20:00 · 1563 阅读 · 0 评论 -
手把手教你写S12XS128程序(4)--PWM寄存器说明3
<br />1、PWM极性选择寄存器PWMPOL<br />PWMPOL 寄存器每一位如图7 所示:<br /><br /><br /> <br /> <br /><br /> <br /><br />该寄存器是0~7通道PWM输出起始极性控制位,用来设置PWM输出的起始电平。<br /> <br /><br /> 用法:PWMPOL_PPOL0=1--- 通道 0 在周期开始时输出为高电平,当计数器等于占空比寄存器的值时,输出为低电平。对外输出波形先是高电平然后再变为低电平。<br /> <br原创 2010-10-11 22:31:00 · 1213 阅读 · 0 评论 -
手把手教你写S12XS128程序(9)--A/D转换模块介绍1
<br />1、A/D转换原理<br />A/D转换的过程是模拟信号依次通过取样、保持和量化、编码几个过程后转换为数字格式。<br />a)取样与保持<br />一般取样与保持过程是同时完成的,取样-保持电路的原理图如图16所示,由输入放大器A1、输出放大器A2、保持电容CH和电子开关S组成,要求 AV1 * AV2 = 1。原理是:当开关S闭合时,电路处于取样阶段,电容器充电,由于 AV1 * AV2 = 1,所以输出等于输入;当开关S断开时,由于A2输入阻抗较大而且开关理想,可认为CH没有放电回路,原创 2010-10-12 18:40:00 · 2211 阅读 · 0 评论 -
手把手教你写S12XS128程序(10)--A/D转换模块介绍2
<br />S12内置了2组10位/8位的A/D模块:ATD0和ATD1,共有16个模拟量输入通道,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似)。<br />1、功能结构图<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />图17 A/D 模块功能结构图<br /> 图17所示的是 A/D 模块的功能结构,这个功能模块被虚线划分成为图示所示原创 2010-10-12 18:40:00 · 1759 阅读 · 0 评论 -
手把手教你写S12XS128程序(5)--PWM寄存器说明4
<br />1、PWM控制寄存器PWMCTL<br /><br />PWMCTL 寄存器每一位如图 9 所示:<br /><br /><br />图 9 PWMCTL 寄存器<br /> <br /><br />该控制寄存器设定通道的级联和两种工作模式:等待模式和冻结模式。这两种模式如图10和图11所示。图10 等待模式 图11 冻结模式<br /> <br /><br /><br />只有当相应的通道关闭后,才能改变 这些控制字。<br /><br />用法:<br />PWMCTL_CON67=1 -原创 2010-10-11 22:32:00 · 1275 阅读 · 0 评论 -
【智能车新手入门】-位置式、增量式PID实现代码
PID控制是大家在智能车制作中碰到最常见的算法,它主要分两种:位置式和增量式。下面来谈谈这两种PID的特点以及代码实现。1. 位置式PID特点:位置式PID用到了过去所有误差值的积分,因此与过去的整个状态有关。代码实现:typedef struct PID //定义结构体{ float LastError; //上一原创 2014-10-19 17:11:32 · 12933 阅读 · 2 评论
分享