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

PIC17C756-08/P 参数 Datasheet PDF下载

PIC17C756-08/P图片预览
型号: PIC17C756-08/P
PDF下载: 下载PDF文件 查看货源
内容描述: 高性能8位CMOS微控制器的EPROM [High-Performance 8-Bit CMOS EPROM Microcontrollers]
分类和应用: 微控制器可编程只读存储器电动程控只读存储器
文件页数/大小: 320 页 / 2172 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC17C756-08/P的Datasheet PDF文件第34页浏览型号PIC17C756-08/P的Datasheet PDF文件第35页浏览型号PIC17C756-08/P的Datasheet PDF文件第36页浏览型号PIC17C756-08/P的Datasheet PDF文件第37页浏览型号PIC17C756-08/P的Datasheet PDF文件第39页浏览型号PIC17C756-08/P的Datasheet PDF文件第40页浏览型号PIC17C756-08/P的Datasheet PDF文件第41页浏览型号PIC17C756-08/P的Datasheet PDF文件第42页  
PIC17C75X  
EXAMPLE 6-2: SAVING STATUS AND WREG IN RAM (NESTED)  
; The addresses that are used to store the CPUSTA and WREG values must be in the data memory  
; address range of 1Ah - 1Fh. Up to 6 locations can be saved and restored using the MOVFP  
; instruction. This instruction neither affects the status bits, nor corrupts the WREG register.  
; This routine uses the FRS0, so it controls the FS1 and FS0 bits in the ALUSTA register.  
;
Nobank_FSR  
Bank_FSR  
ALU_Temp  
WREG_TEMP  
BSR_S1  
BSR_S2  
BSR_S3  
BSR_S4  
BSR_S5  
BSR_S6  
;
EQU  
EQU  
EQU  
EQU  
EQU  
EQU  
EQU  
EQU  
EQU  
EQU  
0x40  
0x41  
0x42  
0x43  
0x01A  
0x01B  
0x01C  
0x01D  
0x01E  
0x01F  
; 1st location to save BSR  
; 2nd location to save BSR (Label Not used in program)  
; 3rd location to save BSR (Label Not used in program)  
; 4th location to save BSR (Label Not used in program)  
; 5th location to save BSR (Label Not used in program)  
; 6th location to save BSR (Label Not used in program)  
INITIALIZATION  
CALL  
;
CLEAR_RAM  
; Must Clear all Data RAM  
;
INIT_POINTERS  
CLRF  
; Must Initialize the pointers for POP and PUSH  
; Set All banks to 0  
BSR, F  
CLRF  
BSF  
CLRF  
MOVLW  
MOVWF  
MOVWF  
MOVLW  
MOVWF  
:
ALUSTA, F  
ALUSTA, FS1  
WREG, F  
BSR_S1  
FSR0  
Nobank_FSR  
0x20  
; FSR0 post increment  
; Clear WREG  
; Load FSR0 with 1st address to save BSR  
Bank_FSR  
:
; Your code  
:
:
; At Interrupt Vector Address  
PUSH  
BSF  
ALUSTA, FS0  
; FSR0 has auto-increment, does not affect status bits  
BCF  
ALUSTA, FS1  
; does not affect status bits  
MOVFP  
CLRF  
MOVPF  
MOVPF  
MOVPF  
MOVFP  
MOVFP  
MOVFP  
MOVFP  
MOVPF  
MOVFP  
;
BSR, INDF0  
BSR, F  
; No Status bits are affected  
; Periperal and Data RAM Bank 0 No Status bits are affected  
;
; Save the FSR for BSR values  
;
; Restore FSR value for other values  
; Push ALUSTA value  
; Push WREG value  
ALUSTA, ALU_Temp  
FSR0, Nobank_FSR  
WREG, WREG_TEMP  
Bank_FSR, FSR0  
ALU_Temp, INDF0  
WREG_TEMP, INDF0  
PCLATH, INDF0  
FSR0, Bank_FSR  
Nobank_FSR, FSR0  
; Push PCLATH value  
; Restore FSR value for other values  
;
:
; Interrupt Service Routine (ISR) code  
;
POP  
CLRF  
MOVFP  
DECF  
MOVFP  
MOVFP  
BSF  
MOVPF  
MOVPF  
DECF  
MOVFP  
MOVFP  
MOVFP  
ALUSTA, F  
Bank_FSR, FSR0  
FSR0, F  
INDF0, PCLATH  
INDF0, WREG  
ALUSTA, FS1  
INDF0, ALU_Temp  
FSR0, Bank_FSR  
Nobank_FSR, F  
Nobank_FSR, FSR0  
ALU_Temp, ALUSTA  
INDF0, BSR  
; FSR0 has auto-decrement, does not affect status bits  
; Restore FSR value for other values  
;
; Pop PCLATH value  
; Pop WREG value  
; FSR0 does not change  
; Pop ALUSTA value  
; Restore FSR value for other values  
;
; Save the FSR for BSR values  
;
; No Status bits are affected  
;
RETFIE  
; Return from interrupt (enable interrupts)  
DS30264A-page 38  
Preliminary  
1997 Microchip Technology Inc.  
 复制成功!