自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DEMOK

专注与智能车设计

  • 博客(100)
  • 收藏
  • 关注

原创 第十届飞思卡尔杯智能车竞赛规则解读

根据官方公布最新规则,第十届飞思卡尔杯智能车竞赛仍然分为摄像头组、光电组和电磁组,赛道类型仍然与往届相似。规则中变化的内容有:摄像头组采用C型双电机车模,以四轮着地形式运动;光电组采用D型双电机车模或者E型双电机车模,以两轮直立形式运动;电磁组采用B型单电机车模,以两车跟随形式运动。竞赛仍然指定使用飞思卡尔16位处理器XS128、32位Cortex M4处理器K60/K10,32位Cortex M

2014-10-30 19:31:21 4984

原创 【手把手教你做智能车】第六节-UART串口通信

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第六节-UART串口通信视频教程观看地址:http://v.youku.com/v_show/id_XNzk5OTEwODI0.html?qq-pf-to=pcqq.c2c资料下载地址:http://pan.baidu.com/share/link?shareid=2172048155&uk=52354133

2014-10-25 16:30:24 3388

原创 【手把手教你做智能车】第五节-PIT定时器(下)

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第五节-PIT定时器(下)视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyODA0.html资料下载地址:http://pan.baidu.com/share/link?shareid=696385443&uk=523541335 * 淘宝店铺

2014-10-25 16:27:17 1884

原创 【手把手教你做智能车】第五节-PIT定时器(上)

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第五节-PIT定时器(上)视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyODA0.html资料下载地址:http://pan.baidu.com/share/link?shareid=696385443&uk=523541335 * 淘宝店铺

2014-10-25 16:21:51 4226

原创 【手把手教你做智能车】第四节-MCG模块设置单片机的各个时钟

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第四节-MCG模块设置单片机的各个时钟视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyODA0.html资料下载地址:http://pan.baidu.com/share/link?shareid=696385443&uk=523541335 

2014-10-25 16:18:31 1815

原创 【手把手教你做智能车】第三节-Jlink驱动安装_下载第一个例程到系统板

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第二节-IAR新建工程及基本设置视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyNDIw.html资料下载地址:http://pan.baidu.com/share/link?shareid=2551834524&uk=523541335 *

2014-10-25 12:25:23 3135

原创 【手把手教你做智能车】第二节-IAR新建工程及基本设置

飞思卡尔智能车系列教学视频教程手把手教你做智能车:第二节-IAR新建工程及基本设置视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYxODg0.html资料下载地址:http://pan.baidu.com/share/link?shareid=2264233976&uk=523541335 *

2014-10-25 12:16:10 1993 2

原创 【智能车新手入门】-位置式、增量式PID实现代码

PID控制是大家在智能车制作中碰到最常见的算法,它主要分两种:位置式和增量式。下面来谈谈这两种PID的特点以及代码实现。1.      位置式PID特点:位置式PID用到了过去所有误差值的积分,因此与过去的整个状态有关。代码实现:typedef struct PID             //定义结构体{       float  LastError;      //上一

2014-10-19 17:11:32 12599 2

原创 【智能车新手入门】-赛车行驶策略

影响赛车速度成绩的一个非常重要因素就是对弯道和直道的提前识别判断,从而实现安全过弯、快速通过直道,提高比赛成绩。而摄像头方案在这方面有天然的优势——1)相对于光电传感器,可以获得较远的路况信息。2)不仅可以得到单行的黑线信息,还可以同时获得多行的黑线信息。根据前面提到的最终以10行黑线信息作为弯、直道的判断算法依据,下面简单介绍一下该算法。在提取中心线算法的基础上,我们可以

2014-10-19 17:08:05 4124

原创 【智能车新手入门】-如何提高C代码效率

针对刚接触编程的新手常常容易忽视的一些细节而又关键的问题,想要让你的智能车控制代码更规范、更高效、更节省时间,岱默给出如下建议: 1、使用尽量小的数据类型能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型变量定义的变量就不要用长整型(longint),这样做能有效节省数据空间,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C编译器并不报错,

2014-10-08 13:52:36 2712

原创 【智能车新手入门 】-JLINK v8常见问题以及解决办法

在智能车编程过程中,相信大部分程序猿都有一个忠实可靠的小伙伴—JLINK,JLINK出现问题而导致程序无法下载绝对是一件很头疼的事情吧。本期的智能车新手入门就来给大家谈谈JLINK v8经常会出现的问题以及小编从网上找到并测试好用的解决办法。 目前大家手中的JLINKv8经常出现的问题,可以总结为如下三点:1.       LJINK上的指示灯不亮。2.       插上JLINK

2014-10-08 13:49:52 3147 1

原创 【手把手教你做智能车】第一节-IAR软件的安装

【手把手教你做智能车】第一节-IAR软件的安装http://www.znczz.com/forum.php?mod=viewthread&tid=225758&fromuid=12591

2014-09-27 13:37:51 4098

原创 IAR编译器使用问题总结-1

在使用高版本的iar 对k60进行开发的过程中,会有很多的问题出现,下面是我整理的我遇到过的一些问题,希望对大家有用,欢迎大家补充 问题一 : 6.3 及以上版本,在win 7 系统上面的兼容性问题 6.3以上的版本对win 7的兼容性不是很好,安装破解过后,可能遇到以下问题: (1)下载不成功:(2)debug 后,一直编译,不能stop ;或者stop后,不能复位

2014-08-12 20:51:34 3929

原创 CFileDialog的用法简介

CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: <br />CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentW

2010-10-21 21:43:00 65053 10

原创 手把手教你写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 2470

原创 手把手教你写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 1851

原创 手把手教你写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 1976 1

原创 手把手教你写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 2776

原创 手把手教你写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 1823

原创 手把手教你写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 2322

原创 手把手教你写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 1467

原创 手把手教你写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 1731 1

原创 手把手教你写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 1242

原创 手把手教你写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 1979 1

原创 手把手教你写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 1838

原创 手把手教你写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 1941

原创 手把手教你写S12XS128程序(17)--Timer模块介绍1

<br />1、简述<br />    MC9S12XS128定时器模块与MC9S12DG128 ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。<br />        HC12 增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车ABS 方面。<br />    基准计时器的核心仍然是一个16 位的可编程计数器,其时钟源来自一个预分频器。该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。波形的脉宽可以在几微

2010-10-19 20:25:00 2192

原创 手把手教你写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 2747 3

原创 手把手教你写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 1195

原创 手把手教你写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 1130

原创 手把手教你写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 1484

原创 手把手教你写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 1310

原创 手把手教你写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 1397

原创 手把手教你写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 2038

原创 手把手教你写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 1621

原创 手把手教你写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 1888 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 1796 1

原创 手把手教你写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 1143

原创 手把手教你写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 1203

原创 手把手教你写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 1116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除