51单片机和PLD的PROTEUS电路仿真
在属性对话框中,在窗口中的ProgramFile中双击“打开文件图标”:
选择要加入.hex的文件。
将在KeilC51中编译好的.hex文件加入电路中的AT89C52元件模型中。点击Play键观看电路仿真结果:D1-D8灯依次点亮、熄灭,循环进行。电路仿真与程序设计的结果一致。
开发研究与设计技术
为1,接地时为0,输出端口为LED灯亮时端口输出高电平,熄灭时为低电平。
3.2Keil与Proteus的关联调试:
Keil还可以与Proteus的关联调试,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何关联keil与proteus:
(1)把安装proteus\MODELS目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN目录中。
(2)修改keil安装目录下Tools.ini文件,在C51字段加入
),保存。TDRV5=BIN\VDM51.DLL“(ProteusDriver”
注意:不一定要用TDRV5,根据原来字段选用一个不重复的
数值就可以了。引号内的名字随意。
(3)打开proteus,画出相应电路,在proteus的debug菜单中选中useremotedebugmonitor。
(4)进入KEIL的project菜单optionfortarget‘工程名’。在
图
4
画好的PLD原理图
DEBUG选项中右栏上部的下拉菜单选中ProteusDriver。在进入seting,机子IP设为127.0.0.1,端口号为8000。
(5)在keil中进行debug,同时在proteus中查看直观的结果(LED显示)。
这样就可以像使用仿真器一样调试程序。
为了观察Keil与Proteus的关联调试与前面只单独运行Pro-的程序行中插入一个断点,在Keil“P1_4=0;”teus的不同,可以在
中运行程序,当程序运行至断点处时,Keil中的程序停止在断点处,而Proteus中的电路仿真也对应的在P1—3点亮后停止,如图所示:
图5Proteus仿真电路图
为了使PLD
元件能仿真,还必须在电路中将编译的.jed文件加入PLD元件中:将鼠标移到
U1(16V8)中,右击,选择元件,然后对话框,在属性对话框中,在窗口中的左击,调出“元件的属性”中加入.jed文件:双击“JEDECFuseMapFile:”“打开文件图标”:
,选择在Protel中输出的.jed的文件:
图3程序断点
当在Keil中继续运行程序时,Proteus中的电路也对应的继续运行。
4Proteus对PLD的仿真
首先用Protel99SE完成PLD的设计。完成后的PLD原理图如图4所示。
这是一个3-8译码器的PLD文件。输入信号为目标元件的
2、3、4三个脚,输出信号为目标元件的12-19脚,6-8脚为使能控
制端。
4.1Proteus对PLD的仿真
启动Proteus,绘制好电路图。
电路中I1-I3为输入端口,IO0-IO7为输出端口,端口为高电平时为1,低电平时为0,对应输入端口就是开关打到电源正极时
图616V8元件属性
由前面PLD的设计可得3-8译码器的真值表。
(下转第537页)