单片机交流
直播中

淡淡的爱

11年用户 881经验值
私信 关注
[问答]

如何用Arduino-Proteus对LED流水灯进行仿真呢

proteus是什么?具有哪些功能?
如何用Arduino-Proteus对LED流水灯进行仿真呢?

回帖(1)

崔璨

2021-11-10 10:18:22
  Arduino-Proteus仿真02-LED流水灯
  标题设计者:STCode
  
  标题前言:
  Proteus是英国Labcenter公司开发的威廉希尔官方网站 分析与实物仿真及印制威廉希尔官方网站 板设计软件,它可以仿真、分析各种模拟威廉希尔官方网站 和集成威廉希尔官方网站 ,其提供了大量模拟与数字元器件及外部设备,以及各种虚拟仪器(如电压表、电流表、示波器、逻辑分析仪、信号发生器等),特别是它具有对单片机及其外围威廉希尔官方网站 组成的综合系统交互仿真功能,
  目前,Proteus仿真系统支持的主流单片机有ARM7(LPC21xx)、8051/52、AVR、PIC 10/12/16/18/24、MSP430、CotexM0/M3、HC11等,其支持的开发环境有Keil u Vision2/3/4、MPLAB、Atmel Studio等。
  提示:
  Proteus仿真Arduino中,关于所需硬件获取、软件编译、HEX文件获取、代码导入等问题请参考文章:Arduino-Proteus仿真01-LED灯闪烁
  1) 练习描述
  这次练习为控制8颗LED灯的循环亮灭,涉及的知识点有数组、for循环的利用。
  2) 元器件选择
  ·Arduino Uno
  ·LED-BLUE
  ·RES(220O欧姆)
  
  在元件模式中点击P选项,在元件库中搜索所需的元件名称,双击后便可添加到元件清单中。
  3) 威廉希尔官方网站 连接
  
  威廉希尔官方网站 连接较为简单,Arduino Uno的2-9号IO引脚分别连接一个220欧姆的电阻后与蓝色LED小灯的正极连接,LED的负极统一连接到终端模式的GROUND即GND即可。
  
  4) 程序设计
  5) const uint8_t ledpin[]={2,3,4,5,6,7,8,9}; //定义led引脚
  6) uint8_t i; //定义变量i
  7) void setup()
  8) {
  9) for(i=0;i《8;i++) //设置led引脚为输出模式
  10) pinMode(ledpin[i],OUTPUT);
  11) }
  12)
  13) void loop()
  14) {
  15) for(i=0;i《8;i++) //依次亮起
  16) {
  17) digitalWrite(ledpin[i],HIGH);
  18) delay(200);
  19) }
  20) for(i=0;i《8;i++) //依次灭掉
  21) {
  22) digitalWrite(ledpin[i],LOW);
  23) delay(200);
  24) }
  25) }
  说明:
  ①程序中首先定义一个名称为ledpin的数组,里边存放led所接的引脚,这里为2、3、4、5、6、7、8、9。这样的话ledpin[0]==2、
  ledpin[1]==3、ledpin[2]==4,以此类推。
  ②setup函数中的for循环将led所接的引脚均设置为输出模式。
  ③loop中的for循环设置led分别从2号引脚开始亮起,全部亮起后再从2号引脚开始,依次灭掉。
  5)软件操作
  程序编写完成后点击Arduino IDE编译器的文件首选项,将编译选项勾选上。点击好以后进行编译,编译完成后复制HEX文件所在的路径,复制完成后返回Proteus软件,双击Arduino控制板,在Program File处粘贴HEX文件的路径。点击确定以后即可进行仿真,点击Proteus软件下方运行仿真按钮,可以看到仿真的效果。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分