读书频道 > 系统 > 其他综合 > 嵌入式系统: 工程案例教程
2.3.3 Proteus电路仿真设计实例
2012-11-13 14:15:35     我来说两句 
收藏    我要投稿   
嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。本书共6章:第1章介绍几种嵌入式处理器,包括8051单片机、AVR单片机、A...  立即去当当网订购

下面以简单的处理器控制LED灯闪烁为例,介绍基于Proteus的电路仿真设计。在示例电路图中,通过LPC2136处理器的P0.0、P0.1、P0.2、P0.3引脚分别控制LED灯D1、D2、D3、D4实现4个灯循环闪烁。

1.元器件清单

打开Proteus ISIS的工作界面,按照表2-1所示的元器件清单向对象选择器窗口添加元器件。



 

2.电路原理图

元器件添加完成后,在Proteus ISIS图形编辑窗口中按如图2-37所示的电路原理图连接仿真电路。

3.源程序设计

电路中LPC2136处理器的P0.0、P0.1、P0.2和P0.3引脚分别连接发光二极管D1、D2、D3和D4,为了控制LED灯的亮灭,需要先把P0.0、P0.1、P0.2和P0.3引脚设置成通用I/O口,并将这些引脚设置成输出。当引脚输出为低电平时,相应的LED灯被点亮;当引脚输出为高电平时,相应的LED灯被熄灭。

源程序如下:

#include "config.h"

void delay(uint32 dly)           // 延时程序

{

  uint32 i;

  for (; dly>0; dly--)

  {

   for (i=50000; i>0; i--);

  }

}

int main()

{

  uint32 LED=0x00000001;

  PINSEL0 = 0x00000000; // 将P0.0~P0.3设置为GPIO

  IO0DIR = 0x0000000F;// 将P0.0~P0.3设置为输出模式

  IO0SET = 0x0000000F;// 将P0.0~P0.3置位

// LED灯全部熄灭

  while(1)

  {

    IO0CLR = LED;// 点亮变量LED所对应的灯

    delay(3);

    IO0SET = LED;// 熄灭变量LED所对应的灯

    delay(3);

    if (LED!=0x00000008)

     LED = LED << 1;// 将变量LED左移一位

    else

     LED = 0x00000001;

  }

  return 0;

}


 

4.电路的动态仿真

在Keil中按照上述源程序建立工程,编译生成hex文件,在仿真电路的LPC2136芯片中加载hex文件,单击仿真运行图标按钮,电路仿真结果如图2-38所示。此时,可以清楚地观察到每一个引脚的电平情况,P0.0引脚输出低电平,D1正向导通发光,P0.1、P0.2和P0.3引脚输出高电平,D2、D3和D4截止熄灭。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.3.2 基于Proteus的电路仿真
下一篇:2.4.1 vim
相关文章
图文推荐
2.7.12 使用仿真器查
2.7.11 栈和寄存器组
2.7.8 出栈
2.7.7 压栈
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站