⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rom.asm

📁 没事时抄写下来的
💻 ASM
字号:

	;12c4052,写eeprom,测试程序
	
	isp_data		equ			0e2h
	isp_data1		equ			0e2h
	isp_addrh		equ			0e3h
	isp_addrl		equ			0e4h
	isp_cmd			equ			0e5h
	isp_trig		equ			0e6h
	isp_contr		equ			0e7h
	;
	isp_iap_byte_read	equ			1h
	isp_iap_byte_program	equ			2h
	isp_iap_sector_erase	equ			3h
	;
	;enable_isp				equ		80h	;fosc<30MHz
	;enable_isp				equ		81h	;fosc<24MHz
	;enable_isp				equ		82h	;fosc<20MHz
	enable_isp		equ		83h	;fosc<12MHz
	;enable_isp				equ		84h	;fosc<6MHz
	;enable_isp				equ		85h	;fosc<3MHz
	;enable_isp				equ		86h	;fosc<2MHz
	;enable_isp				equ		87h	;fosc<1MHz
	debug_data		equ		0A0h	;
		;
	flash_addres		equ		1000h	;STC12C2052AD
	;flash_addres		equ	2800h	;STC12C5410AD
	;--------------------------------------
				ORG			0000H
				ajmp			main
				org			0100h
				
				
				
	main:			mov			p1,#0fh
				acall			delay
				mov			p1,#0f0h
				acall			delay
				mov			p1,#0fh
				acall			delay
				mov			p1,#0f0h
				acall			delay
				mov			p1,#0fh
				acall			delay
				mov			p1,#0f0h
				mov			sp,#7fh
	
	main1:			mov			dptr,#flash_addres
				acall			byte_read
				mov			40h,a
				cjne			a,#debug_data,data_not_equ_debug_data
				;
				mov			p1,#01111111b
				acall			delay
				cpl			p1.7
				acall			delay
				cpl			p1.7
				mov			a,40h
				cpl			a
				mov			p1,a
		wait1:		cpl			p3.7
				acall			delay
				sjmp			wait1
data_not_equ_debug_data:
				cpl			p1.3
				acall			delay
				cpl			p1.3
				acall			delay
				cpl			p1.3
				acall			delay
				cpl			p1.3
				clr			p1.3
				acall			delay
				mov			a,40h
				cpl			a
				mov			p1,a
				acall			delay
				acall			delay
				mov			dptr,#flash_addres
				acall			sector_erase
				mov			dptr,#flash_addres
				mov			a,#debug_data
				acall			byte_program
		wait2:		setb			p1.3
				cpl			p1.5
				acall			delay
				sjmp			wait2
				
	byte_read:		mov			isp_contr,#enable_isp
				mov			isp_cmd,#isp_iap_byte_read
				mov			isp_addrh,dph
				mov			isp_addrl,dpl
				;clr			ea
				mov			isp_trig,#46h
				mov			isp_trig,#0b9h
				nop
				mov			a,isp_data
				;setb		ea
				acall			iap_disable
				ret
				;***********
byte_program:			mov			isp_contr,#enable_isp
				mov			isp_cmd,#isp_iap_byte_program
				mov			isp_addrh,dph
				mov			isp_addrl,dpl
				mov			isp_data,a
				;clr			ea
				mov			isp_trig,#46h
				mov			isp_trig,#0b9h
				nop
				;setb		ea
				acall			iap_disable
				ret
sector_erase:			mov			isp_contr,#enable_isp
				mov			isp_cmd,#03h
				mov			isp_addrh,dph
				mov			isp_addrl,dpl
				;clr		ea
				mov			isp_trig,#46h
				mov			isp_trig,#0b9h
				nop
				;setb		ea
				acall			iap_disable
				ret
	iap_disable:		mov			isp_contr,#0
				mov			isp_cmd,#0
				mov			isp_trig,#0
				ret
		delay:		clr			a
				mov			r0,a
				mov			r1,a
				mov			r2,#20h
	delay_loop:		djnz			r0,delay_loop
				djnz			r1,delay_loop
				djnz			r2,delay_loop
				ret
				end
				
											
				
							
				
	
	
	
	
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -