摘要:
在前面第一个示例中,有一个更改引脚功能的函数Ext_Osc,后来由于MDK的支持,在可视化的sytem_LPC82x.c文件中把振荡修改为外部方式,就把它给取消了。其实在LPC824中,更改引脚功能是一项常用功能,不仅如此,甚至还可以把某些功能重新分配到任何一根非电源的引脚上,下面就来详细讨论一下这 阅读全文
摘要:
通过前面的分析,我们知道在LPC824中,对GPIO端口的操作一共涉及到68个寄存器,那究竟该使用哪些寄存器,特别是对于具有相同功能的寄存器,应该如何选择,下面就来进行具体讨论。 虽然一共有68个寄存器,但其中的端口字节引脚寄存器B和端口字引脚寄存器W,由于每个对应一根引脚,所以就分别占用了29个寄 阅读全文
摘要:
在LED交替闪烁的实例中,已经用到了LPC824的GPIO端口。GPIO端口是处理器与外部设备打交道的基础,为了更好地应用它,接下来就对LPC824的通用输入输出端口(GPIO)的寄存器结构及用法做详细深入地讨论。在前面已经介绍过,LPC824处理器是一个32位结构的处理器,但它的GPIO端口并没有 阅读全文
摘要:
通过前面的分析,大家已经了解了预定义部分的内容。但如果每次设计程序都把需要的头文件内容全部写出来,不仅代码占用较多的篇幅,还会影响程序的结构化。因此,规范的程序设计都会把这部分内容通过头文件包含的形式引入进来。下面就来讨论如何实现这一形式。头文件是以“.h”为后缀的文本文件,它的名称、数量都与开发环 阅读全文
摘要:
在前面的第一个演示示例中可以看出,光实现LED的闪烁,其代码量似乎比51单片的多了很多。但仔细观察后会发现,其实除了多了时钟配置以外,就数预定义部分的代码数量最多,而且这部分大多是以结构体的形式出现的。其实在正规的开发过程中,这部分预定义的内容被是被放在头文件中并包含进来的,前面的代码只是为了编译方 阅读全文
摘要:
由于LPC824较为复杂,为了能够快速地进入学习过程,减少学习的挫折感,现在先通过一个较容易实现的小例子,让大家体会MDK-ARM环境下LPC824开发的整个过程,并以此例子为基础,对程序开发中遇到的问题进行深入讨论。 示例的电路如下图所示,有8个LED通过限流电阻分别接到LPC824的8个PIO0 阅读全文
摘要:
在前面时钟输出实例中给出了不少程序代码,要让这些程序代码生效,必须把它们进行编译链接并生成下载文件,然后再通过特定方法把文件下载到LPC824芯片中,最后在目标板上观察运行效果。一般来说,下载文件有两种格式:一种是基于二进制代码的目标文件,其文件的扩展名一般为“.bin”;另一种是基于十六进制代码的 阅读全文
摘要:
如何判断时钟是否配置正确,最有效的方式就是让配置好的时钟从某个引脚输出,然后在外部通过频率计或示波器来进行检测,现在就来讨论一下这个实例。要使用前面写好的时钟配置函数,还得结合MDK5开发环境来实现。这里先给出一段完整的时钟配置程序,内容如下:void SystemInit(void){ SysCL 阅读全文
摘要:
要让LPC824正常工作,首先要对它的时钟源进行配置。LPC824的最高工作频率为30MHz,因此给它的主时钟频率最大不能超过30MHz。实际上,通常都是使用频率较低的晶振,以降低外部电磁干扰,然后再通过内部倍频的方式把主时钟频率提高。根据管方手册给出的数据,外部晶振的频率范围是1MHz~25MHz 阅读全文
摘要:
LPC824是恩智浦(NXP)公司推出的居于Cotex-M0+内核(版本r0p1)的一个32位的低功耗单片机,其内部拥有32KB的FlashROM,8KB的SRAM,供电电压低(1.8V~3.6V),工作模式中的功耗可低至90uA/MHz,功能强大,价格低廉,应用非常广泛,目前有TSSOP20和HV 阅读全文