历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2020年02月01日 | PIC单片机内部寄存器信息汇总

2020-02-01 来源:eefocus

配置字(__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  WRT1:WRT0:闪存程序存储器的写使能位      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   Fosc1:Fosc0:振荡器选择位   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   PS2:PS0:设定预分频器的分频系数如下表所示

image.png?imageView2/2/w/550

T1CON寄存器:

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


位5:4   T1CKPS1:T1CKPS0: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   TOUTPS3:TOUTPS0:TMR2计数溢出后分频设置


          0000=后分频系数1:1


0001=后分频系数1:2


……


1111=后分频系数1:16


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


          1=TMR2可以计数


          0=TMR2计数暂停


位1:0   T2CKPS1:T2CKPS0:TMR2预分频设置


          00= 1:1预分频


01= 1:4预分频


1x= 1:16预分频


CCPxCON寄存器:

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


位5:4   CCPxX:CCPxY: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      TMR0IE(T0IE):TMR0中断使能控制位


          1=允许TMR0中断


          0=禁止TMR0中断


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


          1=允许RB0/INT引脚中断


          0=禁止RB0/INT引脚中断


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


          1=允许PORTB状态变化中断


          0=禁止PORTB状态变化中断


位2      TMR0IF(T0IF):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寄存器满


SSPCON(SSPCON1)寄存器:

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


          0=写入时没有冲突发生


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


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


          SPI模式


          0=数据接收没有溢出


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


          I2C模式


          0=接收数据没有溢出

推荐阅读

史海拾趣

旌芯半导体(GN)公司的发展小趣事

机顶盒,全称数字视频变换盒(Set Top Box,简称STB),是连接电视机与外部信号源的关键设备。它不仅能接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,还能将这些信号转换成适合电视机播放的格式,极大地丰富了电视节目的选择,提升了观看体验。

从技术层面看,机顶盒具备强大的媒体处理能力和交互功能。它能接收高清乃至4K的超高清电视节目,并通过内置的解码器将数字信号转换为电视可识别的视频和音频流,实现细腻的画面和震撼的音效。此外,机顶盒还支持数据广播、电子节目指南(EPG)、因特网接入、视频点播等多种增值服务,使电视机成为了一个互动的智能终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。智能化技术如人工智能(AI)的集成,使机顶盒具备了语音助手、智能推荐等功能,为用户提供了更为便捷、智能的使用体验。同时,云计算和边缘计算技术的应用,也进一步提升了内容分发和管理的效率。

综上所述,机顶盒作为连接电视与外部世界的桥梁,不仅是现代家庭娱乐不可或缺的一部分,也是推动数字电视技术发展的重要力量。随着技术的持续进步和市场需求的不断增长,机顶盒的未来将更加丰富多彩,为用户提供更加优质、便捷的观影体验。

Design Gateway公司的发展小趣事

随着Gateway业务的不断发展,公司开始寻求更多的市场曝光。1987年,Gateway在《Computer Shopper》杂志上投放了一版独特的广告,吸引了众多消费者的目光。1991年,公司推出了彰显其牧场起家背景的别具一格的奶牛花斑盒状商标,这一创新举措获得了全国消费者的认可,进一步提升了Gateway的品牌知名度和市场地位。

(请注意,由于篇幅限制,以上两个故事为简化版。在实际写作中,可以进一步扩展每个故事,包括更详细的背景信息、人物对话、市场反应等。)

由于篇幅所限,这里只提供了两个故事概要。如果需要更多关于Gateway或其他电子公司的发展故事,可以进一步研究和撰写。

艾迈斯(AMASS)公司的发展小趣事

在国内市场取得一定成绩后,艾迈斯(AMASS)公司开始积极拓展国际市场。他们通过与国外知名企业的合作,成功将产品打入国际市场。同时,艾迈斯还针对不同国家和地区的市场需求,推出了定制化的产品和服务,进一步提升了公司在国际市场上的竞争力。如今,艾迈斯的产品已经远销全球多个国家和地区,成为了国际市场上备受瞩目的品牌之一。

Good Sky Electric Co Ltd公司的发展小趣事
正确操作摇臂钻床的关键在于遵循操作规程和安全规范。在操作过程中,应注意避免超负荷运行、频繁启动和停止以及长时间连续工作等不当操作。同时,还应定期对设备进行维护保养,如清洁电气元件、检查接线是否松动、更换老化的元件等。
Dow-Key Microwave Corporation公司的发展小趣事

1945年,第二次世界大战结束后不久,Dow-Key Microwave Corporation在美国成立。公司创始人凭借对射频和微波技术的深刻理解和市场需求的敏锐洞察,决定专注于射频微波开关的制造。在初创阶段,公司面临资金短缺、技术挑战和市场接受度不高等问题。然而,创始人及其团队凭借不懈的努力和创新的精神,逐渐克服了这些困难,为公司的发展奠定了坚实的基础。

Elytone Electronics Co Ltd公司的发展小趣事

随着公司规模的扩大,Elytone公司意识到品质管理对于企业发展至关重要。他们引入了先进的质量管理体系,加强了对原材料采购、生产过程和售后服务的监控。通过持续改进和优化,公司的产品质量得到了显著提升,赢得了客户的广泛认可。

问答坊 | AI 解惑

设计者必看,因为你可以搞明白很多

学设计第一个要认识到的就是设计不是艺术。我就是一开始没有分清这个概念,在第一次上设计课时可苦大了。设计是沟通,是传达,而艺术是表现,是创作。这并不是说设计里没有表现的成份,更不是说艺术是不在乎沟通的。但是两者放在这两项上的重视是有 ...…

查看全部问答>

有谁用过L293B的

用L293B 驱动一个电机, 要求:电机可以正反转,有快慢。 都是自动控治的。 程序里不用写电机快慢程序, 只是通过对L293B的输入脚来控治电机这我不会接了, …

查看全部问答>

请问谁有labview8.2的安装软件啊?

如题,请问谁有labview8.2的安装软件啊?我刚开始学,网上看到的下载网址都打不开,谁有的给我共享一下,谢谢。…

查看全部问答>

请教PB->Platform->Settings->Enable full Kernel Mode

如题:PB->Platform->Settings->Enable full Kernel Mode(no IMGNOTALLKMODE=1) 以前的工程一直选择这个选项,从来没想过是做什么的 前两天新做个工程,忘记加这个选项,编译后系统不报错,但是下到板子上,系统好象缺少explore.exe一样 后来 ...…

查看全部问答>

关于nk.bin :error opening file -no such file or directory问题

大家好。我现在在虚拟机上建立Wince系统。建立了虚拟机以后。使用USBoot将U盘以HDD(ZIP也试过)模式格式化为引导盘,将C:\\Program Files\\Microsoft Platform Builder\\6.00\\cepb\\utilities下的CepcBoot.144文件放入WinImage软件中并选择U盘,利 ...…

查看全部问答>

谁有51内核无线模块NRF905或NRF2401 C程序

谁有51内核无线模块NRF905或NRF2401 C程序…

查看全部问答>

门禁系统技术与应用浅析

禁产品在远古时代就已经存在,它作为人身财产安全防范的首道防线,是人们生活、工作的必备品。从一把锁、一道门等机械产品发展到网络化、集成化、智能化的现代门禁产品,可谓经历了千锤百炼,才练就出如今的本领。   今天的门禁产品,已经从单纯 ...…

查看全部问答>

uboot-2009.08.tar.bz2移植到TQ2440

依据上几次搭建的环境进行uboot的移植,出现了一些错误,我特此做出一些总结,已经将编译器转换到旧一点的arm-linux-gcc-4.3.2,具体的原因是为什么,我查找了天嵌的网站说需要转换到3.4版本的编译器,因此我改用了友善之臂的uboot-2009.08.tar.bz2 ...…

查看全部问答>

ALTERA Cyclone Ⅲ板子上能否将输入变成输出??

现在手里有一个 板子 上面有5*8个按键开关 请问下 是否能将开关焊下 接上LED灯 如果可以 能在Quartus 软件上改么 ?…

查看全部问答>

LED照明调光器

这LED调光器一般是调电流还是电压也,是一个什么过程或是原理也。…

查看全部问答>