首页 > 精品范文库 > 13号文库
飞思卡尔MC56F827xx系列数字信号控制器(合集)
编辑:繁花落寂 识别码:22-667466 13号文库 发布时间: 2023-08-31 15:40:59 来源:网络

第一篇:飞思卡尔MC56F827xx系列数字信号控制器

飞思卡尔MC56F827xx系列数字信号控制器

飞思卡尔半导体日前推出MC56F827xx系列数字信号控制器,它具有同类最佳的性能和功效。这一全新系列旨在应对从模拟到数字技术日益增长的过渡,以适应功率转换和先进的电机控制应用。

致芯科技最具实力的芯片解密、IC解密、单片机解密等解密服务机构,致芯科技拥有多年的解密服务经验和超高水平的解密技术,一直从客户利益出发,为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。

与同类竞争解决方案相比,MC56F827xx系列数字信号控制器消耗的电量降低了48%。因为全新的飞思卡尔数字信号控制器能够以极高的效率运行系统,而不会由于过量功耗浪费能源,它们非常适合电信/服务器电源、太阳能逆变器、无线充电、感应烹饪和照明等绿色应用。这些通常以极高开关频率运行的处理密集型应用,需要快速模数转换器、高分辨率脉冲宽度调制以及低功耗来实现最佳性能水平的操作。

MC56F827xxDSC系列特性

从100MHz高性能模式切换到50MHz的背景模式,需要降低性能时可降低功耗

同类产品中数字信号控制器每周期的运行数量最高

低负载效率能够轻松符合新电源转换规则

高分辨率脉冲宽带调制,可在广泛的负载和温度范围中实现精确稳定的控制

脉冲宽带调制自动同步互补通道,而不会延迟独立时基

改进实时控制、精确度和功耗,提供双通道12位每秒125万次采样的模数转换器

外围交叉开关提高了信号完整性、增加了额外硬件逻辑灵活性并消除了不必要的内核干预

电机控制与集成的功率因数校正(PFC)相集成,减少芯片数量并降低系统成本

高级片上集成功能降低了外部运算放大器和电容器成本

成熟的承载5V的I/O和外围交叉开关,可提高灵活性并降低系统成本

MC56F827xxDSC系列提供先进的集成和宝贵的工具,帮助设计人员降低物料成本,加快软件开发进程,从而加快产品面市。客户有权访问飞思卡尔的CodeWarrior集成开发环境,以及ProcessorExpert快速应用设计工具、FreeMaster监控工具、SMBUS通信栈和电机控制库。

第二篇:飞思卡尔实验报告

中南大学

Central South University

飞思卡尔实验报告

学生姓名:叶吉东

指导老师:王击

学院:信息科学与工程学院

专业班级:自动化1204班

完成日期:2014年09月21日

目录

实验1.1 流水灯………………………………..………………………………...3 实验1.2 拨码开关控LED 灯…………………....…………………………........4 实验1.3 动态数码管显示…………………………….………………………....5 实验1.4 矩阵键盘……………………………………………………………....6 实验1.5 LCD(0802)显示………………………………………………………..8 实验1.6 LCD(12864)显示…………………………………….………………..10 实验1.7 蜂鸣器驱动………………………………………………………..….11 实验1.8 继电器驱动…………………………………..……………………….12

实验1.1 流水灯

一、实验目的:

1、掌握GPIO 口基本寄存器的使用,掌握如何将GPIO 作为输出口。

2、初步了解如何使用C 语言编写飞思卡尔单片机程序。

二、实验内容

利用PORTB 口的低4 位驱动4 位LED 灯,实现4 位LED 灯明灯流水操作。

三、实验电路图

四、实验说明

1、PORTB 口寄存器初始化。

2、送数据给PORTB 口显示,并延时一定时间。

3、改变数据,重复2。

五、实验方法及步骤

1、接线说明:

本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB3 的跳线即可。

2、运行程序,观察LED 灯亮灭情况。

六、心得体会

这是我利用单片机进行的第一次实验,之前也没有接触过单片机,通过这次实验我大概了解了单片机的编程方法。它跟我们上个学期学过的微机原理很像,编程方法非常类似,这使得我也很容易看懂这个程序。最后我还做了课后思考题,发现只要延时时间缩短就可以达到闪烁的效果了。通过这一次实验让我对单片机有了初步的了解。为接下来的实验打下了基础。实验1.2 拨码开关控LED 灯

一、实验目的:

1、掌握GPIO 口的读写操作。

2、进一步了解C 语言在飞思卡尔单片机中的编程规范及技巧。

二、实验内容:

读取PORTB 口高4 位连接的4 位拨码开关状态,将读取到的拨码开关状态用 PORTB 口低4 位连接的LED 灯显示。

三、实验电路图:

四、实验说明:

1、PORTB 口寄存器初始化;

2、读取PORTB 数据,将数据右移4 位;送PORTB 口显示;

3、重复2。

五、实验方法及步骤:

1、接线说明:

本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB7 的跳线即可。

2、运行程序,改变拨码开关的状态,观察LED 灯的显示变化。

六、心得体会

这一次的实验跟第一次的实验基本类似,知识这次所需要连的线要多一些而已。通过这一次的实验,进一步了解GPIO 口的读写操作。进一步了解C 语言在飞思卡尔单片机中的编程规范及技巧。

实验1.3 动态数码管显示

一、实验目的:

1、了解数码管动态显示的方法。

2、掌握2803 的驱动原理。

二、实验内容:

系统上电后首先单8 左移显示,然后0-7 顺次左移显示,紧接着7-0 顺次 右移显示,再 0-7 全部闪烁显示,并重复以上动作。

三、实验电路图:

四、实验说明:

1、GPIO 相关寄存器初始化;

2、选中数码管第一位,送段码显示第一个数据;

3、移动位码,送下个数据的段码,以此类推,实现移位显示与动态显示。

五、实验方法及步骤:

1、接线说明: 实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)

六、心得体会:

这次的实验连线比较复杂,这使得我第一次的连线并没有连正确,演示的时候出来的是乱码。然后我就慢慢检查,终于发现了错误所在,是我并没有看清实验指导书连线而是凭着自己的感觉经验然后连线的,结果就出错了,所以我们做实验额时候一定得细心,要不然就会容易出错。看着实验箱上的实验结果,就联想到了我们日常生活中到处可见的LED灯。这让我越来越觉得单片机实现的功能在生活中到处可见。

实验1.4 矩阵键盘

一、实验目的:

1、了解矩阵键盘扫描原理。

2、掌握矩阵键盘编程方法。

二、实验内容:

编写键盘扫描程序,当矩阵键盘模块有按键按下时,读取键值,并利用数码 管显示键值。系统上电后8 位数码管以5-4-3-2-1 倒计数显示,待显示值为1 后,数码管清除显示,此时按下矩阵键盘按键,数码管显示对应键值。

三、实验电路图:

四、实验说明:

1、GPIO 相关寄存器的初始化。2、8 位数码管以5-4-3-2-1 倒计数显示。

3、扫描按键,键值送数码管显示。

4、重复操作3。

五、实验方法及步骤:

1、接线说明:

实验系统底板的4x4 矩阵键盘接线说明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)

2、运行程序,观察数码管显示变化。按下按键,观察数码管显示变化。

六、心得体会:

这次做的是矩阵键盘的实验,通过前几次实验,对单片机实验有了一定的了解,所以我这次并没有一开始就连线,我先打开程序然后花了好长一段时间了解矩阵键盘扫描原理,发现程序是通过不断循环扫描的方法来检测按键是否按下。通过这次试验我基本了解矩阵键盘的编程方法。

实验1.5 LCD(0802)显示

一、实验目的:

1、掌握GPIO 口控制外设的方法。

2、熟悉LCD(0802)的指令系统。

二、实验内容: 利用LCD(0802)液晶显示器,显示两排数字。

三、实验电路图:

四、实验说明:

1、驱动LCD(0802)GPIO 口相关寄存器初始化;

2、LCD(0802)初始化;

3、在LCD 屏上分行显示“01234567”和“ABCDEFGH”。

五、实验方法及步骤:

1、接线说明:

实验系统底板0802 液晶模块的LCD 数据口信号接线说明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)

实验系统底板0802 液晶模块的LCD 控制口信号接线说明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)

2、运行程序,观察实验现象。

六、心得体会:

这次实验我还是像上次一样,先把实验内容看一下,然后就直接看程序。刚开始的程序是LCD(0802)GPIO 口相关寄存器初始化和LCD(0802)初始化,看了半个多小时也是似懂非懂,接下来看的是LCD显示“01234567”和“ABCDEFGH”的程序,这些程序应该都是应该查表得出来的,我也没有必要看懂,所以我就连线进行实验了,通过这次试验我还是能够初步掌握GPIO 口控制外设的方法和熟悉LCD(0802)的指令系统。

实验1.6 LCD(12864)显示

一、实验目的:

1、掌握GPIO 口控制外设的方法。

2、熟悉LCD(12864)的指令系统。

二、实验内容:

使用OCM12864-2 液晶显示器,显示汉字。

三、实验电路图:

四、实验说明:

1、驱动LCD(12864)的GPIO 相关寄存器初始化;

2、LCD(12864)控制器的初始化,延时及清屏;

3、在LCD 屏上显示“欢迎使用”。

五、实验方法及步骤:

1、接线:

实验系统底板128x64 液晶模块的液晶数据口信号接线说明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)实验系统底板128x64 液晶模块的液晶控制口信号接线说明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)实验1.7 蜂鸣器驱动

一、实验目的:

了解蜂鸣器的使用和驱动方法。

二、实验内容:

利用GPIO 端口中的某一位驱动蜂鸣器。

三、实验电路图:

四、实验说明:

1、相应端口寄存器初始化;

2、送数据到相应I/O 口,间断驱动蜂鸣器。

五、实验方法及步骤:

1、接线说明:

实验系统底板的蜂鸣器控制模块区域的蜂鸣器控制端接线说明: J_ Beep(Beep)----IO061(PE3)

2、运行程序,观察现象。

六、心得体会:

通过本次实验,熟悉了实验板中蜂鸣器工作原理,掌握编程控制蜂鸣器播 放音乐。掌握单片机编程控制蜂鸣器发出不同频率声音的方法;虽然在本次试验中遇到了的问题,都在同学和老师的帮助下解决了,同时还进一步了解了单片机方面的有关知识。

实验1.8 继电器驱动

一、实验目的:

了解继电器的使用和驱动方法。

二、实验内容:

利用GPIO 端口中的某一位驱动蜂鸣器。

三、实验电路图:

四、实验说明:

1、相应端口寄存器初始化;

2、送数据到相应I/O 口,驱动继电器间歇动作。

五、实验方法及步骤:

1、接线说明:

实验系统底板的继电器控制模块的继电器控制端接线说明: J_Relay(Relay)----IO061(PE3)使用跳线帽短接实验系统底板继电器控制模块JP_LED 处的跳线。使用跳线帽短接实验系统底板继电器控制模块JP_Power 处的跳线。

2、运行程序,观察现象。

六、心得体会:

通过这八天的实验和八次实验,让我学会了很多新的知识。能够利用该软件熟练地编译下载程序。通过这几天的学习,让我对飞思卡尔试验箱也有了一定的了解,而且这八个实验做下来也感觉很有意思,每次对代码进行一些小的改动出来效果以后,都感觉挺有趣的。不过在这几天的学习,我也发现了一些问题,那就是才编程方面的缺陷,有些以前的知识都已经忘了,有些程序都看不太懂了,我觉得以后我应该好好复习一下,把以前学的知识都拿回来。

第三篇:飞思卡尔HC08

HC08/S08单片机学习心得

看了这篇学习心得,感觉不错,和大家分享一下。

MC9S08QG8和MC9S08AW60,以及和其他单片机之间的横向对比

看惯了AVR/PIC/51的手册,刚开始看HC08的数据手册感觉不太习惯,很多地方的风格都不太一样,有个适应过程。不过只从单片机硬件结构来看,基本组成和功能都是类似的,只是个别地方有自己的独特之处。

HC08单片机硬件上和其他单片机是类似的,都分为ADC、定时器、IO、串行通信(包括串口、SPI、I2C等)、中断等几大部分,都是通过寄存器来启动、设置、关闭相应的功能模块。只是HC08单片机分得很细,寄存器非常的多,如果只看数据手册,一下可能会感到头晕的。最好是先看模块的主要介绍,再看每个模块详细的,不要想一次全部看完。很多时候都是先看大概的,具体应用时知道哪里找就行了。

软件开发基本都是使用FreeScale自己的CodeWarrior,它有特别版、标准版、完全版等几种版本。特别版的个别功能有限制(主要是PE)和代码大小有限制,而标准版则没有代码大小限制。特别版对于HC08单片机代码限制是32K,一般情况下都是足够了。

开始使用时,使用Code Warrior的PE(Processor Expert)专家,基本就是用鼠标点几下,就可以生成程序代码和框架,比较简单快速。不过这样生成的程序比较大,文件数比较多(基本一个功能模块产生2个文件,1个C文件和一个H文件),子程序调用比较多。好处是容易上手,可以很快熟悉开发流程。但是使用多了,会觉得如果PE操作再简单一些,不要过多的参数选择,会更适合于对单片机初学的人;如果功能再强一些,可以完全不用写代码,象PSoc express那样图形方式编程就更好了,适合于不了解单片机的人。

除了PE外,还有一个很有用的功能是DI(Device Initialization)设备初始化,用图形方式设置好参数后自动产生初始化的代码,但是不产生程序框架文件。这样产生的代码比PE小一些,文件结构也很紧凑。

PE和DI产生的代码,都有非常详细的注释,几乎每行自动生成的代码都有相应的注释,每个文件头有单独的说明,每个函数也有详细的说明。PE更在文件头中把引用到的寄存器名称列出来,甚至不用查看DataSheet了(如果注释能够把寄存器的每位功能也列出来的话)。

CodeWarrior的功能很强,使用几天后发现它还可以识别用户自己定义的变量和函数,按下Ctrl键后鼠标双击,可以自动跳转到变量或函数的定义。写代码时,自动将变量和函数名高亮显示,都可以体现出专业编译器厂家的风格和强大功能。

CodeWarrior覆盖了很长的产品线,它们使用相同的IDE和编程习惯,这对于程序员非常方便,从一种IC换到另外一种时会很快,无需重新学习。特别是现在FreeScale新的Flexis系列处理器,硬件上也实现了外设的兼容,会更加方便。CodeWarrior应当说是专业编译

器厂家中非常成功的例子,其他的专业编译器厂家中,IAR也是一个很好的选择,覆盖了众多的产品线。IAR和很多硬件厂家合作,编译器做得很专业,代码效率很高。另外一个有着很多平台版本的编译器厂家HiTech则显得比较弱势,只有PICC一款编译器获得了真正的成功,其他的都不太为人所知(从官方论坛的每个分论坛帖子数量也可以看出)。我曾经用过PICC18编译器(公司购买的正版),出现过在不同型号的单片机的头文件中,同一个寄存器名称不同(有一处是明显的笔误,少了一个字母),还有的宏在有些头文件中定义过,再另外的头文件中又没有定义。我曾经发EMAIL提过建议,但是没有得到任何回应,后来在升级版中,发现问题依旧。严格说HiTech的编译器不差,但是一些细节处理不好,极大的影响了它的使用。在单片机容量不断增加的情况下,对编译器的效率要求已经不如以前那么高,单一产品的编译器感觉没有什么优势了,很难长久这样维持,很多厂家早已消失。51上最成功的Keil,如今也转向了ARM。

和AVR和PIC单片机不同,HC08单片机存储器的RAM和Flash是统一编址的,还分为几段,不同容量的单片机分配的地址空间也是不同的,但是一般都是主Flash空间倒着往前分配,RAM从前往后分配的。这一点和51单片机倒有些类似。

HC08的中断和大部分单片机不同,它的中断向量是放在存储器的最后的,然后倒着往前排,每个中断向量占用2字节(空间超过64k的应该会占用3字节,不过现在我还不知道有没有这样的型号),地址越靠后的中断优先级越高。

使用Bootloader时,一般Bootloader放在了Flash存储器的最后,占用了中断向量的空间,需要对中断向量重定位。这里的重定位和AVR单片机的不同,AVR的是硬件重定位,它的中断向量在最前面,和bootloader空间是分离的。重定位可以使得bootloader程序使用中断。HC08的中断重定位和PIC18的类似,属于软件重定位,实际上就是把原中断向量指向新的位置。发生中断时,还是会先跳转到旧的中断向量,然后再跳转到新的中断向量,最后才是执行中断服务程序。

HC08的寄存器:

和其他单片机类似,基本上每种功能的寄存器从寄存器名称的前缀可以区分出来,如:

P 代表IO寄存器(Port)

T 定时器寄存器(Timer)

A ADC寄存器(ADC)

I 时钟寄存器(可惜不是C)

等。

有些寄存器在复位后只能写一次(Write-once),主要是一些关键的寄存器,用于设置时钟、CPU的关键参数的,这样的好处是在运行时抗干扰能力比较好,不怕受到外面信号的干扰。这个特点在其他单片机上很少看到。

对于有些有多个的外部功能模块(如IO、定时器、ADC等),寄存器以数字方式表示来区分(如ADC1CS1、TPM1SC1)。这样的好处是如果换用新的型号CPU有更多的外设时,或者使用相同功能不同序号的外设时,只要修改寄存器标号,程序的修改工作量比较小。不

过,如果能够像现在的AVR-GCC那样,对于只有一个功能模块的单片机也使用序号区分寄存器名就更好了。比如以前AVR-GCC对于只有一个串口的单片机使用UDR表示串口缓冲区,现在改为UDR0了,和多串口的单片机统一,使得寄存器命名更加清晰了。这样还有一个很大的好处是对于喜欢使用宏写程序的程序员会觉得非常方便。

和其他单片机一样,HC08支持将两个连续的8位寄存器组合成一个16位的寄存器,可以单独访问每个8位寄存器或直接访问16位寄存器。如ADC的寄存器ADCR,可以分为ADCRH和ADCRL。

IO:

这是单片机最基本的功能了。现在主流的单片机IO一般都是真双向IO口,可以作为输入或输出,可以选择是否使用内部上拉或下拉电阻,某些特定的IO口还支持开漏输出、ADC输入、比较器输入、比较器输出、PWM输出、时钟输入等功能。

因为是双向IO口,所以一般至少有3个寄存器来控制一个IO口(方向、数据、上拉,有的单片机输入和输出寄存器也不同)。此外还有斜率抑制和大电流输出控制寄存器,这是HC08特有的。

端口使用字母A-Z区分不同端口(当然实际到不了字母Z的,一般的最大到G),每个端口内部用0-7代表不同的位(一些端口没有完整的8位)。端口比较复杂的地方在于很多功能是复用的,就是一个端口在设置不同寄存器参数后,可以得到不同的功能。有的功能在复位后是关闭的,使用时需要主动打开,这一点基本上所有的单片机都一样。

IO的主要寄存器(下面的字母x代表A-Z,n代表0-7,后面也是一样)

PTxD 端口数据

PTxDD 端口方向(读/写)

PTxPE 内部上拉电阻使能

PTxSE 输出斜率抑制(减少EMC)

PTxDS 大电流输出

PTxD_PTxDn 一个端口的某一位,位变量或位寻址

在CodeWarrior中,支持IO端口的直接操作,比如定义一个端口变量,然后直接赋值,和PIC和51中一样。如果使用习惯了AVR-GCC,也可以继续使用AVR-GCC的风格(这可以使程序有很好的移植特性),通过(1<

ADC:

和其它单片机一样,需要设置ADC时钟源、时钟频率、分频比、通道、中断、工作模式(连续转换/单次转换)。HC08与其他单片机不同的是还有一个自动采样结果比较功能,当ADC采样的值大于或小于一个预设定的门限时才产生中断。这在连续采样时可以自动滤掉无效数据。HC08的ADC有一个长时间采样模式,对于采样信号输出是高阻抗时比较有用处,可以省掉一个跟随器。

ADC采样可以使用查询模式或中断模式(串口、定时器、SPI等也是一样),和其他单片

机一样,没有很特别的地方。

关闭ADC模块是将通道选择设置为全1,这一点和大部分单片机不同(一般是专门一个寄存器位控制)。此外内部有一个通道(通常是通道26)接到温度传感器,可以测量温度。不过温度系数m实在太小(不同型号的参数还不同),还需要分段进行复杂的浮点数除法,10位AD很难准确测量,误差会较大,使用不方便(温度传感器估计是二极管)。感觉最好的办法是查表,避免复杂的浮点运算,这个和ATmega168P类似(内部温度传感器1mv/C),当个温度开关还可以。

QG8相关寄存器:

ADCSC1 ADC通道选择和状态,写入这个寄存器选择通道后就会启动ADC转换 ADCSC2 设置自动比较,一般不用

ADCR ADC结果(可以分别访问ADCRH和ADCRL。高位只有两位,不能选择左对齐,但是可以选择8位模式)

ADCCV 结果比较寄存器,和上面类似,也是两个8位寄存器组成ADCCFG 设置ADC时钟、低功耗方式、长时间采样等

APCTL1/APCTL2/ACPTL3 禁止IO功能

AW60相关寄存器:

ADC1SC1

ADC1SC2

ADC1R

ADC1CV

ADC1CFG

APCTL1/APCTL2/ACPTL3 注意这几个寄存器名称没有变化

(从这里可以看出,如果将QG8的寄存器名中增加数字1,就可以和AW60的统一了,这样会更方便一些的。)

定时器:

和AVR/PIC18的定时器类似。除了可以做常规的定时器功能外,还可以做捕捉、PWM等。

PWM:

PWM的输出可以映射到IO上,直接驱动LED或者做为其他器件的驱动信号,也可以做为DA(当然还需要滤波)。当一个TPM有多个PWM通道时,所有通道的PWM频率是相同的,但是可以单独设置每个通道的占空比和工作模式。HC08的PWM有一个中间对齐模式,这样在占空比不变的情况下,降低一半输出频率。

QG8相关寄存器:

TPMSC 时钟和中断选择

TPMMOD 定时器计数,决定PWM或定时器的周期

TPMCNT TPM计数

TPMCxSC 通道模式选择

TPMCxV 通道计数,决定PWN占空比

AW60相关寄存器:

TPMxSC

TPMxMOD

TPMxCNT

TPMxCnSC

TPMxCnV

时钟:

分为CPU时钟、总线时钟等。HC08的时钟寄存器非常多,不太容易看明白,需要慢慢仔细琢磨。FreeScale还专门有一篇应用笔记介绍HC08的时钟,可以好好看看。

HC08的时钟通过寄存器来配置工作模式,而不像AVR、PIC那样主要是直接写入熔丝位来选择,寄存器只是微调或分频。在HC08的某些时钟寄存器中,需要注意到有些位属于write-once,就是每次复位后只能写入一次,或者说只有第一次写入的结果是有效的。

相关寄存器

ICGC1 设置时钟频率、模式等

ICGC2 FLL和RFD控制

ICGS1 时钟状态寄存器1

ICGS2 时钟状态寄存器2

ICGFLTU

ICGFLTL

ICGTRM 微调调内部时钟频率,用于校正内部时钟频率

第四篇:飞思卡尔实习报告

中南大学

Central South University

飞思卡尔实验报告

学生姓名:应晓伟 指导老师:李志民 学院:信息科学与工程学院 专业班级:自动化1106班 完成日期:2013年9月12日

目录

一、实验目的………………………………………………………..2

二、实验内容………………………………………………………..2

三、实验电路图…………………………………………………….3

四、实验说明………………………………………………………..6

五、实验方法及步骤…………………………………………....7

六、实验总结……………………………………………………….10

一、实习目的

1、熟悉飞思卡尔试验箱的操作。

2、掌握codewarrierr软件的使用方法。

3、初步了解如何使用c语言编写飞思卡尔单片机程序。

二、实验内容

实验1.1

流水灯

利用PORTB 口的低4 位驱动4 位LED 灯,实现4 位LED 灯明灯流水操作。

实验1.2

拨码开关控LED 灯

读取PORTB 口高4 位连接的4 位拨码开关状态,将读取到的拨码开关状态用 PORTB 口低4 位连接的LED 灯显示。

实验1.3

动态数码管显示

系统上电后首先单8 左移显示,然后0-7 顺次左移显示,紧接着7-0 顺次 右移显示,再 0-7 全部闪烁显示,并重复以上动作。

实验1.4 矩阵键盘

编写键盘扫描程序,当矩阵键盘模块有按键按下时,读取键值,并利用数码 管显示键值。系统上电后8 位数码管以5-4-3-2-1 倒计数显示,待显示值为1 后,数码管清除显示,此时按下矩阵键盘按键,数码管显示对应键值。

实验1.5 LCD(0802)显示

利用LCD(0802)液晶显示器,显示两排数字。

实验1.6 LCD(12864)显示

使用OCM12864-2 液晶显示器,显示汉字。

实验1.7 蜂鸣器驱动

利用GPIO 端口中的某一位驱动蜂鸣器。

实验1.8 继电器驱动

利用GPIO 端口中的某一位驱动继电器。

三、实验电路图

实验1.1 流水灯

实验1.2 拨码开关控LED 灯

实验1.3 动态数码管显示

实验1.4 矩阵键盘

实验1.5 LCD(0802)显示

实验1.6 LCD(12864)显示

实验1.7 蜂鸣器驱动

实验1.8 继电器驱动

四、实验说明

实验1.1 流水灯

1、PORTB 口寄存器初始化。

2、送数据给PORTB 口显示,并延时一定时间。

3、改变数据,重复2。

实验1.2 拨码开关控LED 灯

1、PORTB 口寄存器初始化;

2、读取PORTB 数据,将数据右移4 位;送PORTB 口显示;

3、重复2。

实验1.3 动态数码管显示

1、GPIO 相关寄存器初始化;

2、选中数码管第一位,送段码显示第一个数据;

3、移动位码,送下个数据的段码,以此类推,实现移位显示与动态显示。

实验1.4 矩阵键盘

1、GPIO 相关寄存器的初始化。2、8 位数码管以5-4-3-2-1 倒计数显示。

3、扫描按键,键值送数码管显示。

4、重复操作3。

实验1.5 LCD(0802)显示

1、驱动LCD(0802)GPIO 口相关寄存器初始化;

2、LCD(0802)初始化;

3、在LCD 屏上分行显示“01234567”和“ABCDEFGH”。

实验1.6 LCD(12864)显示

1、驱动LCD(12864)的GPIO 相关寄存器初始化;

2、LCD(12864)控制器的初始化,延时及清屏;

3、在LCD 屏上显示“欢迎使用”。

实验1.7 蜂鸣器驱动

1、相应端口寄存器初始化;

2、送数据到相应I/O 口,间断驱动蜂鸣器。

实验1.8 继电器驱动

1、相应端口寄存器初始化;

2、送数据到相应I/O 口,驱动继电器间歇动作。

五、实验步骤与方法

实验1.1 流水灯

1、接线说明:

本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB3 的跳线即可。

2、运行程序,观察LED 灯亮灭情况。

实验1.2 拨码开关控LED 灯

1、接线说明:

本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB7 的跳线即可。

2、运行程序,改变拨码开关的状态,观察LED 灯的显示变化。

实验1.3 动态数码管显示

实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)* 注1:J_SEG-1 表示插座的标识名称,后面括号中的A 表示该引脚的作用,后文均使用该方法描述,就不再重复说明了。

