欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC16F73-I/SPG 参数 Datasheet PDF下载

PIC16F73-I/SPG图片预览
型号: PIC16F73-I/SPG
PDF下载: 下载PDF文件 查看货源
内容描述: [28 Pin, 7KB Std Flash, 192 RAM, 22 I/O, -40C to +85C, 28-SPDIP, TUBE]
分类和应用: 闪存微控制器
文件页数/大小: 174 页 / 3853 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC16F73-I/SPG的Datasheet PDF文件第98页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第99页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第100页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第101页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第103页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第104页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第105页浏览型号PIC16F73-I/SPG的Datasheet PDF文件第106页  
PIC16F7X  
12.11.1 INT INTERRUPT  
12.12 Context Saving During Interrupts  
External interrupt on the RB0/INT pin is edge triggered,  
either rising, if bit INTEDG (OPTION_REG<6>) is set,  
or falling, if the INTEDG bit is clear. When a valid edge  
appears on the RB0/INT pin, flag bit INTF  
(INTCON<1>) is set. This interrupt can be disabled by  
clearing enable bit INTE (INTCON<4>). Flag bit INTF  
must be cleared in software in the Interrupt Service  
Routine before re-enabling this interrupt. The INT inter-  
rupt can wake-up the processor from SLEEP, if bit INTE  
was set prior to going into SLEEP. The status of global  
interrupt enable bit GIE decides whether or not the pro-  
cessor branches to the interrupt vector following wake-  
up. See Section 12.14 for details on SLEEP mode.  
During an interrupt, only the return PC value is saved  
on the stack. Typically, users may wish to save key reg-  
isters during an interrupt (i.e., W, PCLATH and STA-  
TUS registers). This will have to be implemented in  
software, as shown in Example 12-1.  
For the PIC16F73/74 devices, the register W_TEMP  
must be defined in both banks 0 and 1 and must be  
defined at the same offset from the bank base address  
(i.e., If W_TEMP is defined at 20h in bank 0, it must  
also be defined at A0h in bank 1.). The registers,  
PCLATH_TEMP and STATUS_TEMP, are only defined  
in bank 0.  
Since the upper 16 bytes of each bank are common in  
the PIC16F76/77 devices, temporary holding registers  
W_TEMP, STATUS_TEMP and PCLATH_TEMP  
should be placed in here. These 16 locations dont  
require banking and, therefore, make it easier for con-  
text save and restore. The same code shown in  
Example 12-1 can be used.  
12.11.2 TMR0 INTERRUPT  
An overflow (FFh 00h) in the TMR0 register will set  
flag bit TMR0IF (INTCON<2>). The interrupt can be  
enabled/disabled by setting/clearing enable bit  
TMR0IE (INTCON<5>). (Section 5.0)  
12.11.3 PORTB INTCON CHANGE  
An input change on PORTB<7:4> sets flag bit RBIF  
(INTCON<0>). The interrupt can be enabled/disabled  
by setting/clearing enable bit RBIE (INTCON<4>), see  
Section 4.2.  
EXAMPLE 12-1:  
SAVING STATUS, W, AND PCLATH REGISTERS IN RAM  
MOVWF  
SWAPF  
CLRF  
MOVWF  
MOVF  
MOVWF  
CLRF  
:
W_TEMP  
STATUS,W  
STATUS  
STATUS_TEMP  
PCLATH, W  
PCLATH_TEMP  
PCLATH  
;Copy W to TEMP register  
;Swap status to be saved into W  
;bank 0, regardless of current bank, Clears IRP,RP1,RP0  
;Save status to bank zero STATUS_TEMP register  
;Only required if using pages 1, 2 and/or 3  
;Save PCLATH into W  
;Page zero, regardless of current page  
:(ISR)  
:
;Insert user code here  
MOVF  
MOVWF  
SWAPF  
PCLATH_TEMP, W  
PCLATH  
STATUS_TEMP,W  
;Restore PCLATH  
;Move W into PCLATH  
;Swap STATUS_TEMP register into W  
;(sets bank to original state)  
;Move W into STATUS register  
;Swap W_TEMP  
MOVWF  
SWAPF  
SWAPF  
STATUS  
W_TEMP,F  
W_TEMP,W  
;Swap W_TEMP into W  
DS30325B-page 100  
2002 Microchip Technology Inc.  
 复制成功!