![AVR单片机工程师是怎样炼成的](https://wfqqreader-1252317822.image.myqcloud.com/cover/840/653840/b_653840.jpg)
第2章 修炼倚天剑:Proteus
行走江湖,作为一位剑客都有自己心爱的宝剑:白云城主叶孤城使用的是巨阙剑,西门吹雪使用的是乌鞘剑。同样,我们要在AVR单片机的世界里杀出一片天地,也要有自己称手的“兵器”,在这里首先给大家介绍的是可以称霸世界的倚天剑:Proteus。工欲善其事,必先利其器。下面我们就先修炼剑术。
2.1 Proteus介绍
学习这个工具之前先对它简单了解一下:Proteus是英国Labcenter Electronics公司研发的EDA工具软件,是多种型号单片机系统的设计与仿真平台。我第一次接触它是2005年前后,那时也是在学习单片机,有同事给我介绍了这个软件,自从第一次接触我就爱不释手,所以今天在这里将它分享给大家。我们的目的不是要学习该软件的所有功能,而是拿它作为自己学习单片机的工具,因而我只是简单地介绍一下。
Proteus当前的最新版本是Proteus 7.10,可以到Labcenter Electronic公司的网站http://www.labcenter.com上查看最新的版本。我使用的版本是Proteus Professional V7.8 SP2,因为Proteus 6和Proteus 7的区别较大,而每个子版本的改动比较小,因而你可以根据自己的爱好选择安装,不过我建议选择同一版本的软件,否则出现调试不通时可能不容易一步一步对照。
2.2 安装Proteus
软件的安装过程比较简单,我们仅抓几个主要界面作为安装提示。如果计算机安装有杀毒软件,安装前最好先关闭杀毒软件,否则可能会因为杀毒软件导致安装失败。安装首界面如图2-1所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-01.jpg?sign=1738929523-ouOBk2hW2pO4XTRWCfVHEe2hie7rFEBy-0-769d10a637813c8d6ab34ccebea4d271)
图2-1 Proteus安装首界面
安装到第3步时需要选择Licence Key,我们选择“Use a locally installed Licence Key”,如图2-2所示。
接下来几步都按照提示默认进行,当选择安装目录时,我是按照默认路径“C:\Program Files\...”安装的,如图2-3所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-02.jpg?sign=1738929523-m7KudEpmkl4vsydt3spKss38KHzjOF0s-0-57fb0765b3011f8e24cd4e535a7a3118)
图2-2 Licence Key选择界面
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-03.jpg?sign=1738929523-oQTyWYYD96ShYfPflPhng81tZ50NVmTX-0-4e537138471c99a1556c884a561b6639)
图2-3 安装目录选择
接下来的几步还是按照安装提示选择默认设置进行,但安装过程中如果打开杀毒软件会有如图2-4所示的提示,因而安装前最好先关闭杀毒软件,或在这里选择“离开”。当然不同的杀毒软件可能会有不同的提示,也可能会根据杀毒软件的设置自动删除导致安装失败。
安装成功后,系统会有如图2-5所示的提示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-04.jpg?sign=1738929523-wvsfKziyKrg2lRtvBkz41dImr4nh4l44-0-acfc4aee7c00cc3d691257391a5a1cbc)
图2-4 杀毒软件提示
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-05.jpg?sign=1738929523-KwrAAXefLydKGowJF7CeFHJSoN6xqvYS-0-06ce999e5ed05914cee3cf9b6ed34599)
图2-5 安装完成
好了,到此已经安装成功,我们可以运行Proteus看看它的真面目了。
2.3 运行Proteus
选择“开始”→“所有程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,如图2-6所示,运行Proteus ISIS集成环境。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-06.jpg?sign=1738929523-4wc2do1Lng1BMU9Z2M7IH5qlRdW6YIcm-0-e9e744bdbdbac8fb822c1116f8079904)
图2-6 Proteus开始菜单
首次运行会有如图2-7所示的提示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-07.jpg?sign=1738929523-UhWTHWDJtkuw2t7JpTD0B3KYaBI98MRY-0-037d4cb48c320acb424d27ba4396509d)
图2-7 软件注册提示
单击“OK”按钮,系统直接关闭。不用着急,这是因为没有注册的缘故(我们可以通过图2-6中的“Licence Manager”菜单完成软件的注册)。
注册成功后,再次运行ISIS 7 Professional,会看到如图2-8所示的启动界面。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-08.jpg?sign=1738929523-wKrvW2EMaWxHVwBLYw0abUvWhmqVQsxP-0-143285bb39caeff84e83901fb4921f5b)
图2-8 启动界面
启动完成进入集成环境的主界面,主界面弹出后会出现一个对话框,如图2-9所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-09.jpg?sign=1738929523-rIuCcepO579ZgamdfOT7VwRpyqBJbzyd-0-42a79d1dc5845ee264249af6772c2ca8)
图2-9 模版介绍界面
在该界面的“Don’t show this dialogue again?”之前打上“√”,然后单击“No”按钮关闭该界面,则以后启动不再显示该界面。
接下来会提示显卡支持增强型图形显示,询问是否进行设置,我个人感觉没什么用。此处也是在“Don’t display this message again”前打上“√”,然后单击“OK”按钮关闭该界面,如图2-10所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-10.jpg?sign=1738929523-prtiTnGrtltmF0TZ4JC0DfU8lN3QubKz-0-78f8c5d584bf2980552e9b18ca628c81)
图2-10 提示显卡设置界面
将上述两个对话框关闭之后,就可以看到Proteus ISIS的主界面了,如图2-11所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-11.jpg?sign=1738929523-FsZqElba1Iyd7PdiOlKxBcU4T0R40BeJ-0-436b38d13af44a4079af679b6a964693)
图2-11 Proteus ISIS主界面
2.4 学用Proteus
既然已经运行了Proteus,下面就来用用。选择菜单命令“File”→“Open Design…”,系统会提示选择打开文件,如图2-12所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-12.jpg?sign=1738929523-VFEA9vxSTbcwNqnOquJiLgksTtV9MMTE-0-3ffcae4d35165332891712a2b8b81107)
图2-12 打开文件目录
第一次使用默认目录是“SAMPLES”。若不在该目录,需要根据Proteus安装的目录找到该目录。选择“VSM for AVR”进入下一级目录,选择“AVR with 8255A IO expander”进入目录内部,如图2-13所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-13.jpg?sign=1738929523-X4xt0W2mTSIoFS53usf0MNkFetcT5W3A-0-9839f071ef34982d5d3d0fea79e691bd)
图2-13 8255A Demo文件
选择“8255.DSN”文件并打开该文件。文件打开后的界面如图2-14所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-14.jpg?sign=1738929523-CLLbrdJmDp8TEh3LAaRlAUaaAo6mc805-0-9b600c549d00fbef5a3468b2463844da)
图2-14 Demo界面
单击(仿真控制按钮)中的
(Play)按钮让系统运行起来,用鼠标左键操作按键KEY,同时观察LED显示状态的改变(如图2-15所示)。怎么样,是不是感觉和真的电路板在运行一样?
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-15.jpg?sign=1738929523-g88R0hTa4ip2tsVzY5to3cVgZ0wEJmFc-0-7c102d56cfb1b7c461d4641ac0168c0f)
图2-15 8255A样例仿真结果
将鼠标停留在“仿真控制按钮”上几秒钟,会出现提示信息Play、Step、Pause、Stop字样,我们就用这几个单词代替对应按钮的称呼。在仿真过程中单击“Pause”按钮,系统会暂停下来,再单击该按钮,系统会接着运行;暂停时单击“Step”按钮,系统会单步执行,单击“Stop”按钮可以让系统停下来,这就是仿真环境的仿真调试过程。
在仿真系统暂停时,会弹出如图2-16所示的调试窗口。若不出现该窗口,可在暂停时选择菜单命令“Debug”→“4.AVR”→“1.Source Code-U3”打开该窗口(如图2-17所示)。然后单击“Step”按钮单步执行,可以看到代码的调试过程。“Debug”菜单还有很多功能,可以在后面的学习过程中自己多摸索掌握。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-16.jpg?sign=1738929523-l8Bv6O5fzeYKs9vpT7X4JdYCHGxgwQxi-0-1690076b76659d292c0aff99fd1f7429)
图2-16 调试窗口
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-17.jpg?sign=1738929523-oQhu9CwSK0QuZtgX4CHOjXKhm8qe9rTh-0-46909401be2729479f47ccc7bd1fca47)
图2-17 源代码显示菜单
在绘图模式(非仿真状态)下,滚动鼠标中间的滚轮,会发现“图形编辑窗口”的图形可以自动放大、缩小。放大图形后,用鼠标操作“预览窗口”,可以选择在“图形编辑窗口”可看到的图形部分。
在“图形编辑窗口”用鼠标左键单击“ATMEGA16”芯片,该芯片在图中会变为红色,如图2-18所示,再次单击该器件,会弹出如图2-19所示窗口。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-18.jpg?sign=1738929523-2o89YRLVGFecpnybz74HR1F5gBdFnF6D-0-52d93935641fedafeaf312384c223879)
图2-18 选择芯片
在“Program File”项可以选择要加载的编译过的程序代码,在“Clock Frequency”项的右边可以设置单片机的工作晶振,系统中用的是8MHz的晶振(因此在设计仿真电路时可以不画外部的晶振电路,在这里配置一下就可以了)。
观察样例可以发现,在“对象选择器窗口”有一列器件列表,用鼠标选择不同的器件,在“预览窗口”可以看到该器件的图形,如图2-20所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-19.jpg?sign=1738929523-UnEpoOLYwZmYaiRMGD2spVsTCnKavM9q-0-71d5e67d17faa38150b23f01d8226c55)
图2-19 芯片设置窗口
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-20.jpg?sign=1738929523-VfHh17ARQCfFAIk9hEiLjHnFgh0mg5hV-0-ef99191b689ace7327affc3bd92906bb)
图2-20 对象选择器窗口的器件列表
单击“对象选择器窗口”的“P”按钮,会弹出“Pick Devices”窗口,如图2-21所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-21.jpg?sign=1738929523-rcGPZZ6uVooat6g17Ek3iU792XbmWPvc-0-2a105399b81c3b4f71140d81d80aa64b)
图2-21 器件选择窗口
仿照样例,将“对象选择器列表”中的器件名称输入到“Keywords”编辑框中,会看到窗口页面的变化。这就是最常用的一种添加元器件的方法。可以仿照器件列表中的器件新添加一个器件。输入“LED-”,左侧会列举出很多发光二极管,选择其中一个,然后单击“OK”按钮退出器件选择窗口。在“图形编辑区”单击鼠标左键,可以发现有一个发光二极管的图形在动,选择合适的位置再次单击左键,就可以绘制一个发光二极管,如图2-22所示。
单击新添加的发光二极管,使其变为红色,然后拖动鼠标,可以修改其放置位置;双击左键可以修改其属性;放置发光二极管后,用鼠标将其引脚和ATMega16的引脚连接起来,这样就画了一根导线,如图2-23所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-22.jpg?sign=1738929523-cbxr3QcmBAdMpVITEAnKXuv8iaCVztBE-0-55a6494d808b49b56fc87adca6d62cb3)
图2-22 新加一个发光二极管
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-23.jpg?sign=1738929523-BxD05hlvLUIDoTHPOiOlV5OM7nNWj2Aw-0-f26510b2704ca82e28f7eccc439423ca)
图2-23 用导线连接发光二极管和ATMega16
最后,在新添加的发光二极管上双击右键可以删除它以及与它相连的导线。
当然,添加新器件又不知道器件的具体名称时,可以分类查找。如图2-24所示,先在“Category”列表中找到所选器件的分类,然后再进入子分类“Sub-category”列表选择,最后就可以在“Results”列表中查看了。不过所有元件的名称和其分类都是英文的,初学者在添加时不太容易选择,我们在电子版的附录中对本版本元件库的分类和子分类做了一个中英文对照表。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-24.jpg?sign=1738929523-Z0jkzU1yccYasH9XfAO5lTqxcp3tvb6r-0-4bfb9c76e782c347123fa3d86ea23cd6)
图2-24 添加新器件
怎么样,很好玩吧。通过计算机网络还可以了解更多有关Proteus的使用方法。我们的教程重点是要讲解单片机的程序设计,所以有关Proteus的使用就先讲到这里,其他的功能用到时再做介绍。
2.5 补充内容
2.5.1 汉化Proteus
如果不习惯用英文版的软件,可以想办法在网上找到对应版本的汉化包对其进行汉化。
汉化Proteus的过程很简单,下载的汉化包应该是两个dll文件:ARES.DLL、ISIS.DLL。汉化包中通常也会对汉化过程进行简单的说明。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-25.jpg?sign=1738929523-YdXtMVadYhAUhDwVBMY3IPY5h2502w1g-0-92f2774f3acaf61954933667cfadc364)
图2-25 ISIS 7 Professional右键菜单
首先在“开始”菜单中找到安装的Proteus,然后用鼠标右键单击“ISIS 7 Professional”,在其右键菜单中选择“属性”项,如图2-25所示。
接下来在其属性对话框中找到“查找目标(F)…”按钮(见图2-26),单击该按钮,找到ISIS.EXE所在的目录,如图2-27所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-26.jpg?sign=1738929523-wdInXKcl89jl8q7lvL0D7uCZfIgLlXrA-0-5e057d51989184058f7f28c9e68538c5)
图2-26 “ISIS 7 Professional属性”对话框
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-27.jpg?sign=1738929523-jge5aB0fE11Xm5gd8wWG9WPHNhGB9nQ4-0-c86620963b6edeb99c98369102644ae1)
图2-27 ISIS.EXE所在的BIN目录
为了防止汉化后软件不能正常启动,最好对原来的文件进行备份。找到ARES.DLL、ISIS.DLL,将其重命名为ARES_EN.DLL、ISIS_EN.DLL,然后将下载的汉化文件粘贴过来就可以了。
软件经过汉化后,主界面如图2-28所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-28.jpg?sign=1738929523-ICgWKQgGN2LZkSnLcuvDhXZwjUM7RdIJ-0-b01a1bde5059957deb3f9ec3f069acd4)
图2-28 汉化后的ISIS主界面
2.5.2 Proteus元件库
Proteus的元件库都是用英文显示的,包括其分类、子分类,虽然通过汉化包可以汉化软件的菜单、界面,但元件库还是英文的。对于英文基础不是特别好又没有太多元件使用经验的人来说,查找元件就成了问题,因而我们在电子版的附录里对元件的分类做了翻译的工作。另外,为了方便查找,我的同事康磊也做了一个小软件,用来查询元件分类信息,软件界面如图2-29所示。
在如图2-29所示界面中,可以直接在“关键字”栏输入想使用的元件分类,当然也可以在列表中查找,然后单击“查询”按钮,下面会显示查询结果,包括所有子类信息,这样就可以在Proteus中进一步查找自己要使用的元件。查询结果如图2-30所示。
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-29.jpg?sign=1738929523-TztiiEY0kRM5Qnz05GbShnu2dgQM0GX9-0-54542061f032904ae6f857538ebdc568)
图2-29 元件分类查找
![](https://epubservercos.yuewen.com/0459EF/3591130603598001/epubprivate/OEBPS/Images/Figure-0002-30.jpg?sign=1738929523-bBBxDvE1qia8ckXZlmaLhI3WnkELDMhF-0-2c343d8721b74e45d79575de8257c7e9)
图2-30 元件分类查找结果
软件由两个文件组成:codedata.exe、codedata.ini。其中codedata.exe是要使用的可执行文件(该软件是绿色软件,下载后可以直接运行);codedata.ini是元件库分类的信息,读者可以根据自己的需要来修改、补充该文件,然后使用。该软件可以通过我的博客young45. cublog.cn下载。