MC68HC908LJ12单片机FLASH在线编程

发布者:DazzlingSmile最新更新时间:2014-03-21 来源: elecfans关键字:MC68HC908LJ12  单片机  FLASH  在线编程 手机看文章 扫描二维码
随时随地手机看文章
引言
MC68HC908LJ12是Motorola即将推出的一款八位单片机,主要特点是片内有LCD驱动模块和FLASH存储器,拟代替今后会逐渐停产的MC68HC05L1、L5、L16等型号的单片机。MC68HC908LJ12表面贴封装的芯片具有SCI、SPI、内置实时时钟模块RTC、512B RAM以及12KB片内FLASH等特点,其内置LCD驱动模块具有3×27或4×26段LCD驱动能力。
MC68HC908LJ12单片机片内集成电荷泵,使用+5V工作电压即可产生所需FLASH编程电压;另外,片内FLASH擦写速度快,可靠性高,可擦写至少10万次以上,所以在需频繁修改存储的数据和代码的场合,都是理想的选择。
笔者在试用MC68HC908LJ12开发产品的过程中,总结了FLASH在线编程技术,并提供了一种廉价灵活的带片内FLASH的单片机的开发办法。


FLASH在线编程模式
所谓FLASH在线编程,即芯片无需从目标系统上取下即可对FLASH进行擦除和写入的操作。MC68HC908LJ12单片机片内有12KB的FLASH,对FLASH的编程有两种模式:监控模式(Monitor Mode)和用户模式(User Mode)。
当单片机上电复位时,若检测到复位向量($FFFE~$FFFF)为空($FFFF),或特定引脚加上特定的电平,就可使单片机在复位后进入监控模式。在监控模式下,可以利用固化在监控ROM中的代码并通过主机下载程序到RAM中完成对FLASH的一系列的操作。监控模式适合对刚出厂的芯片进行编程写入,或者对芯片的整体擦除或写入。仿真器和编程器就是使用的监控模式。
在单片机正常工作的过程中,程序也可以在用户模式下对FLASH进行编程操作。此时FLASH写入和擦除程序是必须的,但无需外部硬件条件的支持。所以用户模式可以在程序运行中对部分的FLASH进行修改,适合于目标系统的程序和数据的动态更新和存储。
基于MC68HC908LJ12单片机FLASH在线编程以上特性,笔者设计了一套集编程功能和开发功能于一身的MC68HC908LJ12开发工具,电路原理图如图1所示。
通过跳线的方式,可以选择编程功能(图中开关至A的位置)或开发功能(图中开关于B的位置)。当选择编程功能时,单片机工作在监控模式下,主机通过串行通信口可以向片内FLASH执行擦写操作;当选择开发功能时,单片机工作在用户模式下,并可以通过引出的插座连接到目标系统上进行产品开发。笔者在使用MC68HC908LJ12单片机的过程中,为该单片机编写了一套大约3.5KB的在线编程开发系统程序。将此程序写入芯片,开发者在此程序的基础上,能在用户模式下实现对片内另外8.5KB的FLASH擦写,调试用户自己的程序。用户程序定型后,可以选择编程功能擦除在线编程开发系统程序,并将所需的用户程序写入FLASH中。如果使用过程中发现程序有错误之处,仍可选择编程功能,将修改后的程序重新写回FLASH中。这样会给开发带来许多方便。
用户也可将此工具设计为分离形式的,即编程功能和开发功能分别在一块PCB板上。图中虚线框内即为编程器的电路原理图,LJ12芯片安置在开发板上。编程器和开发板之间只需6条连线,即DSC1、IRQ、RST、PTA0、电源线VDD和GND地线。将编程器与开发板连接即可在监控模式下对FLASH进行擦写操作,单独使用开发板即可开发目标系统。

