飞思卡尔寄存器整理

合集下载

飞思卡尔16位单片机寄存器总结

飞思卡尔16位单片机寄存器总结

一、输入输出端口寄存器I/O接口包括PORTA、B、E、K、T、S、M、P、H、J、AD。

其中PORTA、B、E、K属于复用扩展总线接口,单片机在扩展方式下工作时,作为总线信号。

1、PORTT、S、M、P、H、JI/O寄存器PTx如果对应位数据方向寄存器DDRx为“0”,输入,读取该寄存器返回引脚值;“1”,输出,读取该寄存器返回I/O寄存器的内容。

数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。

上拉/下拉使能寄存器PERx选择使用内置上拉/下拉器件,“1”允许,“0”禁用。

中断使能寄存器PIExPORTP、H、J三个端口具有中断功能。

“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。

中断标志寄存器PIFxPORTP、H、J三个端口具有中断功能。

“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。

2、PORTA、B、E、KI/O寄存器Px若某端口的引脚被定义为输出,写入I/O寄存器中的数值会从对应引脚输出;输入,通过I/O寄存器读取对应引脚电平。

数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。

PORTE最低两位只能为输入。

上拉电阻控制寄存器PERx第7、4、1、0位分别控制K、E、B、A端口,“1”允许使用对应端口的上拉电阻,“0”禁止,复位后,PK、PE端口使能,PB、PA禁止。

二、中断系统中断控制寄存器INTCR第7位IRQE,中断电平/边沿有效选择,0为低电平有效,1为下降沿有效;第6位IRQEN,外部中断IRQ中断请求使能,0关闭,1允许。

三、PWM模块PWM允许寄存器PWME对应每一位PWMEx,1启动输出,0停止输出,读写任意时刻。

PWM预分频时钟选择寄存器PWMPRCLK为Clock A和B选择独立的预分频因子,读写任意时刻。

Clock B对应6、5、4三位,Clock A对应2、1、0三位,分别可以实现2、4、8、16、32、64、128分频。

飞思卡尔S12系列寄存器和中断讲解

飞思卡尔S12系列寄存器和中断讲解

S12的输入/输入端口(I/O口)I/O端口功能可设置为通用I/O口、驱动、内部上拉/下拉、中断输入等功能。

设置I/O口工作方式的寄存器有:DDR、IO、RDR、PE、IE和PS。

DDR:设定I/O口的数据方向。

IO :设定输出电平的高低。

RDR:选择I/O口的驱动能力。

PE:选择上拉/下拉。

IE:允许或禁止端口中断。

PS:1、中断允许位置位时,选择上升沿/下降沿触发中断;2、中断禁止时且PE有效时,用于选择上拉还是下拉。

I/O端口设置1、A口、B口、E口寄存器(1)数据方向寄存器DDRA、DDRB、DDREDDRA、DDRB、DDRE均为8位寄存器,复位后其值均为0。

当DDRA=0、DDRB=0、DDRE=0 时A口、B口和E口均为输入口。

否则,A口、B口、E口为输出口。

当DDRA、DDRB、DDRE的任何一位置1时,则该位对应的引脚被设置为输出。

例如,将A口设置为输出口,则其C语言程序的语句为:DDRA=0xff;(2)A口、B口、E口上拉控制寄存器PUCRPUCR为8位寄存器,复位后的值为0。

当PUPAE、PUPBE、PUPEE被设置为1时,A口、B口、E口具有内部上拉功能;为0时,上拉无效。

当A口、B口、E口为地址/数据总线时,PUPAE和PUPBE无效。

(3)A口、B口、E口降功率驱动控制寄存器RDRIVRDRIV为8位寄存器,复位后的值为0,此时,A口、B口、E口驱动保持全功率;当RDPA、RDPB、RDPE为1时,A口、B口、E口输出引脚的驱动功率下降(4)数据寄存器PORTA、PORTB、PORTEPORTA、PORTB、PORTE均为8位寄存器,复位后的值为0,端口引脚输出低电平;要使引脚输出高电平,相应端口对应位应该置1。

由于PE0是/XIRQ、PE1是IRQ,因此,PE0和PE1只能设置为输入。

2、H口寄存器(1)H口I/O寄存器PTH任意时间读/写。

当某一引脚对就的数据方向位设置为1时,读操作返回的是这个端口寄存器的值;否则,读的是引脚的值。

飞思卡尔单片机 第1节-CPU寄存器

飞思卡尔单片机 第1节-CPU寄存器

