插手珍藏夹
本站长久域名:http://www.agpgames.com              首页 || English Version || 汇款须知 || 汇款确认及留言 || 论坛 || 淘宝网店

PIC16C84单片机引见

概述

    PIC16C84是8位CMOS EEPROM单片机。它有高机能的类似于RISC 的指令,共有35条单字节的指令,所有的指令除法式分支指令需要两个指令周期外,都只需要一个指令周期。当主振频次为10MHZ时一个指令周期为400ns。法式指令的宽度为14位,在芯片内有1K×14的EEPROM法式存储器 。

    数据的宽度为8位,在芯片内有36×8的静态RAM的通用寄放器,64×8的EEPROM的数据存储器。8级深度的硬仓库。具有间接、间接、相对寻址编制。有4个中缀源;外部RBO/INT引脚;TMRO计时器溢出,PORTB<7: 4>引脚上信号的改变;数据写入EEPROM完成。

    数据存储器的擦/写可达1000000次,数据的保持大于40年。有13位的I/O引脚,能够零丁间接节制。每一个I/O引脚均可承受25mA的输入/输出电流,多么就能够间接驱动LED。有8位的计时/计数器(TMRO)并带有8位可编程的预分频。有通电复位(POR)S忠淮桅耗上升(POWER-UP)计时器(PWRT); 振荡器起动计时器(OST);看门狗计时器(WDT),为了能靠得住工作 ,它有本人的RC振荡器。有代码包管功能。有SLEEP(睡眠)编制,以节者功耗。有4种可供选择的振荡器:RC(低成本的RC振荡器);XT(尺度的晶体/谐振器);HS(高速晶体/谐振器);LP(低功耗,低 频次的晶体)。工作电压的范畴宽2.0V~ 6.0V。

    PIC16C84单片机较大的特点是具有1K×14位的电可擦除的法式存储器和64×8位的电可擦除的数据存储器,这将为系统斥地和各类使用供给了 更多的便当。

时钟和指令周期

    从OSCI来的时钟输入在内部经4分频。发生互不叠加的时佛周期,每4个时钟周期(θ1,θ2,θ3,θ4)构成一个指令周期。在内部、法式计数内对每一个θ1加1,然后从法式存储器取指令,取出的指令在θ4时放入指令寄放内。鄙人一个θ1利θ4期间指令被施行。取指令和施行指令采用流水线技术,一个指令周期取指令,下一个指令周期施行已取出的指令,同时又取出下一条指令。所以每条指令施行,CPU的时间是一个指令周期。当某条指令要改变法式计数器的 内容时(如分支指令),则需要两个指令周期才能完成。被取出的指 令在施行指令周期的θ1时放入指令寄放器,在θ2,θ3,θ4时译码 并施行指令。在θ2期间读操作在θ4期间写操作数。

存贮器的布局

    在PIC16C84单片机中有两个存储器块。即法式存储器和数据存储器。每一块具有它本人的总线,即可在统一时钟周期拜候每一块。数据存储器被进一步分成通用RAM和公用功能寄放器(SFRs)。专 用功能寄放器用于节制外设模式。数据存储器也包含无数据EEPROM存 储器。这个存储器并不间接映象到数据存储器,而是间接映象的。即由一个间接寻址的指针指明要读/写的数据EEPROM的地址。64个字节 的数据EEPROM具有的地址是0~3FH。

3-1法式存储器的布局

    PIC16C84单片机具有13位法式计数器,寻址才能为8K×14位的法式存储器空间。现实上对于PIC16C84能供使用的只需1K×14位的法式存储器(地址为0000~ 03FFH)。寻址上述单元,如逾越了上述地址范畴, 地址将卷绕。例对20H单元与地址420H,820H,C20H,1020H,1420H, 1820H,1C20H都将拜候到它。系统复位时PC的值为0000H,中缀向量是 0004H。

PC<12:0>

CALL,RETURN 13

RETFIE,RETLW 1级仓库

8级仓库

复位地址 0000H

外部中缀向量 0004H

用户存贮空间 3FFH

1FFFH

图4-2法式存储的映象和仓库

 

3-2数据存储器的布局

    数据存储器被分成两个区域。一个是公用功能寄放器(SFR)区域,第二是通用寄放器区域(GPR)。SFR节制着器件的操作。数据存储器被分成0块和1块。经由法式时情况寄放器STATUS中的RP1: RP0位 的设置来选择0块(RP1=0,RP0=0)或1块(RP0=1)。

其    中带有斜线的部门是现实不具有的单元,带有*号的单元没有物理寄放。指令MOVWF和MOVF能够把W寄放器的值(W寄放器是器件内部的工作 寄放器)传送到寄放器文件(“F”)中的任何单元,反之也能够。整个数据存储器能够间接寻址或经由文件选择寄放器(FSR)进行间接寻址。间接寻址要按照情况寄放器的RP1:RP0位的情况决定拜候数据存 储器的某一块,数据存储器的两块中都被分成通用寄放器和公用寄放 器。此中每块低地址单元留作公用寄放器,公用寄放器以上地址的单 元为通用寄放器,它们是静态RAM。

1.通用寄放器文件 寄放器文件能够间接寻址或经由FSR间接寻址。所有器件都有必然 数量的通用寄放器(GPR),它们的数据宽度是8位。PIC16C84只需36个字节的通用寄放器,地址为0CH~ 2FH,对1块对应的8CH~ AFH的拜候都将现实拜候0CH~ 2FH(地址的高位被忽略)。

文件地址

00 间接寻址地址(*) 间接寻址地址(*) 80

01 TMRO OPTION 81

02 PCL PCL 8 2

03 STATUS STATUS 83

04 FSR FSR 8 4

05 PORTA TRISA 85

06 PORTB TRISB 86

07 87

08 EEDATA EECON1 88

09 EEADR EECON2(*) 89

0A PCLATH PCLATH 8A

0B INTCON INTCON 8B

36个通用寄 映象到 存器(SRAM) 0块 2F AF 7F FF 0块 1块

2.公用功能寄放器

CPU和外设使用公用寄放器以节制器件的操作。公用寄放是静态RAM。下面引见几个次要的公用寄放器

①情况寄放器

    情况寄放器包含有ALU(复术逻辑运算单元)的算术情况,复位情况和对数据存储器的块选择,与任何寄放器一样,情况寄放器能够作为任何指令的方针寄放器。若是情况寄放器作为某指令的方针寄放器 ,而那条指令要影响Z、DC,C位的情况,则禁止写这三位。图4-4是 情况寄放器及其情况。

R/W R/W R/W R R R/W R/W R/W

IRP RP1 RP0 TO PD Z DC C bit7 bit0

    此中C是进位位,对ADDWF和ADDLW指令,当这一位为1,暗示指令 运算的成果的较高无效位发生了进位输出。减法指令施行的是加第二 操作数的新码。对于轮回指令(RRF,RLF),这一位即能够来自于源寄放器的高位,也能够来自于低位。若是这一位为0,表白成果的较高无效位没有发生进位输出。对于减法,这一位的极性取反。DC是数字进位或数字借位位。当这一位为1时,成果的D3位向D4位有进位,不然无进位。对于减法,这位的极性取反。Z是成果为0标记。当这一位为1时,表白算术运算和逻辑运算的成果为0,不然这一位为0,表白运算成果不为0。PD:低功耗位。当这一位为1表白电源加上按一般供电或施行了C LRWDT指令当前,这一位为0暗示施行了SLEEP指令(即器件进入了低功 耗情况)。TO超时位。当这一位为1时,表白电源加上,进入了一般供电,且施行了CLRWDT和SLEEP指令,这一位为0表白发生了看门狗计时器超时。

RP1:RP0,作为间接寻址的数据存储器的块选择位。

RP1:RP=00情况,选择0块(地址00H~7FH)。

RP1:RP0=01情况,选择1块(地址80H~FFH)。

RP1:RP0=10选择2块(地址100H~17FH)。

