完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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软件下方运行仿真按钮,可以看到仿真的效果。 |
|
|
|
只有小组成员才能发言,加入小组>>
2545 浏览 0 评论
1143浏览 2评论
743浏览 1评论
496浏览 0评论
257浏览 0评论
420浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 18:12 , Processed in 1.271056 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号