电路仿真软件详谈(26),基于电路仿真软件proteus的流水灯设计
扫描二维码
随时随地手机看文章
电路仿真软件的使用越来越多,大家对电路仿真软件也越来越了解。该系列对于电路仿真软件的介绍均基于proteus软件,本文针对电路仿真软件的讲解同样不例外。本文中,主要介绍电路仿真软件proteus和Keil软件进行流水灯电路仿真和PCB涉设计。如果你对本文即将探讨的内容存在一定兴趣,不妨继续往下阅读哦。
1.引言
目前,具有电路仿真功能的软件比较多,性能比较好的有Multisim、Protel、O r C A D等,但这些对单片机的仿真无能为力。到目前为止,只有Proteus软件能够提供完善的单片机芯片及嵌入式系统的仿真。
2.单片机仿真所需实验配置
2.1 选用Proteus软件作为单片机仿真软件
Proteus软件是英国Lab Center Electronics公司开发的EDA工具软件。它不仅是模拟电路、数字电路、模/数混合电路的设计平台,更是目前世界上最先进,最完整的多种型号微处理器系统的设计与仿真平台,真正实现了在计算机上完成原理图设计,电路分析与仿真,微处理器程序设计与仿真,系统测试与功能验证,到形成PCB的完整电子设计、研发过程。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款智能原理图输入系统软件,可作为电子系统仿真平台,ARES是一款高级布线编辑软件,用于设计PCB.
2.2 选用Keil uVision2软件对程序进行编译和调试
Proteus仿真中的单片机芯片,与单片机硬件的 试验台中单片机芯片一样,需要下载编译好的机器语言文件,这样就需要汇编语言和C语言的编译器。KeiluVision2是51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,它还能嵌入汇编,您可以在关键的位置嵌入,同时可移植性强,使程序达到接近于汇编的工作效率。此外,Keil uVision2软件还支持众多不同公司的单片机芯片,集编辑、编译和程序调试于一体,之后将生成的。HEX文件,下载到单片机芯片里,这就完成了程序的固化。
3.基于Proteus软件含有AT80C51芯片的流水灯仿真与PCB制作
3.1 Proteus单片机仿与PCB制作的实验流程(如图1所示)
3.2 用ISIS软件绘制含有AT80C51单片机芯片的原理图
1)打开ISIS Professional 软件,执行“File”→“New Design”,在弹出窗口中选择默认模板“DEFAULT”,点击“OK”,然后保存,命名为“liushuideng.DSN”.
2)“System”→“Set Sheet Sizes…”,弹出“Sheet Size Configuration”对话框,设定图纸为A4,单击“OK”.
3)添加元器件。
具体数值见图3.在工具栏中执行菜单命令“Library”→“Pick Device/Symbol…”,弹出对话框在“Keywords”栏里输入所需元器件,右侧栏将显示,此时只需选择自己需要的元器件,点击“OK”,然后在列表中选中元器件(所用元件如下表1所示),在原理图编辑窗口合适位置单击鼠标完成放置,按此方法将列表中的所有元器件添加进去。
4)放置电源和地:单击左侧工具箱中图标,在对象选择器中单击“POWER”,使其出现蓝色条,再在原理图编辑窗口合适位置单击鼠标,就将“电源”放置在原理图中;单击“GROUND”,用同样方法,将“地”放置在原理图中。
5)布线:在ISIS原理图编辑窗口中没有专门的布线按钮,但系统默认自动布线有效,因此,可直接画线,布线如图2所示。
4.C语言编程
4.1 建立工程文件
1 )打开K e i l u V i s i o n 2软件,点击“Project”→“New Project”,命名为“liushuideng”,然后保存,在弹出的对话框“Data base”栏中选择“Atmel”→“89C51”→“确定”;然后点击“File”
→“New File”.
2)点击“Save”→文件命名为“liushuideng.
c”→“保存”,本程序利用C语言编程后缀必须是“.c”.
3)点击“Target 1”→“Sour Group1”
→“Add Files to Group”Sour Group 1“”,在弹出的对话框中选择刚建的文件,然后点击“Add”,添加完成后点击“Close”;到此工程建立完毕。
4.2 利用C语言编写流水灯的程序源代码
#include #include
#define uint unsigned int
#define uchar unsigned char
uchar temp;void delay(uint);
void main()
{temp=0xfe;P0=temp;while(1)
{temp=_crol_(temp,1);delay(600);
P0=temp;} }
void delay(uint z)
{ u i n t x , y ; f o r ( x = 1 0 0 ; x > 0 ; x - - )
for(y=z;y>0;y-);}
4.3 调试程序
经调试本程序,下边状态栏显示“0Errors,0 Warning”,表示“0”错误,“0”警告。
4.4 生成。HEX目标文件
选中“Target 1”单击右键→“Optionfor Target 'Target 1‘”,在弹出的对话框中,单击“Output”→“Create HEX File”打钩,再次运行程序即可生成。HEX目标文件。
5.原理图仿真
(1)在Proteus ISIS中,双击AT89C51单片机芯片,在弹出的“Edit Component”
对话框的“ P r o g r a m F i l e ” 栏中选择“liushuideng.hex”,然后点击“OK”.
(2)在Proteus ISIS编辑窗口左下方点击播放按钮,或者在“Debug”菜单下选择“Execute”,可以看到,首先P0.0点亮LED灯,等待一秒后熄灭,同时P0.1点亮另一只LED灯,同样等待一秒后熄灭,P0.2点亮LED灯┄┄当P0.7点亮LED灯等待一秒后熄灭后,P0.0点亮LED灯┄┄如此循环,间隔时间可在delay函数中自行设定,在运行结果如图2所示。
LED灯左侧的点呈现蓝色时,表示点亮状态,红色时,表示熄灭状态。
6.PCB的制作
6.1 统计电路原理图中使用的元器件
在ISIS中执行菜单命令“Tools”→“Billof Materials”→“2 ASCII Output”,生成元器件清单,如图3所示:
6.2 导入网络表
在I S I S中,双击开关“K”,会弹出“Edit Component”对话框,将“Excludefrom PCB Layout”前的“√ ”去掉,点击“OK”;执行菜单命令“Tools”→“Netlistto ARES”,系统自动打开ARES软件。在ISIS中有些元器件没有指定封装形式,因此系统会自动弹出“Package Selector”对话框,在“Package”栏中输入相应的封装形式,对于发光二极管的封装形式为“LED”,按钮“K”的封装形式为“SW-PUSH1”.
6.3 放置元器件
完成元器件封装后,进入A R E S操作界面,先要点击主工具箱中图标,此为2DGroaphics框体模式,在左下角下拉框中选择当前板层为“Board Edge”(黄色),在工作区内单击不放,拉出来个黄框,按需要设定大小,那就是PCB编辑板层。在元器件不多的情况下,为了达到自己想要的设计效果,采用手动布置元器件的方法,在主工具箱中单击元件模式图标,在元器件列表中选择某个元器件,然后在编辑区中合适位置单击鼠标左键,即可放置好该元器件;如果元器件比较多,采用自动布置元器件和手动布置元器件相结合的方法,可以大大提高制板效率。元器件放置完毕后,且右下角显示“No DRC errors”,无设计规则错误。
6.4 布线
ARES提供了交互手工布线和自动布线两种方式,通常结合使用以提高效率,并使PCB具有更好的电气特性,也更加美观。执行菜单命令“Tools”→“Auto Router”,弹出“Shape Based Auto Router”对话框,按需要自行设定各参数,然后点击“OK”,开始自动布线,然后进行手工调整,结果如图4所示:
6.5 规则检查
CRC检查:点击“Tools”→“ConnectivityChecker”,系统进行连接性检查,下边状态框提示“0 CRC violationsfound”,表示无CRC错误且无DRC错误。
6.6 敷铜
1)顶层敷铜:点击“Tools”→“PowerPlane Generator”,弹出“Power PlaneG e n e r a t o r ” 对话框, 在此对话框中的“Net”栏中选择“GND=POWRE”,“Layer”
栏中选择“Top Copper”,“Boundary”栏中选择“T10”,设置好后,点击“OK”,进行顶层敷铜。
2)底层敷铜:只需在“Layer”栏中选择“Bottom Copper”,其它操作同顶层敷铜。
6.7 3D效果显示
点击“Output”→“3D Visualizati o n ” , 显示3 D 效果如图5 所示, 通过“View”的下拉菜单可以显示不同的3D效果。
6.8 输出光绘文件
点击“Output”→“IDF ManufacturingOutput”,按PCB生产要求设置参数,点击“Generate”,生成相应的光绘文件。将导出的光绘文件和相应钻孔文件,发送到PCB厂家就可以进行制板了。也可以自己购买原材料,动手制作一块流水灯的PCB板,这样更能加深对单片机开发过程和工作原理的理解。
以上便是此次小编带来的“电路仿真软件”相关内容,希望大家对本文介绍的内容具备一定的认知。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!