Protues使用说明及Protues与Keil联合仿真实现点亮小灯和流水灯

发布于:2025-08-17 ⋅ 阅读:(18) ⋅ 点赞:(0)

目录

1Protues介绍及新建工程

1.1进入软件

1.2文件创建

1.3默认选项

1.5设计面板

1.6添加元器件

1.7终端模式

1.8激励源模式

1.9探针模式

1.10仪表

1.11二维直线

1.12字符

2 Protues电路原理图仿真

2.1 220V交流电转5V直流电稳压电路仿真原理图

2.1.1 仿真原理图分析

2.1.2 仿真结果分析

2.2 仿真过程中示波器的调出

3 Protues和Keil联合仿真实现点亮小灯和流水灯

3.0 烧录程序实现

3.0.1 Keil生成程序

3.0.2 Protues烧录程序

3.1 点亮一个小灯

3.1.1 电路原理图

3.1.2 小灯闪烁控制程序(高电平点亮小灯)

3.2 流水灯

3.2.1电路原理图

3.2.2控制程序(共阴极接法)


文章概述

本文系统介绍了Proteus仿真软件的使用方法,包括:1. 工程创建与界面操作,详细说明了元器件添加、终端模式、激励源模式等基本功能;2. 220V交流转5V直流稳压电路的仿真实现,分析原理图设计及示波器调试技巧;3. Proteus与Keil联合仿真应用,通过实例演示了点亮单个LED和实现流水灯效果的全过程。文章重点讲解了Keil程序编写、HEX文件生成、Proteus程序烧录等关键步骤,并提供了共阴极/共阳极两种接法的电路原理图和完整控制程序代码。

1Protues介绍及新建工程

1.1进入软件

双击软件快捷键——>点击:新建工程

1.2文件创建

依次:

填写:工程名称——>选择:工程路径——>选择:新工程

1.3默认选项

DEFAULT——>Next

不创建PCB布板设计——>Next

没有固件项目——>Next

原理图——>Finish

1.5设计面板

设计界面如上图所示,主要由菜单栏、工具栏、输入模式选择栏、选择目录、仿真控制按键和设计面板组成。不同栏模块又可以进行细分,如上图所示。

1.6添加元器件

点击P(进入器件选择界面)

1:器件名称——>2:对应器件——>3:器件原理图——>4:PCB封装图——>确认

常用元器件对应缩写表

类别

缩写/关键词

中文名称

说明/备注

电源类

BATTERY

电池/直流电源

提供直流电压源

POWER

电源符号

用于供电节点

GROUND

接地符号

电阻类

RES / RESISTOR

电阻

固定阻值电阻

POT / POT-LIN

可调电阻/电位器

三端可调电阻

RESPACK

排阻

多个电阻封装在一起

电容类

CAP / CAPACITOR

无极性电容

普通电容

CAPACITOR POL

有极性电容

电解电容

ELECTRO

电解电容

大容量电容

CAPVAR

可调电容

用于调谐电路

电感类

INDUCTOR

电感

普通电感

INDUCTOR IRON

带铁芯电感

低频大电感

INDUCTOR3

可调电感

可调磁芯电感

晶体类

CRYSTAL

晶振

提供时钟信号

二极管类

DIODE

普通二极管

整流/开关用

ZENER

稳压二极管

电压稳压

DIODE SCHOTTKY

肖特基二极管

高速开关

DIODE VARACTOR

变容二极管

用于调谐电路

三极管类

NPN / PNP

NPN/PNP三极管

普通三极管

MOSFET

MOS管

场效应管

JFET N / JFET P

N沟道/P沟道结型场效应管

低噪声放大

逻辑门

AND / OR / NOT

与门 / 或门 / 非门

基本逻辑门

NAND / NOR

与非门 / 或非门

组合逻辑门

显示类

LED

发光二极管

指示灯

DPY_7-SEG

7段数码管

显示数字

DPY_7-SEG_DP

带小数点7段数码管

显示浮点数

LM016L

1602液晶

2行16字符LCD

开关与按钮

SWITCH

开关

普通开关