RP1:RP0=11选择3块(地址180H~1FFH)。

    每块128个字节,PIC16C84只使用RP0位,RP1编程时设置为0。不答应使用RP1为通用读/写位,这可能影响与将来产物的兼容性。IRP寄放器块选择位(作为间接寻址),当这一位设置为0,选择 0.1块(地址00H~FFH),当这一位为1时,选择2.3块(地址100H~1FFH)。PIC16C84不该用IRP位,IRP位在编程时为0。情况寄放器中的Z、DC,C位是按照器件的逻辑来置1或清0。而TO,PD位是不成写入的。情况寄放器作为方针寄放器的指令的成果将有不合的内容。例如CLRF STATUS(清0情况寄放器)。成果情况寄放器的内容为000uuluu。此中u暗示不改变。只需BCF,BSF,SWAPF和MOVW F这些指令能够用来改变STATUS寄放器的内容,由于这几条指令不影响任何情况位。

②OPTION寄放器

OPTION寄放器是可读,可写的寄放器,它包含了各类节制位以配 置TMRO/WDT的预分频器,外部INT中缀,TMRO和在PORTB的微弱上拉。图4-5是OPTION寄放器各位的功能。 R/W R/W R/W R/W R/W R/W R/ W R/W

RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0 bit7 bit0

此中PS2,PS1,PS0为预分频器的值的选择。(与PIC16C6X的规定 不异)。PSA位是将预分频器分派给WDT(看门狗计时器,或TMR0)。

TOSE是为TMRO选择跳变信号

INTEDG是为INT中缀引脚选择跳变信号。

RBPU用来打开或封闭PORTB内部的上拉电阻。

OPTION的所有位的定义同PIC16C6X系列。

③INTCON寄放器

INTCON是可读可写的寄放器,它包含了各中缀源答应或禁止中缀 。图4-6是PIC16C84的INTCON寄放器

R/W R/W R/W R/W R/W R/W R/W R/W

GIE EEIE TOIE INTE RBIF TOIF INTIF RB IF bit7 bit0

此中RBIF是RB端口改变中缀标记位。此位为1,表白RB<7:4>输入中至多有一位发生了改变,它必需用软件清0这一位。不然为0,即 RB<7:4>输入中没有改变。 ? ? ? ? ? INTIF是外部中缀标记位。当这一位为1时,表白有外部中缀发生 ,它必需用软件将其清0,不然为0,表白没有外部中缀发生。

TOIF是TMRO溢出中缀标记。这一位为1,表白TMRO发生了溢出,必需由软件将这一位清0,不然为0,表白TMRO没有溢出发生

RBIE是RB端口改变中缀的答应或禁止位,设置此位为1,答应中缀,为0禁止。

INTE是INT中缀的答应或禁止位。设置为1答应中缀编制,为0禁止 。

TOIE为TMRO溢出中缀的答应或禁止位。设置为1答应TMRO溢出中缀,不然禁止。

EEIE是EE(电可擦除)的写完成中缀的答应与禁止位。当设置为1时,答应EE写完成中缀,不然禁止。

GIE是所有中缀的答应与禁止。设置为1时,答应所有不成樊篱中缀,为0禁止。

四、PCL和PCLATH

    法式计数器(PC)是13位。低字节PCL是可读,可写的寄放器。PC的高字节(PCH)不是间接可读,可写的。PCLATH(PC latch high) 是作为PC<12:8>的保持寄放器,这几位的内容被传送到法式计数器 的高位。当法式计数器在施行CALL,GOTO或写PCL等指令时,即向PC装入新的值。PC的高位由PCLATH装入。

    具有8个13位宽度的硬件仓库。仓库空间它既不是法式存储器的一部门,也不是数据存储器的一个部门,仓库的指针是不成读/写的。当施行CALL指令或中缀被响应时,整个13位的PC被压入仓库。在施行RETURN,RETLW,RETFIE等指令时,仓库被弹出。PUSH(压入)和POP(弹出)不影响PCLATH。

    仓库是作为轮回缓冲器。当仓库被压入38次后,第9次压入将占领一次压入的位置,第十次压入将占领第二次压入的位置,等等。同样当仓库弹出第9次时,与一次弹出是一样的。留意,没有情况位来 指明仓库上溢式下溢的前提。没有PUSH,POP指令助记符,但CALL,R ETURN,RETLW,RETFIE等指令的施行或中缀发生,将现实发生压栈退栈。

4-2法式存储器的页

    PIC16C84具有1K的法式存储器,CALL,GOTO指令只需11位的地址范畴,这11位的地址范畴答应分支在2K法式存储器页大小的范畴。

    为将来PIC16C8X法式存储器的扩展,必需由别的两位来申明法式 存储器的页。这些页位来自于PCLATH<4:3>。当施行CALL、GOTO指令时,用户必需确保这些页位的编程等指向要求的法式存储器的页。

    若是施行CALL指令,整个13位被压入仓库。所以对于前去指令不要求 对PCLATH<4:3>位的办理。由于PC的值将会由退栈而获得。留意:PIC16C84忽略了PCLATH<4:3>位,这些位用于法式存储页1,2,3(0800H-1FFFH),不成以把PIC16C84的PCLATH<4:3>位用作通用读/写位,这会影响将来产物的向上兼容。

4-3间接寻址,INDF和FSR的传染感动

INDF寄放器不是物理寄放器,只是被用来与FSR寄放器连接以施行间接寻址。

使用INDF寄放器,就能够完成间接寻址。

使用INDF寄放器的任何指令,现实寻址数据是由文件选择寄放器(FSR)所决定的。读INDF本身(FSR=0),将发生00H。向INDF写,成果无操作(明显能够供给情况位)。8位FSR寄放器怜悯况寄放器STATUS<7>(IRP)组合能够获得9位地址。

然而PIC16C84是不消IRP的。使用下面的例法式,经由间接寻址清零。2OH~2FH单元。

MOVLW 20H ;初始化RAM的指针

MOVF FSR ;到FSR

NEXT CLRF INDF ;经由间接寻址清0,由FSR的内容所指问的寄放器。

INCF FSR ;(FSR)+1→FSR

BIFSS FSR,4;当FSR的第4位为1跳过下一条指令

GOTO NEXT ;不然入。

五 I/O端口

PIC16C84具有两个I/O端口,PORTA,PORTB。某些端口的引脚用来与别的一些功能复用。

5-1 PORTA和TRISA寄放器

PIC16C84的 PORTH是5位宽度的锁存器。RA4是施密特触发器输入,一个集电极开路输出。端口A的所有其它的引脚为TTL电平输入,含CMOS输出驱动。所有引脚无数据标的目的位(TRISA寄放器),可经由TRI SA来拔擢PORTA的引脚是输入式输出。设置TRISA的某位为1,则对应的 PORTA的位为输入,若设置为0,对应的PORTA的某位为输出。

读PORTA寄放器,读入引脚的情况,向PORTA写入,则写到PORTA的锁存器。所有的写操作都是读--编削--写操作。当向端口写时,它起首读端口引脚,然后编削其位,再写入端口的数据锁存器。下面这段法式是对端口A的初始化:

CLRF PORTA;初始化端口A

BSF STATUS,RPO;选择1块

MovLW CFH ;用于初始化数据标的目的的值

MOVWF TRISA;设置RA<3:0>为输入;RA<5:4>为输出 ;< 7:6>老是为0(无用)

RA4是为TMRO的时钟输入复用。即若是这一位用作TMRO的时钟输入,则端口A就不能用RA4。

5-2 PROTB和TRISB寄放器

PORTB是8位宽度的双向端口。响应的数据由TRISB决定,方式用端口A。

端口B的每一个引脚都具有内部弱的上拉电阻。经由一个节制位能够打开所有上拉电阻。这可经由对OPTION<7>RBPU位的置1,清0来节制。当端口引脚拔擢成输出时,内部弱上拉电阻被主动封闭。上位是 端口需要的。PORTB的4个引脚RBT~RB4具有信号改变中缀的功能,只需将这几个引脚拔擢为输入,就可能惹起中缀的发生。在输入编制下,引脚的位与较后一次读PORTB的值进行比力,这四个引脚中有任何一个或多个不不异,发生RBIF中端(置INTCON<0>)。这个中缀可能将 器件由SLEEP情况下唤醒。用户在中缀办事法式中能够用多么的两个方式之一来断根中缀。①经由清0RBIE(INT CON<3>位)封闭中缀,② 读端口B,则清0 RBIF位。

不相等的前提将继续拔擢1RBIF位为止。读PORTB将结束不相等前提,并答应RBIF被清0。这一特征为软件可拔擢上拉一路答应用户很是容易的使用PORTB作为键盘输入的接口。也就能够经由按键来唤醒系统。

留意:若是正在施行敛僮鳎琁/O引脚改变了信号,RBIF中缀标记不成能被置成1。

建议用改变信号中缀作为按键唤醒操作,PORTB只不消改变信号中缀,建议不要用查问编制。图4-7是用端口作键盘接口的道理图其R1为ESD庇护而新选择的电阻。使用此接口时,经由软件选择保持内部上拉,即RB4~RB7为高,设置为输入编制。RB0~RB3输出。任何键被按下,RB4~RB7的某一根线将改变从而发生中缀。这个中缀能够唤醒芯片,用这类方式能够节流计时器本钱。

16个键

RB4 100

RB5

RB6

RB7

RB0

RB1

RB2

BR3

Rf

图4-7把持端口B的键盘接口图。

5-3 I/O编程的考虑

任何对端口的写操作,在内部都是读-编削-写。例如BCF,BSF 指令,先将寄放器读入CPU,施行位操作,将成果写回寄放器。例如对 PORTB施行BSF操作,起首将PORTB的8位读入CPU,在Bit5长进行BSF操 作,将这一位置1,将PORTB写回输出锁存器,若是这个时候PORTB的bit0用作输入引脚,则先将PORTB读入CPU,然后进行相关操作,成果写回PORTB的锁存器,并复盖了先前的内容,若是bit0不断保持在输入编制,这一操作是没有问题,但若是bit0在销后又改变成输出编制,数据锁存器的内容是未知的。

现实写I/O端口发生在一个指令周期的结束,而读一个I/O端口,其无效的数据必需在指令周期的起头就出现。因而,对一个I/O通道相断施行读,写操作,要考虑数据的靠得住性。为此,应在这两条指令之间插手一条NOP指令就能够包管数据的靠得住性。

六、计时器。

(TMRO)模式 TMRO计时/计数器模式具有如下特点:

·8位计时计数器

·可读,可写

·8位软件可编程的预分派器

·从FFH到00H发生溢出中缀

·具有外部时钟的边缘选择

TMRO模式的简单框图与PIC16C6X系列不异。它能够颠末清0 TOCs 位(即TION<5>)来选择计时器编制。在计时器编制,TMRO模式对每个指令周期加1(没有预分频器),若是对TMRO写操作,则计时器为加 (操作后两个周期被禁止。)

量TOCS为1(OPTION<5>)选择TMRO为计数器编制。这类编制下 TM睷O将对RA4/TOCK1引脚上出现的上跳变或下跳变加1。清0TOSE(OPTION<4>)选择上跳变不然为下跳变。相关预分频器的使用与PIC16C6X系列不异。当TMRO在计时/计数器编制下其值由FFH到00H时发生溢出中缀,这个溢出中缀将置TOIF位为1。此中缀能够TOIE位为0来樊篱。要能再次发生中缀,必需在中缀办事法式中,经由软件使TOIF清0,TMRO中缀不成以用来唤醒芯片。由于在SLEEP情况下,计时器是封闭的。

若何使用TMRO的外部时钟,外部时钟的同步问题,预分频器的使用等,参看PIC16C6X系列关于TMRO的技术机能。

七、数据EEPROM存储器

数据EEPROM存储器在满电源电压(VDD)时,一般操作期间是可读,可写的,这部门存储器不能间接映象到寄放器文件空间,只需经由公用功能寄放器经间接寻址来拜候,有四个SFR用于读、写这些存储器,这些寄放器是EECON1;EECON2;EEDATA;EEDAR。

此中EEDATA用来保持8位的读/写数据。EEADR用来保持正在拜候 的EEPROM单元的地址。PIC16C84具有64个字节的EEPROM,其单元的地 址范畴是00H-3FH。

EEPROM答应一次读/写一个字节。一个字节的写入将主动擦除该单元,写入新的内容(在写入之前擦除)。EEPROM数据存储器是高 速度的擦/写周期,写入时间一般为10ms,由芯片的计时器节制。实 际写入时间与所加电压,温度,芯片等相关。严酷的时间请参看芯片的AC申明。当器件是在代码庇护时,只需CPU能够完成数据存储器的读 /写。即器件的编程器的不再拜候存储器(外部读/写被封闭)。

6 连接的考虑

由于模仿输入用了ESD庇护,它们有反偏二极管连到VDD和VSS。这就要求模仿输入电压应在VDD和VSS之间。

若是模仿输入电压逾越了较大值的0.6V以上的范畴,二极管可能变为正带领通,若是输入电流逾越了申明书上的规定,它可能粉碎器件。有些时候把外部的RC滤波器加在输入信号上。要求选用的电阻R要包管总的信号源电阻不逾越10K,任安在模仿信号上的其它的附加元件均应有很是小的漏电流。

7.变挥忠淮桅能

理论上A/D变换器的变挥忠淮桅能如下。

当模仿输入信号电压是1位L sb的电压时(或是VREF/256)一次变换就发生。

8 A/D变挥忠淮韦作的流程图

表2-4 PIC16C74/73的A/D变换所涉及的寄放器

地址 名称 bit7 bit6 bit5 bit4 bit3 bit 2 bit1 bit0

0B/8B INTCON GIE PEIE

0C PIR1 ADIF

8C PIE1 ADIE

0D PIR2 CCP2IF

8D PIE2 CCP2IE

1F ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE ADON

9F ADCON1 PCFG2 PCFG1 PCFG0

除上述所例寄放器外,又一次有ADRES(地址1EH)用于存放A/D变换 的成果。PORTA(地址 05H)用于输入多路模仿信号,TRISA(地址85 H)用于设置PORTA的I/O编制,PORTE(地址09H)用于输入多路模仿信号,TRISE(地址89H)用于设置PORTE的I/O编制。

表2-5 PIC16C71的A/D变换所涉及的寄放器

地址 名称 bit7 bit6 bit5 bit4 bit3 bit 2 bit1 bit0

0B/8B INTCON GIE ADIE

08 AOCON0 ADCS1 ADCS0 CHS1 CHS0 GO /DONE ADIF ADON

88 ADCON1 PCFG1 PCFG0

 

此外又一次涉及ADRES(地址09H),PORTA,TRISA等。。

U U U U U U U U U R/P R/P R/P R /P R/P

- - - - - - - - - CP PWRTE WDTE FOSC 1 FOSC0 bit 13 bit0

图4-10 PIC16C84的拔擢寄放器

 

7-3 写EEPROM数据存储器

与写EEPROM的数据单元、用户必需起首写地址到EEADR寄放器,再送数据到EEDA睺A,较后用户必需跟着一个特地的序列起动写。例如:下面这段法式是写EEPROM的法式。 ? ? BSF STATUS, RPO ;选择1块

BCF INTCON,GIE ;封闭所有INT中缀

MOVLW 55H ;

MOVWF EECON2 ;写55H

MOVLW AAH;

MOVWF EECON2;写AAH

BSF EECON1,WR;置WR位为1,起头写

BSF INTCON,GIE;答应INT中缀。

若是这个法式(即先写55H 到EECON2,再写AAH到EECON2,然后置 WK=1)未跟有严酷的时间,写将不能启动。咱们建议在施行这几条指令期间封闭中缀。

此外,EECON1中的WREN位必需选置成1,答应写。多么的机构防止 了因错误指令的施行而写数据EEPROM。用户在所有的时间应保持WREN位为0,除了当要热编削EEPROM以外。

