您的位置 首页 开关

STC Monitor-51的单片机在线仿真调试

摘要:51内核单片机在线仿真调试是一种取代专业仿真器的有效手段。利用ISP/IAP方法和STC Monitor-51监控程序,以及单片机集成开发环境Keil C51的在线仿真功能的支持,STC公司

摘要:51内核单片机在线仿真调试是一种替代专业仿真器的有用手法。运用ISP/IAP办法和STC Monitor-51监控程序,以及单片机集成开发环境Keil C51的在线仿真功用的支撑,STC公司的IAP15F2K61S2单片机完结了在线仿真调试功用,为单片机教育和运用开发供给了一条新的途径。

导言

当今许多院校中,单片机的教育仍以经典的51内核单片机为主。其试验与运用开发中最重要的环节是软、硬件归纳调试,一般选用的办法首要有两种:一种是运用仿真器,长处是功用完全,可是价格较高,一般厂家研制选用;另一种是运用软件仿真和芯片直接烧写验证的办法,其本钱尽管低,但在程序或硬件呈现疑难问题时,很难找到原因。

实际上,还有一种本钱低且具有在线仿真调试功用的技能是在线仿真调试,它特别合适初学者。“在线仿真调试”是指:经过Keil C51编译器,结合单片机中的监控程序,对体系的运用程序和硬件进行仿真调试,能够让单片机以单步、断点、全速等运转形式来履行程序。在线仿真调试是单片机运用开发进程中的高效办法,国内STC公司的51内核单片机IAP15F2K61S2便具有在线仿真调试功用。

1 在线仿真调试概述

Keil C51编译器开放了调试器与方针芯片的接口,只需芯片厂商供给自己特有的驱动程序(动态链接库DLL),就能使Keil调试器在不改动图形界面的情况下支撑相应的硬件仿真调试。

STC Monitor-51是STC公司开发的内嵌Keil C51编译器的方针体系调试模块,它是一个实时监控程序,可运用PC机的USB口与方针端进行通讯。在线仿真调试体系的结构示意图如图1所示。

a.jpg

PC机端由Keil调试器和STC Monitor-51的驱动程序stcmon51.DLL组成,stcmon51.DLL是STC公司自主开发的Keil仿真驱动协议,功用比较于 Keil自带的Mon51.DLL有较大的打破,例如:更改通讯接口为真实的USB口,支撑Keil Flash Download功用,支撑软件复位,增加断点数量等。方针端由USB转串口芯片CH340、51内核单片机及STC Monoitor-51监控程序组成。Keil调试器将用户的调试指令经过PC机的USB口传送给方针端;方针端的USB转串口芯片将其转换为TTL电平后发送给单片机,最后由单片机中驻留的STC Monitor-51监控程序剖析并履行。

2 在线仿真调试完结

2.1 IAP15F2K61S2的存储器结构

STC Monitor-51具有载入并履行用户程序的功用,所以要求单片机的程序存储器为Flash ROM,并具有ISP功用。ISP(In System Programming,在体系编程)指电路板上器材不必取出,就能够写入用户代码,现已编程的芯片也能够用ISP方法擦除或再编程。

IAP15F2K61S2单片机的程序存储器与数据存储器是独立编址的。IAP15F2K61S2单片机内部在物理上有4个彼此独立的存储器空间;程序存储器(程序Flash)、片内根本RAM、片内扩展RAM与EEPROM(数据Flash)。IAP15F2K61S2单片机片内集成了61 KB的程序Flash存储器,其地址为0000H~F3FFH。用户能够运用的最大程序空间为55 KB,整个程序Flash存储器的分布图如图2所示。

b.jpg

许多单片机在出厂时现已将具有Boot loader功用的程序固化在体系区中,因而无需编程器就可经过ISP下载软件将用户程序下载到Flash ROM中。STC公司的单片机能够进行ISP串行下载程序,便是由于体系区中有芯片出厂时就现已固化的ISP引导码。假如想要下载运用程序至单片机,先要在下载软件界面进步行相应挑选,然后再上电,当单片机检测到上位机中有特定的下载条件时,便启用ISP下载功用将程序下载至用户程序区;不然,单片机便会从用户运用程序区中开端履行代码。

STC公司的最新ISP下载软件stc-isp-15xx-v6.77.exe还能够将STC Monoitor-51监控程序下载到监控程序区,然后完结在线仿真调试功用。

2.2 IAP15F2K61S2的ISP和IAP完结

在线仿真调试功用的完结依赖于用户体系内部的监控程序和PC机上的下载程序。其详细完结首要运用IAP(In Applicatin Programming,在运用编程)技能,即在程序运转时程序存储器可由程序本身进行擦写。IAP15F2K61S2单片机的IAP功用,与以下几个特别功用寄存器有关。

IAP_DATA:ISP/IAP数据寄存器,从Flash读出的数据放在此处,写入Flash的数据也需放在此处。

IAP_ADDRH:ISP/IAP地址寄存器高8位。

IAP_ADDRL:ISP/IAP地址寄存器低8位。

