每个电子工程师都喜欢破坏电子产品并探索其中存在的事物。最近,我打开了一台LED电视,并在其中找到ARM芯片。基于ARM的微控制器广泛用于各种类型的嵌入式产品和系统中。它们具有许多高级功能,这些功能使其功能强大且优于其他微控制器,例如8051,AVR和PIC。 LPC2148是最常用的基于ARM的微控制器之一,因此我们将创建一系列LPC2148教程和项目,并在以后的文章中分享。这是本系列的第一个教程,介绍LPC2148入门和编程使其闪烁LED。
因此,在本教程中,我们将了解ARM7 Stick-LPC2148,并将学习如何使用软件Keil uVision和Flash magic对其进行编程。我们将对LPC2148进行编程以使LED闪烁。
ARM微控制器
第17步:现在在“输出”选项卡下,勾选“ 创建Hex文件” ,然后单击“确定”。
步骤18:现在单击 BUILD 图标或按F7创建十六进制文件。
步骤19:现在创建了十六进制文件,我们可以在底部将其记下来。如下图所示,它表示已创建十六进制文件。
步骤20:现在是时候将hex文件刷新到ARM7 Stick了。所以打开Flash Magic
Flash魔术工具如上所示。
以下是刷新ARM LPC2148的步骤:
- 选择LPC2148
- 根据设备管理器提供COM端口号(我的是COM7)
- 波特率为38400
- 振荡器为12 Mhz
- 勾选“固件使用的擦除块”
- 现在选择十六进制文件路径
- 勾选“编程后验证”复选框。
- 然后点击开始
在几秒钟内成功闪烁后,完成(绿色)显示在底部,如下图所示
现在您可以看到面包板上的LED开始闪烁
编码说明
LPC2148的LED闪烁的完整代码如下。代码很简单,很容易理解。
该头文件包含LPC214x系列微控制器的所有文件。
#包括
当我们将输出连接到P0.10时,它使用IODIR寄存器并使引脚Port 0的引脚10作为输出。
IO0DIR =(1 << 10);
该寄存器将P0.10设置为HIGH,使LED点亮。
IO0SET =(1 << 10);
该寄存器将P0.10清除为LOW使LED熄灭
IO0CLR =(1 << 10);
在 while 循环中存在以下语句,以连续执行代码
while(1) { IO0SET =(1 << 10); delay_ms(1000); IO0CLR =(1 << 10); delay_ms(1000); }
函数 delay_ms 用于在SET和CLR之间创建一个延迟时间,以1秒钟的间隔使LED闪烁。
下面给出了带有演示视频的完整代码。