PIC16F877资料_第1页
PIC16F877资料_第2页
PIC16F877资料_第3页
PIC16F877资料_第4页
PIC16F877资料_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 PIC16F877单片机概述4.1单片机的发展和应用4.1.1单片机的历史发展概况单片机技术发展十分迅速,产品种类已琳琅满目。纵横整个单片机技术发展过程,可以分为以下三个主要过程:一、单芯片微机形成过程1976年,Intel公司推出了MCS-48系列单片机。该系列单片机早期产品在芯片内集成有:8位CPU、1K字节程序存储器(ROM)、64字节数据存储器(RAM)、27根I/O线和1个8位定时/计数器。此阶段的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口、定时/计数器、中断系统、时钟等部件的集成,但存储器的容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。二、

2、性能完善提高阶段 1980年,Intel公司推出MCS-51系列单片机。该系列单片机在芯片内集成有:8位CPU、4K字节程序存储器(ROM)、128位字节数据存储器(RAM)、4个8位并行接口、1个全双工串行接口和2个16位定时/计数器。寻址范围为64K,并集成有控制功能较强的布尔处理器完成处理功能。此阶段的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。三、微控制器化阶段1982年,Intel公司推出MCS-96系列单片机。该系列单片机在芯片内部集成有:16位CPU、K字节程序存储器(ROM)、232字节数据存储器(RAM)、

3、5个8位并行接口、1个全双工串行接口和2个16位定时/计数器。寻址范围最大为64K。片上还有8路10位ADC、1路PWM(D/A)输出及高速I/O部件等。近年来,许多半导体厂商以MCS-51系列单片机的8051为内核,将许多测控系统中的接口技术、可靠性技术及先进的存储器技术和工艺技术集成到单片机中,生产出了多种功能强大、使用灵活的新一代80C51系列单片机。此阶段的主要特点是:片内面向测控系统的外围电路增强,使单片机可以方便灵活地应用于复杂的自动测控系统及设备。因此,“微控制器”的称谓更能反应单片机的本质。4.1.2单片机发展趋势纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:1. 低

4、功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。2.微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RA

5、M)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。3.主流与多品种共存现在虽然单片

6、机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场份额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机,在一定时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成,共同发展的道路。4.1.3单片机的应用领域由于单片机具有良

7、好的控制性能和灵活的嵌入品质,近年来单片机在各种领域都获得了极为广泛的应用。概要地分成以下几个方面:1:智能仪器仪表单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能花,同时还简化了仪器仪表的硬件结构,从而可以方便地完成各种仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。2:机电一体化产品机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。3:实时工业控制单片机还可以用于各种

8、物理量的采集与控制。电流、电压、温度、液位、流量等物理量参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电动机转速控制、温度控制、自动生产线等。4:分布系统的前端模块在较复杂的工业控制系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端模块。系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。5:家用电器家用电器是单片机的又一重要领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档

9、玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等。4.2 PIC16F877单片机简介4.2.1 PIC16F877单片机的内部结构PIC16F877单片机的功能框图如图4.1所示。从其执行功能考虑,可以将单片机分成两大组件,即基本功能模块和专用功能模块。1:PIC16F877单片机的基本功能模块 PIC16F877单片机的基本功能区域的主要功能模块包括以下7部分1) 程序存储器区域PIC16F877单片机带有Flash程序存储器结构,主要存放由用户预先编制好的程序和一些固定不变的数据。程序存储器共有8K×14位程

10、序单元空间,即0000H1FFFH,由程序计数器提供13条地址线进行单元选择,每个单元宽14位,能够存放一条PIC单片机系统指令。在系统上电或其他复位情况下,程序计数器均从0000H地址单元开始工作。如果遇到调用子程序或系统发生事件中断时,都将把当前程序断点处的地址送入8级×14位的堆栈区域进行保护。堆栈是一个独立的存储区域,在子程序或中断服务程序执行完后,再恢复断点地址,使主程序得以继续执行。通过14位程序总线,取出对应程序指令的机器码,送入指令寄存器,将组成的操作码和操作数进行有效分离。如果操作数为地址,则进入地址复用器;如果操作数为数据,则进入数据复用器。而操作码将在指令译码和

