Phimas

HCS12 介绍讲义1——编程模型

0
阅读(4439)

目的:
- 解释典型应用程序中如何有效地使用HCS12 CPU模块
目标:
- 描述的HCS12 CPU的编程模型
- 识别方法有效地访问HCS12的存储器映射
- 说明如何有效地使用HCS12的寻址模式
- 停止模式等待模式描述用途和功能
- 确定HCS12的CPU功能,支持高层次语言课程
条件:
- 处理器,内存,寄存器I / O功能的基本认识

 

 

设备概述
MC9S12DP256微控制器单元(MCU)目前HCS12系列许多金融衍生产品之一该器件含有大量的片上存储器外设I / O设备
MC9S12DP256一个16位设备组成标准片上外设包括一个16位中央处理单元HCS12 CPU)的256K字节的Flash EEPROM12K字节的RAM4K字节的EEPROM,2个异步串行通信接口 SCI),三个串行外设接口(SPI,一个8通道IC/ OC增强捕捉定时器两个8通道10位模拟 - 数字转换器(ADC一个8通道脉冲宽度调制(PWM数字字节数据链路控制器BDLC29离散的数字I / O通道A口,B口,港口K端口E20个分立数字I / O线中断和唤醒功能五个CAN 2.0 A B软件兼容模块MSCAN12IC间总线系统资源映射,时钟产生中断控制和总线接口管理系统集成模块(SIM)
MC9S12DP256完整的16位数据路径然而,外部总线可以工作在8位模式,使单一8位宽度的存储器用于成本较低的系统接口一个PLL电路列入允许功耗和性能进行调整,以适应业务需求

 

 

首先,让我们的HCS12 CPU架构概述本教程 HCS12的CPU相同MC68HC12基于MC68HC11的CPU
MC68HC11MC68HC12被称为HC11HC12分别在本教程文件
HC12HCS12的CPU映射到一个单一的线性地址空间所有寄存器和外设,提供高效内存访问
由于HCS12系列支持高达1字节的地址空间一个寻呼计划已实施访问高达64- 16K页面窗口很多后来被覆盖,以满足许多应用所需内存,提供系统设计者
HCS12的CPU指令集扩展HC11指令的数据移动,数据处理增强算术运算和分支和控制逻辑此外,HCS12的模型十六寻址模式添加了几个新的寻址模式
虽然HCS12系列的成员大部分具有片上闪存和RAM许多应用单芯片解决方案理想选择,系统设计人员可以配置设备访问外部额外的记忆

 

HCS12包括新的指令和寻址模式加入到支持高级语言
我们将研究有效地实施一个高层次的语言编写的代码的HCS12 CPU所包含的功能

 

 接下来,让我们细看的HCS12 CPU架构检讨的编程模型
CPU寄存器编程的观点
累加器A,B和D)用来存放操作算术运算数据处理结果
A和B - 两个8位累加器
D - 丰富16位操作使用一个concatination设置作为一个16位累加器
索引寄存器X和Y用于索引寻址模式移动数据两个独立的操作计算涉及情况下非常有用
X和Y - 对于索引模式操作一个8位积极无符号对象代码偏移阿迪X或Y当前内容形成一个操作数Y型指数指示的地址是因为prebyte小于x的高效操作码但它仍然是很多成一个索引寄存器交换临时工更好
这是常见的负载指数内部寄存器空间(通常是$0000起始地址寄存器允许索引寻址模式被用来ACCES任何内部I/ O和控制REGS

SP(堆栈指针) - 16位堆栈ponter意味着可以是任意大小64K地图任何地方通常情况下,初始化堆栈指针该计划的第一个指令之一一个字节入栈时间递减堆栈总是指向一个可用空间这是一个参数被拉断的堆栈递增
邮编:(程序计数器 - 16位只是意味着64K字节地址范围认为要执行的下一条指令地址 PC也可提供HCS12的寻址模式引用数据空间。
CCR的条件码寄存器 - 包含5状态指示灯2中断屏蔽一个停止禁用
 
 
状态标志:反映CPU的算术和其他操作的结果,因为它执行指令。
H:半进位,N:阴性,Z:零,V:溢出,C:进位/借
H:仅用于BCD算术运算,仅由ABA,ADD和ADC的影响,它表示从第3位进。此标志允许的CPU的8位BCD此外调整的结果,所以它是正确的BCD格式。此位是用来DAA指令只,以弥补在ACC的结果。一个正确的BCD格式。
N:反映结果的最高位的状态。 2的补,该数字为负时MSB = 1,积极向上的MSB = 0时。它也可以用于执行一些测试此位,并根据结果作出决定(BMI,BGE,... ...)
Z:当结果所有位为零。比较指令做一个内部隐含减法和条件代码,包括Z,反映该减法的结果。 INX的,地塞米松,INY,和DEY影响Z位,并没有其他位。
五:用来表示2的补码溢出,如果作为一个操作的结果发生。
C:用来表示如果进行加法或减法借发生。它也作为一个乘法和除法运算的错误标志。移位和循环指令,并通过进位操作方便多字的移位操作。
条件代码会自动更新几乎所有的指示,除了推,拉,ABX,ABY和16位传输和交流。
S:停止禁用,用于允许或禁止STOP指令。 STOP指令使振荡器停止,因此,用户可以设置CCR中的S位禁止STOP指令,如果由于某种原因STOP指令时遇到了S位设置,然后它会将它作为NOP和程序的正常流动继续....
我:中断请求(IRQ)面膜(I位)是一个全球性的面具,禁止所有可屏蔽中断源。虽然我位被置位,中断可以成为等待和被遗忘,但直到我位被清零,CPU运行继续不间断。硬件复位后,我位被设置,它可以通过软件清除。
当可屏蔽中断时,条件码寄存器(CCR)是保存在堆栈中,然后I位设置来屏蔽其它中断,该中断服务期间可能发生的的。 CCR是从中断服务程序返回时恢复到它的原始值。恢复的CCR将重新启用中断。
X:XIRQ面具(X位)非屏蔽中断屏蔽:使用禁用的XIRQ引脚中断。复位后设置,并只能由软件指令清除。 XIRQ是公认的,我X和自动设置后REGS。堆叠之前,取出向量。后中断是服务,它是为I位相同。