预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于proteus的51单片机仿真实例及应用开发说明 一、单片机系统的开发流程 1、搭建硬件电路; 2、编写控制程序; 3、将程序“装”到单片机里面; 4、运行单片机系统,并检查、调试运行结果。 二、学习单片机的基本条件 单片机是一门实践性很强的技术,它牵涉到软件和硬件的学习。 软件指的是单片机控制程序;硬件则是保证单片机运行的基本电路。无论是程序设 计还是电路设计,都需要经过大量的实践练习才能够准确理解和熟练掌握。 1、软件条件: 单片机软件的开发流程是:1)编写控制程序;2)对程序进行编译、排错、 仿真、调试;3)生成可以用特定软件能烧写到单片机里面的二进制或十六进制文件。一般 的单片机的软件开发用到以下软件: 程序编写、编译软件(其中用到最广泛的Keil51):用来编写、编译单片 机的控制程序(其中用到最广泛的是AVRfighter或者是STCISPV38A); 仿真软件:proteus软件能很好地模拟展示单片机程序是否完成了既定功能; 2、硬件条件: 程序编写调试完成后,需要在硬件系统中运行,才能够组成一个完整的单片 机系统。一般的必备硬件有: 编程器:用来将程序烧录到单片机中的工具; 单片机学习板:用来演示和检验单片机系统是否实现了既定功能。 三、对于单片机的硬件电路的设计 需要指出的是,单片机的硬件电路是千差万别的,尤其是在制作电路板的时候,牵涉到 元器件的布局、走线、抗干扰等多种环境问题,所以单单依靠一个仿真软件是很难真实模拟 单片机系统的工作的。 所以在这里的学习,只是作为一种辅助开发的手段,我们可以先将我们的电路和程序在 该软件上进行验证,验证通过后在制作电路板进行实际验证。 四、下面简单地对proteus软件的入门进行以下介绍 PROTEUS软件是英国Labcenterelectronics公司研发的EDA工具软件。它是一个集模 拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。 是目前同类软件中最先进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从 原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的 完整的电子产品研发过程。 已经安装了ProteusISIS7软件的桌面上就会有图标。双击该图标,出现工作界面如 图1所示。界面中包括:标题栏、下拉主菜单、快捷按钮栏、标准工具栏、绘图工具箱、状 态栏、选择元器件按钮、预览对象方位控制按钮、仿真操作按钮、预览窗口、电路原理图编 辑窗口等。 1、电路图的绘制 运行的程序后,进入该仿真软件的主界面。 作图步骤: (1)绘图前,为了便于作图,可作一些设置。如设置栅格、栅格捕捉精度、图形界面颜色、 大小等。 (2)通过对象选择按钮P,利用其搜索引擎,将所需元器件加入到对象选择器窗口。 列元件清单。 (3)放置元器件至图形编辑窗口,并调整到合适位置。 (4)修改属性,如电阻,设置电阻值 (5)放置总线至图形编辑窗口。 (6)完成元器件之间以及元器件与总线的连线。 (7)给与总线连接的导线贴标签,以便于系统识别。 图1proteus工作界面 2、单片机所需的控制源程序的载入 双击原理图中的单片机就会弹出一个窗口,点击窗口中的添加文件菜单,将在编译器编 译后产生的hex文件装入单片机中即可。 如图所示 3、仿真电路模拟调试 点击窗口左下方的仿真按钮就可以进行对单片机的仿真工作 下面是几个运用proteus软件对单片机的仿真的一些实例。 例1.按键实现4级变速跑马灯的proteus仿真电路及C语言程序设计 以下是源程序 #defineucharunsignedchar//定义一下方便使用 #defineuintunsignedint #defineulongunsignedlong #include<reg52.h>//包括一个52标准内核的头文件 sbitP10=P1^0;//头文件中没有定义的IO就要自己来定义了 sbitP11=P1^1; sbitP12=P1^2; sbitP13=P1^3; sbitK1=P3^2; sbitK2=P3^5; sbitK3=P2^4; sbitK4=P2^5; bitldelay=0;//长定时溢出标记,预置是0 ucharspeed=10;//设置一个变量保存默认的跑马灯的移动速度 charcodedx516[3]_at_0x003b;//这是为了仿真设置的 //自动变速的跑马灯试验 voidmain(void)//主程序 { ucharcodeledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P