到目前为止,您应该已经安装了所有软件并构建了界面,该界面将提供方便的连接方式,从编程器到微控制器(MCU)。
在下一步中,您将需要一个面包板(带有编号的面包板非常有帮助)、一个LED和一个大小适合所选LED的电阻。在本节中,您将了解如何测试编程器,以确定软件和驱动程序是否正确安装。您还将学习一些关于LED灯、欧姆定律以及所选LED所需的电阻值的知识。
为了检查驱动程序和开发软件是否正确安装,我们将使用一个名为avrdude的程序来测试编程器。Avrdude是随最新WinAVR安装一起安装的程序,负责将文件传输到微控制器中。这个文件是.hex文件,基本上是微控制器能够理解和执行的二进制代码。如果测试不成功,编程器将无法传输文件,因此这一步对整个过程至关重要。
要测试编程器,请按照以下步骤操作:
- 通过单击开始菜单并在搜索框中键入cmd.exe,进入DOS提示符。顺便说一句,如果你不知道,DOS代表磁盘操作系统。这是一个提示符,使计算机用户能够在软盘上组织文件,从而可以轻松地从DOS提示符中执行(运行)程序。提示符是指光标所在的位置,您可以开始键入。提示符用驱动器号和文件夹名称标记,用反斜杠“\”分隔。(我们过去称这些为目录。)
- 要执行随WinAVR安装的avrdude程序,只需在DOS提示符处键入avrdude -c usbtiny -p m32,DOS shell输出将报告连接成功。”-c”是一个标志,后面跟着用于指定编程器(usbtiny)的参数,而跟在”-p”标志后面的参数用于指定微控制器(Atmega32的”m32″)。如果您使用的是不同的微控制器,您需要使用适当的规格,如本教程视频所示。
- 要退出DOS窗口,您可以在DOS提示符处键入“exit”,DOS窗口将消失…就像在迪斯尼乐园里消失的我的短暂的孩子们一样!
初识原理图
在中学物理电路知识中,用简易电路图表示电路的实际连接情况,而在单片机硬件连接上,我们则用原理图来表示单片机的引脚与开发板板上的芯片等相关硬件的引脚通过电路板上的覆铜线两者相连。
1.回顾
单片机入门往往是从点亮一盏灯开始,我们在中学时做物理电路实验用电池点亮灯泡时,只是随便将电灯泡+电阻+开关+电池通过导线连成回路接通开关就可以点亮了。
中学点灯电路图
2.电压表示
在电子电路中,我们都是采用发光二极管(LED)来发挥它在单片机应用中的作用,LED引脚有正负极之分,接反则不亮。在单片机原理图中,我们习惯用“丁”字型图标加注释“+5”来表示此处的电压有5V,用长短不一样的四杠直线的图标来表示此处的电压为0V,又或者说此处接地,此图标也可加标注“GND”来表示。
3.点灯实践
我们准备好一盏LED和一个1K规格的色环电阻,在你的开发板上找到引出来的两个引脚(5V,GND),5V那端接LED 正极,LED负极接GND,这时的电路连接情况为: 5V端口→电阻→LED正极→LED负极→GND端口,灯就被点亮了。
灯被点亮
4.点灯原理
因为LED正极电压高,负极电压低,产生压差并且电路是接通状态就会有电流流过LED驱动它发光,电阻的作用是为了限流防止LED被烧坏。如果我们把GND端口换成去接5V端口会发现灯不亮,这是因为LED正负极两端电压一样,没有压差就没有电流经过也就点不亮灯。
灯无法点亮
5.单片机引脚点灯原理
巧的是,单片机的引脚IO端口可以通过程序烧写进去来控制此引脚是想变成5V电压还是0V电压。
而通过此电路接法: 5V→电阻→LED正极→LED负极→单片机IO端口 就可以控制LED的亮灭了。在《手把手教你学51单片机》文档的2.3节有详细讲解。
此外要说明的是单片机的引脚电压有且只有两种状态:高电平(5V)或低电平(0V),在程序中又用1来表示高电平,用0表示低电平。
灯受单片机引脚控制亮灭
点亮LED
所以,您可能会想,为什么我们还不能进行编程呢!好吧,我们仍然需要创建一个电路,该程序将对其进行控制。如果仅仅将程序加载到微控制器中并运行而不连接任何设备,那将是毫无意义的。我们将没有什么可看的!实际上,您很快就会发现许多电子元件都可以由微控制器控制,但是最容易控制的设备之一是LED。
“LED”代表发光二极管(Light Emitting Diode),这种元件通常有两个引线。引线是实际LED本身上挂着的金属腿(导线)。这些引线是极性连接,允许电流从一个引线(称为阳极)流入LED,然后从另一个引线(称为阴极)流出LED。关于供电和使用LED的一个非常重要的注意事项:LED中的电流必须限制,以防止它烧毁。LED具有电流评级和电压评级。电流评级是LED能够处理的最大电流限制-任何更高的电流都会缩短LED的寿命;但更少的电流会导致LED变暗,发光不如亮。因此,我们需要计算出我们选择的电阻的最佳值。请注意,如果由于某种原因您不想进行此计算,通常可以安全地使用1kΩ电阻-但光线会相当暗淡。
因此,为了计算所需的电阻,我们将使用欧姆定律,它规定电阻(单位为欧姆)由电压除以电流得到。公式为:
电阻 = 电压 / 电流
这通常写作 R = V / I。但是,我们如何找到LED的电压和电流值呢?通常,LED的额定电压为2伏或4伏,并且具有10毫安(mA)或20mA的电流评级。我的绿色LED的电压评级为2伏。在前面链接的网站中,白色和蓝色LED的电压评级为4伏。我使用了10mA的评级,因为使用该值更安全,因为它在欧姆定律公式中得到的分母最小,从而表示在给定电压下具有最大电阻值。
因此,它可以被视为在选择要插入电路中的电阻时的“最不利情况”。我们还需要考虑的另一个方面是供电电压(我们输入系统的电压)与LED的额定电压之间的差异。
因此,新的公式变为:
R = (Supply Voltage – LED Voltage) / I
因此,在我们的绿色LED的情况下,
哦,是的,你需要将电流转换为安培。因此,我们需要将10mA除以1000,因为一安培中有1000毫安。那么,这个公式告诉我们什么呢?它告诉我们,电阻等于考虑LED后剩余的电压(即LED上的电压降),除以LED所需的电流。
你说什么?我们用那个公式得到了300的值,但是当我去商店时找不到这个数字!我不想告诉你这个,但是为了这次行程花费的汽油钱足以购买40个正确的电阻!300欧姆的电阻可能找不到,但别灰心——你总是可以使用稍高一点的值的电阻。在我从各种报废的家电和电子产品中收集的电阻中,我发现这个值通常是330欧姆。
现在我们将创建电路,在本教程中这相当简单。困难的部分已经过去了(上面的内容),所以你现在可以松一口气了!让我们在电路中使用 MCU 上 PORT “B” 的引脚 0,恰好对应我正在使用的 Atmega32 微控制器上的编号 1 引脚。因此,现在我们将编程地点亮这个引脚来点亮 LED。
创建电路的步骤如下:将电阻连接到引脚编号为 1(请注意,“PORTB0” 是指 PORT B 中引脚 B0 的一种方式,但你还会学到其他方式)。现在将电阻的另一端连接到 LED 的正极(即最长的引脚,或与 LED 扁平一侧相对的引脚)。然后,我们将连接 LED 的负极到地(GND)引脚。当然,程序员也会连接上;这将允许将程序传输到芯片中,并为微控制器提供电源。最后,现在我们可以将电路应用到面包板上。视频演示了此过程中的所有步骤。从附带的图像中,你可以看到这是一个非常简单的电路。
将电路应用到面包板上。视频演示了此过程中的所有步骤。从图像中,你可以看到这是一个非常简单的电路。
看看电阻和 LED 的近景。你能看到电线是如何连接到电阻,以及电阻是如何连接到 LED 的吗?完成了这个电路后,我们就可以开始编程,让 LED 点亮了。兴奋吗?我是!
Linux, PHP, C,C++,JavaScript,verilog 老师