当前位置:文档之家› DSP GPIO相关寄存器的设置最详细的一份资料了

DSP GPIO相关寄存器的设置最详细的一份资料了

DSP GPIO相关寄存器的设置最详细的一份资料了
DSP GPIO相关寄存器的设置最详细的一份资料了

每个通用I/O 端口都受多路复用(MUX),方向(DIR),数据(DAT),置位(SET),清除(CLEAR),以及切换(TOGGLE)寄存器的控制。

下面介绍这些寄存器的功能。

GPxMUX 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个MUX(多路复用)寄存器。这个寄存器用来在每个引脚(PIN)的外设操作及I/O 操作之间进行选择。复位时所有通用I/O 引脚都配置成数字I/O 功能。任何一个引脚都可通过16 位的多路复用寄存器 GPxMUX 进行外设或GPIO 功能的设置:

当GPxMUX.bit = 0,相应的一个引脚配置成I/O 功能;

当GPxMUX.bit = 1,相应的一个引脚配置成外设功能。

GPxDIR 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个方向控制寄存器。不论是将相应的I/O 引脚配置成输入还是输出,都由方向寄存器控制。复位时,所有通用I/O 引脚均配置成输入。

当GPxDIR.bit = 0,引脚配置成输入;

当GPxDIR.bit = 1,引脚配置成输出。

在采用GPxDIR 寄存器位将输入端口改变成输出端口之前,引脚的当前电平反映到GPxDAT 寄存器中。当端口的方向从输入改变成输出时,GPxDAT 寄存器的值用来确定引脚的电平。

例如,如果引脚已经从内部上拉,则复位后上拉将致使GPxDAT 寄存器对应位为1用于反映引脚的当前高电平。当端口的方向从输入改变成输出时,GPxDAT 寄存器已经为1 的位强迫该引脚为同一高电平。这样,在电平不变的情况下,引脚能够从输入转换为输出。

GPxDAT 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个数据寄存器,它是一个读/写寄存器。读入的该寄存器的值反映了输入限制后输入引脚当前的电平,写寄存器可设置输出引脚为相应的电平。

当GPxDAT.bit = 0,并且引脚设置为输出,则把引脚拉成低电平;

当GPxDAT.bit = 1,并且引脚设置为输出,则把引脚拉成高电平。

GPxSET 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个置位寄存器,它是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向置位寄存器的该位写1,将对应引脚电平拉高。写0 无效。

当GPxSET.bit = 0,无效;

当GPxSET.bit = 1,并且引脚为输出,则把对应引脚拉成高电平。

GPxCLEAR 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个清除寄存器,它是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向清除寄存器的该位写1,将把对应引脚拉成低电平。写0 则无效。

当GPxCLEAR.bit = 0,无效;

当GPxCLEAR.bit = 1,并且引脚为输出,则把对应引脚拉成低电平。

GPxTOGGLE 寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个切换寄存器,它是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向切换寄存器的该位写1,将把对应引脚拉成反向电平。即如果引脚输出是低电平,对相应的切换寄存器位写1,把该引脚拉成高电平;类似的,如果引脚输出是高电平,对相应的切换寄存器位写1,把该引脚拉成低电平。写0 则无效。

当GPxTOGGLE.bit = 0,无效;

当GPxTOGGLE.bit = 1,并且引脚为输出,则把引脚拉成反向电平。

GPAQUAL 输入限制寄存器(x=A,B,D,E,F,G)

每个I/O 端口都有一个输入限制寄存器。用于生成采样限制信号。如图3.2 所示,为了对信号进行限制,输入要与SYSCLKOUT 同步,然后以GPxQUAL 寄存器规定的周期进行采样。采样窗口为6 个采样点的宽度,只有当所有6 个采样点的采样相同时,输入才会发生改变。因为输入的信号是异步的,为了同步,在限制采样窗开始之前要有一个SYSCLKOUT 的延时。

注:(1)输入限制将忽略这个尖刺小脉冲。QUALPRD 位域值限制采样周期,8 位值范围为0~255。当QUALPRD 为0时,无输入限制,此时,采样周期与SYSCLKOUT 同步。对于任意一个“n”值,限制周期=2×n 个系统时钟周期(SYSCLKOUT),即每2×n 个系统时钟周期,GPIO 引脚进行一次采样。当6 个采样都为同一个值时,才可确定一个输入。

(2)有输入限制时检测输入变化,输入必须稳定(5×QUALPRD×2)个SYSCLKOUT 周期,以保证检测时6 个采样点的采样相同。例如QUALPRD=1 时,输入必须有10 个或者10 个以上的稳定的SYSCLKOUT 周期,因为外部信号是异步驱动的,11 个SYSCLKOUT 周期宽度的脉冲可以确保可靠的识别。

图3.3 是GPIO A 采样周期限制寄存器(GPAQUAL)的位结构及定义图。GPBQUAL,GPDQUAL 和GPEQUAL 寄存器的位结构及定义与GPAQUAL 的位结构及定义完全相同。GPIO F 及GPIO G 端口不需要采样周期限制寄存器。

单片机各寄存器汇总

符号 地址功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器 P2 A0H P2口锁存器 SBUF 99H 串行口锁存器 SCON 98H 串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH 定时器/计数器1(高8位)TH0 8CH 定时器/计数器1(低8位)TL1 8BH 定时器/计数器0(高8位)TL0 8AH 定时器/计数器0(低8位) TMOD 89H 定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPTR 82H 83H 83H数据地址指针(高8位) PC SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H 电源控制寄存器 、PSW-----程序状态字。 D7D6D5D4D3D2D1D0 CY AC F0 RS1 RS0 OV P 下面我们逐一介绍各位的用途 CY:进位标志。 AC:辅助进、借位(高半字节与低半字节间的进、借位)。 F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。 RS1、RS0:工作寄存器组选择位。这个我们已知了。 0V:溢出标志位。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV=0。什么是溢出我们后面的章节会讲到。

P :奇偶校验位:它用来表示ALU 运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。 运算结果有奇数个1,P =1;运算结果有偶数个1,P =0。 例:某运算结果是78H (01111000),显然1的个数为偶数,所以P=0。 定时/计数器寄存器 1.工作方式寄存器TMOD(P134) TMOD 为T0.T1的工作方式寄存器,其各位的格式如下:TMOD D7 D6 D 5 D4 D3 D2 D1 D0 GATE C/-T M1 M0 GATE C/-T M1 M0 定时器1 定时器0 位7 GATE ——T1的门控位。 当GATE=0时,只要控制TR1置1,即可启动定时器T1开始工作; 当GATE=1时,除需要将TR1置1外,还要使INT1引脚为高电平,才能启动相应的定时器开始工作。 位6 C/—T ——T1的功能选择位。 当C/—T=0时,T1为定时器方式; 当C/—T=0时,T1为计数器方式; 位5和位4 M1和M0——T1的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T1工作方式选择表 如右表: 位3 GATE ——T0的门控位。 当GATE=0时,只要控制TR0置1,即可启动定时器T0开始工作; 当GATE=1时,除需要将TR0置1外,还要使INT0引脚为高电平,才能启动相应的定时器开始工作。 位2 C/T ——T1的功能选择位。 当C/—T=0时,T0为定时器方式; 当C/—T=0时,T0为计数器方式; 位1和位0 M1和M0—T0的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T0工作方式选择表 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半节定义定时器0,高半字节定义定时器1。复位时,TMOD 所有位均为0,定时器处于停止工作状态。 定时/计数器控制寄存器中断请求标志寄存器TCON(P183) TCON 的作用是控制定时器的启/停,标志定时器的溢出和中断情况。定时器控制寄存器TCON 各位格式如下:TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 当有中断源发出请求时,有硬件将相应的中断标志位置 1.在中断请求被响应前,相应中断标志位被锁存在特殊功能寄存器TCON 或SCON 中。 TCON 为定时器T0和T1的控制寄存器,同时也锁住T0和T1的溢出中断标志及外部中断——INT0和— M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器1:停止计数 M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器0:分成2个8位计数器

汇编教程控制寄存器和系统地址寄存器

80386控制寄存器和系统地址寄存器如下表所示。它们用于控制工作方式,控制分段管理机制及分页管理机制的实施。 控制寄存器CRx BIT31 BIT30—BIT12 BIT11—BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 CR0 PG 0000000000000000 ET TS EM MP PE CR1 保留 CR2 页故障线性地址 CR3 页目录表物理页码000000000000 BIT47—BIT16 BIT15—BIT 全局描述符表寄存器GDTR 基地址界限中断描述符表寄存器IDTR 基地址界限 BIT15—BIT0 局部描述符表寄存器LDTR 选择子任务状态段寄存器TR 选择子BIT31—BIT0 BIT31—BIT0 BIT11—BIT0 基地址界限属性 基地址界限属性 <一>控制寄存器 从上表可见,80386有四个32位的控制寄存器,分别命名位CR0、CR1、CR2和CR3。但CR1被保留,供今后开发的处理器使用,在80386中不能使用CR1,否则会引起无效指令操作异常。CR0包括指示处理器工作方式的控制位,包含启用和禁止分页管理机制的控制位,包含控制浮点协处理器操作的控制位。CR2及CR3由分页管理机制使用。CR0中的位5—位3 0及CR3中的位0至位11是保留位,这些位不能是随意值,必须为0。 控制寄存器CR0的低16位等同于80286的机器状态字MSW。 1.保护控制位 控制寄存器CR0中的位0用PE标记,位31用PG标记,这两个位控制分段和分页管理机制的操作,所以把它们称为保护控制位。PE控制分段管理机制。PE=0,处理器运行于实模式;PE=1,处理器运行于保护方式。PG控制分页管理机制。PG=0,禁用分页管理机制,此时分段管理机制产生的线性地址直接作为物理地址使用;PG=1,启用分页管理机制,此时线性地址经分页管理机制转换位物理地址。关于分页管理机制的具体介绍在后面的文章中进行。 下表列出了通过使用PE和PG位选择的处理器工作方式。由于只有在保护方式下才可启用分页机制,所以尽管两个位分别为0和1共可以有四种组合,但只有三种组合方式有效。

寄存器(register)

寄存器 Scope of register: 寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。 1、寄存器- 特点及原理 寄存器又分为内部寄存器与外部寄存器,所谓内部寄存器,其实也是一些小的存储单元,也能存储数据。但同存储器相比,寄存器又有自己独有的特点: ①寄存器位于CPU内部,数量很少,仅十四个; ②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据; ③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。 寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。有些时候我们常把外部寄存器就称为“端口”,这种说法不太严格,但经常这样说。 外部寄存器虽然也用于存放数据,但是它保存的数据具有特殊的用途。某些寄存器中各个位的0、1状态反映了外部设备的工作状态或方式;还有一些寄存器中的各个位可对外部设备进行控制;也有一些端口作为CPU同外部设备交换数据的通路。所以说,端口是CPU和外设间的联系桥梁。CPU对端口(Ports)的访问也是依据端口的“编号”(地址),这一点又和访问存储器一样。不过考虑到机器所联接的外设数量并不多,所以在设计机器的时候仅安排了1024个端口

51串口控制寄存器

SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为98H,位地址为98H~9FH。寄存器的内容及位地址表示如下: 各位的说明如下: 1) SM0 、SM1——串行口工作方式选择位 其状态组合和对应工作方式为: SM0 SM1工作方式 0 0 方式0 0 1 方式1 1 0 方式2 1 1 方式3 2) SM2——允许方式2、3的多机通信控制位 在方式2和3中,若SM2=1且接收到的第九位数据(RB8)为1,才将接收到的前8 位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8位数据。若SM2 =0,则不论第九位数据(RB8)为1还是为0,都将前8位送入接收SBUF中,并产 生中断请求。 方式0时,SM2必须置0。

3) REN——允许接收位 REN=0 禁止接收数据 REN=1 允许接收数据 4) TB8——发送数据位8 在方式2、3时,TB8的内容是要发送的第9位数据,其值由用户通过软件来设置。5) RB8——接收数据位8 在方式2、3时,RB8是接收的第9位数据。 在方式1时,RB8是接收的停止位 在方式0时,不使用RB8 6) TI——发送中断标志位 在方式0时,发送完第8位数据后,该位由硬件置位 在其它方式下,于发送停止位之后,由硬件置位。 因此,TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。 TI由软件清“0”。 7) RI——接收中断标志位 在方式0时,接收完第8位数据后,该位由硬件置位。 在其它方式下,于接收到停止位之时,该位由硬件置位。 因此,RI=1表示帧接收结束,其状态既可供软件查询使用,也可请求中断。 RI由软件清“0”。

寄存器简单理解

GPIOB_BASE是一个地址,这个地址是GPIOB一系列寄存器的首地址,后面地址依次是GPIOB 的寄存器,将这个地址转换为结构体形式,并将后面寄存器按顺序定义在结构体里面,这样访问寄存器就可以通过引用结构体的形式了而不必书写寄存器的地址来访问寄存器。 寄存器用途: 1.可将寄存器内的数据执行算术及逻辑运算; 2.存于寄存器内的地址可用来指向内存的某个位置,即寻址; 3.可以用来读写数据到电脑的周边设备。 AX 累加器,得名原因是最初常使用ADD AX,n这样的指令 CX 计数器,得名原因是最常使用CX的值作为重复操作的次数 BX 常用作地址寄存器,如MOV AX,[BX],把BX所指地址中的数取到AX中去 DX 通用寄存器 所讲的寄存器都是以x86为基础的,那么这种CPU内,寄存器可分为以下几种: 1.EAX、EBX、ECX、EDX等通用寄存器——从通用上来讲,它所存储的东西,只要它的容积所容许的话,什么都是可以存储的; 2.CS、SS、ES等段寄存器——它所存储的只能是地址,它的作用是从寻址上可以体现出来; 3.EIP,也称为指令指针 4.EFLAGS寄存器,俗称为标志寄存器——所存储的是与CPU的每一个执行的指令有关。是关系到CPU每一个指令的执行相关内容与特殊的关联,即CPU所执行的指令是否违规,它的指令是否有进位,它的指令是否有溢出,都是在标志寄存器中能表现与表达出来; 5.浮点单元,这里面之所以只浮点单元,是因为在它里面还有一些小的寄存分类,主要是数学上的浮点上的计算 6.MMX指令使用的8个64位寄存器 7.单指令、多数据操作(SIMD,single-instruction,multiple-data)使用的8个128位XMM寄存器

51系列单片机寄存器详解

AUXR:辅助寄存器 字节地址=8EH,不可位寻址 - - - WDIDLE DISRTO - - DISALE WDIDLE:WTD在空闲模式下的禁止/允许位 当WDIDLE=0时,WDT在空闲模式下继续计数 当WDIDLE=1时,WDT在空闲模式下暂停计数 DISRTO:禁止/允许WDT溢出时的复位输出 当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲 当DISRT0=1时,RST引脚为输入脚 DISALE :ALE禁止/允许位 当DISALE=0时,ALE有效,发出恒定频率脉冲 当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号 AUXR1:辅助寄存器1字节地址A2,不可位寻 - - - -- - - DPS DPS:数据指针寄存器选择位 当DPS=0时,选择数据指针寄存器DPRT0 DPRT1时,选择数据指针寄存器DPS 当= PSW:程序状态字 CY——进位标记 AC——半进位标记 F0——用户设定标记 RS1、RS0——4个工作寄存器区的选择位。 VO——溢出标记 P——奇偶校验标记 PCON:电源控制器及波特率选择寄存器 字节地址=87H,不可位寻址 SMOD - - POF GF1 GF0 PD IDL SMOD——波特率倍增位 GF1、GF0——用户通用标记 PD——掉电方式控制位,PD=1时进入掉电模式 IDL——空闲方式控制位,IDL=1时进入空闲方式 在AT89S51中PCON.4是电源断电标记位POF,上电是为1 IE:中断允许控制寄存器

EA:中断允许总控制位 当EA=0时,中断总禁止。 当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。 EX0( EX1):外部中断允许控制位 当EX0( EX1)=0 禁止外中断 当EX0( EX1)=1 允许外中断 ET0(EX1):定时/计数中断允许控制位 当ET0(ET1)=0 禁止定时(或计数)中断 当ET0(ET1)=1 允许定时(或计数)中断 ET2:定时器2中断允许控制位,在AT89S52、AT89C52中 ES:串行中断允许控制位 当ES=0 禁止串行中断 当ES=1 允许串行中断 IP:中断优先级控制寄存器 PX0——外部中断0优先级设定位 PT0——定时中断0优先级设定位 PX1——外部中断1优先级设定位 PT1——定时中断1优先级设定位 PS——串口中断优先级设定位 优先级设定位2PT2——定时器SCON:串行口控制寄存器 SM0、SM1:串行口工作方式选择位 SM2:多机通信控制位 REN:允许/禁止串行口接收的控制位 TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。

msp430状态寄存器介绍概括

寄存器实在太多了。。我有个文档给你看看吧、、 MSP430寄存器中文注释---P1/2口(带中断功能) /************************************************************ * DIGITAL I/O Port1/2 寄存器定义有中断功能 ************************************************************/ #define P1IN_ 0x0020 /* P1 输入寄存器*/ const sfrb P1IN = P1IN_; #define P1OUT_ 0x0021 /* P1 输出寄存器*/ sfrb P1OUT = P1OUT_; #define P1DIR_ 0x0022 /* P1 方向选择寄存器*/ sfrb P1DIR = P1DIR_; #define P1IFG_ 0x0023 /* P1 中断标志寄存器*/ sfrb P1IFG = P1IFG_; #define P1IES_ 0x0024 /* P1 中断边沿选择寄存器*/ sfrb P1IES = P1IES_; #define P1IE_ 0x0025 /* P1 中断使能寄存器*/ sfrb P1IE = P1IE_; #define P1SEL_ 0x0026 /* P1 功能选择寄存器*/ sfrb P1SEL = P1SEL_; #define P2IN_ 0x0028 /* P2 输入寄存器*/ const sfrb P2IN = P2IN_; #define P2OUT_ 0x0029 /* P2 输出寄存器*/ sfrb P2OUT = P2OUT_; #define P2DIR_ 0x002A /* P2 方向选择寄存器*/ sfrb P2DIR = P2DIR_; #define P2IFG_ 0x002B /* P2 中断标志寄存器*/ sfrb P2IFG = P2IFG_; #define P2IES_ 0x002C /* P2 中断边沿选择寄存器*/ sfrb P2IES = P2IES_; #define P2IE_ 0x002D /* P2 中断使能寄存器*/ sfrb P2IE = P2IE_; #define P2SEL_ 0x002E /* P2 功能选择寄存器*/ sfrb P2SEL = P2SEL_; MSP430寄存器中文注释---P3/4口(无中断功能) /************************************************************ * DIGITAL I/O Port3/4寄存器定义无中断功能 ************************************************************/ #define P3IN_ 0x0018 /* P3 输入寄存器*/

控制寄存器和系统地址寄存器

二.控制寄存器和系统地址寄存器 80386控制寄存器和系统地址寄存器如下表所示。它们用于控制工作方式,控制分段管理机制及分页管理机制的实施。 控制寄存器CRx BIT31 BIT30—BIT12 BIT11—BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 CR0 PG 0000000000000000 ET TS EM MP PE CR1 保留 CR2 页故障线性地址 CR3 页目录表物理页码000000000000 BIT47—BIT16 BIT15—BIT0 全局描述符表寄存器GDTR 基地址界限中断描述符表寄存器IDTR 基地址界限 BIT15—BIT0 局部描述符表寄存器LDTR 选择子 任务状态段寄存器TR 选择子BIT31—BIT0 BIT31—BIT0 BIT11—BIT0 基地址界限属性 基地址界限属性 <一>控制寄存器 从上表可见,80386有四个32位的控制寄存器,分别命名位CR0、CR1、CR2和CR3。但CR1被保留,供今后开发的处理器使用,在80386中不能使用CR1,否则会引起无效指令操作异常。CR0包括指示处理器工作方式的控制位,包含启用和禁止分页管理机制的控制位,包含控制浮点协处理器操作的控制位。CR2及CR3由分页管理机制使用。CR0中的位5—位30及CR3中的位0至位11是保留位,这些位不能是随意值,必须为0。 控制寄存器CR0的低16位等同于80286的机器状态字MSW。 1.保护控制位 控制寄存器CR0中的位0用PE标记,位31用PG标记,这两个位控制分段和分页管理机制的操作,所以把它们称为保护控制位。PE控制分段管理机制。PE=0,处理器运行于实模式;PE=1,处理器运行于保护方式。PG控制分页管理机制。PG=0,禁用分页管理机制,此时分段管理机制产生的线性地址直接作为物理地址使用;PG=1,启用分页管理机制,此时线性地址经分页管理机制转换位物理地址。关于分页管理机制的具体介绍在后面的文章中进行。 下表列出了通过使用PE和PG位选择的处理器工作方式。由于只有在保护方式下才可启用分页机制,所以尽管两个位分别为0和1共可以有四种组合,但只有三种组合方式有效。PE=0且PG=1是无效组合,因此,用PG为1且PE为0的值装入CR0寄存器将引起通用保护异常。 需要注意的是,PG位的改变将使系统启用或禁用分页机制,因而只有当所执行的程序的代码和至少有一部分数据在线性地址空间和物理地址空间具有相同的地址的情况下,才能改变PG位。