*注2:IO065 后括号中的PA0 表示当HF-ExBoard 实验系统使用 HF-MC9S12XS128EVB-A 核心板时,实验系统底板 的IO065 接口对应 MC9S12XS128EVB 的PA0,后文均使用该方法描述,就不再重复说明了。8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)*注3:IO051(PH7)对应的COM0 为8 位数码管中最左边第一位。

2、运行程序,观察数码管的显示。

实验1.4 矩阵键盘

实验系统底板的4x4 矩阵键盘接线说明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)

2、运行程序,观察数码管显示变化。按下按键,观察数码管显示变化。

实验1.5 LCD(0802)显示

实验系统底板0802 液晶模块的LCD 数据口信号接线说明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)实验系统底板0802 液晶模块的LCD 控制口信号接线说明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)

2、运行程序,观察实验现象。

实验1.6 LCD(12864)显示 实验系统底板128x64 液晶模块的液晶数据口信号接线说明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)实验系统底板128x64 液晶模块的液晶控制口信号接线说明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)注:实验指导书提供的接线说明根据金鹏OCM12864-2 型液晶编写,如果 使用其它型号的12864 液晶模块,可能液晶模块的引脚定义有差异,只需要依据

具体使用的液晶引脚修改接线即可完成该实验。

2、运行程序,观察实验现象。

实验1.7 蜂鸣器驱动

实验系统底板的蜂鸣器控制模块区域的蜂鸣器控制端接线说明: J_ Beep(Beep)----IO061(PE3)

2、运行程序,观察现象。

实验1.8 继电器驱动

实验系统底板的继电器控制模块的继电器控制端接线说明: J_Relay(Relay)----IO061(PE3)使用跳线帽短接实验系统底板继电器控制模块JP_LED 处的跳线。使用跳线帽短接实验系统底板继电器控制模块JP_Power 处的跳线。

2、运行程序,观察现象。

六、实验总结

通过这几天的上机实验,让我学会了很多新的知识。基本掌握了codewarrierr的使用方法,能够利用该软件熟练地编译下载程序。通过这几天的学习,让我对飞思卡尔试验箱也有了一定的了解,而且这八个实验做下来也感觉很有意思,每次对代码进行一些小的改动出来效果以后,都感觉挺有趣的。不过在这几天的学习,我也发现了一些问题,那就是才编程方面的缺陷,有些以前的知识都已经忘了,有些程序都看不太懂了,我觉得以后我应该好好复习一下,把以前学的知识都拿回来。

第五篇:飞思卡尔智能车总结

关于飞思卡尔智能车寻迹

飞思卡尔智能车竞赛是飞思卡尔公司赞助的由全国本科院校共同参与的一项大学生科技竞赛。今年安徽省作为第一届省级赛区,很荣幸我们专科院校也有机会共同参与。因为专业知识的匹配我们系在我们专业选拔了一些同学,我很高兴能和我的队员们并肩作战。由于我们学校是第一参加一点经验都没有,指导老师也是和我们一步步探索。我们这次使用B型车做的是光电寻迹。根据需要老师把这次任务划分为几个模块(寻迹模块、电源模块、驱动模块、测速模块)我的任务是做好寻迹模块。刚开始对于黑白寻迹,我唯一的感觉就是“神奇”。后来查阅资料,通过老师的讲解,知道了它的寻迹原理。所谓的寻迹就是根据黑白颜色的反光程度不一样(白色全部反射,黑色全部吸收),来判别黑白线。

对于我们来说没有学过传感器的知识,在这方面还是有点含糊,所以自己专门花了一段时间来学习传感器,通过自己的学习懂得了传感器在电路中的作用。之后的一段时间就是对材料的选取,市场上的光电管品类繁多,每个学校用的也不一样,我们要的是一款适合自己车的光电管,刚开始我在网上找了一些电路图,并在南京买进了一些光电管,焊接好电路候发现跟本没有达到自己想要的那种结果,之前一直以为是光电管的原因,后来又把光电发射与接受一体管改上去还是不行。那段时间一直耗在那个电路上停滞不前,一直想不通是什么原因。也许是灵感的,也许是出于好玩我改变了和接收管串联的电阻阻值(把

来的10K

100K)得到了意想不到的效果——在不加套管的情况下接收距离提高到了十几厘米。但是对于这样的结果还是有些不理想因为为防止光电管之间互相的影响每个光电管得加上套管,在这种情况下我们买的光电管达不到要求。通过上网查询,翻阅资料,和一次次的实验我们最后选用了合肥一家的光电管(型号)。在这里我想说的是别人的经验可以做参考但是不一定能做为自己的,就像我前面选择光电管的电路图,那也许对有些场合适用。作为探索阶段一步步的实验永远是最关键的。

选好光电管之后就是焊接电路,通过借鉴其他学校的经验,我们的初定方案是用14对光电管。由于条件的限制我们采用的是普通的面包板焊接电路,普通的板子最大的缺点就是长度和宽度不够,而且布局也不自由,通过决定我们用两块板子拼接在一起,多用外接电路线来搭接电路。因为我们学校提倡的是动手能力,焊接这样普通的板子我们每个同学都能很好的完成,唯一的区别就是走线比较多那就要看每个人设计和审美观。

把板子焊好后我制作的硬件就告一段落。

飞思卡尔MC56F827xx系列数字信号控制器(合集)
TOP