单片机主要性能.docx
《单片机主要性能.docx》由会员分享,可在线阅读,更多相关《单片机主要性能.docx(30页珍藏版)》请在冰豆网上搜索。
单片机主要性能
单片机主要性能:
●具有高性能RISCCPU
●仅有35条单字指令
●除程序分支指令为两个周期外,期余均为单周期指令
●运行速度:
DC-20MHZ时钟输入
DC-200ns指令周期
●8K*14个FLASH程序存储器
368*8个数据存储器(RAM)字节
256*8EEPROM数据存储器字节
●引脚输出和PIC16C73B/74B/76/77兼容
●中断能力(达到14个中断源)
●8级深度的硬件堆栈
●直接,间接和相对寻址方式
●上电复位(POR)
●上电定时器(PWRT)和振荡启动定时器(OST)
●监视定时器(WDT),他带有片内可靠运行的RC振荡器
●可编程代码保护
●低功耗睡眠方式
●可选择的振荡器
●低功耗,高速CMOSFLASH/EEPROM工艺
●全静态设计
●在线串行编程(ICSP)
●单独5V的内部电路串行编程(ICSP)能力
●处理机读/写访问程序存储器
●运行电压范围2.0V到5.0V
●高吸入/拉出电流250Ma
●商用,工业用温度范围
●低功耗:
1.在5V,4MHz时典型值小于2mA
2.在3V,32KHz时典型值小于20Ua
3.典型的稳态电流值小于1Ua
外围特征:
●TIMR0:
带有预分频器的8位定时器/计数器
●TIMR1:
带有预分频器的16位定时器/计数器,在使用外部晶体振荡时钟时,在SLEEP期间仍能工作
●TIMR2:
带有8位周期寄存器,预分频器和后分频器的8位定时器/计数器
●2个捕捉器,比较器,PWM模块;CCP1和CCP2
其中:
捕捉器是16位,最大分辨率为12.5ns
比较器是16位,最大分辨率为200ns
PWM最大分辨率为10位
●10位多通道模/数转换器
●带有SPI(主模式)和I2C(主/从)模式的SSP
●带有9位地址探测的通用同步异步接收/发送器(USART/SCI)
●带有RD,WT和CS控制(只40/44引脚)8位字宽的并行从端口
●带有将压复位的将压检测电路
1.INDF:
地址:
00H80H100H180H
它们互相映射,物理上并不真正存在的虚拟寄存器
2.PCL:
地址:
02H82H102H182H
程序计数器PC指针宽13位的低8位。
数据信息可读写,和PCLATH构成程序指针。
3.STATUS:
状态寄存器地址:
03H83H103H183H它们互相映射
各位含义如下:
BIT0/C:
进位/借位标志,被动参数
0:
执行加法(或减法)指令时,如果高位无进位(或有借位)
1:
执行加法(或减法)指令时,如果高位有进位(或无借位)
BIT1/DC:
辅助进位/借位标志,被动参数
0:
执行加法(或减法)指令时,如果低4位向高4位无进位(或有借位)
1:
执行加法(或减法)指令时,如果低4位向高4位有进位(或有借位)
BIT2/Z:
零标志,被动参数
0:
算术或逻辑运算结果不为0
1:
算术或逻辑运算结果为0
BIT3/
:
降耗标志,被动参数
0:
休眠指令执行后
1:
上电或看门狗清0指令执行后
BIT4/
:
超时标志,被动参数
0:
看门狗发生超时
1:
上电或看门狗清0指令或休眠指令执行后
BIT6~BIT5/RP1~PR0:
RAM数据存储器体选位,仅用于直接寻址,主动参数。
两位复位选择RAM数据存储器的4个体,具体关系如下:
RP1,RP0=00选中体0
RP1,RP0=01选中体1
RP1,RP0=10选中体2
RP1,RP0=11选中体3
BIT7/IRP:
RAM数据存储器体选位,仅用于间接寻址,主动参数
0:
选择数据存储器低位体,即体0(FSR的BIT7=0)或体1(FSR的BIT7=1)
1:
选择数据存储器高位体,即体2(FSR的BIT7=0)或体3(FSR的BIT7=1)
4.FSR:
地址:
04H84H104H184H
a.与INDF寄存器配合,实现间接寻址,当访问INDF地址时,应该是访问以FSR内容为地址所指向的数据存储器RAM单元。
b.在间接寻址中,体选码由STATUS的IRP为和FSR寄存器的BIT7组成,体内单元地址来自FSR的低7位。
(STATUS的BIT6~BIT5的功能,见上·)
5.PORTA:
地址:
05H
注意:
只有当对ADCON1进行设置后才能用作为数字量输入/输出引脚。
一共有RA5~RA0六个引脚,还有第2,第3功能。
6.PORTB:
地址:
06H106H
作为输入时,内部有可编程的弱上拉电阻,此外,端口B还有第2第3功能。
集成开发环境借用RB的3条引脚,在扩展外围电路中应避免使用RB3,RB6,RB7。
7.PORTC:
地址:
07H
其引脚还有第2第3功能,且功能最位丰富。
主要嵌入两大功能:
捕捉/比较/脉宽调制模块CCP和各类串行通信模块。
8.PORTD:
地址:
08H
RD端口有第2功能,作为从动并行口与其他微处理器总线连接。
9.PORTE:
地址:
09H
注意:
只有当对ADCON1进行设置后才能用作为数字量输入/输出引脚。
一共有RE2~RE0三个引脚,还有第2,第3功能。
10.PCLATH:
地址:
0AH8AH10AH18AH
作为PC指针的高5位装载到PCH中构成13位程序记数指针。
a.执行PCL为目标地址指令时装载低5位
b.执行跨页跳转和调用指令时只转载PCLATH〈4,3〉
与中断相关的寄存器共6个如下:
OPTION-REG
INTCON
PIE1
PIR1
PIE2
PIR2
11.OPTIONREG:
选项寄存器地址:
81H181H
BIT2~BIT0/PS2~PS0:
分频器分频比选择位,主动参数。
TMR0所带的分频器,可以自己用也可以分配给WDT电路。
构成8种分频比的去件略有差异。
如下表
PS2~PS0
000
001
010
011
100
101
110
111
TER0比率
1:
2
1:
4
1:
8
1:
16
1:
32
1:
64
1:
128
1:
256
WDT比率
1:
1
1:
2
1:
4
1:
8
1:
16
1:
32
1:
64
1:
128
Bit3/PSA:
分频器分配位,主动参数
0:
分频器分配给TMR0(具有较大分频比);
1:
分频器分配给WDT(具有较小分频比)
BIT4/T0SE:
TMR0的时钟源触发边沿选择位,主动参数。
如果TMR0工作在定时模式,将与该位设置无关。
0:
记数方式,外部时钟T0CK1上升沿触发有效;
1:
记数方式,外部时钟T0CK1下降沿触发有效;
BIT5/T0CS:
TMR0的时钟源选择位,主动参数。
0:
由系统频率fosc的4分频作为定时器TMR0的触发信号(定时模式)
1:
外部引脚的脉冲信号T0CK1作为计数器TMR0的触发信号
BIT6/INTEDG:
INT中断信号触发边沿选择位,主动参数
0:
RB0/INT引脚上的上升沿触发
1:
RB0/INT引脚上的下降沿触发
BIT7/
:
RB端口弱上拉使能位,主动参数
0:
使能RB0~RB7引脚弱上拉功能;
1:
使能RB0~RB7引脚弱上拉功能;
12.INTCON:
中断控制寄存器;地址:
0BH8BH10BH18BH
BIT0/RBIF:
RB端口高4位引脚RB4~RB7电平变化中断标志位,被动参数。
0:
RB4~RB7未发生电平变化
1:
RB4~RB7已发生电平变化,系统置位(必须用软件清0)
BIT1/INTF:
外部触发INT中断标志位,被动参数。
0:
为发生外部触发INT中断申请
1:
已发生外部触发INT中断申请,系统置位(必须用软件清0)
BIT2/T0IF:
TMR0溢出中断标志位,被动参数。
只要发生TER0计数溢出,就将使
置位,而与是否处于中断使能无关。
0:
TMR0未发生计数溢出申请
1:
TMR0已发生计数溢出申请,系统置位(必须用软件清0)
BIT3/RBIE:
RB端口高4位引脚RB4~RB7电平变化中断使能位,主动参数。
0:
禁止RB端口高四位RB4~RB7电平变化中断;
1:
使能RB端口高四位RB4~RB7电平变化中断。
BIT4/INTE:
外部触发INT中断使能位,主动参数
0:
禁止外部触发INT中断
1:
使能外部触发INT中断
BIT5/T0IE:
TMR0溢出中断使能位,主动参数。
0:
禁止TMR0计数溢出中断
1:
使能TMR0计数溢出中断
BIT6/PEIE:
外围中断使能位,主动参数
0:
禁止所有外围中断源(11个中断源)的中断请求;
1:
使能所有外围中断源(11个中断源)的中断请求;
BIT7/GIE:
总中断使能位,主动参数
0:
禁止所有中断源模块(14个中断源)的中断请求
1:
使能所有中断源模块(14个中断源)的中断请求
13.PIR1:
第一外围中断标志寄存器;地址:
0CH
BIT0/TMR1IF:
TMR1溢出中断标志位,被动参数。
0:
TMR1未发生计数溢出;
1:
TMR1已发生计数溢出,系统置位(必须用软件清0)
BIT1/TMR2IF:
TMR2溢出中断标志位,被动参数。
0:
TMR2未发生计数溢出;
1:
TMR2已发生计数溢出,系统置位(必须用软件清0)
BIT2/CCP1IF:
捕捉比较和脉宽调制CCP1模块中断标志,被动参数
0:
未发生CCP1模块中断申请
1:
已发生CCP1模块中断申请,系统置位(必须用软件清0)
BIT3/SSPIF:
同步串行SSP通行中断标志,被动参数
0:
未发生SSP模块中断申请,等待下次发送或接受
1:
已发生SSP模块中断申请,完成本次发送或接受,系统置位(必须用软件清0)
BIT4/TXIF:
SCI串行通行发送中断标志位,被动参数
0:
未发生SCI模块中断申请,当前正在发送数据
1:
已发生SCI模块中断申请,完成本次发送,系统置位(必须用软件清0)
BIT5/RCIF:
SCI串行通行接受中断标志位,被动参数
0:
未发生SCI模块中断申请,当前正在准备接受
1:
已发生SCI模块中断申请,完成本次数据接受,系统置位(必须用软件清0)
BIT6/ADIF:
A/D转换器中断标志位,被动参数
0:
未发生A/D转换器中断申请
1:
已发生A/D转换器中断申请,完成本次A/D转换工作,
系统置位(必须用软件清0)
BIT7/PSPIF:
RD并行端口中断标志位,被动参数
0:
未发生RD并行端口中断申请;
1:
已发生RD并行端口中断申请,系统置位(必须用软件清0)
14.PIR2:
第二外围中断标志寄存器;地址:
0DH主要涉及3个中断源标志位
BIT0/CCP2IF:
捕捉比较和脉宽调制CCP2模块中断标志位,被动参数
0:
未发生CCP2模块中断申请
1:
已发生CCP2模块中断申请,系统置位(必须用软件清0)
BIT3/BCLIF:
I2C总线冲突中断标志位,被动参数
0:
未发生I2C总线冲突中断申请
1:
已发生I2C总线冲突中断申请,系统置位(必须用软件清0)
BIT4/EEIF:
E2PROM中断标志位,被动参数
0:
未发生E2PROM中断申请,本次写操作正在进行
1:
已发生E2PROM中断申请,本次写操作已经完成,系统置位(必须用软件清0)
15.PIE1:
第一外围中断使能寄存器;地址8CH
BIT0/TMR1IE:
TMR1溢出中断使能位,主动参数。
0:
禁止TMR1计数溢出中断;
1:
使能TMR1计数溢出中断
BIT1/TMR2IE:
TMR2溢出中断使能位,主动参数。
0:
禁止TMR2计数溢出中断;
1:
使能TMR2计数溢出中断
BIT2/CCP1E:
捕捉比较和脉宽调制CCP1模块中断使能位,主动参数
0:
禁止CCP1模块中断
1:
使能CCP1模块中断
BIT3/SSPIE:
同步串行SSP通行中断使能位,主动参数
0:
禁止SSP模块中断
1:
使能SSP模块中断
BIT4/TXIE:
SCI串行通行发送中断使能位,主动参数
0:
禁止SCI串行通信模块发送中断
1:
使能SCI串行通信模块发送中断
BIT5/RCIE:
SCI串行通行接收中断使能位,主动参数
0:
禁止SCI串行通信模块接收中断
1:
使能SCI串行通信模块接收中断
BIT6/ADIE:
A/D转换器中断使能位,主动参数
0:
禁止A/D转换器的中断
1:
使能A/D转换器的中断
BIT7/PSPIE:
RD并行端口中断使能位,主动参数
0:
禁止RD并行端口的中断
1:
使能RD并行端口的中断
16.PIE2:
第二外围中断使能寄存器;地址8DH要涉及3个中断源的使能位
BIT0/CCP2IE:
捕捉比较和脉宽调制CCP2模块中断使能位,主动参数
0:
禁止CCP2模块中断
1:
使能CCP2模块中断
BIT3/BCLIE:
I2C总线冲突中断使能位,主动参数
0:
禁止I2C总线冲突中断
1:
使能I2C总线冲突中断
BIT4/EEIE:
E2PROM中断使能位,主动参数
0:
禁止E2PROM中断1:
使能E2PROM中断
与TMR0模块相关的寄存器共4个如下:
TMR0
OPTION-REG
INTCON
TRISA
17.TMR0:
8位累加记数寄存器地址:
01H101H
与TMR1模块相关的寄存器共6个如下:
INTCON
PIE1
PIR1
TMR1L
TMR1H
TICON
18.TMR1L:
16位TMR1计数寄存器低字节寄存器;地址:
0EH
19.TMR1H:
16位TMR1计数寄存器高字节寄存器;地址:
0FH
采用上升沿触发计数方式,即只有上升沿才是有效信号。
20.T1CON:
TMR1控制寄存器;地址:
10H低6位有效,高2为没定义
BIT0/TMR1ON:
TMR1计数启/停控制位(TMR0不能被关闭),主动参数
0:
TMR1停止计数;
1:
TMR1启用计数
BIT1/TMR1CS:
TMR1时钟源选择位,主动参数
0:
选择内部时钟源,可设置定时模式,采用指令周期信号触发
1:
选择外部时钟源,可设置计数模式,时钟信号来源于外部引脚(接TICK1)
或自带振荡器(接RC0/TIOSO,RC1/TIOSI)
BIT2/
:
TMR1外部输入时钟与系统时钟同步控制,主动参数。
在TMR1内部设置一个同步控制逻辑(fosc的2分频),只有TMR1工作在计数方式时,才能进行设置。
0:
TMR1外部引脚时钟信号或者自带振荡器信号与系统时钟保持同步;
1:
TMR1外部引脚时钟信号或者自带振荡器信号与系统时钟异步工作;
BIT3/T1OSCEN:
TMR1自带振荡器使能位,主动参数
0:
禁止TMR1低频振荡器工作;
1:
使能TMR1低频振荡器工作;
BIT5~BIT4/TICKPS1~TICKPS0:
预分频器的分频比选择位,主动参数;如下表:
TICKPS1~TICKPS0
00
01
10
11
分频比
1:
1
1:
2
1:
4
1:
8
与TMR2模块相关的寄存器共6个如下:
INTCON
PIE1
PIR1
TMR2
T2CON
PR2
21.TMR2:
8位专用定时器。
地址:
11H不能承担外部信号计数功能;结构:
一个可编程预分频器,一个可编程后分频器和一个可编程8位周期寄存器PR2等部件;
22.T2CON:
TMR2控制寄存器;地址:
12H低7位有效
BIT1~BIT0/T2CKPS1~T2CKPS0:
预分频比选择位,主动参数;如下表:
T2CKPS1~T2CKPS0
00
01
10
11
预分频器分频比
1:
1
1:
4
1:
16
1:
16
BIT2/TMR2ON:
TMR2定时启/停控制位(TMR0不能关闭),主动参数
0:
TMR2停止计数;
1:
TMR2启动计数。
BIT6~BIT3/TOUTPS3~TOUTPS0:
TMR2后分频比选择位,主动参数;该分频比是PIC单片机中唯一可以连续设置的分频比,TMR2的溢出信号经过该分频后才能产生中断请求;如下表:
OUTPS3~TOUTPS0
0000
0001
0010
0011
0100
0101
0110
0111
…
1111
后分频器分频比
1:
1
1:
2
1:
3
1:
4
1:
5
1:
6
1:
7
1:
8
…
1:
16
23.PR2:
TMR2周期寄存器;地址:
92H
是TMR2模块的溢出的参考标志,即PR2和TMR2记数值相等时发生溢出,如果其他条件相同,一般周期寄存器的数值越大,定时溢出的越长。
与SPI模式相关的寄存器共10个如下:
INTCON
PIE1
PIR1
ADCON1
TRISA
TRISC
SSPBUF
SSPCON
SSPSTAT
SSPSR
24.SSPBUF:
收/发数据缓冲器SSPBUF;地址:
13HSPI通信收/发数据专用寄存器,即MSSP接收/发送数据缓冲空间
25.SSPSTAT:
同步串行状态寄存器;地址:
84H
SSPSTAT状态寄存器真实记录MSSP模块的各种工作状态,高2为可读写,低6位只能读;与SPI通信有关的只有BIT0,BIT6,BIT7三位
BIT0/BF:
接收缓冲器SSPBUF满标志位,仅仅用于SPI接收状态,被动参数
0:
表示接收缓冲器空
1:
表示接受缓冲器满
BIT6/CKE:
在SPI通信中决定时钟沿选择和发送数据的关系,并且与空闲时的高/低电平有关,主动参数
在CKP(SSPCON:
4)=0,静态电平为低时;
0:
时序信号SCK下降沿发送数据
1:
时序信号SCK上升沿发送数据
在CKP(SSPCON:
4)=1,静态电平为高时;
0:
时序信号SCK上升沿发送数据
1:
时序信号SCK下降沿发送数据
BIT7/SMP:
在SPI主控方式下,SPI通信可以选择不同的采样控制方式;而对于SPI从动方式,该位必须固定置位,主动参数
0:
在时序信号中间采样输入数据
1:
在时序信号末尾采样输入数据
26.SSPSR:
移位寄存器;无地址在SPI模式下,移位寄存器SSPSR是主从双方进行数据发送和接收的主要器件,会自动与发送/接收缓冲器SSPBUF进行数据传递;SSPBUF是真正面向用户可进行读写的寄存器。
27.SSPCON:
同步串行控制寄存器;地址:
14H“SPI”
通过这些内容的设置可实现对SPI模块的功能和通信方式进行调整。
BUT3~BIT0/SSPM3~SSPM0:
同步串口SPI方式选择位,主动参数。
具体配置如下表:
SSPM3~SSPM0
SPI工作方式
时钟
0000
主控方式
fosc/4
0001
主控方式
fosc/16
0010
主控方式
fosc/64
0011
主控方式
TMR2输出/2
0100
从动方式
SCK脚输入,使能
引脚功能
0101
从动方式
SCK脚输入,关闭
引脚功能,
被用作普通数字I/O引脚
BIT4/CKP:
空闲时钟电平选择位,主动参数。
0:
表示空闲时钟位于低电平
1:
表示空闲时钟为于高电平
BIT5/SSPEN:
同步串行MSSP使能位,对于SPI模式,必须确保SCK,SDO设定为输出状态,而SDI,
设定为输入状态,主动参数。
0:
禁止同步串行功能,SCK,SDO,SDI和
可作为一般通用数字通道
1:
使能同步串行功能,SCK,SDO,SDI和
应作为SPI的专用通道
注意:
在SPI模式下,SCK,SDO,SDI和
并非都要使用,例如,面向一
般的应用器件,起数据是单向传送,实际只用到SCK,SDO两根引脚线。
BIT6/SSPOV:
接收缓冲器SSPBUF溢出标志位,被动参数
0:
没有发生接收溢出
1:
已经发生接收溢出
注意:
发生接收溢出是指接收缓冲器SSPBUF中上次获得的数据还未被取出,移位寄
存器SSPSR中又收到新的数据。
一般可采取及时对SSPBUF执行读取操作来解决
BIT7/WCOL:
发送缓冲器SSPBUF冲突检测位,被动参数、
0:
没有发生写操作冲突
1:
已经发生写操作冲突
注意:
发生写操作冲突是指移位寄存器SSPSR正在发送前一个数据字节时,又出现新数据写入发送缓冲器SSPBUF。
这种写操作冲突将严重影响SPI正常的数据通道,必须彻底杜绝这种现象的发生
与I2C总线模式相关的寄存器共12个如下
INTCON
PIE1
PIR1
PIE2
PIR2
TRISC
SSPCON
SSPBUF
SSPCON2
SSPADD
SSPSTAT
SSPSR
SSPCON:
同步串口控制寄存器地址:
14H“I2C”
BUT3~BIT0/SSPM3~SSPM0:
同步串行I2C主,从方式和地址定义选择位,主动参数
SSPM3~SSPM0
I2C
寻址方式
0110
从动方式
7位寻址
0111
从动方式
10位寻址
1000
主控方式
时钟为fosc/[4*(SSPADD+1)]
1011
主控方式
从动器件空闲
1110
主控方式
启动位,停止位,可使能中断的7位寻址
1111
主控方式
启动位,停止位,可使能中断的10位寻址
BIT4/CKP:
CKP是SPI通信中的时钟极性选择位,而在I2C从动方式下,SCL仅仅表示时钟使能位,主动参数
0:
将时钟线SCL拉到低电平并适当保持一定的时间,以确保数据有足够建立时间;
1:
时钟信号正常工作方式
BIT5/SSPEN:
同步串口MSSP使能位,对于I2C模式,必须确保SCK设定为输出状态,而SDA可随时变换输入/输出状态,主动参数;
0:
禁止同步串行功能,SDA和SCL可一般通用数字通道
1:
使能同步串行功能,SDA和SCL应作为I2C通行专用通道
BIT6/SSPOV:
接收缓冲器SSPBUF溢出标志位,被动参数
0:
没有发生接收溢出
1:
已经发生接收溢出
BIT7/WCOL:
发送缓冲器SSPBUF冲突检测位,被动参数、
0:
没有发生写操作冲突1:
已经发生写操作冲突
SSPSTAT:
同步串口状态寄存器高2为可读写,抵6位只能读;
BIT0/BF:
缓冲器SSPBUF满标志位,被动参数
在I2C总线方式下,主,从器件接收时
0:
表示接收缓冲器为空
1:
表示接收缓冲器已满
在I2C总线方式下,主,从器件发送时
0:
表示完成数据发送,目前接收缓冲器SSPBUF为空
1:
表示正在发送数据,目前发送缓冲器SSPBUF已满
BIT1/UA:
在I2C总线10位地址的寻址方式中,可以作为地址更新标志位,由硬件自动设置,被动参数
0:
无需更新SSPADD寄存器中的地址
1:
需要更新SSPADD寄存器中的地址