11、控制单元中转化为相应的功能操作。2) 数据存储区域PIC16F877单片机数据存储器主要包括特殊功能寄存器和通用寄存器两部分,用于存取CPU在执行程序过程中产生的中间数据或预置的参数。RAM数据存储器的每个存储单元除具备普通存储器功能之外,还能实现移位、置位、复位和位测试等通常只有寄存器才能完成的操作。PIC16F877共有512字节单元空间(包括无效的地址单元),即000H1FFH.地址复用器组合9条地址线,实现512个数据存储器单元地址的有效选择。对于不同的数据访问,地址复用器的组合方式也存在差异。当采用直接寻址时,RAM地址的形成采用7加2模式,即7位数据来源于指令操作数,2位数据来源于

12、STATUS状态寄存器RP1、RP0;而采用间接寻址时,RAM地址的形成采用8加1模式,即8位数据来源于文件选择寄存器FSR,1位数据来源于STATUS状态寄存器IRP基本功能区域配置有地址和数据两种复用器,是一种信号的选择开关,可根据指令功能的不同而选择其中的一个通路。3) E2PROM数据存储器模块PIC16F877单片机嵌入一个256×8位E2PROM数据存储器模块。它与内部数据存储器最大的差异在于可在线擦/写,存储的内容掉电时不会丢失。完成数据存取功能,PIC单片机指令集没有提供现成的机器指令,而必须采用特殊的程序段。4) 算术逻辑运算区域PIC16F877单片机中一个非常重

13、要的部件就是算术逻辑单元ALU,主要实现算数运 图4.1PIC16F877单片机的功能框图算和逻辑运算。一般对于双目操作类指令,如“加”、“减”、“与”、“或”的两个操作数将来源于工作寄存器W和数据复用器。而执行的结果可以送入工作寄存器W或返回数据总线(进入特定外围模块或给定的数据寄存器单元),同时会将运算结果的状态送入STATUS状态寄存器。与算术逻辑运算区域关联的特殊功能寄存器有以下3种(1)工作寄存器W:相当于其它单片机中的“累加器A”,是数据传送的桥梁,是最为繁忙的工作单元。在运算前,W可以暂存准备参加运算的一个操作数(成为源操作数);(2)状态寄存器STATUS:反映最近一次算术逻辑

14、运算结果的状态特征,如是否产生进位、借位、结果是否为零等,共涉及3个标志位(Z、DC和C)。该寄存器在其他单片机中又称为标志寄存器或程序状态字(PAW)寄存器。另外,状态寄存器还包括数据寄存器区域的选择信息(IRP、RP1和RP0)。如图所示的状态寄存器STATUS指向数据存储器地址复用器的3条控制线,配合完成间接寻址(IRP)和直接寻址(RP1和RP0)。(3)文件选择寄存器FSR:是与INDF完成间接寻址的专用主题寄存器,用于存放间接地址,即预先将要访问单元的地址存入该寄存器。5) 输入/输出端口模式PIC16F877单片机具有丰富的接口资源,共设置有5个输入/输出端口,分别为RA(6位)

15、、RB(8位)、RC(8位)、RD(8位)和RE(3位),合计共有33个引脚。大多数引脚除了基本I/O功能外,还配置有其他特殊功能,例如模拟量输入通道,串/并行通信线和MPLABICD专用控制线等。这些端口引脚在使用中存在着差异,特别是RA(6位)和RE(3位)中所涉及的输入/输出通道,只有当对ADCON1进行设置后才能用作为数字累输入/输出引脚。另外,RB端口的高4位具有特殊的电平变化中断功能,为实时监控提供了很大方便。RC端口拥有各类串行通信功能,包括主控同步串行通信MSSP(SPI、I2C)和通用同步/异步收发器USART6) 多功能定时器模块PIC16F877单片机配置有3个功能较强的

16、多功能定时器模块:TMR0(8位)、TMR1(16位)和TMR2(8位)。他们都具有不同位宽的可编程定时器,出TMR2以外都可作为计数器使用。每个定时器/计数器模块都配有不同比例的预分频器或后分频器。另外,还有两个重要的专门用途;当设置在同步计数方式下,TMR1可与捕捉/比较/脉宽调制CCP模块配合实现脉宽调制输出功能。7) 核心模块PIC16F877单片机具有多种功能强大的系统复位模式:基于电容的效应,当系统芯片加电后,VDD电压会有一个逐渐上升的过程,只有达到1.51.8V后,上电复位电路将自动产生一个复位脉冲,使单片机复位;而为了保障系统程序安全,可靠运行,当VDD掉电跌落到VBOR(大

17、约4V)的时间大于TBOR(大约100us)时,如果掉电复位功能处于使能方式,将自动产生一个复位信号并使芯片保持在复位状态;而此时如果VDD恢复到正常范围,上电延时电路再提供一个72ms延时,才使CPU从复位状态返回到原正常运行状态。另外,核心模块还带有两种特殊的延时电路:上电延时和起振延时电路。在芯片加电时,上电延时定时器PWRT提供一个固定的72ms正常上电延时。上电延时电路采用RC振荡器方式工作。当PWRT处于延时过程时,芯片就能一直保持在复位状态,以确保电源电压在这个固定延时内达到合适的芯片工作电压;在上电延时电路提供一个72ms延时后,起振定时器OST将提供1024个振荡周期的延迟时

18、间,以确保晶体或陶瓷谐振器能够有合适的时间起振并产生稳定的时序波形。PIC16F877单片机嵌入了一个具有较强功能的看门狗定时器WDT,能够有效防止因环境干扰而引起系统程序“飞溢”。WDT的定时/计数脉冲是由芯片内专用的RC振荡器产生的。它的工作既不需要任何外部器件,也与单片机的时钟电路无关。这样,即使单片机的时钟停止,WDT仍能继续工作。看门狗电路在实时控制系统有着重要的应用价值,可以在18ms基本定时基础上加入1:11:128的预分频比例,从而达到182304ms的定时。一旦在程序中启用看门狗电路,定时的长短将直接与看门狗复位指令CLRWDT的设置有关。其原则是:程序循环或程序段内插入CL

19、RWDT,确保正常程序运行时看门狗电路执行复位(CLRWDT)的间隙时间小于看门狗电路设置的溢出时间。PIC16F877单片机最具特色的内容之一就是具有强大的在线调试功能和低压编程功能,为初学者提供了一个友好的操作平台,在Microchip公司提供的集成开发环境MPLABIDE和实验板的支持下,完成在线调试程序的功能。在对PIC16F877单片机进行在线串行编程时,该电路允许使用芯片工作电压VDD作为编程(即固化)电压,而不需要额外的高电压(如13V)2:PIC16F877单片机的专用功能模块PIC16F877单片机内部集成了多个专用功能模块,其功能和使用方法比较复杂。PIC16F877单片机

20、专用功能区域主要包括了6个充分体现PIC16F877单片机特色的专用功能模块。1)串行通信和并行数据传送模块在RC端口汇集有多种串行数据传送方式,主要包括同步串行端口SSP和通用同步/异步收发器USART。SSP具有SPI和I2C两种系统内部进行数据传送的工作方式,可实现多机或外接专用器件进行特殊通信。USART是一种常规的二线式串行通信模式,在PC机和单片机中都有配置。它可以定义为两种工作方式:半双工同步方式和全双工异步方式,以实现外接专用器件之间或远距离多机进行特殊通信。另外,RD端口可作为并行从动端口PSP,是一条处于被动工作方式下数据传送的高速通道,并行数据总线的权限将由于其进行数据交

21、换的另一方控制。2)捕捉/比较/脉宽调制模块PIC16F877单片机配置有两个功能较强,颇具特色的功能模块CCP1和CCP2,分别能与TMR1和TMR2配合实现对信号的输入捕捉,输出比较和脉宽调制PWM输出功能。(1) 输入捕捉功能:主要通过TMR1定时器,及时捕捉外加信号的边沿触发,用来间接测量信号周期,频率,脉宽等。(2) 输出比较功能:主要通过TMR1定时器和比较电路,输出宽度可调的方波信号,以驱动那些工作于脉冲型的电气部件。(3) 脉宽调制PWM输出功能:主要通过TMR2定时器,PR2周期寄存器和比较电路,输出周期和脉宽可调的周期性方波信号,以控制可控硅的导通状态,步进电机转动角度或调

22、整发光器件亮度等。3) A/D转换器(ADC)模块A/D转换器是专门功能区域重要的器件之一。PIC16F877单片机本身就嵌入了一个10位分辨率的模/数转换器,最多可带有8个模拟量输入通道,用来将外部的模拟量变换成单片机可以接受和处理的数字量。A/D转换器采用常规的逐次比较法,参考电压即可使用标准的VDD和VSS信号,也可使用外加参考电压的方式。A/D转换器内部配置有独立的时钟信号,即使PIC单片机处于睡眠的情况下,照样可以进行模/数转换。4.2.2 PIC16F877单片机的引脚说明1:PIC16F877的引脚如图4.2所示 图4.2 PIC16F877引脚图2:PIC16F877引脚定义P

