Freescale单片机实验指导

合集下载

飞思卡尔单片机快速上手指南说明书

飞思卡尔单片机快速上手指南说明书

Freescale Semiconductor, Inc.Document Number: 用户指南 Rev. 0, 09/2014Confidentiality statement, as appropriate to document/part status.___________________________________________________________________飞思卡尔单片机快速上手指南作者:飞思卡尔半导体IMM FAE 团队飞思卡尔半导体是全球领先的单片机供应商,其单片机产品包含多种内核,有数百个系列。

为支持用户使用这些产品,飞思卡尔提供了丰富的网站资源、文档及软硬件工具,另外,我们还有众多的第三方合作伙伴及公共平台的支持。

对于不熟悉飞思卡尔产品和网站的初学者来说,了解和使用这些资源这无疑是一个令人望而生畏的浩瀚工程。

本指南的目的,就是给初学者提供一个指导,让他们不被这些海量信息淹没;用户根据本指导提供的操作步骤,能迅速找到所需的资源,了解如何使用相关的工具。

在本指南中,我们以飞思卡尔的新一代Kinetis 单片机K22系列为例,介绍了如何获取与之相关的资源,如何对其进行软硬件设计和开发。

实际上,这些方法也适用于其它的单片机系列。

当然,对于其它有较多不同之处的产品,我们也会继续推出相应的文档,供广大用户参考。

目录1 如何获取技术资料与支持 ..........................................................2 2 如何选择产品、申请样片及购买少量芯片和开发工具 ........... 93 飞思卡尔单片机的开发环境、开发工具和生态系统 ............. 224 如何阅读飞思卡尔的技术文档 ................................................ 45 5 飞思卡尔单片机硬件设计指南 ................................................ 55 6飞思卡尔单片机软件开发指南 (67)飞思卡尔单片机快速上手指南, Rev. 1, 09/20142Freescale Semiconductor, Inc.1 如何获取技术资料与支持1.1 概述当用户使用飞思卡尔单片机芯片时,如何获取芯片的数据手册(Datasheet )、参考设计(Reference Manual )和官方例程等资源呢?另外当用户遇到了技术问题该如何获得帮助和解答呢?这里以Kinetis 的K22系列芯片为例为大家介绍如何解决这些问题。

Freescale8位单片机入门与实践

Freescale8位单片机入门与实践

Freescale 8位单片机入门与实践第一章单片机概论(当前各公司单片机使用情况、发展情况、freescale单片机命名规则、开发步骤、CodeWarrior软件开发环境的安装要求和安装说明)第二章Freescale 8位单片机(特点、结构、存储器结构、CPU内寄存器,介绍MC68HC908QY4和GP32内部资源)第三章Freescale 8位单片机指令系统(汇编指令)(CodeWarrior使用、软件仿真)第四章复位、中断、系统配置、通用IO端口第五章CodeWarrior应用综述(在线调试、VisualTools的使用)第六章MC68HC908QY4在线编程开发系统(特点、硬件、监控方式、C语言)第七章定时器模块第八章AD、键盘中断模块(各个模块的使用及例程)第九章综合应用(C和汇编混合编程、程序,扩展应用)附录:1、存储器分配图2、寄存器及中断矢量表3、MC68HC08指令集4、MC68HC908QY4开发系统原理图参考书Motorola(Freescale)微控制器MC68HC08原理及其嵌入式应用刘慧银等编著清华大学出版社嵌入式应用技术基础教程王宜怀刘晓升编著清华大学出版社单片机嵌入式应用的在线开发方法邵贝贝编著清华大学出版社mc68hc908qy4sm_simplified_Chinese.pdfMC68HC908QY4.pdfMC68HC908GP32.pdf前言飞思卡尔(前身为摩托罗拉公司半导体产品事业部)在微电子产品领域拥有50年的悠久历史,为全球的汽车、消费、工业、网络和无线市场生产半导体产品。

飞思卡尔总部位于德克萨斯州的奥斯汀,在全球超过25个国家拥有设计、生产和销售运营部门。

飞思卡尔是众多市场领域中的领导者,是世界上最大的微控制器类集成电路供应商,随着国内市场投资的增加,其产品得到越来越多的认同,尤其是移动通信、汽车电子、工业控制等环境恶劣的场所,其应用越多,因为它的产品抗干扰性能很强。

单片机实验指导书

单片机实验指导书

单片机实验指导书近年来,单片机技术的发展十分迅速。

越来越多的工程师和科技爱好者开始接触和学习单片机技术,这促使单片机实验指导书的需求越来越大。

然而,这方面的书籍并不是很多,而且很多都只是简略介绍了一些基础的知识,很难满足读者的需求。

因此,我们有必要撰写一本全面、详实的单片机实验指导书,以供广大读者参考。

一、实验前的准备工作在进行单片机实验之前,需要进行一些准备工作。

首先,应确保实验所需要的单片机、电路板、电路图和元件都准备齐全;其次,应找到合适的实验环境,比如一间安静、干净、通风的实验室;最后,需要特别注意使用电器设备时的安全问题,确保自己和他人的安全。

二、实验的流程和步骤在开始实验之前,需要认真研读实验指导书中的介绍和分析,了解实验的目的、原理和步骤。

然后,按照指导书中的步骤依次进行实验。

实验完成后,应按照要求记录实验数据,并进行分析和归纳总结。

如果有问题需要解决,可以查阅相关的资料和文献,或向老师和同学请教。

三、实验中的注意事项在进行单片机实验时,一定要注意以下几点:首先,要认真选择合适的元件和器材,确保其质量和性能符合要求;其次,要遵守电器设备的使用规范,比如正确连接电源和地线、避免引起短路等;最后,要防止过度使用单片机,以免出现电磁干扰、损坏设备等问题。

四、实验课堂作业单片机实验课堂作业的目的是让学生加深对单片机知识的理解和掌握。

作业内容应与实验内容相密切相关,包括设计实验电路、编写程序、测试运行结果等。

同时,作业应具有一定难度和挑战性,以激发学生的兴趣和创造力。

总之,单片机实验指导书是单片机科技研究和应用的基础。

只有通过认真研读和实践,才能真正掌握单片机技术,应用到实际生产和工程中。

希望我们的实验指导书能够对广大读者有所帮助。

FreeScale_HCS12系列单片机教程(dg128)

FreeScale_HCS12系列单片机教程(dg128)

HCS12微控制器系列教程---第一讲:PWM 模块介绍该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该16位单片机资源。

本文为第一讲,开始介绍S12 MCU的PWM模块。

PWM 调制波有8 个输出通道,每一个输出通道都可以独立的进行输出。

每一个输出通道都有一,一个周期控制寄存器和两个可供选择的时钟源。

每一个PWM 输出个精确的计数器(计算脉冲的个数)通道都能调制出占空比从0—100% 变化的波形。

PWM 的主要特点有:1、它有8 个独立的输出通道,并且通过编程可控制其输出波形的周期。

2、每一个输出通道都有一个精确的计数器。

3、每一个通道的PWM 输出使能都可以由编程来控制。

4、PWM输出波形的翻转控制可以通过编程来实现。

5、周期和脉宽可以被双缓冲。

当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。

6、8 字节或16 字节的通道协议。

,他们提供了一个宽范围的时钟频率。

7、有4 个时钟源可供选择(A、SA、B、SB)8、通过编程可以实现希望的时钟周期。

9、具有遇到紧急情况关闭程序的功能。

10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。

HCS12微控制器系列教程---第二讲:PWM 寄存器简介1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位PWMEx 。

它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。

当任意的PWMEx 位置1,则相关的PWM输出通道就立刻可用。

用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。

当输出通道工作在串联模式时(PWMCTL寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道1 的使能位控制PWM 的输出。

Freescale单片机实验指导书1

Freescale单片机实验指导书1

Freescale HC08单片机实验指导书申柏华叶隆编著广东工业大学信息工程学院2006年3月第一版嵌入式MCU在线编程集成开发系统1.概述传统的嵌入式应用开发方法主要是使用仿真器模拟目标系统中MCU的运行情况,希望达到在目标系统硬件尚未定型与制版情况下,先行调试目标系统的硬件、软件设计,为目标系统的研制提供前期基础。

但是,一些情况下,难以实现100%的实时仿真,有些功能在用仿真器调试时十分正常,而到了实际应用系统却不能顺利运行。

同时,传统的仿真方式的一些调试功能仅适用于初学者,对于具有一定开发经验并拥有通用功能模块积累的开发者,往往增加了开发时间。

目前,随着计算机制造技术的发展,许多公司新推出的MCU具有片内Flash存储器,Flash存储器具有电可擦除、无需后备电源保护数据、可在线编程等特点。

在线编程(In-Circuit Program)允许单片机内部运行的程序去改写Flash存储器的内容,利用这个特点,不仅可以在运行过程中修改某些运行参数,也为研制新型嵌入式应用开发工具提供了技术基础。

Freescale公司目前正在陆续推出的新一代8位嵌入式单片微机M68HC08系列,其片内集成的Flash存储器具有单一电源电压供电、支持在线编程等特点,它是Flash技术比较成熟的条件下推出的,在线写入、读出稳定。

本系统利用MC68HC908GP32单片机内32KB的Flash存储器划出2KB空间,驻留监控程序,为用户提供一套界面友好、价格低廉、支持在线调试的MCU在线编程实验开发系统。

2.系统特点与主要功能2.1基本特点①传统仿真器的“仿真系统”与实际目标系统的硬件不是一套系统,难以实现目标系统的全部功能,这主要是由于过去的目标系统的程序存储器多为EPROM、OTP或不支持在线写入的Flash存储器。

新型的开发系统的硬件可以直接构成目标系统的评估硬件,所调试的软件即运行于此系统,可以实现100%在线实时仿真。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。

3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。

设置工程的名称和保存位置,确定后点击“保存”。

3.3 编写程序在Keil C51开发环境中,编写单片机程序。

首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。

3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。

编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。

3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。

第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。

4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。

4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

freescale实验教程

freescale实验教程

第一部分基础实验第一章基础理论1.1 单片机程序设计与应用系统开发过程单片机的行为是受程序控制的,因此开发与使用单片机必然会遇到程序设计的问题,单片机设计是一个硬件与软件结合的问题,而其软件设计的工作往往占有更多的成分。

一个完整的嵌入式系统开发过程,除了硬件电路的设计外,软件工作包括程序编辑、汇编或编译、程序下载、程序调试、脱机验证等过程。

程序的编辑就是按照一定的格式,采用汇编或者C等高级语言进行编写。

早期的单片机程序设计在DOS环境下符合一定的格式编辑,然后采用一个合适的软件汇编,生成二进制等CPU能识别的目标代码,将单片机(内带程序存储器的情形)或程序存储器放入编程器,编程器通过串口或USB等接口与PC机相连,将PC机存放的CPU能识别的代码下载到单片机或程序存储器中。

图1-1是一个简单的说明:图1-1 程序设计过程采用以上方式进行开发的情形下,单片机必须是能从电路板上取下来,这对贴片封装的单片机就无能为力了。

此时为了能在线仿真调试,需要昂贵的仿真头和仿真电缆与软件,而且几乎没有仿真器能做到100%的功能仿真,甚至有的问题正是来自于仿真器。

随着技术的发展,采用ISP技术,只要在目标电路板上预留一个接口,通过一个很小的下载器,与PC机串、并口或USB口相连,就可以进行程序的调试与下载,尤其是有的单片机具有JTAG接口,下载调试更加方便,调试尽可能少占用单片机资源,更有甚者,像freescale的单片机,内置背景调试控制器(BDC ,Background Debug Controller),支持一线ISP和程序调试。

目前程序开发需要的各种软件,如编辑、汇编、编译、链接、调试、下载等都集成到一个环境下(集成开发环境IDE),这些开发环境有的是针对某种单片机,由单片机厂商提供,有的则比较通用一些,这些开发环境如Silicon Laboratories,AVR Studio,Keil uVision,Freescale CodeWarrior等。

Freescale单片机原理与设计(TPM模块应用编程)

Freescale单片机原理与设计(TPM模块应用编程)

XX科技大学Freescale单片机原理与设计实验报告实验项目TPM编程应用【实验目的】1、理解HCS08的定时器/PWM模块TPM(Timer/Pulse-Width Modulator)模块原理2、学会TPM模块设计3、进一步认识“对MCU外部管脚/内部模块的控制正是通过Regs的控制来实现”【实验原理】MC9S08AW60系列中的定时器系统包括两个独立的TPM:一个6通道的TPM1和一个2通道的TPM2。

TPM模块管脚和I/O 管脚复用。

定时器系统总共8个通道,每一个通道都可作为输入捕捉、输出比较、或带缓冲的边缘对齐PWM。

每一个TPM的所有通道都可以配置成为带缓冲的中心对齐脉宽调制CPWM (buffered, center-aligned pulse-width modulation)。

每一个TPM预分频器的时钟源都可以独立选择总线时钟、固定系统时钟或外部管脚对每个TPM,每个通道一个中断,还有一个计数中止中断。

定时器系统的内部结构为:两个独立的TPM每个TPM都由1个16位的计数器与n(n=6 or 2)个输入/输出通道组成;每一个通道都可作为输入捕捉、输出比较、或带缓冲的边缘对齐PWM。

TPM模块自由计数定时核心是一个16位的计数器。

三种时钟源之一经过分频之后的脉冲即作为定时器的计数脉冲;每过一个计数脉冲,Counter便自动+1,Counter加到FFFF后翻转到$0000,同时置溢出标志位TOF为1,然后重新开始计数;溢出时若TOIE为1,还会产生中断请求。

Fbus和分频比的不同可以产生不同的溢出时间间隔;但是这种自由计数定时方式定时有限。

只读的16位TPM计数寄存器由两个字节寄存器TPMxCNTH和TPMxCNTL构成。

TPM预置计数定时:向16位模数计数寄存器TPMxMODH:TPMxMODL写入一个确定的数值,则计数器每进行一次计数都会将计数和模数计数寄存器的值进行比较,如果相同就产生溢出,同时置溢出标志位TOF为1,然后重新开始计数,溢出时若TOIE为1,还会产生中断请求。

freescale单片机入门指导

freescale单片机入门指导

freescale单片机入门指导1.文档介绍9S12DT128BDGV1最重要的一个文档,有关单片机的全部介绍,以及一些控制寄存器的使用和计算方法。

S12Core User Guide 使用指导。

在学习的阶段,我没有看这个。

可以在看不懂其他地方的时候查查。

S12PWM8B8CV1 PWM部分的详细讲解。

这里PWM是最重要的一个部分。

涉及到单片机对外设的控制。

S12DT128PIMV1 IO口部分的详细讲解,我没有太多的价值。

可在以后碰到困难的时候作为原始资料查询。

S12ECT16B8V1 增强型捕捉时钟。

我们编程时使用了其中的时钟中断。

S12EETS2KV1 EEPROM部分的讲解。

这里没有直接使用,不过也相当重要。

2.编程环境编译环境为CodeWarrior 4.13.单片机资源划分我们将单片机的4000H到7FFFH的地址设为默认程序ROM地址,共16K的存储空间,程序代码都将存储在该区域。

而RAM地址定义为1FFFH到2FFFH的地址中。

设置两个中断向量,分别是实时中断RTI和定时器中断timer0。

表5-1单片机资源分配表4.例程说明/****************************************************************************** * freescale单片机编程说明** 这是与硬件相关的源代码,请对照详细注释,参考英文手册详细了解该* 型号单片机的编程。

* 这里的源代码处理方式有些是有问题的,请各位仔细对照学习,找出编* 写不完善的地方。

* 祝学习愉快!!!** 程钊2007.2*******************************************************************************/ #include <hidef.h>#include <mc9s12dg128.h>extern SYSCLOCK;extern VELOCITY;void CarMain(void);//Init_PWMout 1.0//06/05/16 by C.Z.void Init_PWMout(void){//system clock 24M//initiate PWM port//以下各寄存器的使用详见“S12DT128PIMV1”文件。

飞思卡尔单片机应用实验指导书

飞思卡尔单片机应用实验指导书

飞思卡尔单片机应用实验指导书机械工程学院机械电子工程教研室实验一飞思卡尔嵌入式实验系统入门一GPIO控制实验一、头验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60GPIO吉构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接3.根据连接在PTDH上的两个拨动开关的状态,控制接中PTB口上的八个LED&在以下四种不同状态:八个LE而一灭循环;四个灯交替亮一灭;一个LE9移流水灯;两个LED&移流水灯。

实验接线原理图导线持括点*5V沏门阻挑JJ33JD J3图1-1 I/O 口实验接线图三、实验步骤1 .将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器 BDMg 头插接入核心卡BD 瞰,US 以接入 PCM USBq 。

2 . PCM 上启动CodeWarrior ,新建工程LED.mcp (注意设置工程保存路径)3 .观察工程文件结构,查看相应文件。

4 .在main.asm 中编辑工程主文件5 .编辑相关子程序6 .编译,如果有错误修改,直至编译通过7 .链接、下载,调试观察 LED 丁现象四、思考题1 . CodeWarrior 建立工程有什么工程框架文件,这些文件的作用?2 .嵌入式开发系统有哪些主要元器件?3 .如果采用模块化设计方法,将系统初始化、V VccPTB 口 PTD0 PTD1 PTD2 PTD3 PTD4 PTD5 PTD6 PTD7PTD 口导线接插点拨码开关 口 GNDLEDT 控制、延时程序等各自形成文件,导线接插点PTB0 PTB1 PTB2 PTB3 PTB4 PTB5 PTB6 PTB7工程应用这些文件时应注意什么?4.上拉电阻和下拉电阻分内置的和外接的,内置的电阻一般只有几K或十几K,外接电阻可以是几M十几Mg至更大。

Freescale单片机实验指导书2【2024版】

Freescale单片机实验指导书2【2024版】

一般性实验实验一普通I/O口操作实验实验目的:1、熟悉SDIDE开发环境,熟悉GP32基本程序结构2、理解Freescale MCU的编程框架3、熟悉编程调试环境,编译、调试、下载运行第一个程序4、掌握I/O的基本编程方法范例程序:① A01_简单IO及程序框架\ FrmMain.ASM② C01_简单IO及程序框架\纯C\prgframe.prj③ C01_简单IO及程序框架\C&ASM混编\prgframe.prj实验要求:1、参看教材6.4节,熟悉实验板结构2、运行并读懂教材第7章的关于I/O口操作的LED灯控制程序3、按下列要求新建一程序:根据PB口低2位(PTB1和PTB0)的状态输出四种不同的LED显示效果,要求用最简洁的语句实现以下各效果。

(1)PTB1=0,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。

(效果1)(2)PTB1=0,PTB0=1时,效果为:8个LED中只有两个连在一起的灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。

(效果2)(3)PTB1=1,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约8秒。

(效果3)(4)PTB1=1,PTB0=1时,效果自定。

(效果4)实验二串行通信实验实验目的:1、理解串行通信基本原理,掌握MCU串行通信基本编程方法2、理解串行通信的查询方式和中断方式原理及其编程范例程序:1、C02_1串行通信查询方式\ H08SCI_1.prj2、C02_2串行通信中断方式\ H08SCI_2.prj3、A02_1串行通信查询方式\ SCIMain1.asm4、A02_2串行通信中断方式\ SCIMain2.asm5、以上四目录都有VB_SCI目录,该目录是对应Visual Basic6.0程序,运行在PC方,用来接收和发送数据。

《Freescale8位单片机入门与实践》第一章_单片机概论

《Freescale8位单片机入门与实践》第一章_单片机概论

第一章单片机概论1.1概述在近20年的时间里,计算机得到迅速发展,单片机也得到飞速发展。

世界主要单片机供应商有Freescale、Atmel、Philips、Microchip、SST、TI等,其中Freescale 于2004年从Motorola公司分离出来,成立了独立的Freescale公司,其前身为Motorola的半导体部。

单片机的应用领域非常广泛,所以系列众多,每个系列又有繁多的品种。

随着技术的发展,单片机的功能也越来越多,不断有新的单片机问世。

MCU的基本含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。

图1-1给出了典型的MCU组成框图。

单片机是在计算机制造技术发展到一定阶段的背景下出现的,它使计算机从科学计算领域进入到智能化控制领域。

从此,计算机技术在两个重要领域——通用计算机领域和嵌入式(Embedded)计算机领域都获得了极其重要的进展,为计算机的应用开辟了更广阔的空间。

就单片机组成而言,虽然它只是一块芯片,但包含了计算机的基本组成单元,仍由运算图1-1 一个典型的MCU内部框图器、控制器、存储器、输入设备、输出设备五部分组成,只不过这些都集成在一块芯片上,这种结构使得单片机成为具有独特功能的计算机。

由于单片机具有体积小、价格低、稳定可靠等优点,它的出现与迅速发展,是控制系统领域的一场技术革命。

单片机以其较高的性能价格比、灵活性等特点,在嵌入式微控制系统中具有十分重要的地位。

1.2 单片机发展概况单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,本节简要叙述单片机的发展历程以及在我国的应用概况,以便了解单片机的发展脉络。

1.2.1 单片机的发展简史1971年Intel公司首次宣布4004的4位微处理器,1974年12月Fairchild(仙童)公司即推出了8位单片机F8,开创了单片机的初级阶段。

《Freescale8位单片机入门与实践》 第二章_Freescale_8位单片机概述

《Freescale8位单片机入门与实践》 第二章_Freescale_8位单片机概述

第二章Freescale 8位单片机概述2.1 08系列MCU的概述Freescale的08系列单片机型号有一百多种。

在这些不同型号的单片机中,资源各不相同,即使是同一种型号的单片机,也有多种封装形式,其I/O口数目也不相同。

表4-1表现了几种08系列单片机的资源差异情况。

表4-1 08系列单片机的资源差异情况表从表4-1可以看出08系列单片机内置资源差异很大,内存容量(RAM)最大的达到4K字节,而最少的只有128个字节;最多的I/O口数有56个,最少的只有6个;闪存(FLASH)最大的达到了60K字节,而最少的只有1.5K字节。

这种差异非常适合于各种不同的应用系统。

在实际应用开发过程中,选择合适的单片机是非常重要的。

HC08系列MCU有很多类型,各种类型除了拥有HC08系列的共同特点外,又具有其自身的特点,可以满足特定的实际需求,如表4-2所示。

表4-2 MC68HC08系列MCU的类型及特点2.2 MC68HC908QY4 MCU的性能概述MC68HC908QY4是MC68HC08 微控制器系列中的产品,MC68HC08 是一种高性能的8位单片机系列,具有速度快、功能强、价格低等特点。

采用高性能的MC68HC08中央处理器与MC68HC05指令代码完全向上兼容5V或3V的工作电压(VDD)5V工作电压时内部总线频率最高为8MHZ,3V时内部总线频率最高为4MHZ8位字节可调整的内置振荡器,可产生3.2MHZ的总线频率,可调范围±5%由STOP状态可以自动唤醒通过CONFIG寄存器可以对MCU进行配置,包括低电压禁止(LVI)设置具有片内FLASH,具有FLASH存储器在线编程功能和保密功能(FLASH编程/擦除的电压由芯片内部电荷泵产生)MC68HC908QY4的FLASH的存储器大小为4096字节128字节的片内ROM双通道16位定时器模块(TIM)MC68HC908QY4具有4路8位模数转换器(ADC)13个双向I/O口,一个单向输入口:所有I/O口都具有很强的吸电流和放电流能力所有I/O口内部上拉电阻6位键盘中断,具有唤醒的特点低电压禁止模块(LVI)具有软件可选的特点,由CONFIG寄存器进行设置系统保护特性:设计算机工作正常(COP)复位低电压检测复位非法指令码检测复位非法地址检测复位IRQ),此引脚与通用输入引脚复用带有内部上拉的外部异步中断引脚(复位引脚(RST),与通用I/O复用上电复位RST和IRQ引脚的内部上拉可以降低外围路的复杂性存储器映射I/O寄存器WAIT和STOP低功耗模式MC68HC908QY4 具有以下封装:16引脚PDIP、SOIC、TSSOP2.3内部结构简图MC68HC908QY4系列结构框图如图2-1所示。

飞思卡尔8位单片机MC9S08JM60开发板实践教程

飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。

这控制总线频率。

00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。

1 选择1MHz到16MHz外部振荡器的频率范围。

(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。

(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。

1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。

0 FLL(或PLL)在忽略模式中为无效的。

[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLKEN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。

Freescale MC9S08单片机原理与应用(第10章)

Freescale MC9S08单片机原理与应用(第10章)

第10章实验系统10.1实验板简介本实验系统采用HCS08系列MC9S08AW60CFGE单片机,实验板集成了以下功能:➢OSBDM:集成OSBDM (HC08及HCS08)➢ADC:1路8/10位模数转换器电位器调节➢PWM:1路pwm控制蜂鸣器➢SCI:1路RS-232通信(DB9接头和TTL电平接口)➢KBI:4路按键中断输入➢数字量输入:4路数字量输入➢数码管:4位8段数码管显示➢LED:8位发光二极管显示➢SPI:一路串行SPI通讯接口(插针引出)10.1.1实验板系统特点➢基于BDM方式调试程序。

➢BDM方式提供给用户各种基本的开发和调试功能,包括程序下载和运行、汇编和反汇编、断点设置、单步执行和内存显示修改等。

➢用户可对自编程序进行实时仿真和在线监测。

➢系统板提供了大量外围功能模块,可辅助完成对并行IO口,键盘和外部中断、AD和SCI等模块的实验和测试。

10.1.2实验板开发套件实验板开发套件包括:➢系统板(内含BDM)➢5V直流电源➢RS-232串口电线➢USB电缆10.1.3实验板系统与PC的连接实验系统与PC的连接如图10-1所示。

BDM编程接口用来给实验板下载程序。

RS-232串行总线用来与实验板进行通讯。

RS-232串行通讯接口HCS08试验板BDM编程接口图10-110.2 实验板接口定义10.2.1 4位数字量输入电路实验板用拨码开关为用户提供了4位数字量输入模块,其原理图如图10-2所示。

图10-2当拨码开关状态为OFF时,输入由内部上拉电阻置高;当拨码开关为ON时,相应的输入为0。

10.2.3 4位按键输入电路实验板用拨码开关为用户提供了4位数字量输入模块,其原理图如图10-3所示。

图10-3按键电路由单片机内部提供上拉电阻,可以通过内部寄存器设置工作在扫描或中断方式。

10.2.4 8位数字量显示电路实验板用LED为用户提供了8位数字量输出模块,其原理图如10-4所示。

单片机原理与应用技术实验指导书(V2.3)

单片机原理与应用技术实验指导书(V2.3)

单片机原理与应用技术实验指导书(Freescale)机械工程学院机械电子工程教研室王晓峰实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试;2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接;3.观察示例工程项目,该工程功能为:根据连接在PTC0、PTC1口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下二种不同状态:八个LED同时亮-灭循环;四个灯交替亮-灭;4.设计一个比示例工程简单的工程项目,内容为控制PTB口上连接的八个LED灯同时亮-灭循环一次再四个灯交替亮-灭一次。

5.设计一个比示例工程更复杂一些的工程项目,根据连接在PTC口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。

三、实验步骤(注意:在调试过程中如需要进行连接线路时,要先将实验箱断电,待电路连接好后再接通电源!!!)1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM接头插接入核心卡BDM座,USB头接入PC机USB口。

2.PC机上启动CodeWarrior,新建工程LED.mcp(注意设置工程保存路径)3.观察工程文件结构,查看相应文件。

4.在main.asm中编辑工程主文件5.编辑相关子程序6.编译,如果有错误修改,直至编译通过7.链接、下载,调试观察LED灯现象导线接插点Vcc拨码开关GN图1-1 LED及拨动开关原理图四、参考程序1.主汇编程序main.asm该程序为根据PTD口的PTD0上接的拨动开关的状态控制连接在PTB口上的八个LED灯在四亮四暗状态或八个灯同时亮同时暗的状态XDEF asm_mainXREF MCUInitXREF DelayHXINCLUDE 'derivative.inc'INCLUDE 'light.inc'INCLUDE 'switch.inc'MyCode: SECTION; this assembly routine is called the C/C++ applicationasm_main:JSR MCUInitJSR Switch_InitJSR Light_InitM_Scan: JSR Switch_ReadLDA $70CMP #$01BNE M01LDA #0JSR Light_On_OffLDHX #$0fffJSR DelayHXLDA #1JSR Light_On_OffLDHX #$0fffJSR DelayHXBRA M_ScanM01: CMP #$02BNE M02JSR Light_HalfLDHX #$0fffJSR DelayHXM02: BRA M_ScanRTS ; return to caller2、LED灯构件程序light.asm;[Light.asm]小灯驱动-----------------------------------------------------* ;本文件包含: * ; (1)Light_init:定义控制小灯的MCU的I/O引脚为输出* ; (2)Light_On_Off:驱动小灯"亮","暗" * ;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;小灯控制引脚宏定义Light_P: equ PTBD ;灯(Light)接在PTB口Light_D: equ PTBDD ;相应的方向寄存器Lon: equ $00Loff: equ $ffLdiff: equ $0f;声明外部函数XDEF Light_Init ;小灯初始化XDEF Light_On_Off ;驱动小灯"亮","暗"XDEF Light_Half ;驱动小灯"四亮","四灭";Lightinit:定义控制小灯的MCU引脚为输出---------------------------* ;功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗* ;----------------------------------------------------------------------------------* Light_Init:LDA #$FFSTA Light_P ;设置初始时八个LED灯全灭LDA #$FFSTA Light_D ;设置LED所接PTB口为输出RTS;Light_On_Off:驱动小灯"亮","灭"---------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------* Light_On_Off:CMP #0BNE Light_1LDA #LonSTA Light_PBRA Light_ExitLight_1:CMP #1BNE Light_Exit ;入口非'L'/'A',程序无响应LDA #LoffSTA Light_PLight_Exit:RTS;Light_Half:驱动小灯"四亮","四灭"-------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------*Light_Half:LDA Light_PCMP #LdiffBNE Light_half1LDA #~LdiffSTA Light_PBRA L_exitLight_half1:LDA #LdiffSTA Light_PL_exit:RTS3、拨动开关控制程序Switch.asm;[switch.asm]开关状态输入---------------------------------------------* ;本文件包含: * ; (1)Switch_init:定义连接开关的MCU的I/O引脚为输入* ; (2)Switch_read:读取开关状态* ; (3)RAM$70保存开关状态;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名XDEF Switch_InitXDEF Switch_Read;开关连接引脚宏定义Switch_P: equ PTCDSwitch_D: equ PTCDDS_K1: equ 0S_K2: equ 1;Switch_Init:定义连接开关的I/O为输入----------------------------------*Switch_Init:BCLR S_K1,Switch_DBCLR S_K2,Switch_DRTS;Switch_Read:读取连接开关的I/O口数据,取出开关状态------------* ;RAM$70保存开关状态* ;------------------------------------------------------------------------------------*Switch_Read:PSHALDA #0STA $70BSET S_K1,$70BSET S_K2,$70LDA Switch_PAND $70STA $70PULARTS4、延时通用程序DelayHX.asmXDEF DelayHXDelayHX:PSHA ;[A进栈](保护寄存器A)CPX #0 ;X变址寄存器中的值是否为0BEQ DelayHX_ExitDelayHX_1:LDA #200 ;延时约200*5=1000(T)------DelayHX_2:NOP ;(1T)NOP ;(1T)DBNZA DelayHX_2AIX #-1 ;(HX - 1) -> HXCPHX #0BNE DelayHX_1DelayHX_Exit:PULA ;[A出栈](恢复寄存器A)RTS;[MCUInit.asm]AW60芯片初始化子程序---------------------*;功能: *; 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器*; 设置,由外部晶振f = 4MHz,产生内部总线时钟f = 20MHz *;入口:无*;出口:无*;------------------------------------------------------*INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;声明外部函数XDEF MCUInit ;芯片初始化MCUInit:PSHA ;A进栈(保护寄存器A)LDA #%01100000; |||; |||; |||; ||+------STOPE --- 允许STOP; |+-------COPT ---- long timeout 2^18; +--------COPE ---- 关看门狗STA SOPT ;系统选项寄存器(只写一次)MOV #%00110000,ICGC2; |||||||| 应该在设置ICGC1之前写MFDx; |||||||+-RFD0 \; ||||||+--RFD1 --- 分频因子R=1; |||||+---RFD2 /; ||||+----LOCRE --- 丢失时钟信号后产生一个中断信号; |||+-----MFD0 \; ||+------MFD1 --- 锁频环倍乘因子N = 10; |+-------MFD2 /; +--------LOLRE --- 锁频环失锁后产生一个中断信号(不复位) MOV #%01111000,ICGC1; |||||||x; ||||||+--LOCD ---- 允许检测时钟信号丢失Lost of Clock; |||||+---OSCSTEN - 在OFF模式下允许晶振电路; ||||+----CLKS0 \ - 选择FLL engaged external reference(FEE) ; |||+-----CLKS1 / 使用锁频环的外时钟模式; ||+------REFS ---- 使用晶振(0表示使用外时钟信号); |+-------RANGE --- 使用高频晶振(4MHz p=1) (1-1;0-64); +--------HGO ----- 低功耗;等待FLL稳定PULA ;A出栈(恢复寄存器A)RTS四、思考题1.CodeWarrior建立工程有什么工程框架文件,这些文件的作用?2.该实验采用模块化设计方法,工程框架包含哪些文件,画出其组织结构,画出主程序流程图。

《Freescale8位单片机入门与实践》 第五章_codewarrior应用综述

《Freescale8位单片机入门与实践》 第五章_codewarrior应用综述

第五章CodeWarrior应用综述(在线调试、VisualTools的使用、专家系统可选学)修改图形编号5.1 在线编程注意:实验电路板电源开关断开。

JP2的3、4两个端子短接。

1、确立目标在“True-Time Simulator & Real-Time Debug”工具界面,点击:Component->Set Target 在Processor栏,选择HC08,在Target栏,选择P&E Target Interface,然后点击OK,如图5-1所示图5-1 确立目标最后关闭“True-Time Simulator & Real-Time Debug”工具界面,在主界面中重新按下“Debug”,进入“True-Time Simulator & Real-Time Debug”调试。

2、在线调试重新进入后,PEDebug->Mode:Full Chip Simulation->In-Circuit ……如图5-2所示。

图5-2 调试界面系统将自动弹出如下的界面,如图5-3所示。

图5-3 连接界面点击Close Port。

出现界面如图5-4。

图5-4 关闭串口界面闭合目标板电源开关,给目标板供电,最后点击Contact target with these settings…。

出现图5-5界面,最后点击YES,程序就下载到实验板上了。

注:如果此时不出现图5-19,断开目标板电源,再次点击图5-18中Refresh List,然后再给目标板供电。

图5-5 查询是否擦除、下载程序然后在DEBUG界面上进行调试,如图5-6所示。

图5-6 DEBUG界面点击上图所示:运行(run)程序;单步运行(single step)程序;单步运行(step into)程序;跳出运行(step out)函数;跟踪(trace)程序;程序停止(halt)运行;目标板复位(reset target)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Freescale单片机实验指导
实验一编程入门、仿真调试
实验目的:熟悉飞思卡尔MCU仿真与调试环境的使用方法,掌握汇编语言程序的编辑书写规范,学习单片机汇编程序调试手
段,进一步编制应用程序,体会MCU应用程序特点。

实验环境:CodeWarrior IDE仿真调试软件;
编程语言选择:汇编语言(Assembly);
调试连接选择:Full Chip Simulation + P&E Multilink;
工程目标选择:全软件仿真(Full Chip Simulation);
实验内容:1、熟悉CodeWarrior IDE 的工程建立、菜单、工具、窗口、状态等。

2、编辑、编译简单样本程序:两个4字节无符号数相加。

已知:($2000)=被加数开始,($2004)=加数开始;具体值
预先在Memory区通过手工设定。

仿真调试:分别利用单步、全速、停止、断点、复位
等运行调试手段,观察寄存器A、B、X、Y、PC、CCR
等的状态与变化,以及观察FALSH中指令地址和
RAM中数据变化情况,验证运行结果。

(该仿真调试
方法将运用于以后的各次实验中)
附:样本程序代码
3、使用查表法将A中的某2位BCD码(如58)转换为
ASCII码,存入RAM$2080、$2081中。

仿真调试:分别利用单步、全速、停止、断点、复位
等运行调试手段,观察寄存器A、B、X、Y、PC、CCR
等的状态与变化,以及观察FALSH中指令地址和
RAM中数据变化情况,验证运行结果。

(该仿真调试
方法将运用于以后的各次实验中)
4、RAM中有10个无符号数,找出其最大值和最小值,
结果存放到MAX、MIN单元中实验参考:S12仿真与调试.pdf文档;
实验二编程提高、并行I/O口
实验目的:熟悉MCU指令及其应用规则,巩固汇编语言程序编程方法,熟悉数据传输、算术逻辑处理、分支、循环、软件
延时、并行I/O等应用程序编制技巧,初步熟悉硬件连接
调试方法。

实验环境:CodeWarrior IDE仿真调试软件+ XDT512开发板套件;
编程语言选择:汇编语言(Assembly);
调试连接选择:Full Chip Simulation + P&E Multilink;
工程目标选择:硬件连接调试(P&E Multilink);
实验内容:1、任意设定RAM$2040~$2049单元中10个无符号数,按由小到大重新排放(X、Y指针,双重循环,冒泡法)。

2、LED跑马灯。

依次点亮核心板上的4个LED,LED
已接B口高4位,B口位输出低电平时点亮。

亮出时
间控制调用软件延时100ms。

3、利用核心板上的4个拨位开关(SW3-1、2、3、4)控
制4个LED的亮或灭。

SW3已接B口低4位,LED
已接B口高4位。

实验参考:S12仿真与调试.pdf文档;
附1:XDT512核心板接口资源及相关跳线设置;
实验三中断、定时器
实验目的:掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程
序的安排。

实验环境:CodeWarrior IDE仿真调试软件+ XDT512开发板套件;
编程语言选择:汇编语言(Assembly);
调试连接选择:Full Chip Simulation + P&E Multilink;
工程目标选择:硬件连接调试(P&E Multilink);
实验内容:1、外部中断IRQ触发的LED跑马灯。

核心板上4个LED 已接B口高4位,B口位输出低电平时点亮,IRQ引脚
下降沿引发中断。

使用导线连接核心板MCU的IRQ引
脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1
(USER I/O插口的PB1),按动PB1即能给IRQ引脚施
加带有下降沿的低电平。

调试时,可在中断服务程序中设置断点,以方便观察是
否进入中断。

在此程序正常运行的基础上再加入对核心板按键SW1
(P口最低位,按下时接地)的检测,当其按下时取消
跑马灯显示,IRQ再次按下时继续显示跑马灯。

2、利用MCU内部定时器、中断功能部件,实现3s精确
定时(2MHz总线频率),每定时时间到,使核心板上接
B口高4位的最高位的LED亮灭一下,观察是否进入中
断。

调试时,可在中断服务程序中设置断点,以方便观
察是否进入中断。

实验参考:S12仿真与调试.pdf文档;
附1:XDT512核心板接口资源及相关跳线设置;
附2:XDT512核心板与目标板的连接插口(J1)引脚定义;
附3:XDT512核心板上主要接口电路图;
实验四A/D转换、SCI串行通信
实验目的:掌握汇编语言综合编程方法,掌握A/D转换、SCI串行通信、中断等功能部件的使用规则和应用方法,熟悉综合程
序设计方法和PC软件工具。

实验环境:CodeWarrior IDE仿真调试软件+ XDT512开发板套件;
编程语言选择:汇编语言(Assembly);
调试连接选择:Full Chip Simulation + P&E Multilink;
工程目标选择:硬件连接调试(P&E Multilink);
实验内容:1、A/D转换。

8位精度,将转换结果通过T口输出,检测对象为直接由RV1分压得到的模拟量(AN05)。

硬件连接:使用导线连接核心板MCU的PT0~PT7引脚
(插口J1=J5=J6=J7的13、15、50、52、54、56、58、
60号脚)至目标板上的8个LED灯(USER I/O插口的
LED1~LED8,高电平点亮);MCU的PAD05/AN05已
默认接至模拟电平输入,其电压范围0~5V;通过核心
板上的变阻器RV1进行分压调节以观察程序运行效果,
此时T口LED灯的状态应是A/D转换的二进制表示。

2、SCI串行通信与A/D转换。

双向,8位,9600bps,无
校验位,检测对象为光敏器件RZ1经过放大得到的模拟
量(AN04)。

硬件连接:将9针串口电缆一端接核心板串行插口,另
一端接PC机串行插口;MCU平时处于查询等待状态,
当MCU每接到PC主机发来的$88启动命令后,MCU
对已接至PAD04/AN04的模拟量的A/D转换结果串行上
传给PC主机显示,同时也送给T口灯对照观察;PC
主机使用“串口调试”工具软件。

改变核心板上光敏器
件RZ1的光照,以观察程序运行情况。

实验参考:S12仿真与调试.pdf文档;
附1:XDT512核心板接口资源及相关跳线设置;
附2:XDT512核心板与目标板的连接插口(J1)引脚定义;
附3:XDT512核心板上主要接口电路图;
编制:任勇
附1:XDT512核心板接口资源及相关跳线设置
核心板跳线:PWR_SEL=VX,其VDD跳开,USER全部短接,COMM_EN短接;
目标板跳线:VDD_SEL=+5V,+5V_SEL=USB,PWR_SEL=J1,UFFA的BZ跳开,其它默认;
附2:XDT512核心板与目标板的连接插口(J1)引脚定义。

相关文档
最新文档