当前位置:首页 > 电子信息专业本科毕业论文(修改) - 图文
ARM的寻址方式比51系列更加丰富灵活。51系列指令一般只有两个操作数,例如指令“ADD A, R5 ”只有操作数A和R5;而ARM指令可对一组数据进行操作,例如指令“STMFD R13! {R2 ,R5—R9}”包括操作数R13、R2、R5、R6、R7、R8、R9。因此ARM的寻址方式要复杂得多。由于51系列是16位地址总线,因此寻址空间是2的15次方;而ARM是32位地址总线,因此寻址地址空间为2的31次方。 3.6ARM处理器和51系列单片机的性能价格比: 处理片内内核类能力片内处理器名称 flash(K其他资源 价格 型 (MIRAM(KByte) Byte) PS) 片内带有LCD 32位8KB cache控制器,5通道三星440box ARM7处70 带有SDRAM 55元 可编程PWM,8理器 控制 通道10位A/D 32位带有SDRAM片内自带100M三星4510b ARM7处50 55元 控制 网卡 理器 32个可编程的I/O口线、3通32位道的16位定时8.5美ATMEL9140162 ARM7处70 256 KB 2MB 器/计数器、2金 理器 个通用同步/异步收发器USART 32位带有SDRAM带有USB、乙太12美AT91RM9200 ARM9处200 控制 网接口 金 理器 mage128 8 16 128kB 100元 p89c51rd2 8 3 1k 64kB 计数器阵列 50 mb90f549 16 16 6k 256kB can口,双串口 140元 表3.5 比较之后会发现ARM32位处理器并没有想象中的那样昂贵,相反的ARM处理器不但便宜而且性能较传统的51单片机高得多,集成度也大大提高,为单芯片解决方案提供了非常方便的平台,在很多场合都可以用一个芯片就包容了你所需要的全部资源,根本不用扩展其他资源了。不但电路简单易行、风险减小而且产品价格也能控制在最理想状态。这些优势是ARM处理器风靡全球的理由所在。
15
4、基于2136的ARM最小系统的设计与应用 4.1 ARM7TDMI-S简介
ARM7TDMI-S 是一个通用的32 位微处理器,它可提供高性能和低功耗。ARM 结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。ARM7TDMI-S 处理器使用了一个被称为THUMB 的独特的结构化策略,它非常适用于那些对存储器有限制或者需要较高代码密度的大批量产品的应用。在THUMB 后面一个关键的概念是“超精简指令集”。ARM7TDMI-S 处理器基本上具有两个指令集:
1、标准32 位ARM 指令集 2、16 位THUMB 指令集
THUMB 指令集的16 位指令长度使其可以达到标准ARM 代码两倍的密度,却仍然保持ARM 的大多数性能上的优势,这些优势是使用16 位寄存器的16 位处理器所不具有的。这是因为THUMB 代码和ARM代码一样,在相同的32 位寄存器上进行操作。THUMB 代码仅为ARM 代码规模的65%,但其性能却相当于连接到16 位存储器系统的相同ARM 处理器性能的160%。
4.2 ARM7TDMI-2136引脚图及引脚功能介绍
图4.1
16
管脚名称 P0.0-P0.31
P0.0/TXD0管脚号 类型 描述 I/O P0 口:P0 口是一个32 位双向I/O 口。
每个位都有独立的方向控制。
有31 个P0 口可用作通用双向数字I/O 口,P0.31 只用作输出口。P0
口管脚的操作取决于管脚连接模块所选择的功能。P0.24 不可用。
19 [1] O TxD0-UART0 的发送器输出 / PWM1 P0.1/RXD0/PWM3/ EINT0 P0.2/SCL0/
CAP0.0 P0.3/SDA0/
MAT0.0/ EINT1 P0.4/SCK0/
CAP0.1/ AD0.6
P0.5/MISO0/
MAT0.1/ AD0.7
P0.6/MOSI0/
CAP0.2/ AD1.0 P0.7/SSEL0/ PWM2/ EINT2 P0.8/TXD1/ PWM4/
21 [2] 22 [3] 26 [3] 27 [4] 29 [4] 30 [4] 31 [2] 33 [4] O PWM1-脉宽调制器输出1 I RxD0-UART0 的接收器输入 O
PWM3-脉宽调制器输出3 I
EINT0-外部中断0 输入
I/O SCL0-I2C0 时钟输入/输出。开漏输出
(符合I2C 规范)
I
CAP0.0-定时器0 捕获输入0
I/ SDA0-I2C0 数据输入/输出。开漏输出
(符合I2C 规范)
O MAT0.0-定时器0 匹配输出0 I
EINT1-外部中断1 输入 I/O SCK0-SPI0 串行时钟,主机输出或从机
输入的时钟
I CAP0.1-定时器0 捕获输入0 I AD0.6-A/D 转换器0 输入6。该模拟输
入总是连接到相应的管脚上。
I/O MISO0-SPI0 主机输入/从机输出,从机
到主机的数据传输
O MAT0.1-定时器0 匹配输出1 I AD0.7-A/D 转换器0 输入7。该模拟输
入总是连接到相应的管脚上。
I/O MOSI0-SPI0 主机输出/从机输入,主机
到从机的数据传输
I CAP0.2-定时器0 捕获输入2 I AD1.0-A/D 转换器1 输入0。该模拟输 入总是连接到相应的管脚上。 仅用于LPC2138。
I SSEL0-SPI0 从机选择,选择SPI 接口
用作从机。
O PWM2-脉宽调制器输出2 I
EINT2-外部中断2 输入 O TxD1-UART1 的发送器输出 O
PWM4-脉宽调制器输出4
I
AD1.1-A/D 转换器1 输入1。该模拟输
17
AD1.1
P0.9/RXD1/ PWM6/ EINT P0.10/RTS
34 [2] I O
I 35 [4] O 入总是连接到相应的管脚。 (仅为LPC2138)
RxD1-UART1 的接收器输入 PWM6-脉宽调制器输出6 EINT3-外部中断3 输入
RTS1-UART1 请求发送输出(仅为1/
CAP1.0/ AD1.2 P0.11/CTS1/
CAP1.1/ SCL1
P0.12/DSR1/
MAT1.0/ AD1.3 P0.13/DTR1/
MAT1.1/ AD1.4 P0.14/DCD1/
EINT1/SDA1
P0.15/RI1/
EINT2/ AD1.5 P0.16/EINT0/MAT0.2/CAP0.2
37 [3] 38 [4] 39 [4] 41 [3] 45 [4] 46 [2]
LPC2138)
I CAP1.0-定时器1 捕获输入0 I AD1.2-A/D 转换器1 输入2。该模拟输 入总是连接到相应的管脚。 (仅为LPC2138)
I CTS1-UART1 的清零发送输入(仅为
LPC2138)
I CAP1.1-定时器1 捕获输入1
I/O SCL1-I2C1 时钟输入/输出。开漏输出
(符合I2C 规范)
I DSR1-UART1 的数据设备就绪输入(仅
为LPC2138)
O MAT1.0-定时器1 匹配输出0 I AD1.3-A/D 转换器1 输入3。该模拟输 入总是连接到相应的管脚。 (仅为LPC2138)
O DTR1-UART1 的数据终端就绪输出(仅
为LPC2138)
O MAT1.1-定时器1 匹配输出1 I AD1.4-A/D 转换器1 输入4。该模拟输 入总是连接到相应的管脚。 (仅为LPC2138)
I DCD1-UART1 数据载波检测输入(仅为
LPC2138)
I EINT1-外部中断1 输入
I/O SDA1-I2C1 数据输入/输出。开漏输出
(符合I2C 规范)
I RI1-UART1 铃声指示输入(仅为
LPC2138)
I EINT2-外部中断2 输入
I AD1.5-A/D 转换器1 输入5。该模拟输 入总是连接到相应的管脚。(仅为LPC2138)
I EINT0-外部中断0 输入
O
MAT0.2-定时器0 匹配输出2 I
CAP0.2-定时器0 捕获输入2
18
共分享92篇相关文档