![用Proteus可视化设计玩转Arduino](https://wfqqreader-1252317822.image.myqcloud.com/cover/91/47379091/b_47379091.jpg)
第2章 玩转LED实例
2.1 闪烁的LED实例
对于电子设计初学者来说,最容易入手的实例就是从玩转LED开始。本节将从原理图到程序可视化设计来讲述如何使LED闪烁。
2.1.1 原理图设计
执行“开始”→“所有程序”→“Proteus 8 Professional”命令,依次打开文件夹,如图2-1-1所示。由于操作系统不同,快捷方式位置可能会略有变化。单击图标,启动Proteus 8 Professional软件,Proteus 8 Professional主窗口如图2-1-2所示。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_23_2.jpg?sign=1739030183-dlQ47Vq3YOk28diGZZNnBqpPEtl8cYLl-0-4558291b53a61bb6a4ee9ede52857eb0)
图2-1-1 快捷方式所在位置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_23_3.jpg?sign=1739030183-Phggo7rQlAyvrVJoGcAGImAuTGWvyTYp-0-a33737e7b39d3a2d204b5ea97f1abf94)
图2-1-2 Proteus 8 Professional主窗口
执行命令,弹出“New Project Wizard:Start”对话框,在“Name”栏输入“LED1”作为工程名,在“Path”栏选择存储路径为“E:\玩转电子设计系列丛书\可视化实例设计\project\2”,如图2-1-3所示。
单击如图2-1-3所示对话框中的按钮,弹出“New Project Wizard:Schematic Design”对话框,选中“Create a schematic from the selected template”选项,在“Design Templates”栏中选择“DEFAULT”,如图2-1-4所示。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_1.jpg?sign=1739030183-WlFaXyuE03FBPVEPupvJhVVMFS4Z9jQ2-0-f6fca4f0d9611d8a7110729f0586b85c)
图2-1-3 设置工程名和选择存储路径
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_2.jpg?sign=1739030183-2IPZjcTNVQ6u9ZMcSVwk0SHNB06vlKDs-0-edad5785052400434caa28f926a19499)
图2-1-4 选择“DEFAULT”
单击如图2-1-4所示对话框中的按钮,弹出“New Project Wizard:PCB Layout”对话框,选中“Do not create a PCB layout”选项,如图2-1-5所示。单击对话框中的
按钮,弹出“New Project Wizard:Firmware”对话框,选中“Create Flowchart Project”选项,选择开发板为“ARDUINO”,控制器为“Arduino Uno”,编译环境为“Visual Designer for Arduino AVR”,如图2-1-6所示。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_5.jpg?sign=1739030183-cZCZhzj1nIgINL49bA0YEoJh2RHQuSza-0-ada8e6d3489f4b8bc38469e3f0faa37e)
图2-1-5 创建PCB图纸
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_6.jpg?sign=1739030183-vHayRDF5VAjRC2idateH2rW3HpCOhUcq-0-645c419c7b7e66972c0e8cb946fd2a29)
图2-1-6 “New Project Wizard:Firmware”对话框
单击如图2-1-6所示对话框中的按钮,弹出“New Project Wizard:Summary”对话框,如图2-1-7所示,对相关工程信息确认后,单击对话框中的
按钮,弹出Proteus软件的主窗口,进入新建工程界面,如图2-1-8所示。至此,新建工程创建完毕。
Visual Designer界面中“Projects”栏如图2-1-9所示,右键单击工程树中的选项,弹出子菜单如图2-1-10所示。单击子菜单中的
选项,弹出“Select Peripheral”对话框,在“Peripheral Category”下拉列表中选择“Grove”,并在其子库中选择“Grove LED(Green)”,如图2-1-11所示。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_1.jpg?sign=1739030183-f6lzlRy5kVpc8g7Vy9zWktPSgEHm2WTl-0-4d87ad74723483e9d3b9fd0836563b24)
图2-1-7 “New Project Wizard:Summary”对话框
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_2.jpg?sign=1739030183-8u4GTNkiELLTYxHOLmsO5LLeLCgmDKGd-0-f9ff309760cb783e2e5452331afc713f)
图2-1-8 进入新建工程界面
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_3.jpg?sign=1739030183-cyBPwY4PBvTQ1jrwyQLZtpwUgz9ORNDu-0-8dc5421a5e6e68c33d624531d5adf8bf)
图2-1-9 “Projects”栏(1)
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_4.jpg?sign=1739030183-1ttCJoI8YGEJHDi8WYPXfMIBgp4R3Jbv-0-584c0dc277980b934fc2bca6221f2b21)
图2-1-10 子菜单
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_5.jpg?sign=1739030183-pZ1dzzeYSVqfENKdsuR7Dc7MtjNsjdJy-0-4ca9e6f2d5eb0da7d7ca859e885cff42)
图2-1-11 “Select Peripheral”对话框
单击“Select Peripheral”对话框中的按钮,即可将Grove LED(Green)放置在图纸上,放置完毕后,Schematic Capture界面中的闪烁的LED原理图如图2-1-12所示,Visual Designer界面中的“Projects”栏如图2-1-13所示,代表Grove LED(Green)已经成功添加到工程中。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_2.jpg?sign=1739030183-r5WTvo5b4chJygMzXzfmLgTY48zvrpqv-0-8d0397e1a3433a22e79c00696d37a2dc)
图2-1-12 闪烁的LED原理图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_3.jpg?sign=1739030183-NayCEa29VgNog6M2wWxtJmOBxFu8m4Qi-0-13211381615a857b89403022be093e61)
图2-1-13 “Projects”栏(2)
至此,闪烁的LED原理图设计完毕。
2.1.2 可视化流程图设计
初始化main函数流程图,如图2-1-14所示分为两段,分别为初始化模块流程图,如图2-1-14(a)所示;以及循环模块流程图,如图2-1-14(b)所示。
将LED1中的on框图用鼠标拖曳到循环模块流程图中,直至出现连接节点,放置完毕后的流程图如图2-1-15所示,当程序运行至LED1的on框图时,代表亮起LED1。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_4.jpg?sign=1739030183-5HR6GwLbJ8bz1FbA89kXes7BGSLkjgLW-0-a0e4bfed68f67379a0bb2427ad8a2f07)
图2-1-14 初始化main函数流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_5.jpg?sign=1739030183-kZVbN81LyMOVJA4tAq4aL1ROcSnIbXKw-0-3dce9c9170e442bed12b55085aa0696e)
图2-1-15 放置on框图后的流程图
将Time Delay框图用鼠标拖曳到循环模块流程图中,并放置在LED1中的on框图的下面。放置完毕后,双击刚刚放置的Time Delay框图,弹出“Edit Delay Block”对话框,将Delay参数设置为1000,如图2-1-16所示。Time Delay框图的参数设置完毕后,main函数流程图如图2-1-17所示。当程序运行至Time Delay框图时,代表其进入延时程序。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_1.jpg?sign=1739030183-BX4CEIrAqFxb77FuGHGYlgcOSMSjvedK-0-616bc7d610b9ddf1b8673e8dcbc9d4f5)
图2-1-16 Time Delay框图参数设置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_2.jpg?sign=1739030183-XkZW4GKKPcYOUYvearWpeQdINd0eh8Lc-0-9c046a36ea52bb40e8a0e042e0ed4c82)
图2-1-17 放置Time Delay框图后的流程图(1)
将LED1中的off框图用鼠标拖曳到循环模块流程图中,并放置在Time Delay框图的下面。放置完毕后,main函数流程图如图2-1-18所示。当程序运行至LED1中的off框图时,代表LED1熄灭。
将Time Delay框图用鼠标拖曳到循环模块流程图中,并放置在LED1中的off框图的下面。放置完毕后,双击刚刚放置的Time Delay框图,弹出“Edit Delay Block”对话框,将Delay参数设置为1000。Time Delay框图的参数设置完毕后,main函数流程图如图2-1-19所示。当程序运行至Time Delay框图时,代表其进入延时程序。
至此,闪烁的LED可视化流程图设计完毕。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_3.jpg?sign=1739030183-mGAiZ8qKRlfd2eCHUz3zKUIQogvEHEe5-0-b508a0125a4ad1c1d2df1fdf91d69b24)
图2-1-18 放置off框图后的流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_4.jpg?sign=1739030183-YNGzODpxZB6AgZOrAb1KsOhoqM7CDSsG-0-87bbed441b611414941e48c880e2fc75)
图2-1-19 放置Time Delay框图后的流程图(2)
2.1.3 仿真验证
在Proteus主菜单中,执行命令,运行LED1工程,可见LED1开始闪烁,如图2-1-20和图2-1-21所示。
经仿真验证,LED闪烁基本满足要求。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_1.jpg?sign=1739030183-5G9d6VhPtLRLeQwbrEyHzL2yZJWuqqsN-0-7096a7419d7a48493c79eac067f26eaa)
图2-1-20 LED亮起
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_2.jpg?sign=1739030183-lobEC11IR2PwP6fgmd1FoneocVOGdtt5-0-4749f02225e91ef6ea7d0ca27b26e36b)
图2-1-21 LED熄灭
小提示
◎ 将Time Delay框图中的Delay参数值减小,可以加快LED闪烁频率。
◎ 将Time Delay框图中的Delay参数值增大,可以减慢LED闪烁频率。
◎ 扫描右侧二维码可观看LED闪烁的仿真结果。
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_4.jpg?sign=1739030183-oAPcfcgsAAX34aZYqoErp9JqUEUUY3Fe-0-491b4f8478ef82f0b3955cb32799c1d9)