PIC16F877A与PIC16F887的区别2
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
新增了ANSEL和ANSELH寄存器,用来对AN0-AN13 进行设置,使得对于标有ANx的引脚可以绝对自由地设 置为模拟脚或数字脚,而不象877A那样的混乱! (877A的ADCON1)。在这二个寄存器中,对应的位 为0为数字口,1为模拟口,默认为模拟口!
因此,凡涉及到有ANx的引脚,不管你用不用模拟功 能,都要对ANSEL和ANSELH进行设置!!!
四、其他差异
看门狗:增加WDTCON寄存器,使得WDT溢出时 间的范围更大,为1ms~270s。
计算溢出时间: T=OPTION分频比*WDTCON分频比*周期32.26us
四、其他差异
门控TMR1:指TMR1只有当某指定引脚 (RB5/T1G)的输出值满足要求时,才能进行计数。
T1CON增加两有效位(位7位6,参见表4-34), 当T1CON.TMR1GE=0时,关闭门控功能,即TMR1始 终工作(与877A相同)。
三、端口的差别
A口:增加RA6/OSC2/CLKOUT和RA7/OSC1/CLKIN
B口:①RB0~RB5对应AN8~AN13 ②能独立设置8个引脚的弱上拉使能 ③能独立设置8个引脚电平变化中断使能 ④RB5增加T1G功能
C口:RC2增加P1A功能
D口: ① RD5~RD7增加P1B~P1D功能 ②D口不再做为并行从动口
ADCON1的功能变化也很大!原来引脚配置混乱的 情况由于新增的ANSEL和ANSELH,ADCON1就变得 简单了!
bit 5 VCFG1:参考电压位 1 = VREF- 引脚 0 = VSS
bit 4 VCFG0:参考电压位 1 = VREF+ 引脚 0 = VDD
二.B口的差别
除了RB0~RB5这6个引脚也可做为AD转换口外, B口的弱上拉功能、电平变化功能也有了较大的变 化。
877A的B口弱上拉是死板的,要么都弱上拉,要 么都不上拉。887可以灵活地设置,哪个要或不 要弱上拉都可以自由设置。
1、弱上拉设置
新增了弱上拉寄存器WPUB,每一Байду номын сангаас对应RB的 每一引脚,位值为1表示允许该位弱上拉,0为禁止 弱上拉。
前提:B口设置为输入,且OPTION_REG的位7 (RBPU)为0,若RBPU=1,则禁止全部弱上拉。
2、电平变化中断
877A:B口的高4位才有电平变化中断功能,捆绑式设置 887:B口的所有引脚都有电平变化中断功能,单独设置
IOCB相应位为1时,该引脚允许电平变化中断,0则为禁止。 只有RBIE=1的前提下,才能单独设置RB引脚电平中断的允 许或禁止。 和877A一样,只有设置为输入的数字引脚才能有电平变化 中断的功能。
增加波特率控制寄存器BAUDCTL(参见表4-46), 当BAUDCTL.BRG16=0,选8位波特率因子,即可沿用 877A的程序。
特别注意: 在MPLAB IDE中要选887, 在PROTEUS仿真中的设置—CHIP=16F887 … 在PICC9.8中,887的有些位名与877A不同
b口的差别口的差别除了rb0rb5这6个引脚也可做为ad转换口外b口的弱上拉功能电平变化功能也有了较大的变877a的b口弱上拉是死板的要么都弱上拉要么都不上拉
PIC16F877A与PIC16F887的区别
4.15 PIC16F887和877A的不同点
887和877A的引脚数量及编号完全相同! 只不过某些引脚的复用功能变动了而已!
887与877A的差异是为了使用更灵活,自 然也要增加一些寄存器。
一. AD区别
AD由原来的8路 → 增为14路: 除了原来的RA0~RA3,RA5,RE0-RE2的8个外,增加 了6路(RB0-RB5)
RB0-AN12 RB1-AN10 RB2-AN8 RB3-AN9 RB4-AN11 RB5-AN13
ADCON0寄存器的位有了变动,原来的位5-3位为通 道,现改为位5-2为通道.
CHS<3:0>:模拟通道选择位 0000 = AN0, 0001 = AN1, 0010 = AN2, 0011 = AN3 0100 = AN4, 0101 = AN5, 0110 = AN6, 0111 = AN7 1000 = AN8, 1001 = AN9, 1010 = AN10, 1011 = AN11 1100 = AN12, 1101 = AN13, 1110 = CVREF(可编程的电压输出) 1111 = 固定参考电压 (0.6V 固定参考电压)
E口: ①增加RE3/MCLRVpp ② RE0~RE2不再做RD、WR、CS
四、其他差异 还有一些差异,请参阅P222~241的4.15节。
四、其他差异
配置位的差别: 增加了一个配置字,用C编写时用连续的二个定义 语句。如: __CONFIG(0x20F1); __CONFIG(0x3FFF); 其含义请在MPLAB IDE中查看。
四、其他差异
增强型ECCP: 只有CCP1的PWM模式增加了新功能,能在最多 4个引脚(P1A~P1D)上产生要求的PWM信号输出, 其余部分与877A相同。
四、其他差异
增强型异步串行通信: 波特率因子用了双字节,由原来的SPBRG,增加 了一个SPBRGH,波特率的计算误差就更小了,能得 到更高精度的参数。