51单片机和PLD的PROTEUS电路仿真
更新时间:2023-07-25 02:23:01 阅读量: 实用文档 文档下载
51单片机和PLD的PROTEUS电路仿真
开发研究与设计技术
本栏目责任编辑:谢媛媛
51单片机和PLD的PROTEUS电路仿真
邓力,卢勇,聂雄
(桂林电子科技大学,广西桂林541004)
摘要:本文通过跑马灯的实例介绍了PROTEUS的单片机仿真应用,提出了将PROTEUS和Keil进行关联调试的方法,并通过
PROTEUS对PLD的仿真,提出了用PROTEUS进行PLD仿真的思路。
关键词:PROTEUS;Keil;PLD仿真中图分类号:TP182文献标识码:A文章编号:1009-3044(2007)02-10418-02
SimulateofPLDandMPUforUsingPROTEUS
DENGLi,LUYong,NIEXiong
(GuilinElectricityUniversity,Guilin541004,China)
Abstract:Inthispaper,WeintroducedtheapplicationofPROTEUSthroughtheexampleofthelightofhorserace,puttingforwardtocarryonPROTEUSandKeilstheconnectionadjuststotrythemethod,andreallypassthePROTEUStoimitatetothePLD,putforwardthePROTEUStocarryonthePLDtoimitatethetruewayofthinking.
Keywords:PROTEUS;Keil;PLD
simulation(simulate)
1引言
单片机系统设计其调试过程一般分为软件调试、硬件测试、系统调试3个过程。软件调试较容易进行,但硬件电路测试和系统调试这两个过程必须在电路板制作完成、元器件焊接完毕之后进行。如果采用作为单片机系统的仿真工具PROTEUS,则不用制作具体的电路板也能够完成以上工作。在使用PROTEUS进行系提高统仿真开发成功之后再进行实际制作,可以降低开发成本、开发速度。
启动Proteus,画好电路图如图1(注意单片机的晶振和RST可以不用接)所示。
2PROTEUS软件简介
PROTEUS是一种混合电路仿真工具,既可以仿真模拟电路又可以仿真数字电路以及数字、模拟混合电路,这款软件的最大特点就在于它能够模拟单片机。该软件的库里有:51系列、AVR系列和PIC系列,每个系列又有很多种不同的型号可供选择。除了单片机模型,PROTEUS中提供了诸如基于HD44780芯片的字符LCD,基于T6963C芯片的点阵LCD、I2C存储器、RAM、PLD等,这些丰富的元器件使得PROTEUS不仅适合单片机入门,也同
样可以用于单片机开发。其最大的特色在于它能够仿真基于微控制器的设计系统。PROTEUS可以很方便地与KeilC51集成开发环境连接,程序编译好之后,立即可以进行软、硬件结合的系统仿真。
图1
跑马灯电路
在电路中将程序编译的代码加入:
将鼠标移到U1中的AT89C52右击,选择元件,然后左击,调出元件的属性对话框:
PROTEUS还能够进行PLD的电路仿真。一般的PLD设计软件只能进行PLD芯片的时序逻辑仿真,而PROTEUS能进行PLD的电路仿真,可以模拟设计的PLD芯片在电路中实际运行的情
况。
PROTEUS的功能强大,不断推出新版本和新元件,同时使用
者要是自己有能力,也可以设计自己的元件。
3PROTEUS仿真
3.1PROTEUS的单片机仿真
下面以单片机常用的跑马灯程序为例说明如何进行PRO-
TEUS的电路仿真。
首先用KeilC51编写一段跑马灯的程序(见附注,读者如有需要,可跟作者联系),程序中用P1口作为输出口,每个口的灯依次点亮、熄灭,循环进行。然后生成.hex文件。
收稿日期:2006-08-30
图2AT89C52元件属件
作者简介:邓力(1971-),男,广西梧州人,工程师,工程硕士研究生,研究方向为电路系统的EDA技术;卢勇,男,广西恒都输变电工程有限公司工程师;聂雄,男,广西大学计算机与电子信息学院教师。
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页)
51单片机和PLD的PROTEUS电路仿真
是否完全接收无法保证,把得到第一个码丢弃,把第二码中接收到的高、低电平的记数值进行比较,取较小的那个作为波特率的标准,把该记数值乘
人工智能及识别技术
计算,要保证能够接收到一个完整的编码必须要63T,所以在程序中要给出一个宽度为63T的时间窗口来保证正确解码。
4键识别
在遥控使用的过程中常常有短按键和长按键以及双击的情况。短按键处理很简单,可以直接使用前面的流程来编写程序。下面来分析下长按键和双击的识别方法。
4,得到的结果就是1个T对应计数值C_BAUD,这个C_BAUD是用来捕捉编码中
同步头的关键。
本文的解码方法中把同步头的捕捉放到了解码程序中,图4是解码的流程。在每次进行计数加一后都把
4.1长按键
使用2260编码芯片的遥控器,只要按键引脚上有高电平就会持续发码。利用这一点,只要在N个连续的63T时间窗口内都接收到了同一个码便可以识别为是一个长按键动作。N值的大小
决定了长按键的时间阀值。
4.2双击
双击动作实际就是一个的过程。在正确接收到了“通-断-通”一组编码后等待键释放,键释放就是在一个64T的窗口中没有成功解码,检测到按键键释动作放后再给N个连续的64T的时间窗口进行解码,在这N个64T的时间窗口中只要出现一次解码成功则识别为双击,否则识别为普通的短按键,N值的大小决定了双击的最大时间间隔。
C_HBIT或C_LBIT与
C_BAUD进行了一次比较,因
为同步头的低电平时间宽度为7.75T远大于一个码的周期
T,若C_LBIT大于C_BAUD
则说明接收到的是同步头,而
5结束语
文中提出的2260编码芯片的软件解码方法,长键及双击按键的识别方法在笔者近期开发的一个项目得到了应用,实际效果非常好,解码距离不逊于专用解码芯片2272。另外本解码方式还可以对1527、527、2240等同类型的编码芯片进行解码。
参考文献:
C_HBIT大于C_BAUD则说明
接收到的是误码,都必须重新开始解码。在接收到同步头后解码的正确率可达百分之百。
需要注意的是在对2260进行解码时必须要保证解码的时间窗口要大于一组完整的编码的时间。这个时间窗口可以根据前面得到的波特率的记数值C_BAUD来计算,一个完整的编码要接收24码和一个同步头,既32T,按照最坏
图4
软件解码流程
[1]李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社,2001.
[2]邬伟奇.PT2262编码芯片的软件解码[J].微计算机信息,2004.07.
[3]PT2262、PT2272和P87LPC764单片机的接口设计[EB/OL].http://www.zlgmcu.com/philips/yingrong/51lpc/PT2262-PT2272-
764jiekou.pdf
情况接收是从第二码开始来
(上接第417页)
表1
3-8译码器真值表
在Proteus中点击Play键观看电路仿真结果:当改变输入端的值时,输出端对应的值按真值表中的对应关系改变。
5结语
利用Proteus做单片机仿真实验有如下特点:
编译后马上就可以看到效果,提高效率。(1)速度快。程序修改、
直观形象。硬件电路随时可进行更改,电路修改非(2)方便、常容易。
科学、有效地培养设(3)可自主设计和验证方案,有利于系统、计者的专业实践能力和创新能力。
图7
译码电路对应输入/输出截图
程宝典[M].北京航空航天大学出版社.2003(6).
——一种集单片机模拟和SPICE分析[2]倪升跃.PROTEUS—
于一身的软件.电子世界.2004(12).
[3]房泽平,赵淑霞.用PROTEL99设计开发GAL器件[J].中原工学院学报增刊:167126906(2002)增刊
20068203.
(4)使用Proteus对PLD进行电路仿真,可以直观得观察电路
的运行情况,提前发现设计的错误,可以极大的提高开发效率。
参考文献:
[1]马忠梅,刘滨,戚军,马岩.单片机C语言Windows环境编
正在阅读:
人工挖孔桩施工方案11-22
快乐的一棵树作文500字06-15
九年级物理全册15.1两种电荷教案(新版)新人教版12-23
“阳光”无处不在作文600字07-13
关于孝德的手抄报02-20
保洁培训手册电梯保养 - 图文10-26
XX项目商业启动区(餐饮)概念规划报告书05-28
国际商法第二版 - 国际商务法律实务答案12-13
特殊的礼物作文800字06-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单片机
- 仿真
- 电路
- PROTEUS
- PLD
- 用友U8存货核算流程
- 数字图像处理中边缘检测算法的对比研究
- 老师考核自我鉴定模板范文五篇
- 玉林“吴常昌牛巴”新产品上市与推广策划书策划案
- 2分钟感恩演讲稿大全全新集合
- C 任意类型数据转JSON格式
- 浙江省第八届 “挑战杯”大学生创业计划竞赛三等奖
- 复合函数的定义域1
- 高一历史第二分册第三单元《从两汉到南北朝的分合》试题
- 软件产业发展汇报材料
- C14078 沪港通与香港证券市场制度介绍课后测验
- Java中的反射机制
- 利用经纬网确定位置
- 试题热点分析-8年成人高考专升本英语试
- 张鹏:理解新常态 洞察新热点——2014年中央经济工作会议精神解读(转载)(
- 破碎机和立式磨粉机为水泥工业节能降耗做贡献
- 显示器前壳注塑仿真成型工艺参数的优化
- 人教版九年级物理全一册 第十四章 第一节 热机
- 第三章:风险识别
- 计算机组装与维护试题及答案(选择题)