写序列起头当前,清0WREN位不影响此次写周期。从起头设置,直到WREN=1为止WR位将被禁止。当完成为写周期当前,WR位由硬件清0 。写完成中缀标记EEIF被置1,EEIF必需由软件将其清0。留意数据EEPROM存储器E/W周期可能偶尔逾越10ms,为确保写周期的完成,用户使用的EE中缀或查问WR位(EECON1<1>)。这两个均可用来判断写周 期的完成。

除了上述提到的防止错误的写数据EEPROM外,在电源刚加电期 间的72ms内也防止写EEPROM数据存储器。

八 CPU特地的特征

微节制器为其它处置器的区别是有特地的电路,这些电路涉及及时使用的需要。PIC16C84具有较大的系统靠得住性,最低的代价,最少的外部元件,供给了低功能操作模式和代码庇护。

PIC16C84具有看门狗计时器,此计时器只可经拔擢位来封闭,为了添加其靠得住性,封闭它的RC振荡器。有两个计时器供给加电时需要的延时。振荡器起振计时器(OST)保持芯片在复位情况直到石晶不变为止。别的一个是加电计时器(POWER-UP Timer(PWRT))它供给了 固定的72ms的延时。多么包管了器件复位以及电源的靠得住供电,用了这两个计时器,使大都使用不需要外接复位电路。

SLEEP编制供给了低功耗编制。用户可经外部复位;看门狗计时器溢出;中缀来唤醒芯片。

8-1拔擢位

拔擢位分为可编程的位,读作0,不成编程的位,读作1。经由可编程的位来选拔各类拔擢。这些位映象到法式存储器的2007H单元。留意地址2007H不等于用户法式存储器空间。现实上,它属于特地的测试 /拔擢存储空间(2000H~3FFH),只需在编程时能够拜候。图4-10 是拔擢寄放器的布局(附后)

此中Fosc<1或0>为振荡器选择位。

11:选RC振荡器

10:选HS振荡器

01:选XT振荡器

00:选CP振荡器

WDTE是看门狗答应与禁止的选择位。此位为1,答应看门狗工作。此位为0禁止看门狗工作。

PWRTE是加电计时器答应与禁止的选择。此位为1,加电计时器答应工作,为0则禁止工作。

CP是代码庇护的选择,此位为1代码庇护撤销,这一位为0,所有法式存储器的代码被庇护。其余位是不施行的。读作1。

相关振荡器的拔擢,振荡器的选择与连接电路与PIC16C6X系列不异。

8-2中缀

PIC16C84具有4个中缀源。即外部中缀RBO/INT引脚上的中缀,TMR0溢出中缀;PORTB改变中缀(RB7:RB4);EEPRDM写完成中缀。