FLASH监控编程模式
在监控模式下, MC68HC908LJ12单片机运行固化在ROM中的代码,监控代码包括使用半双工口的通讯子程。监控模式使用PTA0引脚,通过串行通信口与主机建立连接。建立连接后,单片机的控制权即交给了主机完成对FLASH的擦写操作。MC68HC908LJ12单片机在监控模式下的总线频率是2.4576MHz,进入监控模式有两种方式:高电平进入方式和空向量进入方式。
当单片机上电复位时,若在IRQ引脚上加上高电平VTST(VDD+2.5V),就可使单片机进入监控模式。使用此方式进入监控,在OSC1引脚输入的时钟频率必须是4.9152MHz或者9.8304MHz,PTC1引脚上的高低电平控制分频因子,低电平时分频因子为2,高电平时分频因子为4。
单片机上电复位时,若检测到复位向量($FFFE~$FFFF)为空($FFFF),单片机也将在复位后进入监控模式。使用此方式进入监控,若IRQ引脚为低电平,PLL允许,可由外部32768Hz的晶振产生所需要的总线频率2.4576MHz。若IRQ引脚为高电平,单片机将不管PTC1引脚上的电平而直接使用9.8304MHz的外部晶振产生总线频率2.4576MHz,即分频因子恒为4。

FLASH用户编程模式
在用户模式下,ICP程序代码是用户程序代码的一个部分,需将此代码存储在无冲突的FLASH存储器中以便被用户程序调用。对FLASH进行擦写的时候,FLASH编程操作例程应复制到RAM中运行。MC68HC908LJ12单片机在对FLASH进行擦写的过程中,一旦FLASH控制寄存器(FLCR)的高压允许位HVEN置1,整个FLASH阵列会被加上一个高于普通工作电压的编程电压,此时对FLASH内任意字节的读取都是不稳定的,执行的代码也可能是完全错误的。所以,开发者在调用FLASH擦写子例程前,需将子例程复制到RAM中,然后跳转到RAM中执行。
在用户模式下另一种在线编程的方法是利用固化在监控ROM中监控代码,这样,既可以减少有限的RAM空间的使用,也可以免去用户编写ICP代码的麻烦。Motorola提供了监控代码的入口地址,用户只需提供总线频率、目标FLASH的起始地址、数据队列大小以及数据队列等参数,然后调用“JSR 入口地址”命令即可使用。

结语
FLASH给开发者提供了快速的方便的编程和开发方法,同时也给单片机的应用开拓了更大的空间。合理地利用片内集成FLASH的单片机可以降低开发成本,缩短产品的开发周期。本文就MC68HC908LJ12单片机的FLASH的编程技术展开了一些探讨,FLASH的编程的其他功能有待于大家去挖掘。
关键字:MC68HC908LJ12  单片机  FLASH  在线编程 引用地址:MC68HC908LJ12单片机FLASH在线编程

上一篇:基于RTOS的太阳能热水控制系统设计
下一篇:USB接口类单片机特点及应用

推荐阅读最新更新时间:2024-03-16 13:38