SW-SPST

单刀单掷开关

通断开关

SW-DPDT

双刀双掷开关

切换电路

SW-PB / BUTTON

按钮

手动触发

电机类

MOTOR

直流电机

普通电机

MOTOR AC

交流电机

AC电机

MOTOR SERVO

伺服电机

可控角度

传感器类

MICROPHONE

麦克风

声音输入

THERMISTOR

热敏电阻

温度传感

PHOTO

光敏二极管

感光元件

继电器类

RELAY-DPDT

双刀双掷继电器

控制电路通断

变压器类

TRANS1

普通变压器

电压变换

TRANS2

可调变压器

输出可调

调试与虚拟仪器

VTERM

虚拟串口终端

串口通信调试

LOGIC ANALYSER

逻辑分析仪

数字信号调试

VOLTMETER / AMMETER

电压表 / 电流表

实时测量电路参数

器件可移动状态

器件放置好状态

双击器件:编辑器件内容

1.7终端模式

1:终端模式图标 2:终端模式包含内容 3:终端模式内容对应的图标

“终端模式”(Terminal Mode)提供了一组非常常用的电路节点标识符号,用于表示电源、地、输入/输出端口、信号流向等。

名称

含义

DEFAULT

默认终端,无特殊定义,通常用于自定义标签或连接点。

INPUT

输入端口,表示信号从外部进入电路(如传感器输入)。

OUTPUT

输出端口,表示信号从电路输出到外部(如LED、电机)。

BIDIR

双向端口,既可输入也可输出(如I2C、UART引脚)。

POWER

电源正极(如 +5V、+3.3V),用于给电路供电。

GROUND

地线(GND),电路参考点,所有电压相对它测量。

CHASSIS

机壳地,用于接地保护,常见于金属外壳设备。

RETURN

返回信号线,常用于模拟电路或差分信号回流路径。

DYNAMIC

动态终端,用于仿真中临时变化的节点(较少用)。

BUS

总线终端,用于连接多条信号线(如数据总线 D0-D7)。

TESTPOINT

测试点,便于仿真时测量电压、电流或波形。

NC

未连接(No Connect),明确标识某引脚不连接任何信号。

1.8激励源模式

“激励模式”(Generator Mode)用于向电路提供各种仿真信号源

名称

含义说明

DC

直流电压源,输出恒定电压(如 5V、3.3V)。

SINE

正弦波发生器,可设置频率、幅度、相位等。

PULSE

脉冲信号源,方波或矩形波,可设置占空比、周期等。

EXP

指数信号源,产生指数上升或下降波形。

SFFM

单频调频信号源(Single Frequency FM),用于模拟调制信号。

PWLIN

分段线性信号源,通过多个时间点定义任意波形。

FILE

从外部文件读取波形数据(如CSV或WAV文件)。

AUDIO

音频信号源,可导入WAV文件作为输入信号。

RANDOM

随机噪声信号源,用于测试电路抗干扰能力。

DSTATE

数字状态信号源,输出高/低电平(逻辑0/1)。

DEDGE

数字边沿信号源,产生单个上升沿或下降沿。

DPULSE

数字脉冲信号源,用于测试数字电路响应。

DCLOCK

数字时钟信号源,产生周期性方波(如1kHz时钟)。

DPATTERN

数字模式信号源,可自定义多位数字序列(如101101)。

SCRIPTABLE

可编程信号源,使用脚本语言(如Lua)自定义复杂波形。

1.9探针模式

1:探针模式图标 2:探针模式包含内容 3:探针模式内容对应的图标

探针模式包含电压探针、电流探针和信号探针

1.10仪表

1:虚拟仪表图标 2:虚拟仪表包含内容 3:虚拟仪表内容对应的图标

虚拟仪表(Virtual Instruments)是一组可交互的软件仿真工具,用于在电路仿真过程中实时测量、生成或调试信号。

名称

功能

用途

示波器(Oscilloscope)

显示模拟信号的电压-时间波形,支持多通道(如双踪示波器)。

观察信号波形、测量频率/幅值、检查噪声或失真。

逻辑分析仪

