本书,我正在阅读,真是一本不可多得的好学习手册,ARM Cortex-M0入门的好资料,内容非常通俗易懂.
它一共有48个脚!
其中2个晶振引脚,4个电源引脚,42个通用输入输出脚。(2+4+42=48根脚普通的芯片不是只有VCC和GND两个电源脚吗?它为什么有四个?这是因为在这个芯片的内部集成了ADC(模拟数字转换器,功能和你们知道的ADC0804是一样的,也就是说有了它.连外部的ADC0804也省了,直接把要测得电压信号连接到它的引脚上.它就知道是多少V的电压了,到底是哪根脚,后面介绍!),除了正常的VCC和GND脚,还有两个就是ADC的参考电源正脚和电源地!一般情况下,VCC和参考VCC相连,GND和参考GND相连!
42个通用输出输入脚(GP10):P0口(P0.0-P0.11),P1口(P1.0-P1.11),P2口(P2.0-P2.11),P3口(P3.0-P3.5)。看到了吧!P0,PI,P2口各有12根脚,P3口有6根脚!
下面是LPC1114的芯片引脚图!
看到上面的图,是不是感觉到很乱呀!它的引脚有时候是要复用功能的!比如第9脚!找到第9脚,你会看到它的标识为:PIOl_8/CT16B0_CAP0。它的意思就是说这根脚既可以作为PI01_8脚用,也可以作为CT16B0_CAP0脚用。
(PI01_8就是我们常说的P1.8脚:CT16B0_CAP0就是我们常说的16位定时器计数输入脚)其实和们用ii的AT89C2051中.片机上P3.0脚P3.1脚RJ'以复用为RXD脚和TXD脚是—样一样的,只不过,LPC1114的复用引脚要比AT89C2051多很多而已!
LPC1114作为一个32位的单片机,它的寄存器也基木上都是32位的。先来回顾一下8位单片机的寄存器。比如ie sbuf等,很眼熟吧!作为51单片机的中断控制寄存器:它的定义是下而这个样子!
由上而的表格看到,32位的寄存器里而能放更多的控制位,但也有很多是保留位。
看看上而的引脚图,你就应该想到,它既然有这么多的复用引脚,耍能有效的控制它们的话,就必然会有很多的寄存器!大概有好几百个,我也没数过,诸如控制寄存器,状态寄存器,数据寄存器等等!不过,没有关系!我们没有必耍把它们全都记住它们,当我们耍用到它们的时候,看数据手册就可以了,我们耍做的只是,把它们用熟练了!
那么,除了上而提到过的ADC,在LPC1114的内部还有些什么东西呢?看下而的表格就知道了:
由上图可以看到,它和51的最小系统也是一样一样的!有一个区别就是,LPC1114的RESET引脚(也就是5丨当中的rst引脚)也是复用的,它复用到了P0.0脚上,该引脚在默认情况下是RESET引脚,所以系统一上电,就可以正常工作,当然,你也可以通过配置IOCON(引脚配置寄存器)把它当做P0.0脚使唤!
(在这里,我觉得有必要说一下单片机上电的过程和复位引脚的一些知识,你若知道,可以跳出这段蓝体字,若想听我唠叨,就接着往下看吧我这里所提到的单片机,是指广泛意义上的单片机,也就是说绝大部分单片机都是通过下面的方式进行的:我扪都知道单片机里面都有“程序存储器”,也就是我们常说的有多大容量的FLASH,FLASH通常被做为单片机里面的程序存储器,相当于PC机上的ROM,硬盘之类的东西,我扪在PC机上的开犮环境里面写好了程序以后,会下载到单片机里的FLASH,当单片机上电的时候,就会执行FLASH里面的程序了,同时我扪还要求要从FLASH的程序开始地址执行,要不然就会乱,所以才有了RESET(RST)引脚,这个引脚的外面连接有RC振荡器,RC振荡器的工作原理是这样的:电容充电,电阻放电当系统刚上电的时候,电容两端一下子突然有了电,就在这一瞬间,这个直流电对于电容来说就是交流电,电容通交流阻直流的道理大家应该都懂吧,这时候,电容相当于短路,RESET引脚接到了地上,是低电平,然后过了一段时间(这段时间对于人类来讲就微不足道了)电容充满了电,(电容就是一个电池7A_A),电容连接到RESET引脚的这一端的电位为3.3V,RESET引脚乂变成高电平了,这时候,单片机就要开始从程序地址0执行了注意:如果刚才我提到的那个电容由低变高的时间不够K:的话,单片机就不敢保证从程序地址0执行了,所有要选好RC的值,保证有总够长的时间!这个时间最小要多长,不同的单片机有不同的要求,总之,都应该是微秒级别的!所以再看LPCH14,为什么它的第3脚默认为是RESET引脚,而不是P0.0脚,可不可以默认为是P0.0,话都讲了这么多了,不用我解释了吧!)
其实!这还只是LPC1114的最小系统!殊不知!它还有最最小系统!最最小系统就是可以把上图屮的晶振电路去掉!因为,LPC1114的内部己经有一个12M的时钟源了,只不过精度没有晶振的精度高而己!如果你不用串口通信或精确定时的话,你的产品就可以完全不用设计晶振上去,对于缩小产品体积是很有帮助的。聪明的你!现在应该一定能想到一个问题,既然可以去掉了外部晶振正常工作,系统为了保证正常运行,刚上电的时候系统默认为就是选择内部时钟发生器(数据手册上叫做IRC)进行工作的!而一般情况下,我们利用外部晶振工作,数据手册上说,Cortcx-MO可以工作在50MHz下,并不是意味着如果我们希望它工作在50MHz下就需耍外部接一个50Mhz的晶振。因为它里而还有一个倍频器(数据手册上叫做PLL),看到名字你就知道了,它可以把频率翻倍,如果我们利用它把外部12M晶振倍频4倍的话,系统就可以工作在48Mhz时钟频率下了!(你之前在网络上看的视频就是LPC1114工作在48Mhz的效果)由此!你可以想到!我们给LPC1114编程的时候,首耍的系统初始化工作就是把的时钟配置好了!其它的工作都是在此之后的!这一点,也是ARM单片机与普通单片机的一个区别!配置好了时钟,就可以开始其它的工作了,比如点亮一个LED,控制LCD显示等等!
第一章(起步)系统时钟配置
一、入门引导
二、时钟配置图(CGU )详解
三、时钟配置程序设计
四、时钟配置程序详解:
五、 GLKOUT 引脚输出时钟程序设计
六、 GLKOU 丁引脚输出时钟程序详解
七、实验程序下载和使用说明
一、入门引导亲爱的电工(“电子工程师”的简称)朋友,让我们开始吧
ARM微控制器有一个显著的特点,就是都可以把时钟频率倍频到很高,具体到多高,每个系列的微控制器都有一个指标,我们现在要学的 Cortcx-MO 内核处理器 LPC 1114 最高能到 50MI 12 ,当然,其它的 ARM 内核微处理器可以倍频到更高,现在好多手机都采用了 ARM 内核处理器,比如卖的很火的诺基亚5233就是采用了ARM 11 处理器, ARM11 的处理器的主频为 433MHz ,比 Cortcx -MO 的 50M 高多了吧!所以 Cortcx-MO 处理器被 ARM 称为入门级的内核!
二、时钟配置图(CGU )详解
要实现对系统时钟的配置,卜面这个图是必须要看懂的!因为它比文字更具有参考价值,看上这张图配置时钟,绝对不会出现漏洞!(我建议你把这张图打印出来贴到你的墙上,我就是这么做的,你看着办吧!)接卜来,我将一步一步引领你彻底看懂这张“时钟配置图” :(详见51hei附件)
IRC振荡器就是内部 RC 振荡器,就是我在上面“总览 LPC1114 ” 中提到的那个LPC1114上电就默认选择的 12MHz 时钟振荡器,它的精度没有配合外部晶振的系统振荡器高:看门狗振荡器就是给看门狗提供的时钟振荡器!这么说大家明白了吧,在接下来的叙述里面,一提到系统振荡器就是指利用外部晶振的时钟振荡器, IRC 振荡器就是指 LPC1114 的内部时钟振荡器,可不要搞混了哦!我们先从图的中心点看起,找到“主时钟”三个字,看“主时钟”的左面,有四条线到了“主时钟”的框上,这四条线就是“主时钟”的来源,它们分别是: IRC 振荡器,看门狗振荡器,倍频之前的时钟( sys_pllclkin)和倍频之后的时钟 ( sys_pllclkout )。也就是主时钟可以在这四个时钟源当中选择一个做为主时钟!通过操纵 人家专业名词不叫“操纵” , 叫“访问” ) “主时钟源选择寄存器( MAINCLKSEL ) " 实现。这个 32 位的主时钟源选择寄存器 MAINCLKSEL 只用到了两位(谁让两位就可以表示四种状态呢: ) ,剩下的全都是保留位,如下:
完整的pdf格式文档51黑下载地址(共162页-带你进入ARM的世界):
LPC1114学习手册.pdf
(2.47 MB, 下载次数: 427)
|