CPU寄存器
CPU寄存器
累加器 (A) 累加器A是一个通用8位寄存器。经常用于暂存一个输入到算 术逻辑单元(ALU)的操作数,并且用于存放(ALU)的计算结果。 复位对累加器A的内容没有影响。 索引寄存器(H:X) 这个16位寄存器实际上分为两个8位寄存器(H和X),它们作为 一个16位的地址指针一起工作,H存放一个地址的高位字节 和X存放地址的低位字节。所有索引寻址模式指令利用H:X中 全部16位值作为一个索引参考指针;然后,为了与早先 M68HC05家族兼容,一些指令只在低8位(X)中运行,并且H在 复位过程中强制为0x00。复位对X的内容没有影响。
HCS08 CPU的特点包括:
▪目标代码完全向上兼容M68HC05和M68HC08家族 ▪所有寄存器和存储器映射在单块64 Kbyte地址空间 ▪16位堆栈指针SP(64 Kbyte地址空间中的任意大小堆栈) ▪16位索引寄存器(H:X)的强大的寻址索引模式 ▪多种寻址模式 ▪8位累加器(A) ▪支持存储器到存储器的数据传送 ▪高效的位操作指令 ▪快速的8位乘8位和16位除以 8位指令 ▪STOP和WAIT指令唤醒低功耗运行状态
条件代码寄存器(CCR) 条件代码寄存器 8位条件代码寄存器存放中断屏蔽位(I)和5个指出刚执行指令 结果的标志。第5和第6位永远设置为1。如图:
I 位是中断屏蔽控制位,与其他位不同的是它在CCR 中不是处 理器状况位。在CCR的六个可执行位中,I 位也是复位后唯一可 被初始化的位。I 位复位后置为1,这使得中断被屏蔽直到堆栈 指针被初始化。其他五个状态位(V、H、N、Z 和C)在复位后是 未知的,只有在执行一个指令后才能知道。复位后无须强制这 些位为特定的值,因为直到执行了一个影响它们的指令后,与 这些位相关的条件转移才有意义。 这五个状态位标志了运算和其他指令的结果。条件转移指令 根据CCR 内状态位的值来决定是直接转移到一个新的程序地址, 还是继续执行下一个指令。简单的条件转移指令(BCC、BCS、 BNE、BEQ、BHCC、BHCS、BMC、BMS、BPL 和BMI)所导 致的转移取决于单一的CCR 位状态,而其他转移指令则被两三 个更复杂的CCR 位控制。例如,若布尔表达式[(Z) | (N⊕V)]真, 则将产生小于等于转移(BLE).

飞思卡尔16位单片机的资源配置

飞思卡尔16位单片机的资源配置

以MC9S12XS128MAL为例,其实DG128之类的类似。

如图一,128代表的是单片机中的FLASH大小为128K Byte,同理64代表的是单片机中的FLASH大小为64 K Byte,256代表的是单片机中的FLASH大小为256 K Byte。

但是S12(X)所使用的内核CPU12(X)的地址总线为16位,寻址范围最大为2^16 =64K Byte,而这64K Byte的寻址空间还包括寄存器、EEPROM (利用Data Flash模拟)、RAM等,因此不是所有的64K Byte都是用来寻址FLASH。

所以在S12(X)系列单片机中,很多资源是以分页的形式出现的,其中包括EEPROM、RAM、FLASH。

EEPROM的每页大小为1K Byte,RAM的每页大小为4K Byte,FLASH的每页大小为16K Byte。

因此XS128中EEPROM的页数为8K/1K = 8页,RAM的页数为8K/4K = 2页,Flash的页数为128K/16K = 8页。

图一图二在单片普通模式中,复位后,所有内存资源的映射如图二所示,其中从0x0000-0x07FF 的2K范围内映射为寄存器区,如I/O端口寄存器等,当然寄存器没有那么多,后面的一部分其实没有使用;从0x0800-0x0BFF,共1K的空间,映射为EEPROM区,由上面的分析,XS128中共有8页的共8K的EEPROM,所以这8页的EEPROM都是以分页的形式出现的,可以通过设置寄存器EPAGE选择不同的页并进行访问;从0x0C00到0x0FFF的1K空间为保留区(其实这里面也有学问,以后探讨);从0x1000到0x3FFF的12K空间为RAM区,分为三页,但是和前面所说的EEPROM不同,这三页中有2页(对于XS128和XS256)或一页(对于XS64)为固定页,位于12K空间的后一部分,以XS128为例,其内部的RAM资源为8K,所以其三页中的最后两页(0x2000-0x3FFF)为固定页,第一页(0x1000-0x1FFF)为窗口区,通过设置寄存器RPAGE来映射其他分页的RAM,当然在单片普通模式下,XS128内部已经没有其他的RAM了,所以这一页其实也没有用。

飞思卡尔之ATD模块

飞思卡尔之ATD模块

飞思卡尔之ATD模块今天看了ATD的模块,⼿头上有dg系列的资料,⽽⽤到的开发板是XS系列的。

