
第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所示。

图2-1-1 快捷方式所在位置

图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所示。

图2-1-3 设置工程名和选择存储路径

图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所示。

图2-1-5 创建PCB图纸

图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所示。

图2-1-7 “New Project Wizard:Summary”对话框

图2-1-8 进入新建工程界面

图2-1-9 “Projects”栏(1)

图2-1-10 子菜单

图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)已经成功添加到工程中。

图2-1-12 闪烁的LED原理图

图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。

图2-1-14 初始化main函数流程图

图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框图时,代表其进入延时程序。

图2-1-16 Time Delay框图参数设置

图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可视化流程图设计完毕。

图2-1-18 放置off框图后的流程图

图2-1-19 放置Time Delay框图后的流程图(2)
2.1.3 仿真验证
在Proteus主菜单中,执行命令,运行LED1工程,可见LED1开始闪烁,如图2-1-20和图2-1-21所示。
经仿真验证,LED闪烁基本满足要求。

图2-1-20 LED亮起

图2-1-21 LED熄灭
小提示
◎ 将Time Delay框图中的Delay参数值减小,可以加快LED闪烁频率。
◎ 将Time Delay框图中的Delay参数值增大,可以减慢LED闪烁频率。
◎ 扫描右侧二维码可观看LED闪烁的仿真结果。