特殊功能寄存器地址与控制位

/************************************************************ * 特殊功能寄存器地址和控制位 ************************************************************/ /*中断使能1*/ #define IE1_ 0x0000 sfrb IE1 = IE1_; #define WDTIE 0x01 /*看门狗中断使能*/ #define OFIE 0x02 /*外部晶振故障中断使能*/ #define NMIIE 0x10 /*非屏蔽中断使能*/ #define ACCVIE 0x20 /*可屏蔽中断使能/flash写中断错误*/ #define URXIE0 0x40 /*串口0接收中断使能*/ #define UTXIE0 0x80 /*串口0发送中断使能*/ /*中断标志1*/ #define IFG1_ 0x0002 sfrb IFG1 = IFG1_; #define WDTIFG 0x01 /*看门狗中断标志*/ #define OFIFG 0x02 /*外部晶振故障中断标志*/ #define NMIIFG 0x10 /*非屏蔽中断标志*/ #define URXIFG0 0x40 /*串口0接收中断标志*/ #define UTXIFG0 0x80 /*串口0发送中断标志*/ /* 中断模式使能1 */ #define ME1_ 0x0004 sfrb ME1 = ME1_; #define URXE0 0x40 /* 串口0接收中断模式使能 */ #define USPIE0 0x40 /* 同步中断模式使能 */ #define UTXE0 0x80 /* 串口0发送中断模式使能 */ /* 中断使能2 */ #define IE2_ 0x0001 sfrb IE2 = IE2_; #define URXIE1 0x10 /* 串口1接收中断使能 */ #define UTXIE1 0x20 /* 串口1发送中断使能 */ /* 中断标志2 */ #define IFG2_ 0x0003 sfrb IFG2 = IFG2_; #define URXIFG1 0x10 /* 串口1接收中断标志 */ #define UTXIFG1 0x20 /* 串口1发送中断标志 */ /* 中断模式使能2 */ #define ME2_ 0x0005 sfrb ME2 = ME2_; #define URXE1 0x10 /* 串口1接收中断模式使能 */ #define USPIE1 0x10 /* 同步中断模式使能 */ #define UTXE1 0x20 /* 串口1发送中断模式使能 */ /************************************************************

UART寄存器介绍

UART寄存器介绍 UARTn_BR: UART波特率寄存器 UARTn_BR[15:0]: 由定时器的装入寄存器定时装入相应内容。 UARTn_CR.Run=0可以装入直到UARTn_CR.Run=1才写入无效 UARTn_TxBUFR:UART传输寄存器 UARTn_TxBUFR[8]: 传输数据第八位或者奇偶校验位或者唤醒位或者未定义的位有相应操作模式决定 1.如果是001模式则此位写0 2.如果是8+校验111模式则此位由UART自己处理写入软件操作无效 UARTn_TxBUFR[7]: 传输数据第七位或者奇偶校验位 1.如果是7+校验011模式同样此位由UART自己处理写入软件操作无效 UARTn_TxBUFR[6:0]:数据位 UARTn_RxBuffer: UART接收寄存器 RX[9]:桢错误标志1表示此桢有问题 RX[8]:接收数据位8,或者奇偶校验位或者唤醒位

RX[7]:接收数据位7,或者奇偶校验位 RX[6:0]:数据位 UARTn_CR:UART控制寄存器 CR[15-11]保留都是0 CR[10]FifoEnble队列模式0关闭表示TxFIFO认为是包含了16位数据才是满栈 1是开启表示TxFIFO认为当前就是才是满栈直接置TxFULL位 CR[9]SCENBLE 智能卡关闭还是开启不使用则置0 CR[8]RxEnble 接收功能关闭开启由下降沿来触发RXD脚初始化 CR[7]Run=0波特率无用=1则有用 CR[6]LoopBack=0标准的接收和发送模式=1是特殊模式。此位只由UART无效被改变 CR[5]ParityOdd选择奇偶校验=0则为偶校验=1为奇校验CR[43]StopBits 00 0.5停止位01是1个停止位10是1.5个11是2个 CR[2:0] MODE 5种模式 UARTn_IER UART的中断允许寄存器 15-9保留位为0 8 RxHalfFullIE 接收存储器超过8位则置

寄存器与7种寻址方式

一、寄存器 总共有14个16位寄存器,8个8位寄存器 通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX和AL又称累加器) BH(8位) BL(8位) BX(16位) (BX又称基址寄存器,唯一作为存储器指针使用寄存器) CH(8位) CL(8位) CX(16位) (CX用于字符串操作,控制循环的次数,CL 用于移位) DH(8位) DL(8位) DX(16位) (DX一般用来做32位的乘除法时存放被除数或者保留余数) 指针寄存器: SP 堆栈指针(存放栈顶地址) BP 基址指针(存放堆栈基址偏移) 变址寄存器:主要用于存放某个存储单元地址的偏移,或某组存储单元开始地址的偏移, 即作为存储器(短)指针使用。作为通用寄存器,它们可以保存16位算术逻辑运算中的操 作数和运算结果,有时运算结果就是需要的存储单元地址的偏移. SI 源地址(源变址寄存器) DI 目的地址(目的变址寄存器) 控制寄存器: IP 指令指针 FLAG 标志寄存器 ①进位标志CF,记录运算时最高有效位产生的进位值。

②符号标志SF,记录运算结果的符号。结果为负时置1,否则置0。 ③零标志ZF,运算结果为0时ZF位置1,否则置0。 ④溢出标志OF,在运算过程中,如操作数超出了机器可表示数的范围称为溢出。溢出时OF位置1,否则置0。 ⑤辅助进位标志AF,记录运算时第3位(半个字节)产生的进位值。 ⑥奇偶标志PF,用来为机器中传送信息时可能产生的代码出错情况提供检验条件。当结果操作数中1的个数为偶数时置1,否则置0。 段寄存器 CS 代码段IP DS 数据段 SS 堆栈段SP BP ES 附加段 二、七种寻址方式: 1、立即寻址方式: 操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段。 这种操作数成为立即数。立即数可以是8位的,也可以是16位的。 例如: 指令: MOV AX,1234H 则: AX = 1234H 2、寄存器寻址方式: 操作数在CPU内部的寄存器中,指令指定寄存器号。 对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。对于8位操作数,寄存器可以是AL 、AH、BL、BH、CL、CH、DL、DH。 这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数 因而可以取得较高的运算数度。

控制寄存器配置脚本

AXD调试时,初始化ARM处理器的脚本 2011-03-24 21:44 老师给的东西,标记一下,省的丢了。以前不知道这是干什么用的,现在知道啦,初始化处理器的。 ARM上电以后没有做过任何的初始化。一般会通过执行一个脚本来对ARM做一个基本的初始化。脚本一 般就是一个txt文件。 使用方法:AXD==>>options==>>configure interface==>>session File==>>Run configure Script==>>Browser 文件如下: Setmem 0x53000000 0x00000000 32 Setmem 0x4A000008 0xFFFFFFFF 32 Setmem 0x4A00001C 0x000007FF 32 Setmem 0x53000000 0x00000000 32 Setmem 0x56000050 0x000055AA 32 Setmem 0x4C000014 0x00000007 32 Setmem 0x4C000000 0x00FFFFFF 32 Setmem 0x4C000004 0x00061012 32 Setmem 0x4C000008 0x00040042 32 Setmem 0x48000000 0x22111120 32 Setmem 0x48000004 0x00002F50 32 Setmem 0x48000008 0x00000700 32 Setmem 0x4800000C 0x00000700 32 Setmem 0x48000010 0x00000700 32 Setmem 0x48000014 0x00000700 32

14、芯片与寄存器的介绍

理解芯片控制的原理 如果要说做单片机很难吗?其实并不难,用3句话就可以讲明白: 第1句话:芯片管脚不是输入,就是输出。 我们所有的程序,用单片机控制的产品,以及外设,无非就是控制芯片的各个管脚输入或者输出两个状态;例如,芯片发送数据就是输出;芯片驱动一个产品,也是输出;芯片接收数据就是输入;单片机对一个存储芯片写输入,可以理解为单片机与存储芯片连接的管脚输出状态,输出数据到存储芯片的管脚上,而存储芯片此时它的芯片对应管脚被配置成输入,将数据写入到芯片内部。 所以说,芯片管脚不是输入,就是输出,当然,如果你不使用这个管脚,也可以将它配置成某一种中间状态,免得干扰了外界,影响了PCB板上的其他元器件状态。 第2句话:芯片管脚不是高电平,就是低电平。 无论管脚是输入还是输出,它的目的是传输数据,传输信息,所以要么是高电平,要么低电平,通过010101这样的数据来传输它想传输的内容;这个就是所谓的二进制。 第3句话:传输协议。 什么是传输协议,比如与串口芯片通信,那么就要是串口协议的;如果是I2C 协议的EERPOM,那么就是I2C协议;还有其他一些比如485协议,CAN协议,USB协议,SD卡的SDIO协议…….等等数不胜数。 而这些协议,无非就是按照预先规定的表达方式进行通信,比如举个例子,我约定先连续发4个1,,然后再发4个0,就表示芯片A要开始发数据给芯片B 了,即芯片A通过它的芯片管脚发‘11110000’给到芯片B的时候,那么芯片B 就知道芯片A要给它真正的数据,它就要做好准备工作,准备好之后,芯片B 就会给芯片A一个回应,当芯片A收到芯片B的回应,就正式开始发数据。 这样通信双方之间的协商规定,就构成了协议,经过这么多年,就形成了我们所常见到的串口协议,CAN协议,USB协议(像USB协议又分为USB1.0协议,USB2.0协议,USB3.0协议,版本越高,速度就越快,协议进行优化后,通信效率也变高了)。 不知道大家理解了没有呢?所以总结下来,一个芯片最简单的外设莫过于 I/O口的高低电平控制,我们这里将详细讲解一下如何用一个I/O口去控制一个LED灯的亮灭。

段寄存器的工作原理

一、段寄存器的产生 段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。 数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总线是16位。 地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。地址总线的宽度如果与ALU相同当然是不错的办法,这样CPU的结构比较均衡,寻址可以在单个指令周期内完成,效率最高;而且从软件的解决来看,一个变量地址的长度可以用整型或者长整型来表示会比较方便。 但是,地址总线的宽度还要受制于需求,因为地址总线的宽度决定了系统可寻址的范围,即可以支持多少内存。如果地址总线太窄的话,可寻址范围会很小。如果地址总线设计为16位的话,可寻址空间是2^16=64KB,这在当时被认为是不够的;Intel最终决定要让8086的地址空间为1M,也就是20位地址总线。 地址总线宽度大于数据总线会带来一些麻烦,ALU无法在单个指令周期里完成对地址数据的运算。有一些容易想到的可行的办法,比如定义一个新的寄存器专门用于存放地址的高4位,但这样增加了计算的复杂性,程序员要增加成倍的汇编代码来操作地址数据而且无法保持兼容性。 Intel想到了一个折中的办法:把内存分段,并设计了4个段寄存器,CS,DS,ES和SS,分别用于指令、数据、其它和堆栈。把内存分为很多段,每一段有一个段基址,当然段基址也是一个20位的内存地址。不过段寄存器仍然是16位的,它的内容代表了段基址的高16位,这个16位的地址后面再加上4个0就构成20位的段基址。而原来的16位地址只是段内的偏移量。这样,一个完整的物理内存地址就由两部分组成,高16位的段基址和低16位的段内偏移量,当然它们有12位是重叠的,它们两部分相加在一起,才构成完整的物理地址。 Base b15 ~ b12 b11 ~ b0 Offset o15 ~ o4 o3 ~ o0 Address a19 ~ a0 这种寻址模式也就是“实地址模式”。在8086中,段寄存器还只是一个单纯的16位寄存器,而且操作寄存器的指令也不是特权指令。通过设置段寄存器和段内偏移,程序就可以访问整个

AD9833详细原理解析(附内部寄存器说明)

基于AD9833的高精度可编程波形发生器系统设计 来源:国外电子元器件 1 引言 频率合成器在通信、雷达和导航等设备中既是发射机的激励信号源,又是接收机的本地振荡器;在电子对抗设备中可作为干扰信号发生器;在测试设备中则作为标准信号源。因此频率合成器被称为许多电子系统的“心脏”。而设计高精度,易于操作的频率合成器则是核心,因此,这里提出了一种基于DDS AD9833的高精度波形发生器系统解决方案。用户可直接编辑设置所需的波形频率和峰峰值等信息,利用串口将配置信息发送到电路板,实时控制波形。该系统设计已成功应用于某型雷达测速仪测试设备。 2 AD9833简介 AD9833是ADI公司的一款低功耗、DDS器件,能够输出正弦波、三角波、方波。AD9833无需外接元件,输出频率和相位可通过软件编程设置,易于调节。其频率寄存器为28位,主频时钟为25 MHz时,其精度为0.1 Hz;主频时钟为l MHz时.精度可达0.004 Hzt2。 AD9833内部有5个可编程寄存器:1个16位控制寄存器,用于设置器件_T 作模式;2个28位频率寄存器和2个12位相位寄存器,分别用于设置器件输出正弦波的频率和相位。AD9833有3根串行接口线,可与SPI,QSPI,MICRO-WIRE 和DSP接口标准相兼容。在串口时钟SCLK的作用下,数据是以16位方式加载至设备。 AD9833的内部电路主要有数控振荡器(NCO)、频率和相位调节器、SineROM、D/A转换器、电压调整器。AD9833的核心是28位的相位累加器,它由加法器和相位寄存器组成,而相位寄存器是按每个时钟增加步长,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正弦查询表包含1个周期正弦波的数字幅值信息,每个地址对应正弦波中O。~360°内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅值的数字量信号,驱动D/A转换器输出模拟量。 输出正弦波频率为: 式中:FREQREG为频率控制字,由频率寄存器FREQOREG或FREQlREG的值给定,其范围为0≤M<228一1。fMCLK为参考时钟频率。 输出正弦波的相位为2π/4 096xPHASEREG,其中PHASEREG是所选相位寄存器的值。输出正弦波的峰峰值固定.约600 mV,且正弦波不是标准正弦波,即波谷是0 V,而不是负电压。因此,输出正弦波为: 式中:K约600 mV,与器件内部参考电压有关。

STMf寄存器说明

C R C寄存器(一种算法,用以确认发送过程中是否出错) 数据寄存器:CRC_DR 可读写,复位值:0xFFFFFFFF; 独立数据寄存器:CRC_IDR 临时存放任何8位数据; 控制寄存器:CRC_CR 只零位可用,用于复位CRC,对其写1复位,由硬件清零; PWR电源控制 (控制和管理电源) 电源控制寄存器:PWR_CR 控制选择系统的电源 电源控制/状态寄存器:PWR_CSR 睡眠或待机模式电源控制 BKP备份寄存器 (用以控制和管理备份数据) 备份数据寄存器x:BKP_DRx(x=1…10) 10个16位数据寄存器用以存储用户数据 RTC时钟校准寄存器:BKP_RTCCR 控制实时时钟的运行 备份控制寄存器:BKP_CR 控制选择清除备份数据的类型 备份控制/状态寄存器:BKP_CSR 对侵入事件的控制 RCC寄存器 (时钟的选择、复位、分频) 时钟控制寄存器(RCC_CR)

各时钟状态显示 时钟配置寄存器(RCC_CFGR) 时钟分频 时钟中断寄存器(RCC_CIR) 控制就绪中断使能与否 APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR) 复位APB各功能寄存器 AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制 APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制 备份域控制寄存器(RCC_BDCR) 备份域时钟控制 控制/状态寄存器(RCC_CSR) 复位标志寄存器 AHB外设时钟复位寄存器(RCC_AHBRSTR) 复位以太网MAC模块 时钟配置寄存器2(RCC_CFGR2) 时钟选择与分频 GPIO寄存器(设置端口的功能) 端口配置低寄存器(GPIOx_CRL)(x=A..E) 端口配置高寄存器(GPIOx_CRH)(x=A..E) 端口输入数据寄存器(GPIOx_IDR)(x=A..E) 只读数据,读出IO口的状态 端口输出数据寄存器(GPIOx_ODR)(x=A..E) 可读可写

【电气控制与PLC】课后习题及答案

【电气控制与PLC】课后习题及答案 第一章课后习题参考答案 2、何谓电磁机构的吸力特性与反力特性?吸力特性与反力特性 之间应满足怎样的配合关系? 答:电磁机构使衔铁吸合的力与气隙长度的关系曲线称作吸力特性;电磁机构使衔铁释放(复位)的力与气隙长度的关系曲线称作反力特性。 电磁机构欲使衔铁吸合,在整个吸合过程中,吸力都必须大于反力。反映在特性图上就是要保持吸力特性在反力特性的上方且彼此靠近。 3、单相交流电磁铁的短路环断裂或脱落后,在工作中会出现什 么现象?为什么? 答:在工作中会出现衔铁产生强烈的振动并发出噪声,甚至使铁芯松散得到现象。 原因是:电磁机构在工作中,衔铁始终受到反力Fr的作用。 由于交流磁通过零时吸力也为零,吸合后的衔铁在反力Fr作用下被拉开。磁通过零后吸力增大,当吸力大于反力时衔铁又被吸合。这样,在交流电每周期内衔铁吸力要两次过零,如此周而复始,使衔铁产生强烈的振动并发出噪声,甚至使铁芯松散。 5、接触器的作用是什么?根据结构特征如何区分交、直流接触 器? 答:接触器的作用是控制电动机的启停、正反转、制动和调速等。 交流接触器的铁芯用硅钢片叠铆而成,而且它的激磁线圈设有骨架,使铁芯与线圈隔离并将线圈制成短而厚的矮胖型,这样有利于铁芯和线圈的散热。 直流接触器的铁芯通常使用整块钢材或工程纯铁制成,而且它的激磁线圈制成高而薄的瘦高型,且不设线圈骨架,使线圈与铁芯直接接触,易于散热。 8、热继电器在电路中的作用是什么?带断相保护和不带断相保

护的三相式热继电器各用在什么场合? 答:热继电器利用电流的热效应原理以及发热元件热膨胀原理设计,可以实现三相电动机的过载保护。 三角形接法的电动机必须用带断相保护的三相式热继电器;Y形接法的电动机可用不带断相保护的三相式热继电器。 9、说明热继电器和熔断器保护功能的不同之处。 答:热继电器在电路中起过载保护的作用,它利用的是双金属片的热膨胀原理,并且它的动作有一定的延迟性;熔断器在电路中起短路保护的作用,它利用的是熔丝的热熔断原理,它的动作具有瞬时性。 11、中间继电器与接触器有何异同? 答:相同点:输入信号都是电压;都是利用电磁机构的工作原理。 不同点:中间继电器用于小电流控制电路中,起信号传递、放大、翻转和分路等作用,主要用于扩展触点数量,实现逻辑控制; 接触器用于频繁远距离接通或分断电动机主电路或其他负载电路,是执行电器,分主、辅助触点,大多有灭弧装置 第二章作业参考答案 1、三相笼型异步电动机在什么条件下可直接启动?试设计带有短路、过载、失压保护的三相笼型异步电动机直接启动的主电路和控制电路,对所设计的电路进行简要说明,并指出哪些元器件在电路中完成了哪些保护功能? 答:小容量的三相笼型异步电动机(<10kW)

ARM寄存器简介

ARM寄存器简介 ARM处理器含有37个寄存器,这些寄存器包括以下两类寄存器。 (1)31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。 (2)6个状态寄存器:状态寄存器也是32位的寄存器,但是只使用了其中的12位。 1.通用寄存器 在ARM处理器的7种模式下都有一组对应的寄存器组。在任意时刻,可见的寄存器组包括15个通用寄存器R0~R14、一个或两个状态寄存器和PC。在所有的寄存器中,有些是各种模式下共用的同一个物理寄存器,有些是各种模式自己独立拥有的物理寄存器。详细如表1-3所示。 表1-3 ARM物理寄存器 用户模式系统模 式特权模式中止模式未定义指令 模 外部中断模快速中断模 R0 R0 R0 R0 R0 R0 R0 R1 R1 R1 R1 R1 R1 R1 R2 R2 R2 R2 R2 R2 R2 R3 R3 R3 R3 R3 R3 R3 R4 R4 R4 R4 R4 R4 R4 R5 R5 R5 R5 R5 R5 R5 R6 R6 R6 R6 R6 R6 R6 R7 R7 R7 R7 R7 R7 R7 R8 R8 R8 R8 R8 R8 R8_fiq R9 R9 R9 R9 R9 R9 R9_fiq R10 R10 R10 R10 R10 R10 R10_fiq R11 R11 R11 R11 R11 R11 R11_fiq R12 R12 R12 R12 R12 R12 R12_fiq R13 R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14 R14 R14_svc R14_abt R14_und R14_irq R14_fiq PC PC PC PC PC PC PC CPSR CPSR CPSR CPSR CPSR CPSR CPSR SPSR_svc S PSR_abt SPSR_und SPSR_irq SPSR_fiq 通用寄存器通常又可以分为下面3类。 n 未备份寄存器:包括R0~R7。 n 备份寄存器:包括R8~R14。

相关主题
文本预览
相关文档 最新文档