在⽹上很难找到有关S12XS系列的中⽂资料,所以只能对着datasheet看,再加上⽹上搜集到的⼀些资料,有关此模块的⼀些⼩总结:S12XS系列MCU的ATD模块有27个寄存器,六个转换控制寄存器,两个转换状态寄存器,⼀个⽐较使能寄存器,⼀个⽐较⽅式寄存器和16个转换结果寄存器,附上⼀段例程void ATD_init(void){ATD0CTL1=0x0f; //选择8位转换精度ATD0CTL2=0x40; //打开CCF快速清零位,关闭外部触发输⼊,关闭中断ATD0CTL3=0x08; //数据左对齐,non-fifo,转换序列长度为1ATD0CTL4=0xE3; //采样时间为24个ATD时钟期, ATDCLK=8MB/8=1MHz}⼀般常⽤到的也就是这段例程中⽤到的⼏个寄存器。

//-----------------------------------------------------------////功能说明:MC9S12XS128--ATD例程//使⽤说明:由通道ATD0进⾏多通道A/D转换,转换值在B⼝显⽰//程序设计:DEMOK⼯作室()//设计时间:2010.03.12//------------------------------------------------------------//#include <hidef.h>#include "derivative.h"word AD_wValue;//AD转换结果//--------------初始化函数----------------////-----时钟初始化程序--------//void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1){ //锁相环时钟=2*16*(2+1)/(1+1)=48MHzREFDV=1; //总线时钟=48/2=24MHzSYNR=2;while(!(CRGFLG&0x08));CLKSEL=0x80;}//-----ATD初始化程序--------//void AD_Init(void){ATD0CTL1=0x00; //选择AD通道为外部触发,8位精度,采样前不放电ATD0CTL2=0x40; //标志位⾃动清零,禁⽌外部触发, 禁⽌中断ATD0CTL3=0xa0; //右对齐⽆符号,每次转换4个序列, No FIFO, Freeze模式下继续转ATD0CTL4=0x01; //采样时间为4个AD时钟周期,PRS=1,ATDClock=6MHzATD0CTL5=0x30; //特殊通道禁⽌,连续转换 ,多通道转换,起始通道为0转换4个通道ATD0DIEN=0x00; //禁⽌数字输⼊}//-----读取AD转换结果--------//void AD_GetValue(word *AD_wValue){*AD_wValue=ATD0DR0; //读取结果寄存器的值}//-----主函数--------//void main(void){PLL_Init();AD_Init();DDRB=0xFF;PORTB=0x00;EnableInterrupts;for(;;){while(!ATD0STAT2_CCF0); // 等待转换结束while(ATDOSTAT2_CCF0==1) AD_GetValue(&AD_wValue); // 读取转换结果PORTB = (byte)AD_wValue; // 在B⼝显⽰转换值}}。

飞思卡尔单片机_DG128_Timer寄存器说明

飞思卡尔单片机_DG128_Timer寄存器说明
Bit7 Bit6 Bit5 Bit4 TC4 寄存器偏移量:$0018-$0019
Bit15 Bit14 Bit13 Bit12 Bit7 Bit6 Bit5 Bit4
TC5 寄存器偏移量:$001A-$001B Bit15 Bit14 Bit13 Bit12 Bit7 Bit6 Bit5 Bit4
TC6 寄存器偏移量:$001C-$001D Bit15 Bit14 Bit13 Bit12 Bit7 Bit6 Bit5 Bit4
TC7 寄存器偏移量:$001E-$001F Bit15 Bit14 Bit13 Bit12 Bit7 Bit6 Bit5 Bit4
Bit11 Bit3
Bit11 Bit3
Bit8 Bit0
Bit8 Bit0
Bit8 Bit0
Bit8 Bit0
Bit8 Bit0
Bit8 Bit0
8、定时器核心寄存器(TCNT) 寄存器偏移量:$0004-$0005
Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8
Bit7 Bit6
Bit5
Bit4
所示的 TFLG1、TFLG2 为中断标志寄存器,其中 TFLG1 对应 8 个 IC/OC 通道,当某 CnF=1 时说明对应的 IC/OC 通道有动作,表明该通道有中断事 件发生。TFLG2 只有一个标志位 TOF,作为核心计数器的中断请求标志。当 TOF=1 时说明核心计数器溢出。要清除某个标志位,只需向该位写 1,向某位 写 0 不影响该位的状态。当 TSCR 中的 TFFCA 位置位时,读 IC 通道或写 OC 通道 ($10-$1F)将自动清除该通道标志 CnF,对 TCNT 的任何访问将自动清 除 TFLG2。

飞思卡尔单片机教程

飞思卡尔单片机教程

注 : A/D模块的时钟频率要在500KHz和2MHz之间, 所以在选择分频因子时一定要注意。
采样时间选择
SMP [1 :0]
采样时间
00
2个 A/D时钟周期
01
4个A/D时钟周期
ATDclock= ( (BusClock) / (PRS+1) ) /2
10
8个A/D时钟周期
11
16个A/D时钟周期
设CCBCA = 000,转换序列从通道
0开始;ATD0DR0,
ATD0DR1,ATD0DR2存放转换结果
设CCBCA = 0 10,转换序列从通道 2开始。 仍然是ATD0DR0,
ATD0DR1,ATD0DR2存放转换结果
S8C 、S4C 、S2C 、S1C:定义转换队列的长度 。默认长度为4。 FIFO: 结果寄存器先进先出模式 。1=FIFO模式 ,转换结果是连续 存放的;0=非FIFO模式 ,转换结果放在对应的寄存器中。 FRZ1、FRZ0:背景调试冻结模式允许 。这两个控制位就决定了,
{ while (ATD1STAT0_SCF ==0) ;
ad_value [0] = ATD1DR0; ad_value [4] = ATD1DR4;//使用 PORTB= (byte) ad_value [4] ;
}}
void ATDInit(void)
{ATD1CTL2=0xC0;//AD模块上电,快速清零,无等待模式,禁止外部触发, 中断禁止 // ADPU AFFC AWAI ETRIGLE --- ETRIGP ETRIGE ASCIE ASCIF
PRS=3
ATD1CTL5=0xA4; //右对齐无符号 ,单通道采样 ,通道0

飞思卡尔单片机 DG128 SCI寄存器说明

飞思卡尔单片机 DG128 SCI寄存器说明

SCI寄存器说明1、波特率控制寄存器(SCIBDH、SCIBDL)IREN:红外调制模式使能位1 使能0 禁止TNP[0..1]:窄脉冲发射位SBR[0..12]:波特率设置位When IREN = 0 then,SCI baud rate = SCI bus clock / (16 x SBR[12:0])When IREN = 1 then,SCI baud rate = SCI bus clock / (32 x SBR[12:1])【说明】波特率发生器在复位后是禁止的,在设置TE、RE(在SCICR2寄存器中)后才会工作。

当(SBR[12:0] = 0 and IREN = 0) 或者(SBR[12:1] = 0 andIREN = 1),波特率发生器不工作。

【注意】在未写入SCIBDL,写SCIBDH没有反应。

一般地,设置IREN=0,SR=52(总线频率8MHz),波特率为9600。

2、数据寄存器(SCIDRH、SCIDRL)SCI 内部分别设有发送和接收两个数据寄存器,其低位都通过SCIDRL 访问,读操作返回接收数据寄存器RDR 的内容,写操作数据置入发送数据寄存器。

TDR。

当M=1 即运行在9 位数据模式时,SCIDRL 和SCIDRH 形成9 位的SCI数据字,这时必须先写入SCIDRH,以便与低位字节(SCIDRL)一起进入发送移位器。

如果M=0 即SCI 只用于7 位或8 位的数据传送,可以只访问SCIDRL。

当PE=1 即奇偶校验允许时,奇偶校验位由硬件负责,无需软件干预。

R8:接收到的位8,该位写操作无效。

当SCI 设置成9 位数据运行模式时,该位是从串行数据流中接收到的第9 位。

T8:发送位8,任何时候可写。

当SCI 设置成9 位数据模式时,该位是送到串行数据流的第9 位。

该位不必为每个数据重新设置,每次发送可重复使用。

R[0..7]T[0..7]:收/发数据位7-0,读操作返回只读寄存器RDR 的内容,写操作写入只写寄存器TDR。

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置

飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置手把手教你写S12XS128程序--PWM模块介绍该教程以MC9S12XS128单片机为核心进行讲解,全面阐释该16位单片机资源。

本文为第一讲,开始介绍该MCU的PWM模块。

PWM 调制波有8个输出通道,每一个输出通道都可以独立的进行输出。

每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。

每一个P WM 输出通道都能调制出占空比从0—100% 变化的波形。

PWM 的主要特点有:1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。

2、每一个输出通道都有一个精确的计数器。

3、每一个通道的P WM 输出使能都可以由编程来控制。

4、PWM 输出波形的翻转控制可以通过编程来实现。

5、周期和脉宽可以被双缓冲。

当通道关闭或PWM 计数器为0时,改变周期和脉宽才起作用。

6、8 字节或16 字节的通道协议。

7、有4个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。

8、通过编程可以实现希望的时钟周期。

9、具有遇到紧急情况关闭程序的功能。

10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。

1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位P WMEx 。

它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。

当任意的P WMEx 位置1,则相关的P WM 输出通道就立刻可用。

用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。

当输出通道工作在串联模式时(PWMCTL 寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx 的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道 1 的使能位控制PWM 的输出。

飞思卡尔单片机寄存器及汇编指令详解

飞思卡尔单片机寄存器及汇编指令详解

附录I:寄存器地址列表直接页面寄存器总结高页面寄存器总结非易失寄存器总结注:直接页面寄存器表地址的低字节用粗体显示,直接寻址对其访问时,仅写地址低字节即可。

第2列中寄存器名用粗体显示以区别右边的位名。

有0的单元格表示未用到的位总是读为0,有破折号的单元格表示未用或者保留,对其读不定。

附录II 指令接与寻址方式HCS08指令集概括运算符() = 括号种表示寄存器或存储器位置的内容← = 用……加载(读: “得到”)& = 布尔与| = 布尔或⊕= 布尔异或×= 乘÷ = 除: = 串联+ = 加- = 求反(二进制补码)CPU registersA =>累加器CCR =>条件代码寄存器H =>索引寄存器,高8位X => 索引寄存器,低8位PC =>程序计数器PCH =>程序计数器,高8位PCL =>程序计数器,低8位SP =>堆栈指针存储器和寻址M =>一个存储区位置或者绝对值数据,视寻址模式而定M:M + 0x0001 => 两个连续存储位置的16位值.高8位位于M的地址,低8位位于更高的连续地址.条件代码寄存器(CCR)位V => 二进制补码溢出指示,第7位H => 半进位,第4位I => 中断屏蔽,第 3位N => 求反指示器, 第2位Z => 置零指示器, 第1位C => 进/借, 第0位 (进位第 7位 )CCR工作性符号– => 位不受影响0 = > 位强制为01 = > 位强制为1= >根据运算结果设置或清除位U = > 运算后没有定义机器编码符号dd =>一个直接寻址0x0000–0x00FF的低8位(高字节假设为0x00)ee => 16位偏移量的高8位ff => 16位偏移量的低8位ii => 立即数的一个字节jj => 16位立即数值的高位字节kk => 16位立即数值的低位字节hh => 16位扩展寻址的高位字节ll => 16位扩展寻址的低位字节rr => 相对偏移量n —任何表达范围在0–7之间的一个有符号数的标号或表达式opr8i —任何一个表达8位立即值的标号或表达式opr16 —任何一个表达16位立即值的标号或表达式opr8a —任何一个表达一个8位值的标号或表达式.指令对待这个8位值为直接页面64K 字节地址空间(0x00xx)中地址的低8位.opr16a —任何一个表达16位值的标号或表达式.指令对待这个值为直接页面64K字节地址空间.oprx8 —任何一个表达8位无符号值的标号或表达式,用于索引寻址.oprx16 —任何一个16位值的标号或表达式.因为HCS08有一个16位地址总线,这可以为一个有符号或者无符号值.rel —任何指引在当前指令目标代码最后一个字节之后–128 to +127个字节之内的标号或表达式.汇编器会计算包括当前指令目标代码在内的8位有符号偏移量. 寻址方式隐含寻址(Inherent)如CLRA,只有操作码,无操作数,需要操作的数据一般为CPU寄存器,因此不需要再去找操作数了。

飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其应用举例

飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其应用举例

飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其
应用举例
喻宁宁
【期刊名称】《中国集成电路》
【年(卷),期】2013(22)8
【摘要】1 NVIC模块的中断寄存器简介嵌套式向量中断控制器(NVIC)是Cortex内核不可分割的一部分,它与CPU紧密结合,可对系统异常和外设中断进行控制。

如图1所示,NVIC右端连接到各个外围模块,负责对外设中断进行处理;左端连接到内核,负责对内核系统异常进行处理。

本文重点介绍NVIC对外围模块的中断控制。

通常,在配置某个外围模块的中断功能时,
【总页数】4页(P75-78)
【作者】喻宁宁
【作者单位】
【正文语种】中文
【相关文献】
1.飞思卡尔Kinetis微控制器支持开发更便携更智能的血糖仪--Dnurse糖护士手
机血糖仪让糖尿病人轻松检测、管理血糖 [J],
2.飞思卡尔Kinetis微控制器支持开发更为便携智能的血糖仪 [J], 飞思卡尔半导
体(中国)有限公司
3.飞思卡尔推出Kinetis KW2x无线MCU进一步扩展其MCU产品组合 [J], 周鑫
4.飞思卡尔扩大Kinetis微控制器在安全领域的领导地位 [J],
5.飞思卡尔Kinetis L系列微控制器现已大量供货全球能效最高的MCU,基于低功耗、低成本的飞思卡尔Freedom开发平台 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。

飞思卡尔寄存器整理

飞思卡尔寄存器整理

S12的输入/输入端口(I/O口)I/O端口功能可设置为通用I/O口、驱动、内部上拉/下拉、中断输入等功能。

设置I/O口工作方式的寄存器有:DDR、IO、RDR、PE、IE和PS。

DDR:设定I/O口的数据方向。

IO :设定输出电平的高低。

RDR:选择I/O口的驱动能力。

PE:选择上拉/下拉。

IE:允许或禁止端口中断。

PS:1、中断允许位置位时,选择上升沿/下降沿触发中断;2、中断禁止时且PE有效时,用于选择上拉还是下拉。

I/O端口设置1、A口、B口、E口寄存器(1)数据方向寄存器DDRA、DDRB、DDREDDRA、DDRB、DDRE均为8位寄存器,复位后其值均为0。

当DDRA=0、DDRB=0、DDRE=0 时A口、B口和E口均为输入口。

否则,A口、B口、E口为输出口。

当DDRA、DDRB、DDRE的任何一位置1时,则该位对应的引脚被设置为输出。

例如,将A口设置为输出口,则其C语言程序的语句为:DDRA=0xff;(2)A口、B口、E口上拉控制寄存器PUCRPUCR为8位寄存器,复位后的值为0。

当PUPAE、PUPBE、PUPEE被设置为1时,A口、B口、E口具有内部上拉功能;为0时,上拉无效。

当A口、B口、E口为地址/数据总线时,PUPAE和PUPBE无效。

(3)A口、B口、E口降功率驱动控制寄存器RDRIVRDRIV为8位寄存器,复位后的值为0,此时,A口、B口、E口驱动保持全功率;当RDPA、RDPB、RDPE为1时,A口、B口、E口输出引脚的驱动功率下降(4)数据寄存器PORTA、PORTB、PORTEPORTA、PORTB、PORTE均为8位寄存器,复位后的值为0,端口引脚输出低电平;要使引脚输出高电平,相应端口对应位应该置1。

由于PE0是/XIRQ、PE1是IRQ,因此,PE0和PE1只能设置为输入。

2、H口寄存器(1)H口I/O寄存器PTH任意时间读/写。

当某一引脚对就的数据方向位设置为1时,读操作返回的是这个端口寄存器的值;否则,读的是引脚的值。

飞思卡尔单片机外设模块寄存器翻译

飞思卡尔单片机外设模块寄存器翻译

PIT 模块译:翻译来自MC9S12X128英文原文PDF.P347-P357 PIT 块结构图:PIT0中断向量66,1->67,2->68,3->69PIT 相关寄存器详解: 1、 PITCFLMT :寄存器基本控制和基本时钟加载控制寄存器(8位)1:PIT 使能PITSWAI: 0:等待模式下仍然工作1:等待模式下不工作 PITFRZ: 0:冻结模式下仍然工作1:冻结模式下不工作PFLMT1: 写1强制加载基本定时计数器1,写0无效,读也总为0 PFLMT0:同PFLMT12、 PITFLT :PIT 计数器强制加载定时器寄存器(8位)PFLT[3:0]写1相对应的16位计数寄存器会立即载入相对应的16位计数加载寄存器(PITLDn)中的值。

3、PITCE:PIT通道使能存器(8位)PCE[3:0]:如果PITE已经使能,对寄存器PCEn写1后,每输入一个时钟相对应的计数寄存器开始递减,写0无效。

4、PITMUX:PIT基本时钟通道选择寄存器(8位)PMUX[3:0]:对PMUXn写1,则对应定时器通道选择基本时钟1作为输入,写0则选择基本时钟0为输入。

5、PITINTE:PIT定时中断使能寄存器(8位)PINTE[3:0]:对PINTEn写1,当相对应的计数寄存器和基本计数寄存器归0时,产生中断请求,否则无效。

6、PITTF:PIT时钟输出标志寄存器(8位)7、PITMTLD0-1:PIT基本时钟计数器预加载寄存器(8位)会被加载到基本定时器n,无论什么时刻PFLMTn置“1”会立即更新基本定时器寄存器的值.8、PITLD0–3:PIT0-3计数器预加载寄存器(16位)PITLD0-3的值用来加载到相对应计数器0-3的寄存器中。

当相应通道计数器归零时,或PITFLT寄存器中相应的强制加载位置“1”时,PITLDn中的值将会被立即加载到PITCNTn。

9、PITCNT0–3:PIT0-3计数寄存器(16位)变计数周期。

飞思卡尔智能车IO 口说明2

飞思卡尔智能车IO 口说明2

1内存映射。

632.3.2注册说明。

712.3.3端口A数据寄存器(PORTA)。

732.3.4端口B数据寄存器(PORTB )。

732.3.5端口A数据方向寄存器(DDRA)。

742.3.6端口B数据方向寄存器(DDRB)。

742.3.7PIM信息注册。

752.3.8端口E数据寄存器(PORTE)。

752.3.9端口E数据方向寄存器(DDRE)。

762.3.10端口ABEK,BKGD引脚上拉控制寄存器(PUCR)。

77 2.3.11端口ABEK降低驱动器寄存器(RDRIV)。

782.3.12 ECLK控制寄存器(ECLKCTL)。

792.3.13PIM信息注册。

802.3.14IRQ控制寄存器(IRQCR)。

812.3.15PIM信息保留注册PIMTEST。

812.3.16端口k数据寄存器(PORTK)。

822.3.17端口k数据方向寄存器(DDRK)。

822.3.18端口T数据寄存器(总站)。

832.3.19端口科技投入注册(PTIT)。

842.3.20端口T数据方向寄存器(DDRT)。

852.3.21端口.降低驱动器寄存器(RDRT)。

852.3.22端口.拉设备使能寄存器(PERT)。

862.3.23端口.极性选择寄存器(PPST)。

862.3.24保留PIM信息注册。

872.3.25端口.路由注册(PTTRR)。

872.3.26端口S数据寄存器(PTS)。

892.3.27端口S输入寄存器(PTIS)。

902.3.28端口S数据方向寄存器(DDRS)。

91 2.3.29端口S降低驱动器寄存器(RDRS)。

92 2.3.30端口S拉设备使能寄存器(PERS)。

92 2.3.31端口S极性选择寄存器(PPSS)。

932.3.32端口S线或模式寄存器(WOMS)。

93 2.3.33保留PIM信息注册。

942.3.34端口M数据注册系统(PTM)。

942.3.35端口M输入寄存器(PTIM)。

962.3.36端口M数据方向寄存器(DDRM)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S12的输入/输入端口(I/O口)I/O端口功能可设置为通用I/O口、驱动、内部上拉/下拉、中断输入等功能。

设置I/O口工作方式的寄存器有:DDR、IO、RDR、PE、IE和PS。

DDR:设定I/O口的数据方向。

IO :设定输出电平的高低。

RDR:选择I/O口的驱动能力。

PE:选择上拉/下拉。

IE:允许或禁止端口中断。

PS:1、中断允许位置位时,选择上升沿/下降沿触发中断;2、中断禁止时且PE有效时,用于选择上拉还是下拉。

I/O端口设置1、A口、B口、E口寄存器(1)数据方向寄存器DDRA、DDRB、DDREDDRA、DDRB、DDRE均为8位寄存器,复位后其值均为0。

当DDRA=0、 DDRB=0、 DDRE=0 时A口、B口和E口均为输入口。

否则,A口、B口、E口为输出口。

当DDRA、DDRB、DDRE的任何一位置1时,则该位对应的引脚被设置为输出。

例如,将A口设置为输出口,则其C语言程序的语句为:DDRA=0xff;(2)A口、B口、E口上拉控制寄存器PUCRPUCR为8位寄存器,复位后的值为0。

当PUPAE、PUPBE、PUPEE被设置为1时,A口、B口、E口具有内部上拉功能;为0时,上拉无效。

当A口、B 口、E口为地址/数据总线时,PUPAE和PUPBE无效。

(3)A口、B口、E口降功率驱动控制寄存器RDRIVRDRIV为8位寄存器,复位后的值为0,此时,A口、B口、E口驱动保持全功率;当RDPA、RDPB、RDPE为1时, A口、B口、E口输出引脚的驱动功率下降(4)数据寄存器PORTA、PORTB、PORTEPORTA、PORTB、PORTE均为8位寄存器,复位后的值为0,端口引脚输出低电平;要使引脚输出高电平,相应端口对应位应该置1。

由于PE0是/XIRQ、PE1是IRQ,因此,PE0和PE1只能设置为输入。

2、H口寄存器(1)H口I/O寄存器PTH任意时间读/写。

当某一引脚对就的数据方向位设置为1时,读操作返回的是这个端口寄存器的值;否则,读的是引脚的值。

(2)端口H输入寄存器PTIH只可读,不可写。

读该寄存器返回的是引脚状态。

该寄存器可检测相应引脚的输出是否过载或短路。

(3)数据方向寄存器DDRH(4)端口H降功率驱动寄存器RDRH(5)端口H拉动装置使能寄存器PERH任意时间读/写。

如果端口H是输入口,该寄存器将配置被激活的上拉或下拉装置。

当PERH某一位为1时,对应装备上拉或下拉使能。

当PERH某一位为0时,对应装备上拉或下拉禁止。

(6)端口H极性选择寄存器PPSH任意时间读/写。

该寄存器有两个作用:选择激活的中断边沿的极性;选择上拉或下拉。

当PPSH某一位为1时,H口对应引脚信号上升沿将使PIFH寄存器中相应位置位;当PERH对应位置1且端口定义为输入口时,引脚和下拉装置连接。

当PPSH某一位为0时,H口对应引脚信号下降沿将使PIFH寄存器中相应位置位;当PERH对应位置1且端口定义为输入口时,引脚和上拉装置连接。

(7)H口中断使能寄存器PIEH任意时间读/写。

PIEH寄存器可设置端口H相应引脚的外部中断边沿使能或禁止。

PIEH某一位置1时,对应引脚的中断使能。

PIEH某一位置0时,对应引脚的中断禁止。

(8)口中断标志寄存器PIFH任意时间读/写。

当对应引脚出现活动的边沿时,PIFH相应位被置1。

是上升沿或下降沿,由PPSH寄存器相应位的状态决定。

为了清除标志位,向PIFH对应位写“1”。

写“0”无效。

3、J口寄存器(1)J口I/O寄存器PTJ任意时间读/写。

当数据方向寄存器对应位置1时,读PTJ将返回PTJ中的值;否则读返回对应引脚的值。

(2)J口输入寄存器PTIJ只读不写。

读该寄存器将返回引脚的值。

该寄存器可检测相应引脚的输出是否过载或短路。

(3)J口数据方向寄存器DDRJ(4)J口降功率驱动寄存器RDRJ(5)J口拉动装备使能寄存器PERJ(6)J口极性选择寄存器PPSJ任意时间读/写。

该寄存器有两个作用:选择激活的中断边沿的极性;选择上拉或下拉。

当PPSJ某一位为1时,J口对应引脚信号上升沿将使PIFJ寄存器中相应位置位;当PERJ对应位置1且端口定义为输入口时,引脚和下拉装置连接。

当PPSJ某一位为0时,J口对应引脚信号下降沿将使PIFJ寄存器中相应位置位;当PERJ对应位置1且端口定义为输入口时,引脚和上拉装置连接。

(7)J口中断使能寄存器PIEJ任意时间读/写。

PIEJ寄存器可设置端口J相应引脚的外部中断边沿使能或禁止。

PIEJ某一位置1时,对应引脚的中断使能。

PIEJ某一位置0时,对应引脚的中断禁止.任意时间读/写。

当对应引脚出现活动的边沿时,PIFJ相应位被置1。

是上升沿或下降沿,由PPSJ寄存器相应位的状态决定。

为了清除标志位,向PIFJ对应位写“1”。

写“0”无效。

4、M口寄存器(1)M口I/O寄存器PTM任意时间读/写。

当数据方向寄存器对应位置1时,读PTM将返回PTM中的值;否则读PTM 将返回对应引脚的值。

(2)M口输入寄存器PTIM只读不写。

读该寄存器将返回引脚的值。

该寄存器可检测相应引脚的输出是否过载或短路。

Byteflight/CAN/BDLC强制将与其输出对应的引脚置为输出状态;同时,将与其输入对应的引脚置为输入状态。

(4)M口降功率驱动寄存器RDRM(5)M口拉动装备使能寄存器PERM任意时间读/写。

如果端口用于输入或“线或”输出,该寄存器配置被激活的上拉或下拉装置。

当端口用于推挽输出时,相应位无效。

(6)M口极性选择寄存器PPSM任意时间读/写。

当PPSM的某一位被置为1时,如果PERM对应位使能,并且端口用于通用或BDLC输入,则一个下拉装备被连接到M口对应引脚上。

当PPSM的某一位被清0时,如果PERM对应位使能,并且端口用于通用、Byteflight或RXCAN输入,则一个上拉装备被连接到M口对应引脚上。

该寄存器配置输出引脚为线或。

如果应用于Byteflight、CAN和BDLC 输出且许多几种串行模式的多点连接,则该寄存器的某一位对于用于输入的相应引脚无影响。

当WOMM某一位置为1时,输出缓冲器工作在开漏输出状态。

当WOMM某一位清为0时,输出缓冲器工作在推挽输出状态。

5、P口寄存器(1)P口I/O寄存器PTP任意时间读/写。

如果PWM通道使能,则PWM功能优先于通用I/O功能。

如果相应通道使能,通道6~0只能输出;如果停机特性使能,则通道7可作为PWM输出与输入。

SPI功能也优先于通用I/O功能。

(2)P口输入寄存器PTIP如果PWM对应通道或SPI模式使能,则该寄存器对引脚无效。

(4)P口降功率驱动寄存器RDRP(5)P口拉动装置使能寄存器PERP(6)P口极性选择寄存器PPSP任意时间读/写。

该寄存器有两个作用:选择激活的中断边沿的极性;选择上拉或下拉。

当PPSP某一位为1时,P口对应引脚信号上升沿将使PIFP寄存器中相应位置位;当PERP对应位置1且端口定义为输入口时,引脚和下拉装置连接。

当PPSP某一位为0时,P口对应引脚信号下降沿将使PIFP寄存器中相应位置位;当PERP对应位置1且端口定义为输入口时,引脚和上拉装置连接。

任意时间读/写。

PIEP寄存器可设置端口P相应引脚的外部中断边沿使能或禁止。

PIEP某一位置1时,对应引脚的中断使能。

PIEP某一位置0时,对应引脚的中断禁止。

(8)P口中断标志寄存器PIFP任意时间读/写。

当对应引脚出现活动的边沿时,PIFP相应位被置1。

是上升沿或下降沿,由PPSP寄存器相应位的状态决定。

为了清除标志位,向PIFP对应位写“1”。

写“0”无效。

6、S口寄存器(1)S口I/O寄存器PTS(2)S口输入寄存器PTIP(4)S口降功率驱动寄存器RDRS(5)S口拉动装置使能寄存器PERS(6)S口极性选择寄存器PPSS任意时间读/写。

该寄存器有两个作用:选择激活的中断边沿的极性;选择上拉或下拉。

当PPSP某一位为,PERP对应位置1且端口定义为输入口时,引脚和下拉装置连接。

当PPSP某一位为0,PERP对应位置1且端口定义为线或输出口时,引脚和上拉装置连接。

该寄存器配置输出引脚为线或。

如果应用于SPI和SCI输出且许多几种串行模式的多点连接,则该寄存器的某一位对于用于输入的相应引脚无影响。

当WOMM某一位置为1时,输出缓冲器工作在开漏输出状态。

当WOMM某一位清为0时,输出缓冲器工作在推挽输出状态。

S12微控制器中断模块中断源:中断请求信号的来源。

S12微控制器的中断源:特殊中断源、外部中断源、端口中断源、定时中断源、通信中断源、A/D中断源等。

中断过程①外部或内部中断源提出中断请求,如果存在中断标志位,则硬件置相应中断标志位。

②如果开放了CPU对相应中断源的中断请求的响应,CPU将暂停当前程序段的执行,I清0,即关中断,将断点地址与相关寄存器的值压入堆栈保护起来。

③跳转到中断入口地址执行指令,进而执行中断服务程序。

中断服务程序中清标志位。

④将压入堆栈的数据放回相关寄存器,断点地址放回PC。

⑤返回暂停的程序段继续执行。

1、不可屏蔽中断XIRQ中断入口地址:$fff4、$fff5。

C语言中断号:5。

(1)中断允许位X将CCR中的X位清0,就开放了CPU对XIRQ中断请求的响应。

C语言程序中,使用如下指令可开放XIRQ的中断:ASM LDAA #$10;ASM TAP;(2)中断请求信号低电平有效。

(3)实验①实验要求在main()中顺序点亮8支发光管,每次点亮1支。

在XIRQ的中断服务程序中反向点亮8支发光管,每次点亮2支。

②电路连接发光管由A口驱动;将E口与B口连接,由PB0为XIRQ提供中断请求信号。

2、可屏蔽中断IRQ中断入口地址:$fff2、$fff3。

C语言中断号:6。

(1)中断允许总控制位I将CCR中的I位清0,就开放了CPU对可屏蔽中断源的中断请求的响应。

(2)IRQ控制寄存器IRQCR程序中,IRQCR使用符号INTCR代替。

①IRQ中断触发方式选择位IRQE当IRQE=1时,IRQ引脚下降沿触发中断。

当IRQE=0时,IRQ引脚低电平沿触发中断。

②IRQ中断允许控制位IRQEN当IRQEN=1时,IRQ引脚与中断逻辑连接,IRQ中断允许。

当IRQEN=0时,IRQ引脚与中断逻辑断开,IRQ中断禁止。

(3)实验①实验要求在main()中顺序点亮8支发光管,每次点亮1支。

在IRQ的中断服务程序中反向点亮8支发光管,每次点亮2支。

②电路连接发光管由A口驱动;将E口与B口连接,由PB1为IRQ提供中断请求信号。

3、H口中断中断入口地址:$ffcc、$ffcd。

C语言中断号:25。

(1)中断允许总控制位I将CCR中的I位清0,就开放了CPU对可屏蔽中断源的中断请求的响应。

相关文档
最新文档