目錄
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、傳感器等設備的通信協議。 |
I2C調試器 (I2C Debugger) | 捕獲I2C總線的起始/停止條件、地址和數據幀。 | 調試EEPROM、RTC等I2C設備。 |
信號發生器 (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();}
}