飞思卡尔8位单片机MC9S0816程序08系列MCU编程器的开发程序.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卡尔 单片机 MC9S0816 程序 08 系列 MCU 编程 开发
- 资源描述:
-
16.3.6 针对目标芯片JB8的编程 (1)JB8的整体擦除 (2)JB8的页写入 表16-9 JB8的整体擦除子程序和页写入子程序 整体擦除 页写入 LDHX #$FFFF LDA #$FF ;$FFàFLBPR STA $FE09 ;整个Flash不受保护 LDA #$03 BSR Delay ;延迟 LDA #$06 STA $FE08 ;$06àFLCR LDA $FE09 ;读FLBPR STA ,X ;向HX写入任意值 LDA #$01 BSR Delay ;延迟Tnvs LDA #$0E STA $FE08 ;$0EàFLCR LDX #$04 ;延迟Tmerase Loop: LDA #$F8 BSR Delay DBNZX Loop LDA #$0C STA $FE08 ;$0CàFLCR LDA #$3B BSR Delay ;延迟Tnvhl LDA #$00 STA $FE08 ;$00àFLCR LDA #$00 BSR Delay ;延迟Trcv LDA #$00 ;$00àFLBPR STA $FE09 ;整个Flash受保护 SWI ;软中断指令 ;延迟子程序,入口参数为A Delay: NOP ;1个周期 NOP ;1个周期 DBNZA Delay ;3个周期 RTS ;4个周期 LDA #$FF STA $FE09 LDA #$03 BSR delay LDA #$01 ;(1) STA $FE08 LDA $FE09 ;(2) LDHX $00A0 ;(3) STA ,X LDA #$01 ;(4)delay Tnvs=6us BSR delay LDA #$09 ;(5) STA $FE08 LDA #$03 ;(6)delay Tpgs=10us BSR delay MOV #$00,$00A0 MOV #$A3,$00A1 WriteLoop: PSHH PSHX LDHX $00A0 LDA ,X ;DATA-->A AIX #$01 STHX $00A0 ;X-->($00A0) PULX PULH STA ,X ;A-->FLASH(HX) LDA #$09 ;(8)delay Tprog=22us BSR delay AIX #$01 ;FLASHaddr+1 DBNZ $00A2,WriteLoop ; LDA #$08 ;(10) STA $FE08 LDA #$01 ;(11)delay Tnvh=6us BSR delay LDA #$00 ;(12) STA $FE08 LDA #$00 ;(13)delay Trcv=4us BSR delay LDA #$00 STA $FE09 SWI delay: NOP NOP DBNZA delay RTS 16.3.7 基板中主控MCU的编程 (1)主流程 (2)整体擦除目标MCU子程序 用监控命令WRITE和IWRITE将16.3.6中的整体擦除JB8的67字节代码写到目标芯片JB8的RAM中,然后发送RUN命令执行之,整体擦除的梦想就实现了。 *SendNBytesToR-------------* *功能:向JB8内存发送N个Bytes *入口:A:数据个数 * HX:N个数据在GP中的起始位置 * AddrH\AddrL 写入地址的高\低字节 *占用寄存器:A、HX *内部调用:Write1Byte、IWrite1Byte *************************************** SendNBytesToR: PSHA ;A中存放数据个数 LDA ,X JSR Write1Byte SendNBytesTOR1: PULA DECA BEQ SendNExit PSHA AIX #$1 LDA ,X JSR IWrite1Byte BRA SendNBytesTOR1 SendNExit: RTS *EraseTargetFlash: *功能:整体擦除目标FLASH *①发送整体擦除程序 *②运行整体擦除程序 *-------------------------* EraseTargetFlash: ;=========写EraseProgram====== LDHX # EraseAll MOV #$00,AddrH MOV #$41,AddrL LDA #!67 JSR SendNBytesToR ;=========RUN EraseProgram===== LDHX #$0041 JSR RunProgram RTS 表16-10 主控MCU中整体擦除目标FLASH的源码 接收PC机发来的总页数PageNum PageNum=0? 返回 是 否 图16-11写目标MCU子程序流程图 将页写入子程序的二进制代码送往JB8的$41开始的内存区 接收PC机发来的页数据内容,暂存于PageBuffer中 将页数据内容发送到JB8的$A0开始的内存区 发送运行监控命令RUN,写入当前页 PageNum减1 (3)写目标MCU子程序 写目标MCU子程序可以分为以下几步来实现: ① 用监控命令WRITE和IWRITE将16.3.6中页写入程序的89字节代码写到目标芯片JB8的$0041开始的RAM区域中。 ② 接收PC的写入的总页数。 ③ 接收PC的页数据内容(包含页首址和数据个数) ④ 将页数据内容用监控命令WRITE和IWRITE写入JB8的RAM中从$00A0开始的地址空间中。 ⑤ 发送运行监控命令RUN,写入一页。 ⑥ 判断是否还有需要写入的页,如果有,则转第③步,直到写入所有的页。 从以上的写入过程来看,在写入过程中,要多次执行页写入程序,而在实际中,只需要传送一次页写入程序,以后的写入过程只需要传入需要写入的数据。写入过程的流程图如图16-11所示。源码见表16-11。 *ReceiveOnePage--------- *功能:从计算机中接收一页数据 *入口:HX *出口:Data~{Data+DataNum} *------------------------* ReceiveOnePage: BRCLR 5,SCS1,ReceiveOnePage LDA SCDR STA DataNum ;DataNumà页数据个数 ReceiveData: BRCLR 5,SCS1,ReceiveData LDA SCDR STA ,X ;放入内存{Data+X}中 AIX #$1 DBNZ DataNum,ReceiveData RTS ;======================================= *WriteOnePage-----------* *功能:将起始地址、页数据个数、页数据 * 移入JB8的Ram中,运行写入程序 *入口:HX为起始内存单元地址的连续N个字节 * 第1字节为数据个数+3,后面字节 * 依次为:高地址、低地址、数据个数、数据 *占用内存:DataNum *--------------------------------- WriteOnePage: LDA ,X STA DataNum ;=========写数据到内存=============== AIX #$1 Mov #$00,AddrH MOV #$A0,AddrL LDA DataNum JSR SendNBytesToR ;=============执行程序========= LDHX #$0041 JSR RunProgram RTS * WriteTargetFlash *功能:向JB8的FLASH中写入一个S19文件 *①发送写入程序 *②接收总页码 *③发送88àPC,表示可以接收下一页数据 *④接收PC的页数据内容并发送到JB8内存 *⑤写入一页 *⑥总页码减1,不为0转③ *------------------------------------* WriteTargetFlash: JSR SendWriteProg BRCLR 5,SCS1,* LDA SCDR STA PageNum ReceiveNextPage: LDA #!88 BRCLR 7,SCS1,* STA SCDR LDHX #PageData JSR ReceiveOnePage LDHX #PageData JSR WriteOnePage DEC PageNum ;PageNum-1=0则Z=1 BNE ReceiveNextPage ;Z=0转移 RTS ;============================== SendWriteProg: LDHX #WriteP Mov #$00,AddrH MOV #$41,AddrL LDA #!89 JSR SendNBytesToR RTS ;============================== 表16-11 S19文件写入目标FLASH的源码 16.4 HCS08系列MCU编程器原理 16.4.3 数据通信格式 如果用GP32作为主机,根据图16-20的时序,可以编写相应的发送1位数据的子程序,源码如表16-13所示。 表16-13 主机向目标MCUGB60发送1位数据子程序 发送位数据1子程序 发送位数据0子程序 *SendOneBitH *----发送1Bit高电平子程序-----* *功能: *GP32通过PTA3向GB60发送1位1的数据 *说明:(1)GP32 5个周期低电平 * 相当于GT60的4个低电平 * GP32->4.9MHZ GT60->4MHZ) * (2)后续12个周期的高电平状态 * (3)将GP32的PTA3置高 *------------------------------* SendOneBitH: BSET 3,DDRA BCLR 3,PTA NOP BSET 3,PTA NOP ;延时10 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP BSET 3,DDRA BSET 3,PTA RTS *SendOneBitL *----发送1Bit低电平子程序-----* *功能: *GP32通过PTA3向GB60发送1位0的数据 *说明:(1)GP32 5个周期低电平 * 相当于GT60的4个低电平 * GP32->4.9MHZ GT60->4MHZ) * (2)后续12个周期的低电平状态 * (3)将GP32的PTA3置高 *------------------------------* SendOneBitL: BSET 3,DDRA BCLR 3,PTA NOP NOP NOP NOP NOP ;延时12 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP BSET 3,DDRA ;结束该位 BSET 3,PTA RTS GP32主机接收目标MCU一位信号的源代码如表16-14所示。 表16-14 主机GP32接收目标MCUG B60发送的1位数据子程序 * Receive1Bit * *----接收1Bit子程序 * *功能:主机GP32接收目标MCUG B60发送的1位数据-----* *说明:(1) GP32向GB60发送2C的低电平 * * (2) 延时10C 后读取信息àC * *出口:C 接收的一位信息 * *-------------------------------------------------------------------------------* Receive1Bit: ;(1)GP32向GB60发送2C的低电平 BSET 3,DDRA BCLR 3,PTA NOP BSET 3,PTA ;(2)延时10C 后读取信息 BCLR 3,DDRA BRSET 3,PTA,CtoA CToA: ROLA ;C-->A的最低位 ;1C BSET 3,DDRA RTS展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




飞思卡尔8位单片机MC9S0816程序08系列MCU编程器的开发程序.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/7826218.html