ARM处理器的工作模式 ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于 ARM 工作状态时If == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。
上传时间: 2013-11-15
上传用户:hanbeidang
PICmicro中档单片机系列参考手册:Microchip 公司是The Embedded Control Solutions Company® (嵌入式控制系统解决方案公司),其产品主要满足嵌入式控制市场的需求。我们是以下产品的领先供应商:• 8 位通用单片机(PICmicro® 单片机)• 专用和标准的非易失性存储器件• 安防器件 (KEELOQ®)• 专用标准产品
上传时间: 2013-10-30
上传用户:lizhizheng88
PICmicro中档单片机系列参考手册:请注意以下有关Microchip 器件代码保护功能的要点:• Microchip的产品均达到Microchip 数据手册中所述的技术指标。• Microchip确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以Microchip 数据手册中规定的操作规范来使用Microchip 产品的。这样做的人极可能侵犯了知识产权。• Microchip愿与那些注重代码完整性的客户合作。• Microchip或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是“牢不可破”的。代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视为违反了《数字器件千年版权法案(Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其它受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为的。 Microchip 公司是The Embedded Control Solutions Company® (嵌入式控制系统解决方案公司),其产品主要满足嵌入式控制市场的需求。我们是以下产品的领先供应商:• 8 位通用单片机(PICmicro® 单片机)• 专用和标准的非易失性存储器件• 安防器件 (KEELOQ®)• 专用标准产品欲获得您所感兴趣的产品列表,请申请一份Microchip 产品线目录。以往,8 位单片机的用户只选择传统的MCU 类型,即ROM 器件,用于生产。Microchip 率先改变了这种传统观念,向人们展示了OTP (一次性编程)器件比ROM 器件在其寿命周期内具有更低的产品成本。Microchip 具备EPROM技术优势,从而使EPROM成为PICmicro 单片机程序存储器的不二选择。Microchip 尽可能地缩小了EPROM 和ROM 存储器技术之间的成本差距,并使顾客从中受益。其他MCU 供应商无法作到这一点,这从他们的 EPROM 和 ROM 版本之间的价格差异便可以看出。Microchip 的8 位单片机市场份额的增长证明了PICmicro® 单片机能够满足大多数人的需要。这也使PICmicro 单片机架构成为了当今通用市场上应用最广泛的三大体系之一。Microchip 的低成本OTP 解决方案所带来的效益是这一增长的助推剂。用户能够从以下各方面受益:• 快速的产品上市时间• 允许生产过程中对产品进行代码修改• 无需掩膜产品所需的一次性工程费用(NRE)• 能够轻松为产品进行连续编号• 无需额外增加硬件即可存储校准数据• 可最大限度地增加PICmicro® 单片机的库存• 由于在开发和生产中使用同一器件,从而降低了风险Microchip 的8 位 PICmicro 单片机具备很好的性价比,可成为任何传统的8 位应用和某些4 位应用( 低档系列)、专用逻辑的替代品以及低端DSP 应用( 高档系列) 的选择。这些特点及其良好的性价比使PICmicro 单片机在大多数应用场合极具吸引力。
上传时间: 2014-03-03
上传用户:ainimao
定压输入、6000VDC隔离非稳压单路输出电源模块效率高、体积小、可靠性高、耐冲击、隔离特性好,温度范围宽。国际标准引脚方式,阻燃封装(UL94-V0),自然冷却,无需外加散热片,无需外加其他元器件可直接使用,并可直接焊接在PCB板上。
上传时间: 2013-10-15
上传用户:u789u789u789
以PLD器件实现自动扫描去抖的编码键盘设计:键盘在单片机控制系统中是最常用的输入设备之一。虽然非编码键盘的硬件电路较为简单,但按键的识别及键值的计算则需软件来完成,因此需要耗费宝贵的机时;而编码键盘虽然程序简单且易于使用,但硬件比较复杂。因此,设计人员常常难以决定采用哪一类键盘。本文以GAL6002为例,介绍了一种用PLD器件来实现4X4键盘自动扫描去抖的编码键盘电路及其设计方法。
上传时间: 2013-10-17
上传用户:yangbo69
AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
上传时间: 2014-04-16
上传用户:ippler8
信息技术的日新月异要求发展新的技术来提高热量计量收费的可靠性,改变过去热力站数据采集靠人工抄表的落后方法,以实现集中供热系统管理的全面自动化。便携式查表器是一种新兴的现场数据采集技术。本文所设计的查表器通过RS485 接口从现场使用的热量计中远距离采集数据,它采用Intel 80C196 作为CPU, 240×128 点阵的液晶作为显示器,并扩展了256K 的非易失性RAM 来保存30 个热力站的所有运行数据。信息革命冲击着各行各业,传统的数据采集方式已不适应信息时代的需要。常规的现场仪表数据采集方法要靠查表员手工来完成。有些仪表安装在危险场所,如在地下的热水管道系统,查表员有时会冒生命危险。目前公用事业的发展,迫切要求改变传统的数据采集方式,以更方便、更快捷的服务来适应信息时代的到来。微处理器、存储器、VLSI, A/D 转换等技术的迅速发展,使得现场仪表与控制中心之间传递的不再是传统的模拟信号,而是数字信号。数字信号不但避免了模拟信号传输过程中存在的精度降低、信号衰减、易引入干扰信号等的不足,而且显著提高了信号的可靠性,它为采用新的数据采集技术提供了可能。
上传时间: 2013-11-17
上传用户:tzl1975
这一颗,我们学习如何让跑马灯自动按照我们预定的顺序进行。这种控制在工控场合经常用到。这个程序里,我们预先定义了一个变化的顺序speedcode,每跑一圈灯就根据预定设置的表格数据来决定下一圈的跑马速度。这样我们就实现了按照预定的顺序自动变化运行。请看代码:-----------------------------------#define uchar unsigned char //定义一下方便使用#define uint unsigned int#define ulong unsigned long#include <reg52.h> //包括一个52 标准内核的头文件sbit P10 = P1^0; //头文件中没有定义的IO 就要自己来定义了sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;bit ldelay=0; //长定时溢出标记,预置是0uchar speed=10; //设置一个变量保存跑马灯的移动速度uchar code speedcode[10]={3,1,5,12,3,20,2,10,1,4}; //10 个预定义的速度char code dx516[3] _at_ 0x003b;//这是为了仿真设置的//可编程自动控制跑马灯void main(void) // 主程序{uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1 的值uchar ledi; //用来指示显示顺序uchar i;RCAP2H =0x10; //赋T2 的预置值0x1000,溢出30 次就是1 秒钟RCAP2L =0x00;TR2=1; //启动定时器ET2=1; //打开定时器2 中断EA=1; //打开总中断
上传时间: 2013-11-20
上传用户:ming529
如何使用高级触发测量程序跑飞:LA系列逻辑分析仪内部集成了32位的定时器、32位的计数器和高速比较模块,高效的使用以上模块资源可以使您的测量事半功倍。逻辑分析仪在实际应用中主要作用有:1.观察波形,看看测量波形中是否存在毛刺、干扰、频率是否正确等;2.时序测量,对被测信号进行时序校对,看看操作时序是否符合要求。3.辅助分析,利用逻辑分析仪完善的协议分析功能来进行辅助分析;4.查错功能,利用逻辑分析仪强大的触发功能来进行错误捕获。当单片机的PC值(程序计数器)对没有程序的地方进行取指时,称为程序跑飞。程序跑飞的原因有多种,主要有以下原因:1) 客观原因:单片机受到外界强干扰造成PC值寄存器改变;2)程序Bug:用户程序调用函数指针,对非程序空间进行对用。以80C51单片机为例子,当程序跑到非用户程序区时,单片机使用PSEN对外部程序进行取指,使用逻辑分析仪可以设置触发条件,当使用PSEN对外部程序进行取指时进行记录,把出错情况前后的状态记录下来进行分析,查找出错原因。如80C51的取指范围正确为0x0000~0x3fff,则当对0x3fff以上地址进行取指时为程序跑飞。分析80C51对外部程序取指的时序,如图1所示。
上传时间: 2013-10-11
上传用户:panpanpan
水位监测报警系统(电子设计竞赛题目):本系统以数字电路与模拟电路结合组成,通过主控电路把模拟信号转化为数字信号,然后把数字信号传输给各个部分分别处理后进行显示与警报。该系统设计新颖、简易,灵敏度高,工作稳定,能够自动检测与显示当前水位、高低水位报警等功能。 关键字:水位报警系统 数字模拟电路 编码译码驱动本系统是以双向模拟开关CD4066芯片为主导,辅以编码驱动、译码驱动等等一系列COMS芯片组成主控电路。在这里我们选用的编码驱动跟译码驱动分别是74LS147和4511BD,门电路芯片有非门74LS04,与非门4011。 该电路具有兼顾多种功能的特点,其能给出高低水位声光提示、能显示当前水位的高度等。并且该电路工作稳定性强,效率高,具有可动性,在现实生活中也能够得到灵活运用,例如在水库,家庭水塔等方面都可以应用。在设计本电路过程中,我们主要往生活实用的方向来设计,该电路结构简易,避免引入多种集成复杂电路模块,使人一看就不会觉得复杂难懂而感到头痛。
上传时间: 2013-11-23
上传用户:15071087253