16C84做的智能卡程序,滚动码应用原程序,16c54四位LED时钟显示程序,红外应用源程序集1,用PIC12C508509 控制一个步进电机源程序,模拟数据采器 USART

源代码在线查看: eeprom读写实例及说明 .c

软件大小: 97 K
上传用户: csytml
关键词: C508509 508509 16C84 USART
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				  ; EEPROM读写实例及说明 
				;****************************************************************************
				; This is a program to test the function of reading&writting for EEPROM. 
				; You can observe the value of register(30H--?) buy changing "VALU" and "WRC_". 
				; Notice that:it must be { ADDR+WRC_				;Written by 歌林电子制作实验室www.nbglin.com 
				;****************************************************************************
				include "p16f877.inc"
				ADDR EQU 20H ;写入地址寄存器
				VALU EQU 21H ;写入值
				REC_ EQU 22H ;读计数
				WRC_ EQU 24H ;写计数
				org 0
				goto main
				main 
				bcf STATUS,RP1
				bcf STATUS,RP0 ;bank0
				movlw 10h
				movwf ADDR ;写入EEPROM初始值
				movlw 90h
				movwf VALU ;初始写入值
				movlw 30h
				movwf FSR ;间址,读出值初始存放地址
				movlw 0Fh
				movwf WRC_ ;写入次数
				movwf REC_ 
				;incf REC_ ;读出次数
				wri_ ;写子程序
				bsf STATUS,RP1
				bsf STATUS,RP0 ;bank3
				btfsc EECON1,WR
				goto $-1
				bcf STATUS,RP0 
				bcf STATUS,RP1 ;bank0
				movf ADDR,W
				bsf STATUS,RP1 ;bank2
				movwf EEADR
				bcf STATUS,RP1 ;bank0
				movf VALU,W
				bsf STATUS,RP1 ;bank2
				movwf EEDATA
				bsf STATUS,RP0 ;bank3
				bcf EECON1,EEPGD ;to data memory
				bsf EECON1,WREN
				bcf INTCON,GIE
				movlw 55h
				movwf EECON2
				movlw 0aah
				movwf EECON2
				bsf EECON1,WR
				bcf STATUS,RP0
				bcf STATUS,RP1 ;bank0
				incf ADDR,1
				decf VALU,1
				decfsz WRC_ ;all write,to read_
				goto wri_
				read_ ;读子程序
				bcf STATUS,RP1
				bcf STATUS,RP0 ;bank0
				decf ADDR ;next value
				bsf STATUS,RP1 ;bank2
				movwf EEADR 
				bsf STATUS,RP0 ;bank3
				
				EEw&r.asm程序说明: 
				1、 本程序是对PIC16F877芯片的EEPROM数据区进行读写的演示程序;
				
				2、 wri_为写入数据子程序,该子程序从ADDR寄存器确定的地址开始对EEPROM数据区写入(范例从10H开始),每进行一次写操作将使ADDR值加一;写入数据的初始值由VALU寄存器给定(范例值为90H),每进行一次写操作将使VALU值减一;写入规定个数(由WRC_寄存器给定,范例值为0FH)的数值后,结束写入,转至read_。
				
				3、 read_为读出数据子程序,该子程序从ADDR寄存器当前值确定的地址开始对EEPROM数据区读出(当前值=ADDR+WRC_				
				 
							

相关资源