51单片机(四)—— 51单片机仿真芯片的使用

发布者:快乐舞步最新更新时间:2021-07-19 来源: eefocus关键字:51单片机  仿真芯片  程序烧写 手机看文章 扫描二维码
随时随地手机看文章

在前面的文章中,我们都是直接用串口将程序烧写到单片机中运行,在这种开发方式下,如果程序有问题,很难找到问题所在,用过一些高端单片机的人可能知道,一般单片机是可以用调试器调试的,可以单步调试、设置断点等,对于查找程序的问题比较方便。51单片机比较低端,本身不支持在线调试,但是可以使用仿真芯片进行调试。本文我们就来介绍如何使用仿真芯片SST89E516RD。


SST89E516RD芯片是51单片机的仿真芯片。仿真芯片可以实现计算机与开发板板之间的真正在线调试,可以在软件调试模式下进行单步的执行指令、可设置断点等。每执行一条指令都可看见实验板的运行状态,并且可随时查看各个变量的值,对初学者非常有帮助。如果不使用仿真芯片而直接使用板上单片机调试程序只能全速执行指令,通过实验板现象来重新修改程序,再次下载。


在使用仿真芯片时,首先要把开发板上的单片机取下。将SST89E516RD仿真芯片取代原来单片机的位置。并用USB线将开发板与计算机连接起来。


连接好硬件之后还要对Keil软件进行一定设置。设置步骤如下:


1、打开一个已有的工程。如下图所示。

2、点击上图中橙色框中的按钮  ,打开如下窗口。或者点击“ProjectOptions for Target ‘Target 1’”,同样可以打开这个窗口。

3、将上图窗口中切换到“Debug”选项,并按照下图中橙色框的内容进行设置。

4、设置好上图中的内容之后点击“Settings”按钮,出现如下图所示的窗口。

5、在上图总设置串口号和波特率,串口号是开发板上的USB转串口芯片虚拟出来的串口。当开发板连接到电脑上之后,在设备管理器中可以看到该串口的串口号,用户需要根据自己的情况进行设置。波特率设置为38400,其它按照橙色框中的内容进行设置。设置好之后如下图所示。

6、设置完成后点击“OK”,并在最初出现的窗口上点击“确定”,完成设置。设置好之后就可以进行仿真了。这时,将开发板的电源开关打开,点击如下图所示的仿真按钮。可以看到状态栏有蓝色进度条。

如果点击 之后出现如下图所示的窗口,说明通信存在异常。这时可以按一下开发板上的复位键,或者重启一下开发板的电源,然后点击下图中的“Try Again”按钮。如果多次尝试仍然不能成功,请检查USB线是否连接好,并检查串口号和波特率是否设置正确。

下载成功后,Keil界面如下图所示。图中橙色框中显示的是CPU寄存器的值,和仿真器的版本。

7、这时就可以进行仿真了,仿真常用的几个按钮如下图所示。

这几个按钮的作用分别为:


 —复位,将程序复位到主函数最开始处,准备重新运行程序。


  —全速运行,运行程序时不停止。


  —停止全速运行,当程序处在全速运行状态时,点击该按钮,用来停止正在全速运行的程序。


  —进入子函数的内部。


  —单步执行代码,它不会进入子函数内部,可以直接跳过函数。


  —跳出当前进入的函数,只有进入了子函数内部,该按钮才被激活。


  —程序直接运行到当前光标所在行。


如果在点击时,程序不能停止,说明下图中的橙色框中的复选框没有勾选。建议不要勾选这个复选框,因为有可能会影响仿真的准确性。用户可以通过按开发板上的复位按键来终止仿真,然后重新进入其它仿真过程。

关键字:51单片机  仿真芯片  程序烧写 引用地址:51单片机(四)—— 51单片机仿真芯片的使用

上一篇:51单片机(五)—— GPIO点亮一个LED
下一篇:51单片机(三)—— 51单片机集成开发环境介绍

推荐阅读最新更新时间:2024-11-16 20:35

STM32GPIO口8种模式细致分析(类比51单片机
关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1、浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时1读出的就是1,外部没有输入IO处于阻塞读不出电平状态。 用处:感觉在信号处理方面用的比较好,比如在读取一段一段的波形,可以清晰的知道什么时候是0信号,什么时候是1信号,什么时候是没有信号的。 类比:51单片机找不到类似的输入模式 2、上拉输入 上拉输入和浮空输入的区别是,上拉电阻的开关关闭了,如上图所示。IO没有输入的时候,IO电平等于VDD即1电平,当然IO输入低电平的事就是VDD和IO口形成一个闭环电路,根据分压
[单片机]
c51中断优先级c语言,51单片机的中断优先级及中断嵌套
说最基本的,老的51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了。 在说到中断之前,我先来定义一下优先级,明白了什么是优先级,后面的阐述就容易明白了。实际上很多人都是混淆了优先级的含义,所以才觉得糊里糊涂。 中断的优先级有两个:查询优先级和执行优先级。 什么是查询优级呢?我们从datasheet或书上看到的默认(IP寄存器不做设置,上电复位后为00H)的优先级: 外部中断0 定时/计数器0 外部中断1 定时/计数器1 串行中断 或 int0,timer0,int1,timer1,serial port 或 INT0、T
[单片机]
51单片机串口通信程序,支持自定义协议
单片机源程序如下: #include reg52.h /*51串口通信by沸腾的冰块/不拼不活*/ typedef unsigned int u16; typedef unsigned char u8; #define Data_SIZE 7 //存入数组RevBuf数据长度==uart_Data_SIZE-2 #define uart_Data_SIZE 5//协议实际长度(一个汉字占两位) u8 RevBuf ; //数据接收缓冲区 u8 indata ; //防数据抵消缓冲区 u16 data_count=0; //数据长度,串口中断自增 u16 temp_length=0; //数据长度,协议长度中转 u8
[单片机]
51单片机控制数码管动态显示程序
说明: 驱动四位一体数码管动态显示数字,可方便的移植到其它程序中。 例如:1、硬件改为三位一体或二位一体数码管,只需修改Display_Scan()函数COM个数。 2、本例中,采用了共阴数码管,如果用在共阳数码管,只需修改相应段码表。   本程序使用P0口作为段码数据发送端,P2.0-P2.3作为数码管扫描选通, 使用P0口时,因单片机内部没有上拉电阻,所以要外接上拉电阻(参考阻值470欧姆). // STC89C52RC // +---------------+ // | | // | | Digital Number // | | _______________________ // | | | __ __ __ __
[单片机]
以89C51单片机为控制核心的开关电源优化设计
  引言   开关电源是利用现代电力电子技术控制功率开关管(MOSFET,IGBT)开通和关断的时间比率来稳定输出电压的一种新型稳压电源。从上世纪90年代以来开关电源相继进入各种电子、电器设备领域,计算机、程控交换机、通讯、电子检测设备电源、控制设备电源等都已广泛地使用了开关电源。利用单片机控制的开关电源,可使开关电源具备更加完善的功能,智能化进一步提高,便于实时监控。其功能主要包括对运行中的开关电源进行检测、自动显示电源状态;可以通过按键进行编程控制;可以进行故障自诊断,对电源功率部分实现自动监测;可以对电源进行过压、过流保护;可以对电池充放电进行实时控制。   开关电源的系统结构   通信用-48V开关电源结构图如图1所
[单片机]
以89C<font color='red'>51单片机</font>为控制核心的开关电源优化设计
51单片机定时器T1的使用2-查询法
注意:要知道,查询法是占用CPU时间的,帮不是一种好方法。 /********************************************** 方法1:延时法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:T1用于定时,方式1,定时时间50ms,查询方式,定时时间到,TF1=1,利用模拟串口发送字符0x68 **********************************************/ #include reg52.h #define uchar unsigned char sbit P1_0 = 0x90; sbit P1_1
[单片机]
51单片机模数转换A/D与数模转换D/A
1.(概念)A/D 是模拟量到数字量的转换,依靠的是模数转换器(Analog to Digital Converter),简称ADC。D/A 是数字量到模拟量的转换,依靠的是数模转换器(Digital to Analog Converter),简 称 DAC。 2.ADC 的位数:一个 n 位的 ADC 表示这个 ADC 共有 2 的 n 次方个刻度。8 位的 ADC,输出的是从 0~255 一共 256 个数字量,也就是 2 的 8 次方个数据刻度。 基准源:基准源,也叫基准电压,假如我们的基准源应该是 5V,但是实际上提供的却是 4.5V,这样误把 4.5V 当成了 5V 来处理的话,偏差也会比较大。 分辨率:分辨率
[单片机]
基于51单片机和可编程逻辑器件实现LED显示屏的硬件设计
0 引言 LED显示屏主要由电流驱动电路及LED点阵阵列、控制系统和PC端管理软件三部分构成(图1)。控制系统负责接收、转换和处理各种外部信号,并实现扫描控制,然后驱动LED点阵显示需要的文字或图案。控制系统作为LED显示屏的核心部分,直接决定了显示屏的显示效果和性能的优劣。本文详细分析采用Verilog HDL对ATF1508AS进行编程,实现双口RAM访问和产生LED点阵驱动电路所需的各种时序信号。 1 LED显示屏的基本结构及关键技术 本系统设计中,控制系统采用单片机+CPLD的方案来实现,整个控制系统可分为:信号接收及处理模块和CPLD的扫描控制模块和LED点阵驱动模块,如图1 所示。本系统的关键技术是使用双口
[单片机]
基于<font color='red'>51单片机</font>和可编程逻辑器件实现LED显示屏的硬件设计
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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