微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机内部EEPROM读写程序

PIC单片机内部EEPROM读写程序

时间:11-29 来源:互联网 点击:

**************************************

ZD01 BCF INTCON,GIE;关总中断

BTFSS INTCON,T0IF;判断是否产生定时中断

GOTO ZD03;否跳出是继续执行

;***************************************************

; 保护现场

MOVWF W_TEMP;W备份到W_TEMP中

SWAPF STATUS,0;STATUS半字交换后送W

CLRF STATUS;选择体0为当前体备份

MOVWF STATUS_TEMP;将原来的STATUS送体0上的

MOVF PCLATH,0;PCLATH送W

MOVWF PCLATH_TEMP;W送备份寄存器中

CLRF PCLATH ;设置为0页

;***************************************************

BCF INTCON,T0IF

BSF STATUS,RP0;体1

BCF STATUS,RP1;

MOVLW 0;

MOVWF TRISC;RB口设为输出口

MOVWF TRISD;RD口设为输出口

BCF STATUS,RP0;体0

BCF STATUS,RP1;

MOVLW 0FFH;

MOVWF PORTC;RB口输出高电平

MOVLW 0

MOVWF PORTD;RD口输出低电平起清屏作用

MOVFW INDF;间接寻址显示数据

CALL Q1;查数据表

MOVWF PORTC;显示断码输出到RB口

INCF FSR,1;间接寻址地址加1

MOVFW 41H ;位码

MOVWF PORTD;位码输出到RD口

RLF 41H,0;处理C

RLF 41H,1;左移位码

DECFSZ 40H,1;判断是否显示完4位

GOTO ZD02;否则继续显示

MOVLW 4;显示位数

MOVWF 40H;

MOVLW B00000001;位码

MOVWF 41H;

MOVLW 50H;

MOVWF FSR ;间接寻址

ZD02 MOVLW 0FFH;

MOVFW TMR0;重装初值

;***************************************************

; 恢复现场

CLRF STATUS;恢复到体0

MOVF PCLATH_TEMP,0;开始恢复数据

MOVWF PCLATH;恢复PCLATH

SWAPF STATUS_TEMP,0

MOVWF STATUS;恢复STATUS

SWAPF W_TEMP,1;半字交换后放回

SWAPF W_TEMP,0;再半字交换后送W

;***************************************************

ZD03 BSF INTCON,GIE;开总中断

RETFIE ;中断返回

;********************************************

; 数据表

;********************************************

END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top