IAP_CMD:ISP/IAP指令寄存器,须IAP_TRIG触发方可收效。

IAP_TRIG:ISP/IAP指令触发寄存器。

IAP_CONTR:ISP/IAP操控寄存器。

当IAPEN(IAP_CONTR.7)=1时,只要对IAP_TRIG先写入0x5A、再写入0xA5,ISP/IAP指令才会收效。

ISP/IAP操作完结后,IAP指令寄存器、IAP地址高8位地址寄存器和低8位地址寄存器的内容都不变。假如需求对下一个地址的数据进行 ISP/IAP操作,则要手动将该地址的高8位和低8位对应写入地址寄存器中。每次进行IAP操作时,都要对IAP_TRIG先写入0x5A,再写入 0xA5,ISP/IAP指令才会收效。

ISP/IAP指令寄存器IAP_CMD的格局如表1所列。经过对指令寄存器IAP_CMD的MS1和MS0位进行赋值,能够完结相应功用。

c.jpg

IAP15F2K61S2程序在用户运用程序区时,不只能够对数据Flash区(EEPROM)进行字节读、字节编程和扇区擦除,并且能够修正用户运用程序区。扇区擦除程序示意性代码如下所示,其他ISP/IAP操作相似。

IAP_ADDRH=EE_address/256; //送扇区地址高字节(地址需求改动时才需从头送地址)

IAP_ADDRL=EE_address%256; //送扇区地址低字节(512字节/扇区)

IAP_CONTR=0xS0; //设置等待时间,答应ISP/IAP操作,送一次就够

IAP_CMD=3; //送扇区擦除指令,指令不需改动时,不需从头送指令

IAP_TRIG=0x5A;

IAP_TRIG=0xA5; //ISP/IAP触发指令

2.3 监控程序

为合作Keil调试器的硬件仿真调试,监控程序应具有相应的单步、断点设置、ID读取等功用。仿真开端时,监控程序接纳指令,判别相应的功用操作,再履行。STCMonoit or-51监控程序只能在程序中给定点处监测,调试时需求占用程序空间,归于一种侵入式的调试,其作业流程如图3所示。

d.jpg

2.4 IAP15F2K61S2在线仿真调试进程

曾经的51内核单片机在线仿真调试时,需求依据硬件结构,修正运用程序和Keil C51集成开发环境的参数,初学者不易把握,然后影响遍及推行。STC公司的IAP15F2K61S2是非常易用的在线仿真调试芯片,只需运用最新ISP 下载软件stc-isp-15xx-v6.77.exe,将监控程序下载到单片机中,就可轻松地完结在线仿真调试功用。IAP15F2K61S2线仿真调试进程如下。

2.4.1 装置仿真驱动

运转ISP下载软件stc-isp-15xx-v6.77.exe,在“Keil仿真设置”页面中单击“增加MCU类型到Keil中”按钮,在呈现的目录挑选窗口中,确认到Keil的装置目录(一般可能为“C:\Keil\”)。增加头文件的一起也会装置STC的STC Monitor-51仿真驱动stcmon51.DLL。

2.4.2 创立仿真芯片

将一颗IAP15F2KG1S2经过方针板衔接到电脑的USB口,然后在“Keil仿真设置”页面中单击“将IAP15F2K61S2设置为仿真芯片”按钮,再给方针板上电,当程序下载完结后仿真器便制造完结。

2.4.3 创立项目工程

若上一步的驱动装置成功,则在Keil中新建项目工程、挑选芯片类型时,便会有“STC MCU Database”的挑选项,然后从列表中挑选相应的MCU类型(现在STC支撑仿真的类型只要STC15F2K60S2),单击“确认”完结挑选,再按Keil的一般运用办法增加源程序到项目工程中,若编译无误,则能够进行下面的项目设置。

2.4.4 硬件仿真驱动挑选

挑选Project中的Opertions for Target’Target1’,进入“Debug”设置页,在右侧的硬件仿真驱动下拉列表中挑选“STC Monitor-51 Driver”项,然后单击“Settin gs”按钮,对串口的端口号和波特率进行设置,波特率一般挑选115 200或许57 600。到此设置便完结了。

2.4.5 在线仿真调试

在这个Keil工程下,按下“Ctrl+F5”即可开端在线仿真调试。若硬件衔接无误,将会进入到相似于常用的软件调试,并在指令输出窗口显现当时的仿真驱动版本号和当运转、全速运转等进行仿真调试。调试中的注意事项首要有:断点设置的个数不要太多,不然会影响调试速度;若仿真源代码为汇编程序,则第一条句子有必要是长跳转句子,不能运用其他句子;仿真中,不能运用与P3.0和P3.1引脚相关的中止和功用。

结语

结合IAP15F2K61S2单片机与监控程序STC Monoitor-51、Keil C51集成开发软件,供给了一种本钱低、功用强的在线硬件仿真调试技能,降低了运用单片机开发工具的门槛,特别适用于单片机初学者以及校园的教育活动,也为选用51内核单片机进行运用开发带来了极大便当,只需下载监控代码就能够进行在线仿真调试。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/292952.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部