23、IC16F877单片机共有40个引脚,其中11、32脚是电源引脚,12、31脚是电源地,分别接到5V电源的正负极上;1脚是复位引脚,低电平复位;13、14脚时时钟输入引脚和时钟输出引脚,可由RC振荡电路或晶振振荡电路构成时钟源;其余引脚分别是RA0RA5、RB0RB7、RC0RC7、RD0RD7、RE0RE2,这些引脚除了当作普通端口使用外,很多引脚还有其他功能。PIC16F877单片机的每个I/O端口都配有2个相关的寄存器:一个是寄存器TRISx;另一个是端口寄存器PORTx。TRISx是一个方向寄存器,用来设置端口的方向,也就是将端口设置为输入口或者输出口:逻辑1代表端口是输入口,逻辑0代

24、表端口是输出口。需要注意的是在上电复位后,这些I/O端口的默认状态都是输入。PORTx是端口寄存器,在作为输出口时,该寄存器中存放的是要输出的数据;在作为输入口时,该寄存器中存放的是要读取的数据。这两个寄存器都是8位寄存器,分别与每个端口的8个引脚相对应。1:PORTA和TRISA寄存器PORTA是一个6位长度的双向端口,相对应的方向寄存器是TRISA。设置相应的位为1将使相对应的PORTA端口设置为输入口,设置相应的位为0将使相对应的PORTA端口设置为输出口。当将端口设置为输入口时,从PORTA寄存器读取的数据表示引脚的状态;当将端口设置为输出口时,则将数据写到端口锁存器中。所有写操作都经

25、过读修改写的过程。因此对端口的“写”意味着先读引脚,然后修改值,最后再写入到端口锁存器。RA4引脚同时被复用为TMR0的时钟输入引脚,作为输入时,其内部是一个施密特触发器;作为输出时,则是一个漏极开路输出。所有其他RA端口引脚的输入信号都是TTL电平,输出信号都是CMOS驱动输出。需要注意的是,将RA4作为输出口时一定要接上拉电压。当其他引脚复用为模拟参考电压输入时,由ADCON1寄存器进行设置。 表4.1 端口A功能表引脚名称位缓冲功能RA0/AN0第0位TTL通用输入/输出口,模拟输入口RA1/AN1第1位TTL通用输入/输出口,模拟输入口,RA2/AN2/VREF-第2位TTL通用输入/

26、输出口,模拟输入口,负参考电压RA3/AN3/VREF+第3位TTL通用输入/输出口,模拟输入口,正参考电压RA4/TOCKI第4位ST通用输入/输出口,定时器0外部时钟输入口,漏极开路输出RA5/SS/AN4第5位TTL通用输入/输出口,模拟输入口,同步串口从模式选择输入注:TTL=TTL输入,ST=施密特触发输入 表4.2 端口A相关寄存器地址名称Bit7BIt6Bit5Bit4Bit3Bit2Bit1Bit0上电复位和带电锁定复位时的值其他复位时的值05HPOPTARA5RA4RA3RA2RA1RA0-0X0000-0U000085HTRISA端口A方向寄存器-111111-111111

27、9FHADCON1ADFMPCFG3PCFG2PCFG1PCFG0-0-0000-0-0000 表4.3 ADCON1中PCFG3PCFG0的作用PCFG3PCFG0AN7RE2AN6RE1AN5RE0AN4RA5AN3RA3AN2RA2AN1RA1AN0RA0VREF+VREF-0000AAAAAAAAVDDVSS0001AAAAVREF+AAARA3VSS0010DDDAAAAAVDDVSS0011DDDAVREF+AAARA3VSS0100DDDDADAAVDDVSS0101DDDDVREF+DAAVDDVSS011XDDDDDDDDVDDVSS1000AAAAVREF+VREF-AAR

28、A3RA21001DDAAAAAAVDDVSS1010DDAAVREF+AAARA3VSS1011DDAAVREF+VREF-AARA3RA21100DDDAVREF+VREF-AARA3RA21101DDDDVREF+VREF-AARA3RA21110DDDDDDDAVDDVSS1111DDDDVREF+VREF-DARA3RA22:PORTB和TRISB寄存器POTRB是一个8位长度的双向端口,相对应的方向寄存器是TRISB。设置TRISB相应的值为1将使相对应的PORTB端口设置为输入口,设置相应的值为0将使相对应的PORTB端口设置为输出口。PORTB端口中的三个端口RB3/PGM、R