中缀节制寄放器(INTCON在其标记位,记实了每一个中缀请求。它也包罗了每个中缀的答应/禁止位。所有中缀的答应/禁止位(IN TCON<7>),它就开放所有中缀或禁止所有中缀。从中缀前去指令RETFLE前去时,退出中缀,并置GIE=1,从头开放所有中缀。 RBO/INT引脚中缀,RB端口改变中缀和TMRO溢出中缀,这些中缀的中缀标记在INTCON寄放器中。

傍边断的响应时,GIE位被清0,封闭任何新的中缀,前去地址被压入仓库,用0004H装入PC。对于外部中缀文件,如RBO/INT引脚或PORTB改变中缀,这类中缀需3到4个指令周期。严酷的时间,取决于中 断事务的发生。一旦在中缀的中缀办事法式中能够经由查问中缀标记 位来确定中缀源。中缀的标记位应在从头斥地这个中缀之前,经软件 将其清0。

留意:

①每一个中缀的标记位被置位,而与它响应的樊篱位或GIE无关。

②若是中缀发生,而全数中的答应位GIE假设本是清0的,GIE可能被用户中缀办事法式的RETFIE指令无意之间连成1。这类工作可能发生在

a、在中缀被响应时,指令清0GIE位。

b、法式分支到中缀向量并施行中缀办事法式。

c、中缀办事法式施行RETFIE指令而完成。这会惹起GIE位被置1(答应中缀)。同时法式前去中缀封闭后的指令(实 际上由于上述缘由惹起中缀未能封闭)。为确保GIE清0,应有如下一段法式。

l00p BGF INT CON,GIE:封闭全数中缀

BTFSC INTCON,GIE;全数中缀答应位被封闭了吗?

GOTO l00P;没有前去到l00p,再清0GIE,不然法式继续。

1.INT中缀

在RBO/INT上的外部中缀是边缘触发。若是INT睧DG位(OPTION <6>)是置1,则上升沿无效,若是INTEDG位被清0,则下降沿无效。当无效跳变出此刻RBO/INT引脚上时,INTF位(INTCON<1>)被置1。清0INTE节制位(INTCON<4>),封闭这个中缀。INTF在从头答应这个中缀之前应由中缀办事法式中的软件来清0这一位。在芯片进入SLEEP之前,若是INTE位被置1,则INT中缀发生后可唤醒芯片。GIE位的情况决定了处置器被唤醒后能否分支到中缀向量。

2.TMRO中缀

TMRO溢出(由FFH~00H)将置1 TOIF位(INTCON<2>)。这一位 的中缀能够对TOIE(INTCON<5>)位置1或清0而开放/封闭中缀。

3.PORTB中缀

在端口B的7~4位的输入改变,就置1 RBIF(INTCON<0>)位。 这个中缀能够对RBIE(INTCON<3>)位置1或清0而开放或封闭。

留意 :当正在对RB端口进行读操作时,RB7~RB4发生改变,RBIF标记位可 能不被置1。

4.中缀时若何保留W和STATUS寄放器。

中缀时,硬件主动将PC的值压入仓库,这叫保留断点,用户常常但愿保留环节的寄放器的内容,(如W和STATUS寄放器)。为此,施行如下一段法式。

MOVWF W-TEMP ;将W寄放拷贝到W-TEMP寄放器,W-TEMP寄放器 可在1块或0块

SWAPF STATUS,W;情况寄放器内容送入W

BCF STATUS,RPO;选0块

MOVWF STATUS-TEMP;将情况寄放器的内容(此刻在W中的STATUS-TEMP寄放器中缀办事法式

SWAPF STATUS-TEMP,W;将STATUS-TEMP送入W(设置块到本来 的情况)

MOVWF STATUS ;W送入STA睺US(恢复STATUS)

SWAPF W-TEMP,0;W-TEMP送W(恢复W的内容)

在上面这段法式中,W-TEMP寄放器,必需定义在两个块中,且要在定在同样的块基地址。例如将W-TEMP定义在0块的20H,同时它也应定义在1块的A0H。寄放器STATUS-TEMP必需定义在0块。

5.看门狗计时器(WDT)

看门狗计时器现实使用的是在芯片上的RC振荡器,这不要求任何外部元件。这个RC振荡器与OSC1/CLKIN引脚上接的RC振荡器(主振时钟)是分隔的。多么即便OSC1/CLKIN和OSC2/CLKOUT引脚停振,(例在施行SLEEP指令后)WDT仍然能够大概工作。在一般工作时,WDT计时器的输出发生器件的RESET信号。若是器件处于SLEEP情况下,WDT计时器的输出将唤醒器件,使器件继续一般的工作。WDT也能够经由编程的拔擢来封闭。其内容的框图与PIC16C6X系列不异。

九、PIC16C84单片机的指令系统共有35条指令。与PIC16C6X系列的指令完全不异。

以上部门内容转载于网上,如有涉及到版权问题,请即通知本人删除 ICP备05019516号
联系地址:浙江省杭州市西湖科技园西园七路3号4层 邮政编码:310011 Email:hificat@163.com xu169@sina.com
德律:0571-87615070 传真:0571-87615070 手机:13185018567 QQ:420951892 MSN:hificat@hotmail.com
杭州电子&算计机工作室 版权所有 COPYRIGHT2003——2007 HangZhou Electron&Computer Studio. All rights reserved