飞思卡尔8位单片机MC9S88非接触式IC卡及其读写设备
- 格式:ppt
- 大小:240.00 KB
- 文档页数:45
飞思卡尔新款Flexis微控制器资料飞思卡尔推出新的flexis系列微控制器(mcu)的首两款产品,在8位与32位产品间兼容性方面取得了新的突破。
基于s08内核的mc9s08qe128和第一款基于coldfire?v1内核的器件mcf51qe128是业内第一的针脚兼容的8位与32位微控制器,而且采用相同片上外围设备和开发工具。
flexis系列是飞思卡尔controller continuum的8位到32位连接点,controller conTInuum是业内唯一的实现8位和32位兼容架构的路图。
flexis qe128系列可使开发人员以非凡的简便易用性、高速度、经济高效性和超低功率在低端和高性能嵌入式设计之间灵活移植。
通过提供一条清晰的移植路径,flexis qe128 mcu为消费电子和工业应用带来了无尽的可能性,其中包括医疗仪器与监控、工厂自动化、销售点设备、消防与安全系统、hvac与楼宇控制、计量与消费电子产品等。
互相兼容的体系结构和工具使企业不需要大量投资改写软件和转换到新的体系结构就可以轻松进军新的嵌入式市场。
空前的兼容性飞思卡尔公司的controller conTInuum为8位与32位性能之间的移植提供了独特的灵活性。
利用针脚、外围设备和工具的兼容性,flexis qe128为设计多种产品的客户提供了一条简单的迁移路径。
例如,开发人员可以利用相同的主板设计、软件代码和开发工具来将简单的8位住宅安全控制系统扩展到先进的32位商业安全控制系统,或者将基本的家用血压监测仪升级为高级的医用血压监测仪。
开发人员不再需要重新开发一个低或高端设计,他们只需要转换针脚兼容的8位或32位flexis mcu,然后使用相同的codewarrior development studio软件重新编写代码。
超低功耗随着普通消费与工业设备变的越来越小、越来越先进和便于携带,提高功效和延长电池寿命就成了关键的要求。
第一章搭建实验环境1、实验电路板及下载器实物图片2、实验电路图本实验图包含两大部分,分别是CPU.SCH和实验资源.SCH。
CPU采用飞思卡尔8位单片机MC9S08JM60CLD,(电路图介绍)图1-3实验资源部分电路图1-4LCD串口1602液晶电路图1-5RS232接口电路图1-6数码管显示电路图1-7发光管、ad转换以及按键电路图1-83、集成开发软件环境的建立1〉运行文件CW_MCU_V6_3_SE.EXE,在电脑C盘安装飞思卡尔8位(及简化32位)单片机集成开发环境codewarrior6.3版本2〉运行USBDM_4_7_0i_Win,这个程序会在c盘的程序文件夹下增加一个目录C:\Program Files\pgo\USBDM 4.7.0,在这个目录下a>C:\Program Files\pgo\USBDM 4.7.0\FlashImages\JMxx下的文件USBDM_JMxxCLD_V4.sx是下载器的固件文件;b>C:\Program Files\pgo\USBDM4.7.0\USBDM_Drivers\Drivers下有下载器的usb驱动.因此在插入usb下载器,电脑提示发现新的usb硬件的时候,选择手动指定驱动安装位置到以上目录即可。
3〉运行USBDM_4_7_0i_Win之后,还会在目录:C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.3\prog\gdi下增加一些文件,从修改时间上来看,增加了6个文件,这些文件是为了在codewarrior集成开发环境下对usb下载器的调试、下载的支持。
4、C语言编程基础第二章 LED闪烁程序编写过程1、新建工程运行单片机集成开发环境codewarrior IDE出现如下界面●Create New Project :创建一个新项目工程●Load Example Project :加载一个示例工程●Load Previous Project :加载以前创建过的工程●Run Getting started Tutorial:运行CodeWarrior软件帮助文档●Start Using CodeWarrior:立刻使用CodeWarrior点击Create New project按钮,以创建一个新的工程,出现选择CPU的界面如下,请选择HCS08/HCS08JM Family/MC9S08JM60,在右边的Connection窗口可以选择最后一个开源下载器HCS08 Open Source BDM。
第一章搭建实验环境系统时钟设置#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_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。
第一章搭建实验环境系统时钟设置#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_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。
图书基本信息书名:《飞思卡尔8位单片机实用教程》13位ISBN编号:978712108999210位ISBN编号:7121089998出版时间:2009-6出版社:曾周末、李刚、陈世利、 周鑫玲 电子工业出版社 (2009-06出版)页数:222版权说明:本站所提供下载的PDF图书仅提供预览和简介以及在线试读,请支持正版图书。
更多资源请访问:前言飞思卡尔原是全球领先的半导体公司,为汽车、消费电子、工业控制、网络和无线市场设计并制造嵌入式半导体产品。
飞思卡尔系列单片机由于其低成本和高性能的特点越来越受到用户的青睐。
本书介绍的MC9S08QG8单片机采用高性能、低功耗HCS208飞思卡尔8位微控制器为内核,是一款集成度很高、功能丰富、适用于各种应用的低价位单片机。
本书将给大家介绍它的一些主要功能及特性,包括灵活多样的低功耗模式、3.3V电压下的Flash编程、片内调试仿真器、高速ADC、IC总线、片内比较器等。
本书共12章,深入浅出地从一般单片机的基础知识人手,引出飞思卡尔8位单片机基础知识、最小系统设计,进而有步骤地、详略得当地介绍飞思卡尔8位单片机的寄存器与片内存储器、指令系统与汇编程序设计、中断系统等基本功能,并在之后的章节中,详细而又有针对性地一一介绍了集成在这款单片机内部的其他功能模块,比如定时器和比较器、异步串行通信、SPI、IC、模/数转换等功能模块。
本书还介绍了飞思卡尔单片机与MCS51单片机的区别,学过5l单片机的人会很快掌握其要点。
在本书最后一章里,有针对性地介绍了S08系列单片机c语言编程,并详细介绍了Code Warrior IDE调试软件的使用方法。
本书给出的所有例题都在实验板上运行验证过。
总之,本书力求通过最简洁的语言和表述方式、最通俗易懂的应用举例,向广大读者全面地介绍MC9S080G8单片机的功能及特性,以求能够为大专院校的学生及各相关领域的工作者提供一些帮助。
参加本书编写的还有天津大学精仪学院的薛彬、汤其剑、刘世廷、高雅彪、叶德超、黄邦奎、孙晔等研究生。
目標應用• 健康監測儀器• 中央空調及樓宇控制 • 煤氣表、水錶及暖氣表• 監控攝像機 • 數碼相機• 測量設備概述Flexis TM 系列控制器是“飛思卡爾控制器聯合體”(Freescale Controller Continuum)中的連接點,它使8位和32位產品的兼容成為現實。
Flexis系列包括可相互替換的8位S08和32位ColdFire ® V1微控制器系列產品,它們采用相同的外圍設備和開發工具,從而可以提供最大的移植靈活性。
QE系列產品由一對器件組成,它們管腳兼容,一個是8位,另一個是32位;它是Flexis系列中的首個產品族。
S08QE128器件拓展了8位微處理器的性能,達到128KB的閃存和24通道的12位模數轉換器(ADC)。
S08QE128還有高達3.6V的電源電壓、50 MHz的CPU內核和三個定時器,可改善電機控制性能,非常適用于健康監測儀器及其他電子產品,如數碼相機和網絡攝像頭等。
8位的S08QE128在管腳、外圍設備和工具等各方面都與32位的MCF51QE128互相兼容,這為它們的各方面性能都提供了前所未有的設計自由度。
Flexis TM 微控制器系列MC9S08QE1288位產品說明書使用外圍設備長電池使用壽命• 新的ULP電源等待模式• Stop3模式下6 µs的典型喚醒時間• 由內部或外部參考時鐘控制,包含鎖頻環(FLL)的內部時鐘源(ICS)模塊• 無需使用外部時鐘源。
這將從根本上降低系統開發成本。
• 閉環控制皮爾斯振蕩器(OSC);31.25 kHz到38.4kHz或1 MHz到16 MHz的晶振或陶瓷振蕩器• 具有在低功耗模式下提供精確時基的超低功耗振蕩器Freescale TM 和Freescale標識是飛思卡爾半導體公司的注冊商標。
所有其它產品和服務的名稱均為各自所有者的財產。
©飛思卡爾半導體公司2007年版權所有。
文件編號:MC9S08QE128FSREV 0• • 相同的硬件連接器• 斷點設置• 在線調試過程中可設置一個斷點設置(外加內置調試模塊中的另三個斷點)• 包含三個比較器和九種觸發方式的ICE調試模塊。
第二章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所示。
15.4.2 控制寄存器(1)MSCAN08模式控制寄存器0 (Module Control Register 0,CMCR0)模式控制寄存器0(CMCR0)定义了MSCAN08模块的同步状态等有关工作方式。
地址:$0500SYNCH —Synchronized Status:同步状态。
SYNCH =1,MSCAN08与CAN总线同步;SYNCH =0,MSCAN08与CAN总线不同步。
TLNKEN —Timer Enable:时钟使能。
TLNKEN =1,MSCAN08时钟信号输出连接到片上时钟输入;TLNKEN =0,MSCAN08不连接到时钟输入。
SLPAK —Sleep Mode Acknowledge:睡眠模式确认。
SLPAK标志位指示MSCAN08是否处于睡眠模式,SLPAK =1,表示MSCAN08处于内部睡眠模式;SLPAK =0,不在内部睡眠模式。
SFTRES —Soft Reset:软复位。
SFTRES =1,MSCAN08处于软复位状态;SFTRES =0,MCAN08处于正常运行状态。
当SFTRES被置为1时,MSCAN08立即进入软复位状态。
此时,MSCAN08所有正在进行的收发操作都被中止,且不再与CAN总线保持同步。
只有在软复位状态下,才能对寄存器MCR1、BTR0、BTR1、IDAC、IDAR0-IDAR3、IDMR0-IDMR3进行写操作。
当该位清0时,MSCAN08将在11个隐性位后与总线保持同步。
(2)MSCAN08模式控制寄存器1 (Module Control Register 1,CMCR1)模式控制寄存器1定义了MSCAN08模块的时钟源、唤醒模式及工作方式。
地址:$0501LOOPB —Loop Back Self-Test Mode:回环自测模式位。
LOOPB =1,激活回环自测模式;LOOPB =0,正常运行模式。
当处于回环自测模式时,CAN RX引脚被忽略,CAN TX引脚输出隐性值,MSCAN08将自己发送的报文当成是从远程节点上发送过来的报文进行接收,并产生发送和接收中断。
第一章搭建实验环境系统时钟设置#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位选择的晶振被初始化。
在MC9RS08KA8上实现可编程数据存储1 绪论对于低端产品的市场来说,MC9RS08KA8(RS08系列)微控制器是飞思卡尔的通用8位器件。
RS08KA器件经过特定的工艺使得应用更有效率、更好的性价比,这种应用需要一个小的存储容量。
它继承了S08大部分的核心结构和外围设备,除了由于廉价简单的核心设计的本性而只有有限的性能。
二者的一个重要区别是RS08KA有一个上电芯片闪存。
它没有页擦除模式或关联的内装电荷泵电路去产生疏忽的flash的重编程序所需的高电压,这使得RS08很大程度上不同于传统的应用于S08系列flash重编程序设计方法。
如果外部有个12V电压,它依然可能去重编部分上电芯片flash内容。
如果有小量的数据需要用一滚动存储器机制被置一一次或有限多次,这种方法是可行的。
2 基于RS08的FLASH设计这章是关于RS08 flash功能寄存器和说明书以及怎样编写flash存储程序。
2.1 FLASH程序设计RS08 flash存储器的编程是在一行的基础上,这一行由64个连续的字节组成,这些连续字节的起始地址是$3X00、$3X40、$3X80或$3XC0。
一个具体的程序必须要严格的按照flash存储器的一个行来编写。
图2.1是编写flash存储器程序的流程图。
当flash 阵列被加高电压时,flash存储器将会较常时间的接收编写程序。
从flash中输出可能会造成严重错误,在静态存储器中执行命令,然后编写flash存储器程序代码。
图2.1 Flash程序流程图2.2 FLASH的规约Flash功能块的规约必须对flash的编程和擦除操作仔细考虑,比如程序的电压和程序的同步技术。
表2.1列出了MC9RS08KA8有关flash功能块和操作的规约,一个具体的RS08 MCU更多信息的数据表。
表2.1 FLASH的规约2.3 外部程序电压控制外部程序电压必须被控制着在目标微控制器上应用或去掉,可以用一个程序控制或手工控制。