29、B6/PGC、RB7/PGD复用为低电压编程功能。端口B中的每一个引脚都有内部的弱上拉电阻,由每一个控制位设定,即OPTION_REG寄存器中的第7位RBPU。当RBPU-=0时打开所有的内部弱上拉电阻。当引脚配置为输出时,自动关闭所有上拉电阻。在电源上电复位时所有的弱上拉电阻被禁止。RB7RB4这四个引脚在电平变化时产生中断,因此可以利用这个特点构成电平变化中断键盘。当这些引脚配置成输入引脚后,可以自动将锁存器中的数值与当前引脚电平数值进行比较。若不一致,称为“失配”,则会产生一个中断,该中断可将单片机从睡眠状态中唤醒。任何一个中断的产生都有一个中断标志位,电平变化中断标志位为RBIF,该位

30、是中断控制寄存器INTCON的第0位。如果有中断产生,标志位RBIF=1,那么处理完中断后将该位清零。在中断程序中可以采用如下方法清除中断:1)对PORTB的任何读或写。这将结束不一致的条件;2)清除标志位RBIF失配的条件将会继续设置标志位RBIF。读PORTB将结束失配的条件,并允许清除标志位RBIF“电平变化中断”推荐用于键盘唤醒操作和电平变化时的中断操作。当使用电平变化中断时,不建议用PORTB查询。RB0/INT是一个外部中断输入引脚,使用INTEDG位进行配置,INTEDG位是OPTION_REG寄存器的第6位表4.4端口B功能表引脚名称位缓冲功能RB0/INT第0位TTL通用输入

31、/输出口,或外部中断输入,内部软件可编程弱上拉电阻RB1第1位TTL通用输入/输出口,内部软件可编程弱上拉电阻RB2第2位TTL通用输入/输出口,内部软件可编程弱上拉电阻RB3/PGM第3位TTL通用输入/输出口,或LVP模式可编程引脚,内部软件可编程弱上拉电阻RB4第4位TTL通用输入/输出口(电平变化中断),内部软件可编程弱上拉电阻RB5第5位TTL通用输入/输出口,内部软件可编程弱上拉电阻RB6/PGC第6位TTL/ST通用输入/输出口(电平变化中断)或在电路调试引脚,内部软件可编程弱上拉电阻和串行可编程时钟RB7/PGD第7位TTL/ST通用输入/输出口(电平变化中断)或在电路调试引脚

32、,内部软件可编程弱上拉电阻和串行数据口。注:(1)当为外部中断时,该缓冲器为施密特触发器 (2)当用于串行可编程模式时,该缓冲器为施密特触发器表4.5端口B相关寄存器地址名称Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0上电复位和带电锁定复位时的值其他复位时的值06H,106HPORTBRB7RB6RB5RB4RB3RB2RB2RB0XXXXXXXXUUUUUUUU86H,186HTRISB端口B方向寄存器111111111111111181H,181HOPTION_REGRBPUINTEDGTOCSTOSEPSAPS2PS1PS011111111111111113:PORT

33、C和TRISC寄存器PORTC是一个8位的双向端口,相对应的方向寄存器是TRISC,设置TRISC相应位为1将使该端口设置成输入端口。将TRISC相应位清零则将使该端口设置成输出端口。PORTC与几个外设的功能是复用的。PORTC具有施密特触发器输入缓冲器。当I2C模块使能时,PORTC的3、4引脚可以通过CKE位配置为标准的I2C电平和SMBUS电平。当外设功能使能时,特别要注意PORTC的方向寄存器TRISC的设置。某些外设忽略TRISC中相应位将一个引脚设置为输出引脚,而其他外设忽略TRISC中相应位将一个引脚设置为输入引脚。当外设使能时,由于忽视TRISC中相应位的影响,故而避免使用以

34、TRISC为目标的读出修改写入指令。表4.6 端口B功能表引脚名称位缓冲功能RC0/T10S0/T1CK1第0位ST通用输入/输出口,或定时器/振荡器输出/定时器/时钟输入RC1/T1OSI/CCP2第1位ST通用输入/输出口,或定时器/振荡器输入或capture2输入/capture2输出/PWM输出RC2/CCP1第2位ST通用输入/输出口,或定时器/振荡器输入或capture1输入/capture1输出/PWM输出RC3/SCK/SCL第3位ST通用输入/输出口,或作为SPI和I2C模式的同步串行时钟RC4/SDI/SDA第4位ST通用输入/输出口,或同步串行数据输入端口或I2C数据口R

35、C5/SD0第5位ST通用输入/输出口,或同步串行数据输出端口或I2C数据口RC6/TX/CX第6位ST通用输入/输出口,或USARF异步发送或同步时钟RC7/RX/DT第7位ST通用输入/输出口,或USARF异步接受或同步数据表4.7 端口C相关寄存器地址名称Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0上电复位和带电锁定复位时的值其他复位时的值07HPORTCRC7RC6RC5RC4RC3RC2RC1RC0XXXXXXXXUUUUUUUU87HTRISC端口C方向寄存器11111111111111114:PORTD和TRISD寄存器POITD也是一个具有施密特触发输入缓冲

36、器的8位端口,每个端口可以配置成输入或者输出引脚。通过设置控制位PSPMODE,也可以将PORTD配置为8位宽的微处理器端口,在这种模式下,输入缓冲器是TTL。表4.8端口D功能表引脚名称位缓冲功能RD0/PSP0第0位ST/TTL通用输入/输出口或并行从端口第0位RD1/PSP1第1位ST/TTL通用输入/输出口或并行从端口第1位RD2/PSP2第2位ST/TTL通用输入/输出口或并行从端口第2位RD3/PSP3第3位ST/TTL通用输入/输出口或并行从端口第3位RD4/PSP4第4位ST/TTL通用输入/输出口或并行从端口第4位RD5/PSP5第5位ST/TTL通用输入/输出口或并行从端口

37、第5位RD6/PSP6第6位ST/TTL通用输入/输出口或并行从端口第6位RD7/PSP7第7位ST/TTL通用输入/输出口或并行从端口第7位 表4.9 端口D相关寄存器地址名称Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0上电复位和带电锁定复位时的值其他复位时的值08HPORTDRD7RD6RD5RD4RD3RD2RD1RD0XXXXXXXXUUUUUUUU88HTRISD 端口D方向寄存器111111111111111189HTRISEIBFDBFIBOVPSPMODEPOPTE数据方向1115:PORTE和TRISE寄存器PORTE端口有3个

38、引脚:RE0/RD/AN5,RE1/WR/AN6和RE2/CS/AN7,他们都可以独立地配置成输入或输出引脚。这些引脚都具有施密特触发器输入缓冲器。当控制位PSPMODE置位时,PORTE变成微处理器端口的控制输入。在这种模式下,用户必须确保TRISE寄存器的第26位被置位(引脚配置成数字输入),并通过ADCON1寄存器将PORTE配置为数字I/O口。表4.10端口E寄存器地址名称RRR/WR/WUR/WR/WR/W89HTRTSEIBFOBFIBOVPAPMODEBit2Bit1Bit0TRISE寄存器各位含义:IBF 输入缓冲器满状态位1=接受到一个字等待CPU读取0=没有接收到字OBF

39、输出缓冲器满状态位1=输出缓冲器仍然保持以前写的字0=输出缓冲器已经读取IBOV 输入缓冲器溢出检测位1=当以前写的字还没有读取时发生写溢出0=没有溢出发生PSPMODE 并行从端口模式选择位1=并行从端口模式0=通常I/O模式未占用,读作0Bit2 引脚RE2/CS/AN7的方向控制位1=输入引脚0=输出引脚Bit1 引脚RE1/WR/AN6的方向控制位1=输入引脚0=输出引脚Bit0 引脚RE0/RD/AN5的方向控制位1=输入引脚0=输出引脚4.2.3 PIC16F877单片机存储器概述PIC16F877单片机内部配置了较完善的多个存储器,可分为数据存储器和程序存储器两种,为一般用户提供了很大的方便。但在形式上,他们具有很丰富的内涵1:程序存储器PIC16F877单片机内部配置了8K×14位的Flash程序存储器,可以很方便的进行在线擦除和烧写,寿命可达1000次以上。在PIC系列单片机教学实验和科研开发中,灵活的Flash功能显示出无穷的魅力和宽广的应用前景。程序存储器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论