MRS R0 CPSR ORR R0, R0,#0x80 MSR CPSR_c,R0 MOV PC,LR
;3.将修改后的值写回 CPSR寄存器的对应控制域; ;4.返回上一层函数;
6.请使用NOP伪指令、比较指令、条件跳转指令等完成一个软件延时子程序,延时长度由R0寄存器的数值控制? Delay
NOP ;空操作 NOP NOP
SUBS R0,R0,#1 ;循环次数减一
BNE Delay ;如果循环未结束,跳转Delay继续 MOV PC,LR ;子程序返回
ARM芯片可以存在片内和片外存储器,这些存储器本身不具有地址信息,它们在芯片中的地址是由芯片厂家或用户分配的,那么给物理存储器分配逻辑地址的过程称为存储器映射。通过这些逻辑地址就可以访问到相应存储器的物理存储单元。 AHB和VPB
AHB(先进的高性能总线)和VPB(VLSI外设总线)外设区域都为2M字节,可各分配128个外设。每个外设空间的规格都为16K字
11
节,这样就简化了每个外设的地址译码。
注意:外设寄存器的地址都是字对齐。AHB 和VPB外设区域中不管是字还是半字,都是一次性访问。例如不可能对一个字寄存器的最高字节执行单独的读或写操作。
引导块(Boot Block)是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是:
? 判断运行哪个存储器上的程序; ? 检查用户代码是否有效; ? 判断芯片是否被加密;
? 芯片的在应用编程(IAP)以及在系统编程功能(ISP)。
异常向量表的重映射
异常向量表可以来自四个不同的区域:Boot Block、片内Flash、片内RAM和外部存储器。微控制器可以执行这些存储器中的代码。 除了片内Flash的向量表位于0x0000~0x003F地址上,其他存储器的向量表都不位于这个地址。为了能让ARM内核通过访问0x0000~0x003F地址访问到其他存储区域的向量表,这样向量表必须进行重映射。 时钟系统
时钟是计算机系统的脉搏,处理器核在一拍接一拍的时钟驱动下完成指令执行、状态变换等动作。
12
外设部件在时钟的驱动下进行着各种工作,比如串口数据的收发、A/D转换、定时器计数等。
所以时钟对于一个计算机系统是至关重要的,通常时钟系统出现问题也是最致命的,比如振荡器不起振、振荡不稳、停振等。 唤醒定时器与时钟的关系
唤醒定时器检测到有效时钟信号后,计数4096个时钟脉冲,并在这段时间里初始化系统硬件。如芯片满足运行条件(Flash初始化完成、外部复位信号已撤除等),接通系统时钟,处理器开始执行指令。 总之,LPC2000系列芯片的唤醒定时器是根据晶振的情况来执行最短时间的复位,它在处理器从掉电模式中唤醒或发生了任何复位时激活。
? 外部存储器控制器(EMC)特性 1.支持静态存储器映射器件;
2. 4个存储器组(Bank0 ~ Bank3)可单独配臵,每个存储器组可访问16M字节空间; 3.总线空闲周期可编程;
4.可对静态RAM器件的读写等待时间进行编程; 5.可编程外部数据总线宽度——8位、16位和32位。 GPIO
使用GPIO注意要点
? 引脚设臵为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定;
13
? 大部分GPIO输出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA); ? 复位后默认所有GPIO为输入模式。 使用定时器的注意要点
? 定时计数器(TC)本身不能产生中断,只有与匹配寄存器发生匹配后才能引起中断事件;
? 在定时器匹配发生后,可以不停止定时器工作,而动态修改匹配寄存器的值;
? 定时器使用匹配功能的同时,还可以使用捕获功能,而不必分时使用;
? 定时器计数时钟频率 = Fpclk / (PR+1) 使用SPI接口的注意要点
? 作主机时,SSEL引脚必须接上拉电阻,不能作为IO口使用; ? 作主机时,在发送一字节数据的同时接收一字节数据; ? SPI时钟分频值必须大于或等于8;
? 数据寄存器与内部移位寄存器之间没有缓冲区,写SPDR会使数据直接进入移位寄存器。因此数据只能在上一次数据发送完成后写入SPDR寄存器。 使用A/D转换器的注意要点
? AD转换器的时钟不能大于4.5MHz;
? 使用MAT引脚触发AD转换启动时,相应的MAT信号不必输出到引脚。使用MAT引脚触发的方法,可以实现AD转换定时启
14
动;
? BURST模式下,每次转换结束后立即开始下一路的转换,所以BURST模式具有最高的效率;
? 软件模式下,SEL字段中只能有一位臵位,如果多位臵位,将使用最低有效位。 实时时钟
LPC2000系列微控制器内部集成了一个功能完整的实时时钟模块,它具有如下特性:
? 带有日历和时钟功能; ? 超低功耗设计;
? 提供秒、分、小时、日、月、年和星期;
? 可编程基准时钟分频器允许调节RTC以适应不同的晶振频率。
最小系统
一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。
15