基于Proteus软件的单片机仿真与PCB设计

时间:2022-05-26 11:25:40

基于Proteus软件的单片机仿真与PCB设计

【摘要】随着科学技术的发展,单片机技术在产品的人机交互设计中扮演着越来越重要的角色,而单片机仿真和PCB设计成为其重要分支。Proteus软件在单片机和器件方面卓越的仿真能力使其成为目前最好的仿真工具之一,而该软件还可在仿真原理图的基础上设计PCB。此论文以AT80C51为芯片的流水灯为实例,基于Proteus软件和Keil uVision2软件论述了整个电路原理图的绘制与仿真和PCB设计流程,旨在为单片机初学者提供一种有效地学习方法。

【关键词】单片机;Proteus Keil uVision2;仿真;PCB设计

1.引言

单片机是将CPU芯片,存储器芯片,I/O接口芯片和简单的I/O设备装配在一块印刷电路板上,再配上存储在ROM中的监控程序,这便构成了一台单板微型计算机。传统的单片机开发都是采用硬件实验箱或实验板方式,硬件投资成本相对较高;这种定式的环境很容易将开发者的思维禁锢在小小的实验箱里,不利于创新思维实现,对于初学者还会造成认知上的误区,即所谓的单片机就是在一个箱子里穿针引线,这极不利于后续的开发。

目前,具有电路仿真功能的软件比较多,性能比较好的有Multisim、Protel、OrCAD等,但这些对单片机的仿真无能为力。到目前为止,只有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)添加元器件。

表1 本例所用元器件

单片机AT89C51 瓷片电容CAP 晶振CRYSTAL 11.0592MHz 发光二极管LED

电阻 RES 排阻RESPACK-8 电解电容CAP-ELEC 按钮BUTTON

具体数值见图3。在工具栏中执行菜单命令“Library”“Pick Device/Symbol…”,弹出对话框在“Keywords”栏里输入所需元器件,右侧栏将显示,此时只需选择自己需要的元器件,点击“OK”,然后在列表中选中元器件,在原理图编辑窗口合适位置单击鼠标完成放置,按此方法将列表中的所有元器件添加进去。

4)放置电源和地:单击左侧工具箱中图标,在对象选择器中单击“POWER”,使其出现蓝色条,再在原理图编辑窗口合适位置单击鼠标,就将“电源”放置在原理图中;单击“GROUND”,用同样方法,将“地”放置在原理图中。

5)布线:在ISIS原理图编辑窗口中没有专门的布线按钮,但系统默认自动布线有效,因此,可直接画线,布线如图2所示。

4.C语言编程

4.1 建立工程文件

1)打开Keil uVision2软件,点击“Project”“New Project”,命名为“liushuideng”,然后保存,在弹出的对话框“Data base”栏中选择“Atmel” “89C51”“确定”;然后点击“File”

“New File”。

2)点击“Save”文件命名为“lius-huideng.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)

{uint x,y;for(x=100;x>0;x--) for(y=z;y>0;y--);}

4.3 调试程序

经调试本程序,下边状态栏显示“0 Errors,0 Warning”,表示“0”错误,“0”警告。

4.4 生成.HEX目标文件

选中“Target 1”单击右键“Option for Target ‘Target 1’”,在弹出的对话框中,单击“Output”“Create HEX File”打钩,再次运行程序即可生成.HEX目标文件。

5.原理图仿真

(1)在Proteus ISIS中,双击AT89C51单片机芯片,在弹出的“Edit Component”对话框的“Program File”栏中选择“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所示。

图1实验流程

图2 原理图和仿真现象

LED灯左侧的点呈现蓝色时,表示点亮状态,红色时,表示熄灭状态。

6.PCB的制作

6.1 统计电路原理图中使用的元器件

在ISIS中执行菜单命令“Tools”“Bill of Materials”“2 ASCII Output”,生成元器件清单,如图3所示:

图3 元器件清单

6.2 导入网络表

