PIC单片机介绍

上传人:liu****han 文档编号:242876866 上传时间:2024-09-10 格式:PPT 页数:43 大小:1.53MB
返回 下载 相关 举报
PIC单片机介绍_第1页
第1页 / 共43页
PIC单片机介绍_第2页
第2页 / 共43页
PIC单片机介绍_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,中山火炬职业技术学院,*,中山火炬职业技术学院,第二章,PIC16F877,硬件系统慨况,2.0 PIC16F87X,芯片,引脚图,2.1 40,脚,PIC16F87X,引脚功能说明,2.2 PIC16F87X,内部结构,方框图,2.3,程序存储器和堆栈,2.4 RAM,数据存储器,(文件寄存器),2.5 PIC,系列单片机的,复位功能,2.6 PIC,单片机的,系统时钟,中山火炬职业技术学院,2.0 40,脚,DIP,封装的,PIC16F87X,芯片引脚图,PIC,16F87X,microchip,FLASH,型,/MCLR,RA0,RA1,RA2,RA3,RA4,RA5,RE0,RE1,RE2,V dd,V ss,OSC1,OSC2,RC0,RC1,RC2,RC3,RD0,RD1,RB7,RB6,RB5,RB4,RB3,RB2,RB1,RB0,V dd,V ss,RD7,RD6,RD5,RD4,RC7,RC6,RC5,RC4,RD3,RD2,端口,A,:,RA,(,6,线)端口,B,:,RB,(,8,线)端口,C,:,RC,(,8,线)端口,D,:,RD,(,8,线)端口,E,:,RE,(,3,线),注:,只列出引脚的基本功能;,28,脚芯片只有,RA,、,RB,和,RC,端口。,返回本章目录,中山火炬职业技术学院,课堂练习:,PIC16F877A,引脚,?,A,B,C,D,E,端口的,IO,个数?,中山火炬职业技术学院,在了解,PIC16F877,的引脚时,要注意两点:,引脚的“,复用功能,”;,通过引脚的复用功能来认知,PIC,单片机内部各功能模块的结构、特点。,中山火炬职业技术学院,2.1,:,40,脚,PIC16F87X,引脚功能说明,(参见,25,页),引脚名称,PID,类 型,复 用 功 能 说 明(部分),OSC1/CLKIN,13,I,外接晶体振荡器,/,外时钟输入,OSC2/CLKOUT,14,O,外接晶体振荡器,/,时钟输出端,/MCLR,V pp,1,I/O,复位端,外加编程,+12V,电压输入端,端口,A,(,6,线):输入,/,输出可编程双向端口、第,2,、,3,功能。,RA0 /,AN0,2,I/O,I/O,口(下同),/,第,0,路模拟信号输入,RA1 /,AN1,3,I/O,第,1,路模拟信号输入端,RA2 /,AN2,/,Vr-,4,I/O,第,2,路模拟输入端,、,负参考电压输入,RA3 /,AN3,/,Vr+,5,I/O,第,3,路模拟输入端,、,正参考电压输入,RA4 /,T0CKI,6,I/O,定时器,0,时钟输入端,RA5 /,AN4,/ SS,7,I/O,第,4,路模拟输入,、,同步串口选择端,。,中山火炬职业技术学院,引脚名称,PID,类 型,复 用 功 能 说 明,端口,B,:输入,/,输出可编程双向端口,做输入时内部有可编程的弱上拉电路。此外还有第,2,、,3,功能。,RB0 /,INT,33,I/O,I/O,端口(下同),/,外中断,INT,输入端,RB1,34,I/O,RB2,35,I/O,RB3 /,PGM,36,I/O,低电压编程输入端(内部电源泵),RB4,37,I/O,具有,电平变化中断,功能,RB5,38,I/O,具有,电平变化中断,功能,RB6 /,PGC,39,I/O,电平变化中断,功能,兼在线调试、串行在线编程的,时钟,、,数据,输入。,RB7 /,PGD,40,I/O,中山火炬职业技术学院,引脚名称,PID,类型,复 用 功 能 说 明,端口,C,:输入,/,输出可编程双向端口,此外还有第,2,、,3,功能。,RC0/,T1OSO,/T1CKI,15,I/O,TMR1,的震荡输入,/,时钟输出,RC1/,T1OS,I/CCP2,16,I/O,可做定时器,1,震荡输出,/,捕捉器,2,的输入或输出,/,脉宽调制器,PWM2,的输出。,RC2/,CCP1,17,I/O,可做捕捉器,1,的输入,或比较器,1,的输出,或脉宽调制器,PWM1,的输出。,RC3/,SCK,/,SCL,18,I/O,可做,SPI,、,I,2,C,串口同步脉冲输入、输出,RC4/,SDI,/,SDA,23,I/O,SPI,数据输入,/,I,2,C,数据输入,/,输出端,。,RC5/,SDO,24,I/O,SPI,串口的数据输出端,。,RC6/,TX,/,CK,25,I/O,还可做同步,/,异步收发器,USART,的全双工异步发送脚、半双工同步传送的时钟,RC7/,RX,/,DX,26,I/O,还可做同步,/,异步收发器,USART,的全双工异步接收脚、半双工同步传送的数据,中山火炬职业技术学院,引脚名称,PID,类 型,复 用 功 能 说 明,端口,D,:输入,/,输出可编程双向端口,此外全部引脚都有第,2,功能。,RD0 /,PSP0,19,I/O,还可作为从动并行端口,PSP,实现与其他的微处理器总线的连接,RD1 /,PSP1,20,I/O,RD2 /,PSP2,21,I/O,RD3 /,PSP3,22,I/O,RD4 /,PSP4,27,I/O,RD5 /,PSP5,28,I/O,RD6 /,PSP6,29,I/O,RD7 /,PSP7,30,I/O,中山火炬职业技术学院,引脚名称,PID,类 型,功 能 说 明,端口,RE:,输入,/,输出可编程双向,3,线端口,此外全部引脚都有第,2,、,3,功能。,RE0 /,RD,/,AN5,8,I/O,PSP,的读出控制线,/,模拟,5,道,RE1 /,WR,/,AN6,9,I/O,PSP,的写入控制线,/,模拟,6,道,RE2 /,CS,/,AN7,10,I/O,PSP,的片选控制线,/,模拟,7,道,电源等,Vss,12,31,P,接地端,Vdd,11,32,P,正电源端,返回本章目录,中山火炬职业技术学院,2.2,:,PIC16F87X,内部结构方框图,为了便于分析、理解,可以将,PIC16F87X,内部结构分为:,内部核心模块,、,外围模块,两个区域。,核心模块:,是,PIC,系列单片机任何一款都必不可少的;,外围模块:,则由生产厂家根据设计目标灵活的“,拼装,”和“,剪裁,”,因而派生出许许多多的系列和型号,以使产品在应用中达到最佳的“性价比”。,我们仍然以,PIC16F87X,系列(重点介绍,PIC16F877),为主,来分析,PIC,单片机的内部结构。,中山火炬职业技术学院,端口,E,端口,D,端口,B,端口,C,端口,A,EEPROM,数据存储器,A/D,转换器,捕捉,比较,PWM1,捕捉,比较,PWM2,同步串口,通用同步,/,异步收发器,8,位从动,并行端口,定时器,2,定时器,1,定时器,0,FLASH,程序,存储器,8K,*,14,程序计数器,数据存储器,RAM 368X8,8,级堆栈,13,位,指令寄存器,地址复用器,间址寄存器,状态寄存器,数据复用器,ALU,W,寄存器,指令,译码器,时基,发生器,RAM,地址,(,9,位),程序总线,(,14,位),内部数据,总线,8,位,直接地址,7,位,PIC16F877,结构简图,8,8,3,8,返回前一次,上电延时,起振延时,上电复位,WDT,欠压复位,在线调时,低压编程,中山火炬职业技术学院,2.2.1,:,PIC16F87X,的,核心模块区域,1.,程序存储器:,存放程序、常数和表格。规格:,8K,*,14,的,FLASH,;,2.,程序计数器:,为程序存储器提供指令地址的,13,位计数器(寻址范围,8K,)。 初始状态为全零,每执行一条指令自动加一;,3.,堆栈:,保存程序断点地址。当调用子程序或发生中断时,将断点地址自动 压入堆栈,结构为,8,*,13,即可以有,8,级的断点保护(不同于,MCS51,)。,4.,指令寄存器,:,暂存从程序存储器中取出的指令。将指令的操作码和数据进 行分离,分别送到不同的逻辑电路;,5.,指令译码器和控制器,:,将指令寄存器送来的操作码进行译码,产生一系列 的微操作,控制个功能电路协调工作,完成指令的功能。,结构图,中山火炬职业技术学院,6.,算术逻辑单元,ALU,:,实现算术和逻辑运算操作;,7.,工作寄存器,W,:,指令使用频率很高的寄存器,比如存放要参加运算的数据和暂存运算结果,,类似,MCS-51,的累加器,A,;,8.,状态寄存器,STATUS,(,类似,MCS-51,的,PSW,),:,反映运算结果的状态如:进位、借位、结果是否为全零等;,控制,RAM,中,4,个体的,体选,。,9,.,数据复用器,:,用来选择参加运算的,数据,来源:数据可以是来自,RAM,存储 器,也可以是来自程序存储器中的常数。,10.,数据存储器,RAM,:,存放运算的中间结果。,RAM,单元具有,移位、置位、清零,和,位测试,等只有寄存器才有的功能,所以这些,RAM,单元也称“,文件寄存器,”。整个分为体,0,、体,1,、体,2,和体,3,四个体,由,status,中的,rp0,、,rp1,来设定。上电复位时指向体,0,。,结构图,中山火炬职业技术学院,11.,地址复用器:,提供访问数据寄存器所需要的,RAM,地址。地址可以来源于间址寄存器,FSR,,也可来自指令码中的直接地址;,12.,间址寄存器,FSR,(,文件选择寄存器,):,存储间接地址,执行相应的指令前要事先将要访问数据的,RAM,地址存入,FSR,中(类似于,MCS-51,的,Ri,);,13.,时基发生器:,产生内部各功能电路工作时所需的时钟信号;,14.,上电复位电路:,芯片上电后,Vdd,上升到一定值(,1.6,1.8V,)后,电路产 生一个复位脉冲使单片机复位。,15.,上电延时电路:,为了保证电源电压上升到足够高时再使单片机工作。电路提供一个,72ms,的延时时间以确保,CPU,在电源电压达到正常值时工作(,如果,CPU,在电源电压偏低的情况下工作时,会发生错误的操作)。,结构图,中山火炬职业技术学院,16.,起振延时电路:,当芯片上电延时后,该电路再提供一个,1024,个时钟周期的延时,以保证振荡器有足够的时间来产生稳定的时钟信号;,17.,看门狗定时器,WDT,:,自带,RC,振荡器时钟源的,定时器,。用来监视程序的运行状态。如果因某种原因使程序“,脱离了,”正常的“,轨道,” 而“,死机,”时,能够强行将,CPU,复位,,使系统从,0000,开始重新执行程序,。,18.,欠压复位电路:,当芯片的电源电压低于某个值时,,CPU,将不能正确的执行指令,这样系统将会产生不可想象的后果。为了防止这种情况的发生,,PIC,内部设立了电源监控电路,一旦电源电压低于某一个值时,系统将自动产生复位,直到电源,Vdd,恢复正常后再延时,72ms,,,CPU,才由复位状态转向运行状态。,结构图,中山火炬职业技术学院,19.,在线调试电路:,实现对于焊接在板子上的,PIC16F87X,芯片的在线调 试。当然,必须使用,microchip,公司提供的 “,MAPLAB IDE”,调试软件的支持。,20.,低电压编程电路:,PIC16F87X,芯片可以实现在线串口编程。使用芯片电源(,+5V,),,通过芯片内部的,“,电源泵,”,将,5V,升为高压完成,编程(固化程序),而不是一般的单片机使用的外加高电压输入编程。,21.,数据总线:,8,位宽度,内部数据的通道,也是连接各外围模块的连接 通道。,22.,程序通道:,14,位的取指高速通道 。专职实现从程序存储器到指令寄 存器的指令快速传递。,结构图,中山火炬职业技术学院,2.2.2,:,PIC16F87X,的外围模块区域,PIC,的外围模块种类较多、功能也比较复杂,不同的型号其配制不同。对于学习,PIC,这门课程,可以先“绕过”这里的一些复杂的环节,等到后面的相应章节中作专题讲解。这里先对,PIC,的外围模块预先做一个简要的介绍:,1.,端口,RA,模块:,6,线可编程,I/O,端口,有第,2,、,3,功能;,2.,端口,RB,模块:,8,线可编程,I/O,端口,有第,2,、,3,功能;,3.,端口,RC,模块:,8,线可编程,I/O,端口,有第,2,、,3,功能;,4.,定时器,TMR0,模块:,8,位可编程定时,/,计数器。,5.,定时器,TMR1,模块:,16,位可编程定时,/,计数器,与捕捉,/,比较,/,脉宽调制器,CCP,模块配合使用,实现捕捉、比较功能;,6.,定时器,TMR2,模块:,8,位可编程定时器,不能做计数器使用,与捕捉,/,比较,/,脉宽调制器,CCP,模块配合使用,实现脉宽调制输出功能;,中山火炬职业技术学院,7.,EEPROM,数据存储模块:,128*8,的电擦,/,写的存储器,掉电时数据不丢失;,8.,A/D,转换器,:,10,位转换精度,有,5/8,路;,9.,捕捉,/,比较,/,脉宽调制,CCP1,、,CCP2,模块,:两个几乎完全一样的,CCP,模块,与,TMR1,、,TMR2,配合使用可以实现输入捕捉,输出比较和脉宽调制,PMW,输出功能。,输入捕捉,:,用于测量信号的周期、脉宽和频率等;,输出比较,:,功能用于产生宽度不同的正负方波信号,用于驱动可控 硅、继电器等;,脉宽调制输出,:用于产生,周期固定、脉宽可调,的周期性的方波信 号,以驱动可控硅、步进电机等;,中山火炬职业技术学院,10.,主同步串行端口,MSSP,模块:,具有,SPI,和,I,2,C,两种工作模式,用于与,SPI,和,I,2,C,串行端口的外接器件或单片机进行通信;,SPI : serial peripheral interface,外围串行接口,;,I,2,C : inter integrated circuit bus,电路板级集成芯片间总线。,11.,通用同步,/,异步收发器,USART,模块,:,用于实现二线式的串行通信,有两种工作方式:,全双工异步方式。用于与微机或单片机,系统,的通信;,半双工同步方式。用于与,A/D,、,D/A,、,串行,EEPROM,等,器件,的通信,。,12.,并行从动端口,PSP,模块:,用于与其它具有开放总线的单片机、数据处理器或微处理器并行数据总线连接,进行高速的数据传送和交换。因为总线的使用、控制权由与,PIC,连接的外部系统掌握,所以称其为,“并行从动端口”,;,返回本章目录,中山火炬职业技术学院,2.3,程序存储器和堆栈(,参见,45,页),PIC16F87X,系列单片机具有一个,13,位的程序计数器,其寻址范围为,2,13,=8K,(,1024,*,8=8192,个字节),对应的寻址范围是:,0000H,1FFFH,。,PIC16F87X,系列单片机程序存储器容量表,型 号,存储器容量,地 址 范 围,PIC16F874/877,8K,*,14,0000,1FFFH,PIC16F873/876,4K,*,14,0000,0FFFH,PIC16F870/871/872,2K,*,14,0000,07FFH,中山火炬职业技术学院,堆栈级,1,堆栈级,2,堆栈级,8,复位矢量,中断矢量,PC,0000H,0004H,1FFFH,07FFH,0800H,第,0,页,第,1,页,第,2,页,第,3,页,1800H,17FFH,1000H,0FFFH,13,13,PIC16F877,内部程序存储器和堆栈示意图,将程序存储器每,2K,为一页,这样:,PIC16F877,的,8K,*,14,空间可以划分为四个页(如图所示)。,第,0,页中的,0000H,、,0004H,单元为两个特殊的“,上电复位矢量”,单元和“,中断矢量”,入口单元”。,独立于,RAM,中山火炬职业技术学院,PIC16F87X,系列单片机采用的是“,硬件堆栈,”方式,堆栈深度为,8,级。,“,硬件堆栈,” :,CPU,执行,CALL,指令,或,响应中断,时,程序跳转且自动地把当前程序计数器,PC,的内容(断点)压入堆栈;返回时将堆栈中的断点地址自动“弹到”程序计数器,PC,中,使,CPU,恢复执行原来的程序,(同,MCS-51,);,由于,PIC,的堆栈是专门存储程序,断点,的(,13,位),所以此堆栈不能用来存储数据,所以,PIC,没有专用的“进栈”、“出栈”指令,(不同于,MCS-51,)。,返回本章目录,中山火炬职业技术学院,2.4 RAM,数据存储器(文件寄存器),参见,47,页,PIC16F87X,系列单片机的,RAM,单元包含了,通用寄存器,和,专用寄存器,。都可以实现:,移位、置位、清零和位测试,等复杂操作,所以在,microchip,公司的技术资料中,常常把其,RAM,又称为“,文件寄存器,”(在,MCS51,中只有累加器,A,才具备上述功能)。,由于指令代码中,直接寻址,位数的限制,将,512B,的存储空间,分为四个体,(,Bank),:即体,0,、体,1,、体,2,和体,3,。由,status,中的,rp0,、,rp1,来设定。每一个体中有,128,个单元。,PIC16F87X,的,RAM,按照功能划分:,特殊功能寄存器,。在每一个体中的上半部分; ,通用寄存器,。占用每一个体中的下半部分。,中山火炬职业技术学院,PIC,单片机的,RAM,操作,首先要通过,status,中的,rp0,、,rp1,位的设置,来确定被访问单元所在的“,体,”的位置,然后才能对该单元进行访问!,这种方式多少为编程者带来了不便。其原因是,PIC,的指令系统的访问内存指令中的直接地址的有效位数不够(只有,7,位地址);,如果使用,C,语言编程(,PICC,),上述问题可以忽略。,PIC,单片机的,RAM,访问注意事项,中山火炬职业技术学院,PIC16F87X,数据存储器,RAM,结构图(简图),00H,1FH,80H,9FH,100H,10FH,180H,18FH,20H,6FH,70H,7FH,A0H,EFH,F0H,FFH,110H,16FH,170H,17FH,190H,1EFH,1F0H,1FFH,INDF,TMR0,OP_REG,TMR0,OP_REG,PCL,STATUS,FSR,PORTA,TRISA,-,-,PORTB,TRISB,PORTB,TRISB,PORTC,TRISC,-,-,PCLATH,INTCON,通用,寄存器,通用,寄存器,通用,寄存器,通用,寄存器,返回上一次,中山火炬职业技术学院,2.4.1,通用寄存器,(参见,51,页),通用寄存器,(,GPR general purpose registers),PIC16F87X,系列不同型号,RAM,配置的数量不同,在同一型号中的不同的“体”中数量也各不相同(以,P,IC16F877,为例):,在体,0,中有,96,个,RAM,单元,地址为:,20H,7FH,;,在体,1,中有,80,个,RAM,单元,地址为:,A0H,EFH,;,在体,2,中有,96,个,RAM,单元,地址为:,110H,16FH,;,在体,3,中有,96,个,RAM,单元,地址为:,190H,1EFH,;,中山火炬职业技术学院,注意:体,1-,体,3,的最后,16,个单元实际上是不存在的,但可以使用其地址来访问,但是真正被访问的单元不是地址所对应的体,1-,体,3,的对应单元,而是在体,0,中所“影射”的单元。,【,例如,】,访问体,1,中的,F0H,单元时,真正被访问的却是体,1,中的,70H,单元。体,2,、体,3,也是如此。,我们将,体,0,中,70H,7FH,的,16,个单元称之为体,1-3,的,影射区,;,影射区的好处是在一些较特殊的场合(如中断响应时)对数据的保护可以省掉对,RAM,的体选操作)具体将在后面相关的章节中介绍。,中山火炬职业技术学院,PIC16F877 RAM,中通用寄存器的结构,通用,寄存器,80B,映射到,70,7FH,通用,寄存器,16B,通用,寄存器,80B,映射到,70,7FH,通用,寄存器,96B,通用,寄存器,16B,通用,寄存器,80B,映射到,70,7FH,00H,1FH,20H,70H,7FH,80H,9FH,A0H,EFH,F0H,FFH,100H,10FH,110H,11FH,120H,16FH,170H,17FH,180H,18FH,1A0H,19FH,18FH,1EFH,1F0H,1FFH,中山火炬职业技术学院,2.4.2,特殊功能寄存器,与通用寄存器不同,特殊功能寄存器在,PIC16F87X,系列,中,4,个体中的,布局保持了一致(,重叠式设计,),,这是考虑到编程时节省,选体,操作、同时工程技术人员在使用,PIC16F87X,系列中不同产品之间编程时的,兼容性(,参见结构图,),。,将特殊功能寄存器划分为:, 与,CPU,内核相关,的特殊功能寄存器; 与,外围模块相关,的特殊功能寄存器。,为了便于学习和掌握,先分析与,CPU,相关的特殊功能寄存器,而与外围模块相关的寄存器放到相关的章节中介绍。,中山火炬职业技术学院,有六个比较常用、重要的特殊功能寄存器,:,状态寄存器,STATUS,;,间接寻址寄存器,INDF,;,程序计数器低八位,PCL,;,文件选择寄存器,FSR,;,程序计数器高位锁存器,PCLATH,;,中断控制寄存器,INCON,。,它们在四个体上地址是,互相映像,的,在物理上是,同一个寄存器单元,。还有一些寄存器在体,0,、体,1,(或体,2,、体,3,)内是相互映像的。,这种设计的好处:访问时不受“,体选,”的约束,简化编程。,寄存器简图,中山火炬职业技术学院,(一)状态寄存器,STATUS,用于记录算术逻辑单元,ALU,的,运算状态,和,算术特征,、,CPU,的特殊运行状态、以及,RAM,数据存储器的,体选择,等信息。,在,RAM,中的地址分别为,03H,(体,0,)、,83H,(体,1,)、,103H,(体,2,)和,183H,(体,3,),在四个体上的位置是相互影射的;,地址映射,可理解为:物理上只有体,0,上的,STATUS,,而其它体上的位置为“空”,访问时都与体,0,的,STATUS,产生关系。这种设计为编程带来方便,避免了要预先“,选体,”的麻烦(参见,52,页)。,IRP,PR1,PR0,/TO,/PD,Z,DC,Cy,D7,D0,RAM,结构图,中山火炬职业技术学院,状态寄存器,STATUS,详解,符号,位,说 明,C,Bit 0,进位,/,借位标志,DC,Bit 1,辅助进位,/,借位标志位(数据字节中的高,4,位与低,4,位之间),Z,Bit 2,=1,表明运算结果为零;反之,=0,时表明运算结果不为零。,/PD,Bit 3,降耗标志位(低电平为有效),。初始加电或看门狗清零(,clrwdt,)执行后,=1,,睡眠指令(,sleep,)执行后该位清零。,/TO,Bit 4,超时标志(低电平为有效),。初始加电或看门狗清零(,clrwdt,)执行后,=1,。若看门狗发生超时,/TO=0,。,PR0,PR1,Bit 5,Bit 6,RAM,数据存储器的,体选位,,仅用于,直接寻址,。由,PR1,、,PR0,的四种组合对应体,0,体,3,。,IRP,Bit 7,RAM,数据存储器的,体选位,,仅用于,间接寻址,方式。,中山火炬职业技术学院,(二)与间接寻址相关的,INDF,和,FSR,INDF,是,RAM,最顶端的寄存器,地址为,00H,,但是它是一个“,空寄存器,”,即只有地址而没有其物理上的寄存器;,与,FSR,配合实现间接寻址。当寻址,INDF,寄存器时,实际上是访问以,FSR,内容为地址的,RAM,单元,。使用这种方法可以使指令系统得到极大的简化。,例如,MOVF INDF,,,W,;实际上是按照,FSR,的内容为 地址,从,RAM,中取数据到,W,假如,FSR,的内容为,30H,,则指令执行的结果:将,RAM30H,中的数据送,W,。这一点,FSR,很像,MCS-51,中的简址寄存器,Ri,,所以,FSR,要事先赋值(,RAM,地址)。,RAM,结构图,中山火炬职业技术学院,PIC,单片机的,RAM,有,两种,寻址方式:,直接寻址,:使用状态寄存器,STATUS,中的,PR1,、,PR0,进行体选;体内的地址(,7,位)由指令中,7,位地址码提供;,间接寻址,:使用,STATUS,中的,IRP,和,FSR,的第,7,位选体,体内地址由,FSR,的低,7,位提供(详见下图)。,中山火炬职业技术学院,数据存储器,RAM,的寻址示意图,00H,7FH,80H,FFH,100H,17FH,180H,1FFH,6,来自指令,0,PR1 PR0,IRP,7,FSR,寄存器,0,RAM,单元选择,单元选择,间接寻址的体选,直接寻址的体选,00 01 10 11,体,0,体,1,体,2,体,3,STATUS,寄存器,中山火炬职业技术学院,(三)与程序计数器,PC,相关的,PCL,和,PCLATH,程序计数器,PC,是一个,13,位宽度的程序指针(访问空间,2,13,=8192,),,它时刻指向,CPU,下一步要执行的那条指令。,为了能与其他,8,位宽度的寄存器进行数据交换,将,PC,设计成,PCL,(,8,位),和,PCH,(,5,位),两个部分,其中,PCL,有自己的地址(,02H,等)以便进行读写,而高,5,位的,PCH,却因为没有地址不能用软件访问,即不能直接访问(写入)。,PCH,(,5bit,),PCL,(,8bit,),程序计数器,PC,RAM,结构图,中山火炬职业技术学院,高,5,位,PCH,的修改只能通过,PCLATH,寄存器以,“装载”,的方式完成。而装载又分两种情况:,当执行以,PC,为目标的写操作时,,PC,的低八位来自,ALU,,而,PC,的高,5,位来自,PCLATH,的低,5,位;,当执行跳转指令,GOTO,或子程序调用指令,CALL,时,,PC,的低,11,位地址直接来自指令所携带的,11,位地址,而,PCH,的高,2,位来自,PCLATH,的第,3,、,4,位。,中山火炬职业技术学院,程序计数器,PC,中,13,位地址的形成示意图,-,-,-,PCLATH,12,PCH,8 7,PCL,0,来自,ALU,(,8,位),-,-,-,-,-,-,PCLATH,12,PCH,11 10,PCL,0,来自指令码(,11,位),执行以,PCL,为目标的指令时,执行,GOTO,或,CALL,调用指令时,中山火炬职业技术学院,(四)电源控制寄存器,PCON,电源控制寄存器,PCON,只有两个有效位:,bit0,、,bit1,。,两个标志位是分别用来:,1,,纪录、区分:复位是,上电复位,或,/MCLR,输入低电平还是“,看门狗,”引起的复位;,2,,记录和鉴别是否发生了,掉电,(电压跌落)复位。,符号,位,说 明,/POR,bit 1,电源上电、复位标志位。,=1,:没有发生上电复位情况;,=0,:发生上电复位。当发生上电复位后应将其置一,,以便下次判断的正确性。,/BOR,bit 0,掉电锁定复位标志。,=1,:没有发生掉电锁定复位;,=0,:发生了掉电锁定复位。当发生了掉电锁定复位后,,应及时将其置一,以便为下次的判断做准备。,返回本章目录,中山火炬职业技术学院,由于,PIC,单片机具有多种复位功能。造成复位的原因不同,对单片机内部寄存器、标志和状态影响都不同,所以应当在程序的开始部分可以加上对,/POR,和,/BOR,等标志的判断,以查清当前复位产生的原因,即程序运行的背景是什么:,是原始的上电复位,?,(,/POR=0?,),;,是掉电复位,?,(,/BOR=0?,),是,WDT,复位,?,(在,STATUS,中的,/TO=0,?);,单片机在,SLEEP,状态下由,WDT,造成的复位,?(,在,STATUS,中的,/TO,和,/PD=0?),。,可以根据复位的原因,程序进行不同的处理。当然,对于一些简单的程序可以不考虑其复位的原因,只要复位后,PC=000H,后统统从初始化开始运行,.,中山火炬职业技术学院,2.5 PIC,系列单片机的复位功能,PIC16F87X,具有完善的复位系通。有,4,种复位方式:, 人工复位:,无论单片机处于运行、睡眠或死机状态,只要在引脚,“,/MCLR,”,上加一个低电平,就会令其复位;, 上电复位:,上电时,上电复位电路就要对电压,Vdd,进行监控,当电源达到,1.6,1.8V,时就会产生一个复位信号,经,72ms+1024,个时钟的延时后才会使单片机进入工作状态;, 看门狗复位:,只要没有对看门狗定时器,WDT,及时清零,看门狗定时器就会出现超时溢出,引发,WDT,对单片机复位。, 欠压复位:,当电源电压下降到,4V,以下时,欠压复位电路就会产生一个复位信号,使,CPU,进入到复位状态。电源恢复到正常后再延时,72msCPU,返回运行状态。,返回本章目录,中山火炬职业技术学院,2.6 PIC,单片机的系统时钟,PIC16F87X,的内部时钟电路是由一个具有三态控制的反相器、一个反馈电阻、外部石英振荡器和两个电容构成的自激多谐振荡器。,当,CPU,执行,SLEEP,指令时,将反相器置成高阻状态令电路停振。这时,单片机内部大部分电路停止工作从而有效的降低电路的功耗,。(其它三种工作方式略),到内部电路,执行,SLEEP,指令,C1,OSC1,C2,OSC2,XTAL,PIC16F87X,f,XTAL,C1,C2,200K,47,68p,47,68p,1MH,15p,15p,4MH,15p,15p,时钟电路外围元件,返回本章目录,作业:,PIC16F877,单片机管脚和说明,返回本章目录,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!