P89LPC901单片机汽车起动保护控制器设计
1引言 汽车发动机的起动是通过起动机驱动发动机飞轮旋转实现的。由蓄电池驱动的起动机驱动齿轮产生机械运动;传动机构将驱动齿轮啮合入飞轮齿圈,同时能在发动机起动后自动脱开;起动机直流电动机的通断由电磁开关控制。汽车起动机属于汽车中的贵重部件,轻易不会损坏。但是,为了延长起动机的使用寿命,须有恰当的使用方法。由于误操作等原因,在汽车发动机起动时,若发动机起动后起动机不能及时断电.将烧毁起动机或损坏飞轮齿环;若起动时变速器不在空档,则会引发交通事故和人身安全。在起动发动机的过程中,起动机要从蓄电池引人300~400 Ah的电量,为了防止蓄电池出现过流或损坏现象,起动时间一般不应超过5 s;冬季容易出现起动困难的现象,多次起动时每次起动时
[单片机]
P89LPC901<font color='red'>单片机</font>汽车起动保护控制器设计
单片机+1602液晶数字时钟程序
本程序由好几个头文件组成,都在下面,你可以复制代码并保存为独立的文件 头文件STC12C5A.H下载: http://www.51hei.com/mcu/2564.html 程序: 首先是主程序: #include STC12C5A.H #include STDIO.h #include LCD1602.h #include interrupt.h void main() { LCD_init(); interrupts_init(); LCD_disp_cher(0, 1, 784729514 ); while(1) { sprintf(dsa, %d:%d:%d ,hour,minute,sec);
[单片机]
基于CC/CCS的Flash文件系统设计
摘要:在深入分析TI为开发DSP提供的RTS.LIB(RTS.SRC为源泉代码)的基础上,介绍对自定义的文件和设备的操作方法;设计一个简易的Flash文件系统,极大地方便了应用编程。 关键词:DSP CC/CCS Flash 文件系统 1 概述 在开发DSP的应用程序过程中,经常需要处理一些数据文件。这些数据文件可以是实际采集到的数据集合,也可以是用模拟仿真软件产生的数据集合,一般是以文件的形式存放在主机磁盘上的。一般的开发环境(如TI的CCS和CC)都提供了ANSI C标准操作文件格式,如打开一个文件fopen("盘符:路径文件名",“打开模式”)。嵌入式系统一般都外挂Flash。我们希望能够和读写主机磁盘文件一样操作Fl
[应用]
51单片机单串口同时实现AT指令和调试信息输出
很多外部模块是使用串口的方式与单片机通信的,但有的单片机只有一个串口,且不能硬件仿真,比如我使用的STC90C516,如果将唯一的串口给了外部模块,就不能打印调试信息了。 不过如果是使用AT指令只这样的模块,比如蓝牙SPP,WiFi模块,是使用AT指令的方式通信的 我们可以保留单片机串口与PC的连接,串口同时与模块连接,这样单片机的发送信息同时被模块和PC收到了。 模块只对AT指令有反应,对其他格式不正确的指令无反应, 如: printf( AT+RST\r\n );//模块对该指令有反应 printf( DEBUG+RST Test\r\n );//模块对该指令无反应 /span 这样串口就可以接收发送的数据和调试
[单片机]
基于单片机的温控报警系统设计 ,
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 #include reg52.h #include stdio.h #include absacc.h code unsigned char seg7code = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x40}; //显示段码 sbit TMDA
[单片机]
基于<font color='red'>单片机</font>的温控报警系统设计 ,
英飞凌发布支持IO-Link V1.1标准的通信系统的微控制器开发套件
英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2010年SPS/IPC/DRIVES展会上发布了可以支持IO-Link V1.1标准的、基于英飞凌16位XE166和8位XC800微控制器的设计评估套件,基于高实时性XE166和低成本XC800微控制器,可支持最多8个带FIFO缓冲的IO-Link通道。与工业自动化领域经验丰富的合作伙伴携手合作开发的这个IO-Link评估套件,可使设备制造商轻松评估基于IO-Link的完整主机从设备系统的功能。 IO-Link是一种标准化点对点通信标准,可简化工厂自动化系统中传感器和执行器的集成度。该系统为终端用户带来了诸多益处,包括更简易、更便宜的电缆连接,远
[单片机]
基于单片机的流量控制系统设计
工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进行监视与控制。对流体流量进行正确测量和调节是保证生产过程安全经济运行、提高产品质量、降低物质消耗、提高经济效益、实现科学管理的基础。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。 系统工作原理 系统的工作原理是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号。DA转换器将离散的控制信号转化为模拟电量。通过模拟电量来控制阀门的动作,从而调节流量,实现流量的精确控制
[单片机]
基于<font color='red'>单片机</font>的流量控制系统设计
采用二维模糊控制器和C8051单片机实现室内自然采光系统的设计
1、 引言 从远古的篝火、油灯到蜡烛、白炽灯,再到今天千家万户的荧光灯,人类已经基本适应了人工光源的室内照明环境。但是由于千万年来的环境影响,自然光仍然是人类最习惯、感觉最舒适的光源,自然采光一直受到建筑师和照明设计师的高度重视。当今社会建筑的节能环保需求更对自然采光照明提出了进一步的要求。《建筑采光设计标准》 中的国家技术经济政策指出: 建筑设计要充分利用天然光,创造良好的光环境。 对室内照明自然采光的研究具有重要的意义: (1) 资料表明,照明用电占整个商业建筑能耗的25 - 40% ,而自然采光在特定的情况下可以节省52% 的照明用电,大大节约了能源。 (2) 相关研究表明,人在自然光条件下工作,可以增加满意度和提高工作
[单片机]
采用二维模糊控制器和C8051<font color='red'>单片机</font>实现室内自然采光系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved