1keil5进行软件仿真的设置步骤
首先如下图,需要设置勾选为软件仿真(这里设置为硬件仿真不行),其次后面的参数也需要改。第二个红圈里勾选的-pSTM32F103ZE这里是根据自己的芯片进行
设置。这里我选用的是STM32F103ZET6芯片。
2仿真基本设置
首先进入仿真设置,然后点击波形查看图标。
设置仿真参数点击Setup
设置添加需要查看的硬件IO口。在setup中输入PORTXi等需要观察的引脚。
如果此时出现unknown signl。就是debug的设置问题了。
此时需要从新返回第一步的仿真设置,查看是否是按照自己的开发板设置的。
添加好需要查看的IO口后,点击RUN进行运行。
此时如果在框里没有看到波形的出现此时查看自己的设置是否合理。
logic Analyzer的左侧右键将每个波的数据设置为bit和Hexadecimal valus
如果此时波形未出现动态的变化就需要检查是否有如下设置
如果需要调整方便查看波形的话,点击 in out all 调整波形
特别需要注意的是:我IO设置为开漏输出,居然仿真都不能输出波形,这个问题坑了我好久。Multisim有超强板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。高版本可以进行单片机等MCU的仿真。Multisim有实际元器件和虚拟元器件,它们之间根本差别在于:一种是与实际元器件的型号、参数值以及封装都相对应的元器件,在设计中选用此类器件,不仅可以使设计仿真与实际情况有良好的对应性,还可以直接将设计导出到Ultiboard中进行PCB的设计;虚拟元器件只能用于电路的仿真。
Protel的高版本Altium Designer,是业界第一款也是唯一一种完整的板级设计解决方案。是业界首例将设计流程、集成化PCB 设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。 主要用途:原理图输入设计PCB板。
Keil C51是美国Keil Software公司出品的51系列兼容单片机既可以汇编开发也可以C语言软件开发的系统。
Proteus具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真。
①C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④ 支持大量的存储器和外围芯片。
简单概括为:
Multisim可以进行复杂模拟/数字电路的仿真、简单的PCB板设计、简单的单片机仿真
Protel可以进行简单的模拟/数字电路的仿真、强大的PCB板设计
Keil C主要用于51单片机的软件编写,包括8051系列、89S51系列、STC单片机的汇编和C语言编写。
Proteus可以进行直观的模拟/数字电路、单片机、ARM的仿真。也可以进行简单PCB板的设计。
使用导航:
要进行模拟/数字电路的精确、细微仿真使用Multisim;
要进行电路板PCB设计使用Protel;
编写程序使用Keil C51;
要进行单片机仿真使用Proteus,仿真51系列单片机可以使用Keil C与Proteus联调(就是在Keil中运行程序时Proteus即可运行硬件仿真)
程序编译成功后,先在options for target' '里面debug下面选择use simulator,然后再工具条选择start/stop debug session,然后选择 logic analyzer window在左上角setup打开后的界面加入你想要仿真波形的gpio口,比如GPIOA7就输入PORTA7然后选择close。选择RUN,就可以仿真出波形了。但是我的kei4从来没有仿真波形成功过。。同样的程序放在keil3就能仿真成功了。。这个貌似因电脑而异吧,但是上面说的过程绝对是正确的在 Keil5 中生成方波,具体步骤如下:
打开 Keil5 软件,点击 "File" -> "New µVision Project" 选项,创建一个新项目。
在新项目中添加一个源文件,可以选择 "Project" -> "New File" 选项,在d出的对话框中选择要添加的文件类型(如 C 文件),并给文件命名。
编写方波代码,例如以下代码段可以产生一个简单的方波:
#include <reg51h>
void main()
{
while(1)
{
P0 = 0x00; // 将 P0 端口上的所有引脚设为低电平
delay(1000); // 延迟 1 秒
P0 = 0xff; // 将 P0 端口上的所有引脚设为高电平
delay(1000); // 延迟 1 秒
}
}
void delay(int x){
int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
在这个例子中,我们使用了 8 个引脚组成 P0 端口来输出数字信号。首先将所有引脚设为低电平,然后等待一秒钟后将其全部设为高电平,再延迟一秒钟后重复执行该 *** 作。
编译代码并下载到目标芯片上,可以通过调试器实时观察到方波的输出效果。
需要注意的是,在实际应用中,根据不同的硬件平台和需求,方波的频率、占空比等参数可能会有所不同,需要根据实际情况进行调整。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)