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
#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软件进行单片机仿真实验,不仅减少了原材料的损耗,还弥补了实验仪器和元器件缺乏带来的不足。初学者通过仿真实验,可以了解单片机系统的开发方法,这非常有助于培养其综合分析能力、排除故障能力和开发、创新能力。
上一篇:基于单片机的智能温度预警系统的设计方案
下一篇:8051单片机定时器溢出中断误差补偿示例
推荐阅读最新更新时间:2024-03-16 13:34