(Logic Analyser)

捕获并显示数字信号的高低电平状态(0/1),支持多通道(通常16或更多)。

调试数字电路时序(如SPI、I2C、UART通信)。

计数器/定时器(Counter Timer)

测量信号的频率、周期、脉冲宽度或作为事件计数器。

分析时钟信号、PWM波形参数。

虚拟终端

(Virtual Terminal)

模拟串口终端(如UART),支持ASCII码收发。

调试单片机的串口通信(如发送AT指令或接收传感器数据)。

SPI调试器

(SPI Debugger)

监控SPI总线通信(MOSI、MISO、SCK、SS信号),解码数据帧。

验证SPI Flash、传感器等设备的通信协议。

I²C调试器

(I²C Debugger)

捕获I²C总线的起始/停止条件、地址和数据帧。

调试EEPROM、RTC等I²C设备。

信号发生器

(Signal Generator)

输出可调的正弦波、方波、三角波等模拟信号。

测试放大器、滤波器频率响应。

模式发生器(Pattern Generator)

生成自定义数字信号序列(如8位并行数据)。

模拟数字输入(如键盘扫描信号)。

直流电压表(DC Voltmeter)

测量电路中某点的直流电压值。

检查电源电压、分压电路输出。

直流电流表

(DC Ammeter)

测量直流电流(需串联在电路中)。

验证功耗或负载电流。

交流电压表

(AC Voltmeter)

测量交流信号的有效值(RMS)电压。

检查交流电源或信号幅度。

交流电流表

(AC Ammeter)

测量交流电流的RMS值。

分析交流负载(如电机)的电流。

功率计

(Wattmeter)

计算瞬时功率(P=VI)及能量消耗。

评估电路效率或功耗。

1.11二维直线

1:二维直线图标 2:二维直线包含内容 3:二维直线内容对应的图

1.12字符

双击字符模式

依次填写一下内容

1:文本字符串内容  2:位置  3:变量类型 4:字体  5:字高

2 Protues电路原理图仿真

2.1 220V交流电转5V直流电稳压电路仿真原理图

2.1.1 仿真原理图分析

如上图所示,220V交流电转5V直流稳压电路实现220V交流转换为5V直流电的功能,整个电路由220V交流输入、变压器、整流桥和线性电源电路组成。其中220V交流电作为电路输入,变压器实现降压,整流桥实现整流、电容C1、C2、C3和C4实现滤波功能,7805组成线性电源电路实现5V电压的输出。

2.1.2 仿真结果分析

如上图所示,示波器为四通道实时显示输入、整流、滤波和输出的波形变化,黄色线表示输入波形、蓝色线表示整流波形、红色线表示滤波波形和绿色表示输出波形。

2.2 仿真过程中示波器的调出

仿真过程中会出现示波器界面不显示的情况,解决方法如下:

点击仿真开始:此时未出现示波器界面

依次点击:调试——>3.Digital Oscilloscope

出现示波器界面

3 Protues和Keil联合仿真

Protues和Keil联合仿真以点亮一个小灯和流水灯为例进行说明,仿真使用Protues进行仿真电路的绘制,使用Keil进行控制程序的编写,然后通过Protues和Keil联合仿真实现单个小灯闪烁和流水灯的功能。

3.0 烧录程序实现

3.0.1 Keil生成程序

新建项目:项目——>新uVision项目

命名及保存:选择文件夹——>命名——>保存

选择芯片过程如下图所示

Legacy Device…——>芯片型号——>选定芯片型号——>ok

如果没有想用芯片,解决方法:

1官网下载数据包(速度慢): C51 Version 9.61 Evaluation Software Request

2以下载好的数据包(直接安装)(速度快)https://download.csdn.net/download/XU157303764/91664454

选择是否都可以

新建控制程序文件

Source Group(鼠标右键)——>.C——>命名——>add

编写程序

设置编译文件

点击魔术棒——>Output——>勾选Create HEX File——>ok

.HEX文件生成

重构——>成功

3.0.2 Protues烧录程序

双击单片机

选择程序文件按钮

找到程序——>选中——>打开

确定

运行仿真

3.1 点亮一个小灯

3.1.1 电路原理图

高电平点亮小灯

如上图所示,流水灯仿真电路原理图主要由51单片机、晶振电路、复位电路和LED灯点亮电路组成,其中LED灯为高电平点亮,低电平熄灭,当P1.0为高电平时LED点亮,当P1.0为低电平时LED熄灭。

低电平点亮小灯

如上图所示,流水灯仿真电路原理图主要由51单片机、晶振电路、复位电路和LED灯点亮电路组成,其中LED灯为低电平点亮,高电平熄灭,当P1.0为高电平时LED熄灭,当P1.0为低电平时LED点亮。

3.1.2 小灯闪烁控制程序(高电平点亮小灯)

控制程序主要包含头文件、延时函数和主函数,控制程序如下所示:

//小灯闪烁
#include <reg52.h>//库文件
#define uint unsigned int//预处理宏命令 进行短命名
#define uchar unsigned char
sbit L1=P1^0;//将P1赋值给L1
void delay(uint n)//延时函数ms/
{
	uchar i;
	uint j;
	for(j=0;j<n;j++)
	for(i=0;i<123;i++);
}
void flash()//LED灯亮2s后熄灭1秒
{
	L1=1;//LED亮
	delay(2000);//2秒
	L1=0;//LED灭
	delay(1000);//1秒
}
//主函数实现死循环
void main (void)
{
	while(1)
	{
		flash();
	}
}

3.2 流水灯

3.2.1电路原理图

流水灯共阴极接法

如上图所示,流水灯仿真电路原理图主要由51单片机、晶振电路、复位电路和流水灯电路组成,其中流水灯电路中的8个LED灯采用共阴极接法,即当P1.n(n=1、2、3…5、6、7)管脚为高电平时LED灯点亮,初始化阶段P1.n全部置于高电平即上电后所有亮灯全部点亮。

流水灯共阳极接法

如上图所示,流水灯仿真电路原理图主要由51单片机、晶振电路、复位电路和流水灯电路组成,其中流水灯电路中的8个LED灯采用共阳极接法,即当P1.n(n=1、2、3…5、6、7)管脚为低电平时LED灯点亮,初始化阶段P1.n全部置于高电平即上电后所有亮灯全部熄灭。

3.2.2控制程序(共阴极接法)

控制程序主要包含头文件、延时函数和主函数,控制程序如下所示:

//流水灯(8个)
#include <reg52.h>//库文件
#define uchar unsigned char//预处理宏 进行短命名
#define uint unsigned int
sbit L1=P1^0;//将P1赋值给变Ln(1、2、3…7、8)
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
sbit L5=P1^4;
sbit L6=P1^5;
sbit L7=P1^6;
sbit L8=P1^7;
void delay(uint n)//延时函数ms
{
	uchar i;
	uint j;
	for(j=0;j<n;j++)
	for(i=0;i<500;i++);
}

void flash1()//LED灯亮1s后熄灭
{
	L1=1;//LED亮
	delay(1000);
	L1=0;//LED灭
}

void flash2()
{
	L2=1;
	delay(1000);
	L2=0;
}
 
void flash3()
{
	L3=1;
	delay(1000);
	L3=0;
}
 
void flash4()
{
	L4=1;
	delay(1000);
	L4=0;
}
 
void flash5()
{
	L5=1;
	delay(1000);
	L5=0;
}
 
void flash6()
{
	L6=1;
	delay(1000);
	L6=0;
}
 
void flash7()
{
	L7=1;
	delay(1000);
	L7=0;
}
 
void flash8()
{
	L8=1;
	delay(1000);
	L8=0;
}

//实现流水灯功能
void main (void)
{
	while(1)
	{
		flash1();
		flash2();
		flash3();
		flash4();
		flash5();
		flash6();
		flash7();
		flash8();
		
		flash8();
		flash7();
		flash6();
		flash5();
		flash4();
		flash3();
		flash2();
		flash1();
	}
}


网站公告

今日签到

点亮在社区的每一天
去签到