基于Protel 99SE的PLD的设计 PROTEUS电路仿真应用

时间:2025-11-02  作者:Diven  阅读:0

1 PROTEUS软件简介

PROTEUS 是来自英国公司的工具软件,在全球使用。和其工具相比,这款软件的最大特点就在于能够模拟单片机。可以直接在基于原理图的虚拟原型EDA上编程,并实现软件源码级的实时调试。还能看到运行后输入输出的效果。但是现在大家都只注意到PROTEUS对单片机的仿真和如何与Keil进行关联调试,其实 PROTEUS还能够进行PLD的电路仿真。

基于Protel 99SE的PLD的设计 PROTEUS电路仿真应用

PLD(可编程逻辑器件)是数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将这些片内的元件连接起来,使之完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路。

一般的PLD设计软件只能进行PLD芯片的时序逻辑仿真,而PROTEUS能进行PLD的电路仿真,可以模拟设计的PLD芯片在电路中实际运行的情况。

我们通过使用GAL16V8设计一个在单片机系统里常用的三八译器,然后在PROTEUS中通过观察GAL16V8中三八译码器的输入与输出的对应关系来完成PLD的电路仿真。

2. PLD的设计

首先用Protel 99SE完成PLD的设计。

完成后的PLD原理图如下所示:

图1 画好的PLD原理图

这是一个3-8译码器的PLD文件。输入信号为目标元件的2、3、4三个脚,输出信号为目标元件的12-19脚,6-8脚为使能控制端。

Protel 99SE的PLD原理图的设计与普通原理图相同,但有几点是需要注意:

生成PLD元理图后,在原理图中自动加入了两个PLD的元件库(PLD_DevICes.lib、PLD_Symbols.lib),PLD的电路图绘制必需使用这两个库中的元件。

绘制PLD原理图时,必须放置输入/输出端口(输入:IPAD、输出:OPAD、输入/输出:IOPAD)元件,这些元件所指定的引脚代表着目标器件的引脚。

在输入/输出端口元件放置好后,必须对其进行编号,还要指定该端口元件所对应连接的目标器件的引脚号。

完成PLD原理图后,选择[PLD]/[Compile]进行编译,生成各种格式的文件:

图2 编译生成的各种文件

打开生成的.jed文件,点击右键,在弹出的窗口中选择[Export…]项,选择.jed文件的输出目标地址。

至此就完成了PLD文件的设计。

3 Proteus对PLD的仿真

启动Proteus,绘制好电路图。

图3 Proteus仿真电路图

电路中LED显示采用低电平时LED点亮的显示方式。电路中I1-I3为GAL16V8输入端口,端口为高电平时为1,低电平时为0, IO0-IO7为输出端口,输出端口为:LED灯亮时端口输出低电平0,熄灭时为高电平1。

为了使PLD元件能仿真,还必须在电路中将编译的.jed文件加入PLD元件中:将鼠标移到U1(16V8)中,右击,选择元件,然后左击,调出“元件的属性”对话框,在属性对话框中,在窗口中的“JEDEC Fuse Map File:”中加入.jed文件:

图4 16V8元件属性

由前面PLD的设计可得3-8译码器的真值表:

输入信号 输出信号

I3 I2 I1 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0

0 0 0 1 1 1 1 1 1 1 0

0 0 1 1 1 1 1 1 1 0 1

0 1 0 1 1 1 1 1 0 1 1

0 1 1 1 1 1 1 0 1 1 1

1 0 0 1 1 1 0 1 1 1

1 0 1 1 1 0 1 1 1 1 1

1 1 0 1 0 1 1 1 1 1 1

1 1 1 0 1 1 1 1 1 1 1

表1 3-8译码器真值表

为了观察16V8的输入与输出的对应关系,我们在AT89C52的程序(程序见附录)中将与I3、I2、I1相连的P2_2、P2_1、P2_0三个端口按真值表中的顺序依次改变,观察LED灯是否由IO0至IO7依附点亮。

将单片机的程序加入AT89C52后,在Proteus中点击Play键观看电路仿真结果:当输入端的I1、I2、I3值按程序设定按真值表中的000— 111依附改变时,输出端对应LED灯按真值表中的对应关系由IO0至IO7依次点亮,如下图。说明PLD器件16V8设计的三八译码器译码正确。

图5 译码电路对应输入/输出截图

4. 结语

单片机与PLD的结合是当前嵌入式设计经常采用一的种方式。 但如果要进行硬件电路测试和系统调试则比较麻烦, 因为要进行这两个过程必须在电路板制作完成、元器件焊接完毕之后进行。而电路板的制作、元器件的安装、焊接是费时费力的, 如果采用作为单片机系统的仿真工具PROTEUS 进行单片机和PLD的仿真, 则不用制作具体的电路板也能够完成以上工作。在使用PROTEUS 运行系统虚拟开发成功之后再进行实际制作, 可以直观得观察电路的运行情况,提前发现设计的错误,可以极大的提高开发效率、降低开发成本、提高开发速度。

程序附录:

#include《reg51.h》

#include《stdio.h》

sbit P2_0=P2^0;

sbit P2_1=P2^1;

sbit P2_2=P2^2;

void delaytime(int count);

void main(void)

{

while(1)

{

P2_2=0;

P2_1=0;

P2_0=0;

delaytime(500);

P2_2=0;

P2_1=0;

P2_0=1;

delaytime(500);

P2_2=0;

P2_1=1;

P2_0=0;

delaytime(500);

P2_2=0;

P2_1=1;

P2_0=1;

delaytime(500);

P2_2=1;

P2_1=0;

P2_0=0;

delaytime(500);

P2_2=1;

P2_1=0;

P2_0=1;

delaytime(500);

P2_2=1;

P2_1=1;

P2_0=0;

delaytime(500);

P2_2=1;

P2_1=1;

P2_0=1;

delaytime(500);

}

}

void delaytime(int count)

{

int j,k;

while(count-- !=0)

{

for(j=0;j《10;j++)

for(k=0;k《72;k++)

;

}

}

猜您喜欢

试剂瓶和试剂架是实验室中常见的器具,分类主要根据材质、形状和用途来区分。试剂瓶根据材质可分为玻璃试剂瓶和塑料试剂瓶。玻璃试剂瓶具有耐高温和耐腐蚀的特点,适用于存...
2013-10-08 00:00:00


在现代电子设备中,数码管作为显示技术的重要组成部分,其驱动方式的选择对最终效果有着显著影响。数码管驱动主要分为共阳和共阴两种类型。共阳数码管的特点是所有阳极连接...
2014-05-01 00:00:00

磁保持继电器是新型的电气控制元件,因其独特的工作原理,展现出多项显著优势。磁保持继电器具有极低的功耗。在保持状态下,只需消耗非常少的电力,这使其在长时间工作中更...
2008-01-06 00:00:00

防爆工具套装是专为在易燃易爆环境中作业而设计的专业工具组合。其主要作用是确保工作人员的安全,降低事故发生的风险。这些工具通常采用非火花材料制造,能够有效防止因工...
2016-01-25 00:00:00

NTC热敏电阻因其高灵敏度和稳定性被应用于温度检测与控制领域。作为行业内知名品牌,TYOHM(幸亚)凭借其很好的技术实力和高品质的产品质量,成为众多客户首选的N...
2014-07-04 15:30:15

当今信息爆炸的时代,技术的快速发展推动了各个领域的创新与变革。TSOT6作为一个新兴的概念,逐渐引起了人们的关注。本文将对TSOT6进行全面的分析与解读,帮助读...
2025-02-24 14:19:38

接线盒是用于电气连接的装置,主要用于保护和管理电缆接头。通常由耐用的材料制成,能够有效防止水、灰尘和其外部因素对电气连接的影响。接线盒的内部结构设计合理,可以容...
2011-02-27 00:00:00

-近日,高云半导体科技股份有限公司在上海发布了一款具有中国自主知识产权的FPGA芯片及配套平台化产品,这也是中资公司收购美国FPGA厂商莱迪斯(Lattice)...
2018-01-22 16:45:00

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。在...
2018-08-07 10:35:00