![用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=1738964431-iRfAuSpxlOR45QgBRP0jc0qA1vSl96qP-0-fbd7f5baa416ab9f9196317fe2c1d7d4)
图2-1-1 快捷方式所在位置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_23_3.jpg?sign=1738964431-t3wJfLxcAFUw2EJEwcy0pdiR2tD2dW0I-0-fa7e88f9a28cbe45ba63a43baa2e9b39)
图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=1738964431-yUNO1PX33LBg03hhPmpgyaEtOyNsJ9cg-0-631e10774089af86b1d9992d569f7ced)
图2-1-3 设置工程名和选择存储路径
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_2.jpg?sign=1738964431-4tdgS8Qul3gRxkkR7gdtvAZKIh9k2Z47-0-6d347c1f992cb92ef0ae6f93c2a8fb2c)
图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=1738964431-US03cmo0qKYsTN0PN0xsJXqb3gjiYhAy-0-7c339ac87cd4396532522407306f9692)
图2-1-5 创建PCB图纸
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_24_6.jpg?sign=1738964431-QWAoG6gYH93zxDuOEDGh41wPy8cWv01D-0-a09f5ba035fae5b4bdbf55d355233463)
图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=1738964431-oKuGFJw2toPyMkUaa9ZmcqIRdZB0A1E6-0-e80152509ebfbdbe46f2d1d2af1eb761)
图2-1-7 “New Project Wizard:Summary”对话框
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_2.jpg?sign=1738964431-tMr07IiXoRem2tQYxALBpB5Hh5c2Hxzs-0-e8375d91d9f5dd9caf1bc1bc23c84935)
图2-1-8 进入新建工程界面
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_3.jpg?sign=1738964431-PBrTbhaM6DEiQzIAKK0AFq4BIk2zy8t6-0-789c5f8c1b058dc1ddd56f3b195bab85)
图2-1-9 “Projects”栏(1)
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_4.jpg?sign=1738964431-Yu21f1Ke7oPEMvMUEKvrbKU9gQUjKJaB-0-faa7df92fc5bf3a82aebb94849b636f9)
图2-1-10 子菜单
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_25_5.jpg?sign=1738964431-UK76mHAMLs4wImgHKPa8tQgCMATqr7za-0-e42c3bbfbb4942df9680f286e60c4ff6)
图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=1738964431-tv8JBIKWaBiS3hwW7P9SPkHfJUy9zgcY-0-ef748be88b84731600de3b41292b2bf8)
图2-1-12 闪烁的LED原理图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_3.jpg?sign=1738964431-rwNNcqPPHPhLV4xBovCogCxGxOd69xVF-0-aade9f5828740a9de90d20ef53ecd178)
图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=1738964431-r32D3bqemXMDedNnaWoc2WVSkIQQPjVA-0-b23228a4b64a1e74eda2e0eb8a78e397)
图2-1-14 初始化main函数流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_26_5.jpg?sign=1738964431-vMvnz0BJFTx1kn90H1bGB7MpYoLbi01d-0-cfc71aedf733dc6aeee6a928aba4cbb7)
图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=1738964431-WI3m8oG41IwTMvu5DMpoVmAHo92Itdkq-0-5e4dcee4caf6d5a749cb48ef40fffb46)
图2-1-16 Time Delay框图参数设置
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_2.jpg?sign=1738964431-RSL15ue86TackbVMirVd9rV4Mw3LkIO3-0-38cf2e307f969c6ab077c5dba2ac2640)
图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=1738964431-91fhvl7u1T3YOplNkS7ySJLSdbRcFol6-0-4ad2db53c9cdc85d84f8a139f3109f2b)
图2-1-18 放置off框图后的流程图
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_27_4.jpg?sign=1738964431-WBCkozwOjGW65NLAsBaQMbvCmJCQEBGa-0-c3624d7c6e5e5faf526ba45d8d8a219a)
图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=1738964431-23xh6uqE4dHuFWo7nolzEMYsZjcT0EK8-0-b87f526b604c1a06e94f188a6fa92a1a)
图2-1-20 LED亮起
![](https://epubservercos.yuewen.com/3DA509/26763674301311806/epubprivate/OEBPS/Images/38943_28_2.jpg?sign=1738964431-AmdsaX1xQ9CNiSrmlXN5yQQqMTEuWs4l-0-0669fb58a9c9dd3a3160e60ae36d22aa)
图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=1738964431-iln4l4geK9tZF87jzF9wQiBcDjkGnTBx-0-7861b4bccde109ee958871e4fe69d10d)