在ISIS中,双击开关“K”,会弹出“Edit Component”对话框,将“Exclude from PCB Layout”前的“√ ”去掉,点击“OK”;执行菜单命令“Tools”“Netlist to ARES”,系统自动打开ARES软件。在ISIS中有些元器件没有指定封装形式,因此系统会自动弹出“Package Selector”对话框,在“Package”栏中输入相应的封装形式,对于发光二极管的封装形式为“LED”,按钮“K”的封装形式为“SW-PUSH1”。

6.3 放置元器件

完成元器件封装后,进入ARES操作界面,先要点击主工具箱中图标,此为2DGroaphics框体模式,在左下角下拉框中选择当前板层为“Board Edge”(黄色),在工作区内单击不放,拉出来个黄框,按需要设定大小,那就是PCB编辑板层。在元器件不多的情况下,为了达到自己想要的设计效果,采用手动布置元器件的方法,在主工具箱中单击元件模式图标,在元器件列表中选择某个元器件,然后在编辑区中合适位置单击鼠标左键,即可放置好该元器件;如果元器件比较多,采用自动布置元器件和手动布置元器件相结合的方法,可以大大提高制板效率。元器件放置完毕后,且右下角显示“No DRC errors”,无设计规则错误。

6.4 布线

ARES提供了交互手工布线和自动布线两种方式,通常结合使用以提高效率,并使PCB具有更好的电气特性,也更加美观。执行菜单命令“Tools”“Auto Router”,弹出“Shape Based Auto Router”对话框,按需要自行设定各参数,然后点击“OK”,开始自动布线,然后进行手工调整,结果如图4所示:

图4 布线

6.5 规则检查

CRC检查:点击“Tools”“Conn-ectivity Checker”,系统进行连接性检查,下边状态框提示“0 CRC violations found”,表示无CRC错误且无DRC错误。

6.6 敷铜

1)顶层敷铜:点击“Tools”“Power Plane Generator”,弹出“Power Plane Generator”对话框,在此对话框中的“Net”栏中选择“GND=POWRE”,“Layer”栏中选择“Top Copper”,“Boundary”栏中选择“T10”,设置好后,点击“OK”,进行顶层敷铜。

2)底层敷铜:只需在“Layer”栏中选择“Bottom Copper”,其它操作同顶层敷铜。

6.7 3D效果显示

点击“Output”“3D Visualiza-tion”,显示3D效果如图5所示,通过“View”的下拉菜单可以显示不同的3D效果。

图5 3D效果

6.8 输出光绘文件

点击“Output”“IDF Manufacturing Output”,按PCB生产要求设置参数,点击“Generate”,生成相应的光绘文件。将导出的光绘文件和相应钻孔文件,发送到PCB厂家就可以进行制板了。也可以自己购买原材料,动手制作一块流水灯的PCB板,这样更能加深对单片机开发过程和工作原理的理解。

7.结束语

本论文以Proteus软件为仿真工具,Keil uVision2软件为程序编辑器,相对完整的论述了单片机的仿真和制作PCB的流程,同时流水灯的制作也是单片机入门典型实例;这将让广大单片机初学者对其开发流程有大致了解。利用Proteus软件进行单片机仿真实验,不仅减少了原材料的损耗,还弥补了实验仪器和元器件缺乏带来的不足。初学者通过仿真实验,可以了解单片机系统的开发方法,这非常有助于培养其综合分析能力、排除故障能力和开发、创新能力。

参考文献

[1]郭天祥.新概念51单片机C语言教程——入门、提高、拓展全攻略[M].北京:电子工业出版社,2009.

[2]求是科技.8051系列单片机C程序设计[M].北京:人民邮电出版社,2006.

[3]谭浩强.C程序设计[M].北京:清华大学出版社,1991.

[4]平,曹巧媛等. 单片机原理及接口[M].北京:清华大学出版社,2007.

[5]侯玉宝,平,李成群.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2008.

作者简介:王永飞(1987—),男,河南新乡人,长安大学汽车学院硕士研究生,研究方向:动力机械及工程。

上一篇:电子产品常见故障检修案例 下一篇:基于数字信号处理的母差保护测试装置设计