正文

【008】Proteus 第一次亲密接触2006-04-26 20:56:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/13170.html

分享到:

关于Proteus, 查看简介
实验方案用的是【004】流水灯实验。(查看)



用Proteus搭建的电路图如下:

所用汇编程序如下:

       org    0000h
       mov   a,#0feh
loop:  mov   p0,a
       lcall delay
       rl    a
       ajmp  loop

delay: mov   r7,#100       ;djnz为二周期指令,机器周期为振荡周期的12倍.所以延时时间为:
temp1: mov   r6,#02h       ;100×2×255×2×12×(1/12) =100ms,
temp2: mov   r5,#0ffh
       djnz  r5,$
       djnz  r6,temp2
       djnz  r7,temp1
       ret
end


用Keil编译,将生成的HEX文件载入电路中的MCU,仿真结果如下(红为高电平,蓝为低电平):

★ 关注Proteus有一段时间了,今天终于自己动手仿真了一次。刚开始用还不太习惯这个东东。比如一般类似软件都是左键选取,右键属性,而Proteus却相反,其大致操作:右键选取; 左击所选为其属性;右击所选为删除。另外左击所选时,根据位置的不同,可选择不同的属性,比如左击元件体,打开元件的属性,击元件下方的<text>则是为对应的属性……。

    每个元件下面的这个<text>感觉应该是放注释的,由于看着它不爽,总想将其去掉,开始采用的办法是让它为空格,即右击选中元件后,左击<text>,在弹出对话框的Text一栏中后面加上一个空格。这样元件显示时就看不到文字。后来发现原来这个<text>具有隐藏属性,在菜单Template中有个set design defaults,其中有个Show hidden text? 将其去掉就不会再显示<text>的内容了。

    还有个问题,不知道所用元件在哪个库里。初学没办法,只好在网上下载了一些别人的例子,察看其中元件的属性,记下其名字,再到自己的Design中在Keywords里输入元件名查找,虽然有些麻烦,不过还挺有效。我想以后用熟了,哪个元件在什么库里应该就比较清楚了。

    以前看的多数的Proteus的资料都是讲Proteus和Keil联合调试的,所以一直有个错觉,就是用Proteus仿真单片机必须要用Keil。经过今天的实战才明白原来不是这样,只要在MCU的属性中的"Program File"里选中用Keil或是其他什么软件生成的HEX文件(即要写入真正的板子上MCU的程序)即可,这样就相当于在电路里放了一块写好程序的MCU。连好外围器件后就可以仿真了。

    另外还发现,MCU的时钟电路(即晶振部分)也是可以不接的,同样可以在MCU的属性里设置,如在Clock Frequency 里设置为12MHz就可以了。对Proteus默认的颜色感觉不爽, 按理说应该可以自己设置一些颜色参数。经过一番摸索,发现元件的颜色,连线的颜色,背景颜色等都可以在Template菜单下对应项中设置。

    仿真过程中还遇到了一个问题,我开始选用的发光二极管叫做LED,怎么运行它都不发光,但电平显示正常,又用电压表,电流表测了一下其值也是正常的。没办法,又看了一下例子,发现人家用的LED名字叫做LED-RED, 回到我的Design中以LED-为Keywords搜一下库,看下结果明白了,那个LED应该就是连电路时用的,仿真时不发光,若要其仿真时发光必须用有颜色属性的LED,我的实验中用到了LED-RED和LED-GREEN(红和绿)。

阅读(5469) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册