PIC单片机之16C84单片机介绍(一)
TA 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,表明RB7:4>输入中至少有一位发生了改变,它必须用软件清0这一位。否则为0,即 RB7: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)不是直接可读
- 评价Spice模型不能仅考虑直流与交流性能(11-26)
- 基于PIC单片机的数字式智能铅酸电池充电器的设计 (01-02)
- Atmel 的picoPower 技术延长电池寿命(04-25)
- 基于PIC16F676的镍氢电池充电管理系统设计(09-09)
- 用PIC16F87X单片机实现高分辨率频率计的一种方法(11-06)
- PIC单片机A/D转换数据存储及串口效率(11-11)