![用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=1738882094-Uyk28aWdDJzpe3EXiTj3725wkUHHoOBQ-0-d4a6ed61983aaf916d1a9844ced66845)
图2-1-1 快捷方式所在位置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_23_3.jpg?sign=1738882094-EvgAW41bsn3x2tLykuk4dogxzYwRZsr9-0-0dd93a27de981b76d98419ce424801c5)
图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=1738882094-vQ5lz8KcBZxz8r1W80afSpzxHGxeYJRi-0-cf614fef51628530fee3ec69f91da0cf)
图2-1-3 设置工程名和选择存储路径
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_2.jpg?sign=1738882094-QyYg5mqkUtg2bafqK9qkpY6IgkjWXbDb-0-74893e68c44db9b9aa8c4472f3cf8a97)
图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=1738882094-bmpHD8isIrkgc5gmzA2KOE0MujeomQTw-0-4fd6b33bfdfa27c06bcd1d482238ab9a)
图2-1-5 创建PCB图纸
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_6.jpg?sign=1738882094-uygJtiaFz4Jx0fy9DiVUF124h0wpdble-0-ffe582640e30aa4f9033e422344c51a5)
图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=1738882094-dw0oPf6md8eZsEoWvPrg6urTMlskCTg5-0-9aa209cfe513fab0d70e393a2a8b6e9b)
图2-1-7 “New Project Wizard:Summary”对话框
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_2.jpg?sign=1738882094-2U42EqSiYZ2J8pVe8YKNuTPh096w746i-0-24b71866caa84b03bf074c971982a239)
图2-1-8 进入新建工程界面
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_3.jpg?sign=1738882094-hIozOK8ZS84yzqdDzYTVcIHEIZmRbkSR-0-e736d2c80d5a7772f678cefa8a858cc2)
图2-1-9 “Projects”栏(1)
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_4.jpg?sign=1738882094-yBFY4TW7XFS3FdJ6Y1GgAiX25qouCTPx-0-8ed1586f62139c5978dd635e26805866)
图2-1-10 子菜单
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_5.jpg?sign=1738882094-7ssxm4MXTOWa37zE79777TLCn29MUK2H-0-d32d08120f85877b883fb559abb5dc35)
图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=1738882094-qYbK1nzdCGp3j7ms716VzM3MN9RL3sSb-0-b782c86867380a4cb637da16b7e76465)
图2-1-12 闪烁的LED原理图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_3.jpg?sign=1738882094-No9wdt39I6J26oazygxHuXxKIw8cswgR-0-73b55428ac4a0b095368fdddd230cad6)
图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=1738882094-wE65oXJOndA8vzNFqd7nOD1EbMSPy8Kg-0-41d28e0bd93148f057be0a8bcd1a040e)
图2-1-14 初始化main函数流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_5.jpg?sign=1738882094-3W4CfiH07chbxloILhNJci5mSCYhCSDJ-0-1c66be781f4ed0907ef17d5cdea2950a)
图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=1738882094-XdesAiLgX6AIRJNlOKY6U1C2SXveUTOx-0-112fda5b8bcd0eff8db277c8a728a238)
图2-1-16 Time Delay框图参数设置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_2.jpg?sign=1738882094-mSEXk8OkzHsnd3DHUIBChs2m4hxw90NP-0-90ea37abaa4416efb9f23c0bb49f3a8b)
图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=1738882094-0yPyZH3P2S87TuaYlttj0x9t1Z0vFDwA-0-742171fb98e2f834f8ecc0b759183c15)
图2-1-18 放置off框图后的流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_4.jpg?sign=1738882094-D9sJvakXXS9hLjmSBCQmlodfUhmFXAdy-0-850e96ba3e67500854e567d46d47df2b)
图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=1738882094-tcaabewE2ObQgNUH3Yg7iXHarqD9WY2t-0-5df5ca895d28642cb5a1487e24ab7fda)
图2-1-20 LED亮起
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_2.jpg?sign=1738882094-4Tc4trFi5xIN5EFJZ5yChiVeTCATYsLP-0-eb91599ceaedf45a543e5574cfe1bc7e)
图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=1738882094-yKV9pq2OHuS0iBE8dPxeXjQavhLJnzwB-0-fe8dcc27ccd4d2abca28b3018d826052)