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

发布者:SereneNature7最新更新时间:2014-01-21 来源: dzsc关键字:Proteus软件  单片机仿真  PCB设计 手机看文章 扫描二维码
随时随地手机看文章

  1.引言

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

  目前,具有电路仿真功能的软件比较多,性能比较好的有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”;到此工程建立完毕。[page]

  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板,这样更能加深对单片机开发过程和工作原理的理解。

  7.结束语

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

关键字:Proteus软件  单片机仿真  PCB设计 引用地址:基于Proteus软件的单片机仿真与PCB设计

上一篇:基于单片机的智能温度预警系统的设计方案
下一篇:8051单片机定时器溢出中断误差补偿示例

推荐阅读最新更新时间:2024-03-16 13:34

单片机仿真
script src="/jf/jf-arcMain-1.js" type=text/javascript /script script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20110914/r20110914/show_ads_impl.js" /script script src
[单片机]
8位共阳数码管74HC595芯片AVR单片机控制 proteus仿真及源码
刚入门AVR单片机一段时间,感觉资料很少,所以进度很慢,刚才百度到这里来,现上传一个数码管的程序来和大家分享,高手就跳过吧,初学可以下载来做参考 proteus仿真原理图: 单片机源程序: /* * smg8_avr.h * * Created: 2017/3/16 1:54:20 * Author: lyl */ #ifndef SMG8_AVR_H_ #define SMG8_AVR_H_ #include lyl_avr.h //数码管端口定义 #define smgPORT PORTA #define smgPORT_DDR DDRA #define DS PA5//串行数据输入端口 #define S
[单片机]
8位共阳数码管74HC595芯片AVR<font color='red'>单片机</font>控制 <font color='red'>proteus</font><font color='red'>仿真</font>及源码
M60 单片机的在线仿真与步进、日志调试
我们对M40 定时器0的代码进行步进调试,掌握调试技巧... 一、前期准备: 安装好keil C51 51单片机编程推荐软件,熟悉它,后续stm32同样可用 Keil(C51)介绍、下载、安装与注册 准备51开发板(STC系列芯片的或其他)或者安装proteus 开发板一般推荐购买一套,仿真的编程环境和真实环境有出入(51开发板一般不足百元) 开始也可以不买,使用proteus仿真51环境入门 51入门实际上不需要多高大上的开发板,最核心的定时器、数码管、基础传感器、通讯都有了。以下也是从网络搜索的,向导单片机训练营用这个,从知乎 /知乎app下单买向导可以赚1元左右佣金,希望能够站着就把1元钱赚了:)
[单片机]
M60 <font color='red'>单片机</font>的在线<font color='red'>仿真</font>与步进、日志调试
单片机仿真器的作用
问1.用虚拟软件仿真与这个有什么区别吗?我没有看到过仿真器也没有用过仿真器 答:虚拟软件仿真,不能看到驱动硬件的实际效果。 问2.仿真器接电脑,仿真器再通过仿真头接目标板,然后程序就能在线仿真? 答:是的,连接好了以后,打开51开发软件平台KEIL,通过在KEIL中修改你的程序中不满意的部分,仿真器会在软件平台KEIL的控制下时时联动。然后通过单步运行程序或者让程序运行到指定的程序行停止,等等调试方法调试你的程序,直到你满意为止,全部过程硬件都会和程序同步运行,所见即所得。可以极大地提高效率,不用再反复的用编程器向51芯片中烧录程序。 问3.仿真器的本质是什么? 答:仿真器就是通过仿真头用软件来代替了在目标板上的51芯片,关
[单片机]
Altium旗舰级PCB设计软件发布新功能
Altium Designer 15.1新增功能,实现设计效率提升、设计文档改善 及高速PCB设计自动化。 2015年5月13日,中国上海讯 智能系统设计自动化、3D PCB 设计解决方案 (Altium Designer )、ECAD设计数据管理(Altium Vault )和嵌入式软件开发(TASKING )的全球领导者Altium有限公司 近日宣布其旗舰级PCB设计工具 Altium Designer正式发布最新版本15.1。此版本引入了若干新特性,显著提升了设计效率,改善了文档输出以及高速设计自动化功能。所有Altium年度客户服务计划的客户现已可以更新至最新版本。 图:Altium D
[半导体设计/制造]
Altium旗舰级<font color='red'>PCB设计</font><font color='red'>软件</font>发布新功能
单片机全自动洗衣机程序+仿真+原理图设计调试与分析
一、设计任务与要求 利用51单片机模拟全自动智能洗衣机。 按键功能要求 通过“K1”键步进改变“标准]经济、单独、排水”四种方式,执行相应的程序。对应指示灯亮。 通过“K2”键步进改变“强洗、弱洗”两种方式,执行相应的程序,对应指示灯亮。 通过“K3”键控制洗衣机运行、暂停和解除报警功能。 方式功能选择要求 一般洗衣机的步骤为:洗涤,漂洗,脱水,当处于某种状态时,对应的指示灯以0.7S周期闪烁,当洗衣机在洗涤过程中,洗涤指示灯闪烁。可以通过方式选择设定具体的运行过程。 标准方式:进水— 洗涤 — 排水 — 进水 — 漂洗 — 排水 — 进水 — 漂洗— 排水 — 脱水。
[单片机]
<font color='red'>单片机</font>全自动洗衣机程序+<font color='red'>仿真</font>+原理图设计调试与分析
同业社区是现代PCB设计的一个核心动力
值此成立25周年之际,CadSoft对全球电子行业PCB设计工程师关注的重要领域进行投票调研 PCB设计软件供应商CadSoft Computer(e络盟旗下子公司)日前公开一组针对全球PCB设计师的调研数据以庆祝其成立25周年。自1988年成立以来,CadSoft见证了电子行业发展的重大变革,其中最为显著的是近几年日渐兴起的在线同业社区及社交媒体。据CadSoft调研显示, 83%的调研对象表示在线同业社区对他们的工作‘至关重要’或‘重要’,尽管其中有近一半(41%)的人在社区平台上并不活跃。 此外,42%的调研对象认为Twitter和Facebook等社交媒体平台与论坛一样,聚集了产品新闻、设计建议及创意等资源,有利于他们
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved