精华内容
下载资源
问答
  • 在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,寄存器电路就是实现寄存功能的电路,是数字逻辑电路的基础模块。[1]中文名寄存器电路外文名register circuit拼音jì cún qì ...

    在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,寄存器电路就是实现寄存功能的电路,是数字逻辑电路的基础模块。[1]

    中文名

    寄存器电路

    外文名

    register circuit

    拼    音

    jì cún qì diàn lù定    义

    实现寄存功能的电路

    属    性

    数字逻辑电路的基础模块

    应用学科

    计算机

    寄存器电路概述

    编辑

    语音

    任何现代的数字电路系统,特别是一些大型的数字处理系统,往往不可能一次性地把所有的数据都处理好,因此在处理的过程中都必须把需要处理的某些数据、代码先寄存起来,以便在需要的时候随时取用。

    在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,实现寄存功能的电路称为寄存器。寄存器是一种最基本的时序逻辑电路,在各种数字电路系统中几乎是无所不在,使用非常广泛。常用的集成电路寄存器按能够寄存数据的位数来命名,如4位寄存器、8位寄存器、16位寄存器等。

    寄存器按它具备的功能可分为两大类:数码寄存器和移位寄存器。若按照寄存器内部组成电路所使用的晶体管不同种类来区分,可以分成如晶体管一晶体管逻辑(TTL)、互补场效应晶体管逻辑(CMOS)等许多种类,目前使用最多的就是TTL寄存器和CMOS寄存器,它们都是中、小规模的集成电路器件。[1]

    14d966bbde9c93cc5939c6005482e576.png

    图1寄存器电路是数字逻辑电路的基础模块。寄存器用于寄存一组二值代码,它被广泛地用于各类数字系统和数字计算机中。由于一个触发器能够存储一位二值代码,所以用N个触发器能够存储N位二值代码。对于寄存器中的触发器,只要求它们具有置高电平1、置低电平0的功能就可以了,因此,无论是用同步R-S结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器电路。

    在计算机 CPU 中,为配合全加器的算术运算, N 个触发器串联可组成移位寄存器。例如,由四位D触发器组成的向有数据移位的移位寄存器以及移位波形图如图1所示。[2]

    寄存器电路基本寄存器电路

    编辑

    语音

    寄存器电路定义

    65b094887da72797b56375bc2c9b39f4.png

    图2基本寄存器是由触发器组成的,一个触发器就是一个寄存器,它可以储存一位二进制数码。需要存储四位二进制数码时,只要把四个触发器并联起来,就可以组成一个四位二进制寄存器,它能接受和存储四位二进制数码。图2是由4个D触发器构成的基本寄存器逻辑电路,每个触发器的cP端并联起来作为控制端。需要存储的数码加到触发器的D输入端。四个触发器的CP端接在一起,成为寄存器的控制端,需要存储的数码加到触发器的D输入端。

    寄存器电路特点

    根据D触发器的性质,上述的寄存器有以下基本特点。

    (1)CP=0

    当CP=0时,触发器保持原状态不变,即:bc08d0108a0b8dedf07cc5252edb1d3c.svg

    (2)CP=1

    当CP=1(上升沿)时,触发器的状态为D输入端的状态,即:8ab2222fe0ce5c2dfd305e7fd0228c05.svg

    由此可见,D触发器只在CP=1(上升沿)时,才会接收和存储数码。

    另外,由于4个触发器的9bff704fe8d75e5fab25e1eb058fc1f1.svg端也并联在一起。因此,如果在瓦D端加上负脉冲,就可将全部触发器均置为0态,通常将这一过程称为清零,也叫置0端。

    寄存器电路工作原理

    如果要存储二进制数1001,它们被分别加到触发器的D输入端。当时钟脉冲CP到来时,由于D触发器的特性是在CP=1时,62ba0a7193563c4d690930c9e3e4d8a2.svg,所以在CP脉冲的上升沿时,4个触发器的状态从高位到低位被分别置为1001,只要不出现清零脉冲或新的接收脉冲和数码,寄存器将一直保持这个状态不变,即输入的二进制码1001被存储在该寄存器中。 如果想从寄存器中取出1001数码,则只要从寄存器的各个Q输出端就可以获得。[3]

    寄存器电路移动寄存器电路

    编辑

    语音

    寄存器电路定义

    移位寄存器电路和锁存器电路一样,都是暂时存放数据的部件。数字电路中常要进行加减乘除运算,加法和减法运算通常是用加法器和减法器来完成,而乘除运算则是用移位以后再加减的方法完成的。数字信号在传送时,将数码一位一位按顺序传送的方式叫串行传送,将几位数码同时传送的叫并行传送。因此,对于寄存器电路除要求它能接收、存储和传送数码外,有时还要求它把数码进行移位,这种寄存器电路被称为移位寄存器电路。

    寄存器电路适用场合

    移位寄存器是数字系统中的一个重要部件,应用很广泛。例如在串行运算中,需要用移位寄存器把二进制的数据—位一位依次送入,再用全加器进行运算。运算的结果又一位一位依次存入移位寄存器中。在有些数字装置中,要将并行传送的数据转换成串行传送,或者将串行传送的数据转换成并行传送,要完成这些转换也霈要使用移位寄存器。

    寄存器电路电路特征

    从逻辑结构上看,移位寄存器电路有以下2个显著特征。

    (1)由相同寄存单元组成

    移位寄存器是由相同的寄存单元组成的。一般来说,寄存单元的个数就是移位寄存器的位数。为了完成不同的移位功能,每个寄存单元的输出与其相邻的下一个寄存单元输入之间的连接方式也不同。

    (2)公用时钟

    所有寄存单元公用一个时钟,在公共时钟作用下,各个寄存单元的工作是同步的。每输入一个时钟脉冲,7寄存器的数据就顺序伺左或向右移动一位。寄存单元一般是主从结构的触发器。

    寄存器电路移位寄存器类型

    CMOS移位寄存器属子中规模集成电路,通常可按数据传输方式的不同进行分类,从数据输入方式看,移位寄存器有串行输入和并行输入之分。串行输入就是在时钟脉冲作用下,把要输入的数据从一个输入端依次一位一位地送入寄存器。并行输入就是把要输入的数据从几个输入端同时送入寄存器。

    在CMOS移位寄存器中,有的品种只具有1种输入方式,例如只具有串行输入方式,但也有些品种同时兼有并行和串行2种方式。串行输入的数据加到第一个寄存单元的输入端,在时钟脉冲的作用下输入;数据传送速度较慢。并行输入的数据一般由寄存单元的R、S端送入,传送速度较快。[3]

    寄存器电路寄存器电路建模

    编辑

    语音

    寄存器和组合逻辑是数字逻辑电路的两大基本要素。寄存器一般和同步时序逻辑关联,其特点为仅当时钟的沿(上升沿或下降沿)到达时,才有可能发生输出的改变。根据实现目标不同,寄存器的建模结构略有不同,需要注意如下要点:

    ①寄存器信号声明:寄存器定义是reg型。但是请注意,这个命题的反命题不一定成立。某些信号虽然被定义为reg型,但是最终综合实现结果并不是寄存器,如“cnt—out—plus”虽然被指定为reg型,但是实现时是纯组合逻辑。只有定义为reg型,且always的敏感表为posedge或negedge沿敏感操作时,该信号才是寄存器。

    ②时钟输入:在每个时钟的正沿或负沿对数据进行处理。数据的正沿或负沿起作用,是在always的敏感表中通过posedge和negedge指定的。

    ③异步复位/置位:绝大多数目标器件的寄存器模型都包含异步复位/置位端。异步复位/置位是指无论时钟沿是否有效,当复位/置位信号有效沿到达时,复位/置位立即发挥功能。指定异步复位/置位时,只需在always的敏感表中加入复位/置位信号的有效沿即可。下例描述的异步复位电路是最常用的寄存器复位形式之一。

    ④同步复位/置位:任何寄存器都可实现同步复位/置位功能。指定同步复位/置位时,always的敏感表中仅有时钟沿信号,当同步复位/置位信号变化时,同步复位/置位并不立即发生,仅仅当时钟沿采到同步复位/置位的有效电平时,才会在时钟沿到达时刻进行复位/置位操作。

    ⑤同时使用时钟上升和下降沿的问题:有时因为数据采样或调整数据相位等需求,设计者会在一个always的敏感表中同时使用时钟的posedge和negedge,或者在两个always的敏感表中分别使用时钟的posedge和negedge对某些寄存器电路操作。在这两种描述下,当时钟上沿或下沿到达时,该寄存器电路都会做相应的操作。这个双沿电路往往可以等同于使用了原时钟的倍频时钟的单沿操作电路。对于实现在PLD的设计而言,同时使用时钟的上、下沿往往是不推荐的,因为PLD内嵌的PLL/DLL和一些时钟电路往往只能对时钟的一个沿保证非常好的指标,而另一个沿的抖动、偏斜、斜率等指标不见得非常优化,有时同时使用时钟的正负沿会因时钟的抖动、偏斜、占空比、斜率等问题造成一定的性能恶化。因此推荐的做法是:将原时钟通过PLL/DLL倍频,然后使用倍频时钟的单沿(如上升沿)进行操作。但是电路设计不可一概而论,如果必须使用时钟的双沿对同一个寄存器操作时,请设计者明确此时相当于使用了倍频时钟。[4]

    词条图册

    更多图册

    参考资料

    1.

    穆克.电子电路识读一本通:化学工业出版社,2011-03:120

    2.

    孙一林.微型机系统与接口技术:清华大学出版社,2015-09:18

    3.

    孙余凯.电子电路分析与实践:人民邮电出版社,2010-08

    4.

    EDA先锋工作室.轻松成为设计高手:VERILOG HDL实用精解:北京航空航天大学出版社,2012-06

    展开全文
  • 高丽洁的身材是真好 在之前介绍过上升沿D触发器,本文将D触发器进行稍微改造,则就会创造一个寄存器1中,将三个上升沿D触发器相连接,1中开关是断开的,所以CP=0,三个输出均维持原来的值,无论输入怎样变化,...

    高丽洁的身材是真好

    在之前介绍过上升沿D触发器,本文将D触发器进行稍微改造,则就会创造一个寄存器,图1中,将三个上升沿D触发器相连接,图1中开关是断开的,所以CP=0,三个输出均维持原来的值,无论输入怎样变化,都无意义
    在这里插入图片描述
    现在将输入端的3个比特位分别设置成110,并且开关是断开,则寄存器状态如图2
    在这里插入图片描述
    接下来将开关合并,此时3个CP均由0变成1,产生上升沿,所以每个D触发器的Q都会=D,这时状态如图3
    在这里插入图片描述

    最后,将开关断开,无论输入变成何值,都不影响红色虚线中保存的内容
    在这里插入图片描述
    上述就是寄存器的实现原理,寄存器的电子简化图如下
    在这里插入图片描述

    展开全文
  • 数字电路基本寄存器

    2018-12-16 08:59:38
    1. 实验目的: (1) 学习寄存器的原理和设计方法 (2) 掌握灵活运用Verilog ...(3) 撰写实验报告:含程序源代码、激励代码及其仿真波形、综合得到的电路图、实验结果分析以及对本实验的”思考与探索”部分所作的思考与探索.
  • 微机原理三大内部寄存器思维导

    微机原理三大内部寄存器思维导图在这里插入图片描述

    展开全文
  • 本文在介绍AD9707的工作原理和典型电路的基础上,着重阐述了通过ARM和FPGA两种方式分别配置AD9707内部寄存器的方法,同时给出了两种配置方法基本操作的具体步骤和相应代码。
  •  STM32F1系列IO口的基本结构()IO口内部电路结构) 右侧I/O引脚部分为芯片暴露在外部的引脚 每个引脚在数据手册都有说明是否支持(识别))5V电压 三,PGIO的8种工作方式 4种输入模式 输入浮空 输入上拉 输入下拉...
  • PIC单片机内部寄存器信息汇总

    千次阅读 2019-03-11 12:56:53
     0=关闭内部振荡电路 位2  T1SYNC :TMR1同步/异步计数控制位  1=异步计数模式  0=同步计数模式 位1  TMR1CS :选择TMR1的计数时钟源  1=T1CKI引脚上的上升沿计数  0=内部指令周期计数...

    配置字(__CONFIG):

    1) 芯片的振荡模式选择。

    2) 片内看门狗的启动。

    3) 上电复位延时定时器PWRT的启用。

    4) 低电压检测复位BOR模块的启用。

    5) 代码保护。

    __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ;

     

    _CP_OFF             代码保护关闭

    _WDT_OFF           看门狗关闭

    _BODEN_OFF        

    _PWRTE_ON          上电延时定时器打开

    _XT_OSC             XT振荡模式

    _WRT_OFF            禁止Flash程序空间写操作

    _LVP_OFF            禁止低电压编程

    _CPD_OFF            EEPROM数据读保护关闭

     

    LVP   Low Voltage Program     低电压编程

    CP    Code Protect             代码保护

           Date EE Read Protect     EEPROM数据读保护

            Brown Out Detect

          Power Up Timer

          Watchdog Timer

          Flash Program Write

    外部时钟输入(HS, XT或LP OSC配置)如下图:

    陶瓷ceramic谐振器电容的选择 如下表

    配置字(__CONFIG):

     

    一般情况为: 11  1111  0011  0001    0x3F31  或0x3F71

     

    位13     CP:闪存程序存储器代码保护位      1

              1=代码保护关闭

              0=所有程序存储器代码保护

    位12     未定义:读此位为1              1

    位11     DEBUG:在线调试器模式位       1

              1=禁止在线调试器,RB6和RB7是通用I / O引脚  

              0=在线调试功能开启,RB6和RB7专用于调试

    位10:9  WRT1WRT0:闪存程序存储器的写使能位      11

              PIC16F876A / 877A

              11=写保护关闭,所有的程序存储器可能被写入由EECON控制

              10=0000h-00FFh写保护,0100h-1FFFh写入由EECON控制

              01=0000h-07FFh写保护,0800h-1FFFh写入由EECON控制

              00=0000h-0FFFh写保护,1000h-1FFFh写入由EECON控制

    位8      CPD:数据EEPROM存储器代码保护位       (Code Protection bit)         1

              1=数据EEPROM存储器代码保护关闭

              0=数据EEPROM存储器代码保护功能开启

    位7      LVP:低电压(单电源)在线串行编程使能位   (Low Voltage Program)      0

              1=RB3/PGM引脚有PGM功能,低电压编程启用

              0=RB3是数字I / O 引脚,HV(高电压13V左右) 加到 MCLR必须用于编程

    位6      BOREN:欠压复位使能位(低电压检测复位) (Brown-out Reset(Detect))     0

              1=低电压检测复位BOR(BOD)模块启用

              0=低电压检测复位BOR(BOD)模块关闭

    位5:4    未定义:读此两位均为1               11

    位3      PWRTEN:上电定时器使能位(上电复位延时定时器)  (Power-up Timer)    0

              1=上电定时器关闭

              0=上电定时器开启

    位2      WDT:看门狗定时器使能位    0晶体振荡器电容的选择

              1=看门狗开启                  如右图:

              0=看门狗关闭

    位1:0   Fosc1Fosc0:振荡器选择位   01

              11=RC振荡器

              10=晶体振荡器HS模式。参考振荡频率范围:>2 MHz

              01=晶体振荡器XT模式。参考振荡频率范围:100 kHz ~ 4 MHz    

              00=晶体振荡器LP模式。参考振荡频率范围:<200 kHz

    OPTION_REG寄存器

    位7      RBPU:PORTB输入引脚内部弱上拉使能控制位

              1=所有PORTB的内部弱上拉被禁止

              0=设定为输入状态的引脚内部弱上拉被使能

    位6      INTEDG:选择RB0/INT引脚的中断沿

              1=RB0/INT 上升沿中断

              0=RB0/INT 下降沿中断

    位5      T0CS:选择TMR0的计数时钟源

              1=外部脉冲沿跳变计数

              0=内部指令周期计数

    位4      T0SE:选择计数的外部脉冲沿

              1=T0CKI脉冲上升沿计数

              0=T0CKI脉冲下降沿计数

    位3      PSA:预分频器指派

              1=预分频器分配给看门狗定时器WDT,此时TMR0的计数预分频为1:1

              0=预分频器分配给TMR0

    位2:0   PS2PS0:设定预分频器的分频系数如下表所示

     

    分频设定

    TMR0分频比

    WDT分频比

    000

    1:2

    1:1

    001

    1:4

    1:2

    010

    1:8

    1:4

    011

    1:16

    1:8

    100

    1:32

    1:16

    101

    1:64

    1:32

    110

    1:128

    1:64

    111

    1:256

    1:128

    T1CON寄存器:

     

    位7:6   没有定义,读此两位的结果为0

          

    位5:4   T1CKPS1T1CKPS0:TMR1预分频设置

              11=预分频系数1:8

    10=预分频系数1:4

    01=预分频系数1:2

    00=预分频系数1:1

    位3      T1OSCEN: TMR1内部振荡器控制位

              1=打开内部振荡器,反相放大器工作,需外接晶体产生振荡时钟

              0=关闭内部振荡电路

    位2      T1SYNC:TMR1同步/异步计数控制位

              1=异步计数模式

              0=同步计数模式

    位1      TMR1CS:选择TMR1的计数时钟源

              1=T1CKI引脚上的上升沿计数

              0=内部指令周期计数(Fosc/4)

    位0      TMR1ON:TMR1计数允许/禁止控制位

              1=TMR1可以计数

              0=TMR1计数暂停

    T2CON寄存器:

    位7      没有定义,读此位的结果为0      

    位6:3   TOUTPS3TOUTPS0:TMR2计数溢出后分频设置

              0000=后分频系数1:1

    0001=后分频系数1:2

    ……

    1111=后分频系数1:16

    位2      TMR2ON:TMR2计数允许/禁止控制位

              1=TMR2可以计数

              0=TMR2计数暂停

    位1:0   T2CKPS1T2CKPS0:TMR2预分频设置

              00= 1:1预分频

    01= 1:4预分频

    1x= 1:16预分频

    CCPxCON寄存器:

    位7:6  没有定义,读此两位的结果为0

    位5:4   CCPxXCCPxY:TMR1预分频设置

    捕捉模式:  未用

    比较模式:  未用

    PWM模式:

    PWM模式占空比控制字为10位,最低2位即放在CCPxX:CCPxY中,高8位数据放入专门的一个寄存器CCPRxL

    位3:0   CCPxM2 CCPxM0:CCP模块工作模式选择位

              0000 =关闭所有模式,CCPx模块处于复位状态

              0100 =捕捉模式,每一个上升沿捕捉一次

              0101 =捕捉模式,每一个下降沿捕捉一次

              0110 =捕捉模式,每4个上升沿捕捉一次

              0111 =捕捉模式,每16个上升沿捕捉一次

              1000 =比较模式,预置CCPx引脚输出为0,比较一致时CCPx引脚输出为1

              1001 =比较模式,预置CCPx引脚输出为1,比较一致时CCPx引脚输出为0

              1010 =比较模式,当比较一致时CCPxIF=1产生软中断,CCPx引脚没有变化

              1011 =比较模式,当比较一致时CCPxIF=1且触发特殊事件

              11xx =PWM模式

    INTCON寄存器:

    位7      GIE:全局中断使能控制位

              1=允许中断,但各中断还有独立的使能控制位

              0=禁止所有的中断,不管各自的中断是否允许

    位6      PEIE:外围功能模块中断允许控制位

              1=允许外围功能模块中断

              0=禁止所有外围功能模块中断

    位5      TMR0IET0IE:TMR0中断使能控制位

              1=允许TMR0中断

              0=禁止TMR0中断

    位4      INTE:RB0/INT引脚沿跳变中断允许控制位

              1=允许RB0/INT引脚中断

              0=禁止RB0/INT引脚中断

    位3      RBIE:PORTB引脚状态变化中断使能控制位

              1=允许PORTB状态变化中断

              0=禁止PORTB状态变化中断

    位2      TMR0IFT0IF:TMR0中断标志位

              1=TMR0计数溢出发生中断,必须用软件将其清除

              0=TMR0没有溢出中断

    位1      INTF:RB0/INT引脚沿跳变中断标志

              1=RB0/INT引脚发生中断,必须用软件将其清除

              0=没有发生RB0/INT引脚中断

    位0      RBIF:PROTB引脚状态变化中断标志位

              1=PORTB引脚出现状态变化中断,必须用软件将其清除

              0=PORTB引脚没有发生状态变化中断

    STATUS寄存器:

    PIE1寄存器:

    PIR1寄存器:

    PIE2寄存器:

    PIR2寄存器:

    SSPSTAT寄存器:

    位7      SMP:SPI模式下数据输入采样点控制  (sample采样)

              SPI主模式  (Serial Peripheral interface 串行外围设备接口

              1=输出时间的中点对输入数据采样

              0=输出时间结束时对输入数据采样

              SPI从模式

              此位必须保持为0

    位6      CKE:SPI模式下时钟沿选择,与CKE位一起实现SPI时钟极性的4中模式

              CKP=0      (clock edge 时钟沿

              0=数据在时钟的上升沿时发送

              1=数据在时钟的下降沿时发送

              CKP=1

              0=数据在时钟的下降沿时发送

              1=数据在时钟的上升沿时发送

    位5      D/A:数据/地址控制位,只适用于I2C模式

              0=表明接收或发送的是地址码

              1=表明接收或发送的是普通数据

    位4      P:停止位指示,只适用于I2C模式。当SSP模块没有启用时,此位为0

              1=表明刚才检测到一个停止位(芯片复位后此位为0)

              0=没有检测到停止位

    位3      S:起始位指示,只适用于I2C模式。当SSP模块没有启用时,此位为0

    1=表明刚才检测到一个起始位(芯片复位后此位为0)

              0=没有检测到起始位

    位2      R/W:读/写命令指令,只适用于I2C模式。

              在I2C通信时如果寻址地址匹配,该位就留有读或写的标志。其有效期限到出现下一个起始位/停止位/无应答信号为止

              0=此次I2C通信为写操作

              1=此次I2C通信为读操作,与BF位配合可以判断主器件有/无应答位输出

    位1      UA:地址更新标志,只适用于I2C通信时的10位寻址模式

              0=无需地址更新

              1=表明SSPADD寄存器需要更新地址

    位0      BF:数据缓冲器满标志

              接收时(SPI和I2C)

              0=接收没有完成,SSPBUF寄存器为空

              1=接收已经完成,SSPBUF寄存器满

              发送时(只适用于I2C)

              0=发送完成,SSPBUF寄存器为空

              1=正在发送过程中,SSPBUF寄存器满

     

     

    SSPCONSSPCON1)寄存器:

    位7      WCOL:发送数据写入时的冲突标志

              0=写入时没有冲突发生

              1=当SSPBUF正在发送数据时程序又对其进行数据写入而发送冲突,此位被置位后必须有软件将其清0

    位6      SSPOV:接收数据溢出标志位

              SPI模式

              0=数据接收没有溢出

              1=当SSPBUF寄存器中所接收的数据还没有被读走时,内部的移位寄存器SSPSR内又有新的数据就绪,此时SSPSR内的数据将被丢弃,SSPBUF不会被更新。SPI模式下接收数据溢出只可能发生在从模式下。如果在从模式下只发送数据,发送完毕后应用程序也必须读一次SSPBUF以免发生溢出标志。在主模式下得一次接收(或发送)过程都必须通过写SSPBUF才能启动,故一般不会出现接收溢出,除非你在接收数据到来后故意不去读SSPBUF寄存器。

              I2C模式

              0=接收数据没有溢出

              1=当SSPBUF中原来接收到的数据还没有被取走时又有新的数据被收到。在I2C处于数据发送模式时,此位不起任何作用。但无论是接收还是发送,如果此位被置1,必须用软件将其清0。

    位5      SSPEN:同步串行接口使能控制位

              SPI模式

              1=开启SPI功能,配置芯片的SCK、SDO、SDI、和SS引脚为SPI通信引脚

              0=SSP模块被关闭,相应的引脚为普通数字I/O功能。

              I2C模式

              1=开启I2C功能,配置芯片的SDA、SDL为I2C通信引脚

              0=SSP模块被关闭,相应的引脚为普通数字I/O功能。

    位4      CKP:时钟极性控制位  (clock polarity时钟极性

              SPI模式

              0=在通信的空闲状态下时钟处于低电平

              1=在通信的空闲状态下时钟处于高电平

              I2C模式    用于时钟SCK的释放控制

              0=将时钟持续拉低,用以保证数据建立或准备所需的时间

              1=允许主器件控制时钟变化

     

     

     

     

     

    位3:0    SSPM3SSPM0:同步串行接口工作模式选择   M=Mode 模式

               0000=SPI主模式,时钟=fosc/4

               0001=SPI主模式,时钟=fosc/16

               0010=SPI主模式,时钟=fosc/64

               0011=SPI主模式,时钟=TMR2的溢出率/2

               0100=SPI从模式,时钟=SCK引脚输入,使用SS引脚控制

               0101=SPI从模式,时钟=SCK引脚输入,无SS引脚控制(SS可以作为普通I/O)

               0110=I2C从模式,7位寻址发送

               0111=I2C从模式,10位寻址发送

               1000=I2C主模式,时钟=fosc/(4(SSPADD+1))

               1001=保留

               1010=保留

               1011=软件控制型I2C主模式,硬件从模式功能关闭

               1100=保留

               1101=保留

               1110=I2C从模式,7位寻址发送,起始位和停止位产生中断响应

               1111=I2C从模式,10位寻址发送,起始位和停止位产生中断响应

     

     

     

    SSPCON2寄存器:  (只有带MSSP模块的有该寄存器且只在I2C模式时有用

    位7      GCEN:广播呼叫使能位(只适用于I2C从模式)

              0=禁止广播寻呼

              1=当接收到特殊的广播寻呼地址0x00时,允许产生中断

    位6      ACKSTST:应答位接收状态标志(只适用于I2C主模式发送数据)

              0=发出数据后接收到从器件发出的应答位

              1=发出数据后从器件没有产生应答位

    位5      ACKDT:应答数据位(只适用于I2C主模式接收数据)

              0=数据收到后主器件将发出应答位

              1=数据收到后主器件将不发出应答位

    位4      ACKEN:使能硬件自动产生应答位(只适用于I2C主模式接收数据)

              0=无应答位发出

              1=启动SDA和SCL总线上产生ACKDT所设置的应答位。在应答位发出后此位被硬件自动清零0

    位3      RCEN:接收使能位(只适用于I2C主模式)

              0=禁止I2C接收数据

              1=启动I2C接收8位数据,8位数据接收完毕后硬件自动清0

    位2      PEN:使能硬件自动产生停止位(只适用于I2C主模式)

              0=无停止位发出

              1=启动SDA和SCL总线上产生停止位。停止位发出后此位被硬件自动清零0

    位1      RSEN:使能硬件自动产生重复起始位(只适用于I2C主模式)

              0=无重复起始位发出

              1=启动SDA和SCL总线上产生重复起始位。重复起始位发出后此位被硬件自动清零0

    位0      SEN:使能硬件自动产生起始位/电平延伸控制位

    I2C主模式

    0=无起始位发出

    1=启动SDA和SCL总线上产生起始位。起始位发出后此位被硬件自动清零0

    I2C从模式

    0=只在从器件发送数据时延伸时钟电平

    1=在从器件接收或发送数据时延伸时钟电平

     

      

    ADCON0寄存器:设置ADC模块工作方式

     

    位7:6   ADCS1ADCS0:A/D转换时钟选择

              00= fosc/2,即时钟源自于芯片主振荡的2分频

              01= fosc/8,即时钟源自于芯片主振荡的8分频

              10= fosc/32,即时钟源自于芯片主振荡的32分频

              11= fRC,即时钟源自于AD模块内自带的RC振荡频率

    位5:3   CHS2CHS0:A/D转换输入模拟信号通道选择

              000=通道0,AN0

              001=通道1,AN1

              010=通道2,AN2

              011=通道3,AN3

              100=通道4,AN4

              101=通道5,AN5

              110=通道6,AN6

              111=通道7,AN7

    位2      GO/DONE:A/D转换启动控制位和转换状态标志位

              这一位既是A/D转换控制位,通过软件将其置1后开始一个A/D转换过程;同时又是一个标志位

              1=A/D转换正在进行中

              0=A/D转换过程结束

    位1      未定义:程序中记得该位要始终保持为0

    位0      ADON:A/D模块启动控制位

              1=A/D转换模块开始工作

              0=A/D转换模块被禁止,该部分电路没有任何耗电

     

      

    ADCON1寄存器:设置ADC模块端口和数据格式

    位7      ADFM:A / D转换结果格式选择位 (AD Result Format Select Bit

              0=结果左对齐,ADRESL 寄存器的低6位读作0

              1=结果右对齐,ADRESH寄存器的高6位读作0

    位6      ADCS2:A / D转换时钟频率选择位(ADCON1位在阴影区域,并以粗体字)

    位5:4   未定义:读取这些位将得到0

    位3:0   PCFG3PCFG0:A / D模块引脚功能配置位

              这4个位决定了功能复用的引脚哪些作为普通数字I/O,哪些作为A/D转换时的电压信号输入。如下表所示:

     

    TXSTA数据发送控制及状态寄存器:

    位7      CSRC:同步通信时钟源选择控制位

              异步通信时 此位不起作用,可以是任意值

              同步通信时

              1=选择同步通信主模式,时钟信号通过波特率发生器自己产生

              0=选择同步通信从模式,时钟信号由其他主芯片提供

    位6      TX9:9位数据格式发送使能控制位

              1=选择9位数据格式发送

              0=选择8位数据格式发送

    位5      TXEN:发送使能控制位

              1=允许发送数据

              0=数据发送被禁止

    位4      SYNC:USART工作模式选择

              1=选择同步通信模式

              0=选择异步通信模式

    位3      未定义:读此位结果为0

    位2      BRGH:波特率控制位

              异步通信时

              1=高速波特率发生模式

              0=低速波特率发生模式

    位1      TRMT:发送移位寄存器状态位,该位只读

              1=移位寄存器为空

              0=移位寄存器正在忙于发送数据

    位0      TX9D:使用9位数据格式时的第9位发送数据,可以作为奇偶校验位

     

      

     

    RCSTA数据接收控制及状态寄存器:

    位7      SPEN:串行通信端口使能控制位

              1=USART通信端口打开,模块接管引脚RX/DT和TX/CK

              0=USART通信端口关闭

    位6      RX9:9位数据格式接收使能控制位

              1=选择9位数据格式接收

              0=选择8位数据格式接收

    位5      SREN:单次接收使能控制位

              异步通信时,此位不起作用

              同步通信主模式时

              1=启动单次接收方式,当接收完一个数据后自动清0

              0=禁止接收数据

    位4      CREN:数据连续接收控制位

              异步通信时

              1=连续接收串行数据

              0=禁止接收数据

    同步通信时

    1=选择数据连续接收模式,直到此位被清0,CREN将超越SREN的控制

    0=禁止数据连续接收,将由SREN决定是否启动单次数据接收

    位3      未定义:读此位结果为0

    位2      FERR:接收数据帧错误标志,只读

              1=当前接收的数据发生帧错误,读一次RCREG寄存器该位将被更新

              0=没有帧错误

    位1      OERR:接收数据溢出错误,该位只读

              1=发生溢出错误,只有通过清除CREN位才能将其清除

              0=没有溢出错误

    位0      RX9D:使用9位数据格式时的第9位接收数据,可以作为奇偶校验位

      

     

     

     

    CMCON寄存器:

     

     

    CVRCON CONTROL寄存器:

     

    PCON寄存器:

     

     

    EECON1寄存器:

     

     

    TRISE寄存器:

    展开全文
  • 寄存器

    千次阅读 2012-04-23 15:41:01
    寄存器英文名称:Register   寄存器  寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8 位元寄存器”或“32 位...
  • 通俗易懂和你聊聊寄存器那些事(精美图文)

    千次阅读 多人点赞 2020-10-15 06:53:38
    我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据;控制器控制其他组件;外部总线连接 CPU 和各种部件,进行数据传输;内部总线负责 CPU 内部各种组件的数据...
  • 中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、 P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部...
  • 本文针对入门知识,将为大家介绍一种单片机的系统复位电路图的原理。  复位电路  图1  单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如...
  • STM32的GPIO内部结构及相关寄存器

    千次阅读 2017-07-08 14:43:05
    这两个MOS管接管电路的输入信号是由GPIO的输出数据寄存器GPIOx_ODR提供的,也就是我们可以通过编程修改GPIOx_ODR寄存器的值从而影响该单元电路的输出。 常用的还用置位/复位寄存器GPIOx_BSRR和复位寄存器GPIOx_BRR...
  • 本文针对入门知识,将为大家介绍一种单片机的最小系统复位电路图的原理。  复位电路  图1  单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个...
  • 能够说明它们工作原理的是电原理图,简称电路图电路图有两种,一种是说明模拟电子电路工作原理的。它用各种图形符号表示电阻器、电容器、开关、晶体管等实物,用线条把元器件和单元电路按工作原理的关系连接起来。...
  • RC与MCU复位电路图

    2020-07-18 11:27:34
    现在越来越多的MCU内部集成了低电压复位功能。...单独的外部RC复位并不可靠,必须结合单片机内部寄存器设置。 当上电或+5V电源上升时,电源通过R38电阻充电。使用E4正极端的电压上升并稳定在+5V......
  • 这边的电路图稍微提一下: 保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。 当引脚电压高于VDD时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入...
  • 寄存器,寄存器是什么意思寄存器定义寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器...
  • 如何看懂电路图--电源电路单元

    千次阅读 2013-09-09 22:19:22
    如何看懂电路图2--电源电路单元 前 面介绍了电路图中的元器件的作用和符号。一张电路图通常有几十乃至几百个元器件,它们的连线纵横交叉,形式变化多端,初学者往往不知道该从什么地方开始,怎样才能读懂它。其实...
  • x86寄存器

    千次阅读 2010-11-14 11:01:00
    寄存器是CPU内部用来放置数据和地址的存储单元,各种32位CPU中与微机原理有关的寄存器(编程可见)是一样的。本节仍以80486为例机来讨论,但结论可以不加修改地用于其它32位CPU。 位于CPU内部不同部件的...
  • X86寄存器详解

    千次阅读 2013-08-22 11:13:48
    寄存器是CPU内部用来放置数据和地址的存储单元,各种32位CPU中与微机原理有关的寄存器(编程可见)是一样的。本节仍以80486为例机来讨论,但结论可以不加修改地用于其它32位CPU。 位于CPU内部不同部件的寄存器有不同...
  • │ 三相电模块内部电路(Y型).ms8 │ 三相电路的仿真分析(三相电模块).ms8 │ 二端口网络参数的仿真测定.ms8 │ 二阶电路动态变化过程的仿真分析.ms8 │ 二阶电路动态变化过程的仿真分析(电压响应).ms8 │ 二阶...
  • nRF24L01的51汇编编程(含电路图

    热门讨论 2009-04-26 13:21:17
    一个用于验证nRF24L01通讯距离及内部寄存器设置的试验程序,(含电路图
  • PHY寄存器

    千次阅读 2021-02-26 09:47:49
    文章有《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》。 STM32只有网络外设时不能进行网络通信的,因为STM32只提供了SMI接口,MII和RMII接口。我们还需要与之通信的...
  • ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
  • 16位的CPU如何用内部16位的数据转换成20位的地址呢? 内存单元地址小结: debug使用: 转载于:https://www.cnblogs.com/souhaite/p/10838019.html...
  • 2,数字电路硬件定时 3,可编程定时/计数器 小知识点补充21: 51单片机有5个中断请求源和两个中断优先级。 5个中断源分别是: 1,外部中断0 2,外部中断1 3,定时器溢出中断0 4,定时器溢出中断1 5,串行口中断 ...
  • 寄存器-基本概念

    千次阅读 2017-08-23 15:09:37
    寄存器: 是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含...在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口
  • 汇编之寄存器详解

    2013-07-04 09:19:18
    变量寄存器
  • GPIO电路图以及上拉电阻的作用

    万次阅读 多人点赞 2016-09-17 22:38:57
    GPIO口,通用输入输出,这个大家都知道,但是输入,输出的电路是什么样的,其实并不用太关心,只需配置寄存器即可,但是还是要摸一摸,为了方便理解,引入了单片机的IO口原理来说明(道理是一样的) 认识电路: 一....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,093
精华内容 9,637
关键字:

寄存器内部电路图