![用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=1739282495-AvwsSup7RVSVjQf3J8Tdr32W42sufQOa-0-d45387922baa8c828c50be8c96321df6)
图2-1-1 快捷方式所在位置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_23_3.jpg?sign=1739282495-DR587YCJ1GEEgkmFnFuCPb2WDGyKxn1M-0-f35d66cf8c6b257f1c654fd1f36bc796)
图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=1739282495-YQTSqFAUzkO4tQtmB270hVWI0pXDTbx0-0-1096d3672757130bd8fb024863ddc6f3)
图2-1-3 设置工程名和选择存储路径
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_2.jpg?sign=1739282495-r9YvJwilip8jPoBh122VmQ4Q6vdOJ7gd-0-09ea866fde6aebbf2ea4b647595e827e)
图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=1739282495-Qqg3O2TkbPYgYBj3Xv2lSIgKLr33OeeD-0-8dc7452577d845880379443af1c9d8b7)
图2-1-5 创建PCB图纸
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_6.jpg?sign=1739282495-M3bx4DsPuKJKCHBBWjq6GjmPVJ6lPdUt-0-7ea60509a8c90a0b53b15f8e9f55ffa9)
图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=1739282495-wg0HpmBfkfzS4FTszcN7qQGJObVodRNh-0-9acc2f96d20b8f3b62cadd81432a888c)
图2-1-7 “New Project Wizard:Summary”对话框
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_2.jpg?sign=1739282495-2XfQEOLeVub5BHggE2TtP1qvd3r54XXV-0-ee1e5c185100524041c300f9890f9869)
图2-1-8 进入新建工程界面
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_3.jpg?sign=1739282495-kiST5HGtpQd4hjQvmiAV2KMw36KA4b6A-0-5c191b9160f1e2954ff5574e0538cf95)
图2-1-9 “Projects”栏(1)
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_4.jpg?sign=1739282495-EZHy8OVsiQRE8oS0pOXyW1p7YOnM0dUj-0-6fe38185582b94af79c6dc2e5b6e2663)
图2-1-10 子菜单
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_5.jpg?sign=1739282495-lSQeU3MdS2CMnoh5tFu9xKQxWFfkk6rE-0-84521801a5ede5a526f26a113733f61f)
图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=1739282495-YIdIereh0QfYptRvE19Ww9BxI3uEudvc-0-78ade546666855fd92c16d82a99f6f61)
图2-1-12 闪烁的LED原理图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_3.jpg?sign=1739282495-2NKV17iIsLovoxW74ib8NPWgRxEs7rU2-0-d3f6a9011c9125aed20603724676b1ba)
图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=1739282495-JUpiolNyp3rl0VKlqdFWWqxwm9m9YWcH-0-15c1c04c05236c1cd82277ae50e28faf)
图2-1-14 初始化main函数流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_5.jpg?sign=1739282495-9ZzeoAQvjYIZHsnqPPJ8SL6bIWtmD2J7-0-7e99a8e7c6edc04480357ae25883d8f4)
图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=1739282495-2J27XQrdatkPltCavjvhn3XxGNxr2WB1-0-62f9f03eceac9c70452d643ef07da955)
图2-1-16 Time Delay框图参数设置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_2.jpg?sign=1739282495-QBOVzQVeLsrFE82Nz37H3cAMJQavydCH-0-b4074d96f77f4c87c762023f8c53eae5)
图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=1739282495-CUd2rNkgX1d4E5NYbBtC0VWN0s26ITel-0-688b0756299be44e33afaa1f5eacad9f)
图2-1-18 放置off框图后的流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_4.jpg?sign=1739282495-2izLvvbRmUhVywlmA9RK63oLG92J3h6O-0-302185dbbc1ec4d287b75b90580e2f83)
图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=1739282495-k88OuXeMqxRyDNF5R6KbvNhEIAOxTrbz-0-ae8c0e4930e1d7bf79715ba9a78e0934)
图2-1-20 LED亮起
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_2.jpg?sign=1739282495-fgBwNr1OEWXpLkCFjbLfXMFzvliSx7uB-0-67af40f0c72fc583439f2a42538df601)
图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=1739282495-j2xvepXwdLuDPFJOjkvRqBmvVSKANnep-0-6ae00cb137c57ca353e3a16ce9a1b070)