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

📄 slavr73a.lst

📁 单片机开发资料光盘-双龙-686M.zip
💻 LST
📖 第 1 页 / 共 5 页
字号:
00058d 9ae2      		sbi eecr,$02
00058e 9ae1      		sbi eecr,$01
00058f 99e1      	epwrwtnc:sbic eecr,$01	
000590 cffe      		rjmp epwrwtnc	
000591 3f1f      	epnextc:cpi temp1,$ff
000592 f419      		brne epnextkey1c
000593 3021      		cpi temp2,$01
000594 f409      		brne epnextkey1c
000595 cfae      		rjmp epscannc
000596 9513           epnextkey1c:inc temp1
000597 f409      		brne epnextkey2c
000598 9523      		inc temp2
000599 dbfd           epnextkey2c:rcall dviadd
00059a cf9b      		rjmp epmemtc			;整段EEPROM读写结束。
00059b dbf4              srmemtc:rcall meradd			;调用由R7-R4产生的地址入TEMP2TEMP1。
00059c 3022      		cpi temp2,$02			
00059d f438      		brcc srbeginc
00059e 3021      		cpi temp2,$01
00059f f039      		breq srdownc
0005a0 3710      		cpi temp1,$70
0005a1 f428      		brcc srdownc
0005a2 e710                      ldi temp1,$70
0005a3 2722                      clr temp2
0005a4 c002      		rjmp srdownc
0005a5 e021              srbeginc:ldi temp2,$01
0005a6 ef1f                      ldi temp1,$ff
0005a7 dbef              srdownc:rcall dviadd
0005a8 dbe7      	        rcall meradd
0005a9 2fd2      		mov yh,temp2
0005aa 2fc1      		mov yl,temp1
0005ab 8118      		ld temp1,y		
0005ac 2e21      		mov r2,temp1
0005ad 2e81      		mov r8,temp1
0005ae dbce      		rcall dtor32			;数据放入R3R2中。
0005af dbbe      		rcall disbyregc			;改变显示内存。
0005b0 d05f              srscannc:rcall scan1c			;键扫
0005b1 f3f6      	 	brts srscannc
0005b2 d05d              srscankc:rcall scan1c
0005b3 f7f6      	 	brtc srscankc
0005b4 d05b      	 	rcall scan1c
0005b5 3183        	srscansc:cpi keyn,$13
0005b6 f409      		brne srreturnc
0005b7 ca78      		rjmp reset				
0005b8 3180             srreturnc:cpi keyn,$10
0005b9 f478      	 	brcc srcommkeyc         
0005ba 2e38      		mov r3,keyn
0005bb dbb2      		rcall disbyregc
0005bc d053      	 sscannc:rcall scan1c
0005bd f3f6      	 	brts sscannc
0005be d051               sscankc:rcall scan1c
0005bf f7f6      	 	brtc sscankc
0005c0 d04f      	 	rcall scan1c
0005c1 3183        	 sscansc:cpi keyn,$13
0005c2 f409      		brne sreturnc
0005c3 ca6c      		rjmp reset
0005c4 3180      	sreturnc:cpi keyn,$10
0005c5 f458      	 	brcc scommkeyc
0005c6 2e28      		mov r2,keyn
0005c7 dba6      		rcall disbyregc
0005c8 cfe7      		rjmp srscannc   
0005c9 3183            srcommkeyc:cpi keyn,$13
0005ca f409      		brne srreturn1c
0005cb ca64      		rjmp reset
0005cc 318e            srreturn1c:cpi keyn,$1e		
0005cd f059      		breq srlastkeyc
0005ce 318f      		cpi keyn,$1f
0005cf f0f1      		breq srnextkeyc
0005d0 cfdf      		rjmp srscannc
0005d1 3183             scommkeyc:cpi keyn,$13
0005d2 f409      		brne srreturn2c
0005d3 ca5c      		rjmp reset
0005d4 318e            srreturn2c:cpi keyn,$1e
0005d5 f019      		breq srlastkeyc
0005d6 318f      		cpi keyn,$1f
0005d7 f0b1      		breq srnextkeyc
0005d8 cfe3      		rjmp sscannc	
0005d9 dbb6            srlastkeyc:rcall meradd
0005da 2d03      		mov temp,r3
0005db 9502      		swap temp
0005dc 2902      		or temp,r2
0005dd 1508      		cp temp,r8
0005de f029      		breq srlastc
0005df 2fd2      		mov yh,temp2
0005e0 2fc1      		mov yl,temp1
0005e1 8308      		st y,temp
0005e2 0000      		nop
0005e3 0000      		nop
0005e4 3710      	srlastc:cpi temp1,$70
0005e5 f419      		brne srlastkey1c
0005e6 3020      		cpi temp2,$00
0005e7 f409      		brne srlastkey1c
0005e8 cfc7      		rjmp srscannc
0005e9 9488           srlastkey1c:clc
0005ea 5011      		subi temp1,$01
0005eb 4020      		sbci temp2,$00
0005ec dbaa      		rcall dviadd
0005ed cfad      		rjmp srmemtc
0005ee dba1            srnextkeyc:rcall meradd
0005ef 2d03      		mov temp,r3
0005f0 9502      		swap temp
0005f1 2902      		or temp,r2
0005f2 1508      		cp temp,r8
0005f3 f029      		breq srnextc
0005f4 2fd2      		mov yh,temp2
0005f5 2fc1      		mov yl,temp1
0005f6 8308      		st y,temp
0005f7 0000      		nop
0005f8 0000                      nop
0005f9 3f1f      	srnextc:cpi temp1,$ff
0005fa f419      		brne srnextkey1c
0005fb 3021      		cpi temp2,$01
0005fc f409      		brne srnextkey1c
0005fd cfb2      		rjmp srscannc
0005fe 9513           srnextkey1c:inc temp1
0005ff f409      		brne srnextkey2c
000600 9523      		inc temp2
000601 db95           srnextkey2c:rcall dviadd
000602 cf98      		rjmp srmemtc		;整段EEPROM读写结束。
000603 e1fe      indipramc:	ldi zh,high(label*2)	;初始化显示内存。
000604 e0e0      	 	ldi zl,low(label*2)
000605 e6a0      		ldi xl,$60
000606 e500      		ldi temp,$50
000607 930d      		st x+,temp
000608 e200      		LDI TEMP,$20
000609 2711      		clr temp1
00060a 930d                inlpc:st x+,temp
00060b 9513      		inc temp1
00060c 3015       	 	cpi temp1,$05
00060d f7e1      		brne inlpc
00060e e6a0      		ldi xl,$60
00060f 9508      	 	ret
000610 93bf       	SCAN1c: push xh			;键扫显示子程序。
000611 93af      		PUSH XL
000612 933f      		PUSH TEMP3
000613 932f      		PUSH TEMP2
000614 931f      		PUSH TEMP1
000615 930f      		PUSH TEMP
000616 e6a0      	 	LDI XL,$60
000617 9468               	SET
000618 e044      		LDI CNT,$04
000619 e050               	LDI  SCNN,$00
00061a ef67        	       	LDI  KSNI,0B11110111
00061b e00f      	  COL1c:ldi temp,$0f
00061c bb04               	OUT  DDRC,TEMP
00061d bb65      		OUT  PORTC,KSNI         	
00061e dd85      		RCALL  DELAY
00061f e014      		LDI  TEMP1,$04
000620 dd8f        	       	RCALL  DELYT
000621 b303               	IN   TEMP,PINc
000622 7f00               	ANDI  TEMP,0B11110000
000623 9502               	SWAP  TEMP
000624 9408      	  KROWc:SEC 
000625 9507              	ROR  TEMP
000626 f038               	BRCS  NOKEYc
000627 94e8               	CLT
000628 2f85               	MOV   KEYN,SCNN
000629 988f      		CBI DDRD,$07
00062a 9897      		CBI PORTD,$07
00062b 9b87      	 	SBIS PINd,$07
00062c 9640      	 	ADIW KEYN,$10
00062d c007      		RJMP WDISLCD		
00062e 9553               NOKEYc: INC  SCNN
00062f 951a                	DEC  TEMP1
000630 f799                	BRNE  KROWc
000631 9408                	SEC
000632 9567                	ROR  KSNI
000633 954a           	  NOSKc: DEC  CNT   
000634 f731                	BRNE  COL1c
000635 d00a              WDISLCD:RCALL DISLCD
000636 ef0f                	LDI   TEMP,$FF
000637 bb04                	OUT   DDRC,TEMP
000638 bb05      		OUT   PORTC,TEMP
000639 910f      	 	POP TEMP
00063a 911f      	  	POP TEMP1
00063b 912f      		POP TEMP2
00063c 913f      		POP TEMP3
00063d 91af      	  	POP XL     
00063e 91bf      		pop xh   
00063f 9508      	  	RET 
000640 ef0f      	DISLCD:ldi temp,$ff
000641 bb01                     out ddrd,temp
000642 bb02                     out portd,temp
000643 e000                     ldi temp,$00
000644 bb07                     out ddrb,temp
000645 bb08                     out portb,temp       
000646 d001       		rcall wr2ram
000647 9508      		ret
000648 e054      wr2ram:	LDI CNT1,04
000649 ea18      	LDI TEMP1,$a8
00064a d1fa      	RCALL CONTD
00064b 27ff      	clr zh
00064c e6e0      	ldi zl,$60
00064d 9001      LPC:     LD R0,Z+
00064e 2d10      	MOV TEMP1,R0
00064f d20d      	RCALL WRITD
000650 955a      	DEC CNT1
000651 f7d9      	BRNE LPC
000652 e210      	ldi temp1,$20
000653 d209      	rcall writd	
000654 9001      	ld r0,z+
000655 2d10      	mov temp1,r0
000656 d206      	rcall writd
000657 8000      	ld r0,z
000658 2d10      	mov temp1,r0
000659 d203      	rcall writd
00065a 9508      	ret
          .org $0700	
000700 e048      		ldi cnt,$8
000701 ea18      		ldi temp1,$a8
000702 d142      		rcall contd
000703 e210      	lp80:	ldi temp1,$20
000704 d158      		rcall writd
000705 954a      		dec cnt
000706 f7e1      		brne lp80
000707 2755      	lp8:	clr cnt1		;循环程序。
000708 2744      	lp81:	clr cnt
000709 ea18      		ldi temp1,$a8
00070a d13a      		rcall contd
00070b 1754      	lp82:	cp cnt1,cnt
00070c f459      		brne lp83
00070d e71e      		ldi temp1,$7E		;字符代码。
00070e d14e      	lp84:	rcall writd
00070f 9543      		inc cnt
000710 3140      		cpi cnt,$10
000711 f7c9      		brne lp82
000712 e400      		ldi temp,$40
000713 d166      		rcall delaypa
000714 9553      		inc cnt1
000715 3150      		cpi cnt1,$10
000716 f789      		brne lp81
000717 c002      		rjmp lp88
000718 e210      	lp83:	ldi temp1,$20
000719 cff4      		rjmp lp84
00071a e150      	lp88:	ldi cnt1,$10		;循环程序。
00071b e040      	lp881:	ldi cnt,$00
00071c ea18      		ldi temp1,$a8
00071d d127      		rcall contd
00071e 1754      	lp882:	cp cnt1,cnt
00071f f451      		brne lp883
000720 e71f      		ldi temp1,$7f	;字符代码。
000721 d13b      	lp884:	rcall writd
000722 9543      		inc cnt
000723 3140      		cpi cnt,$10
000724 f7c9      		brne lp882
000725 e400      		ldi temp,$40
000726 d153      		rcall delaypa
000727 955a      		dec cnt1
000728 f791      		brne lp881
000729 cfdd      		rjmp lp8
00072a e210      	lp883:	ldi temp1,$20
00072b cff5      		rjmp lp884
          .org $0740
000740 e048      		ldi cnt,$8		;0--F循环程序。
000741 ea18      		ldi temp1,$a8
000742 d102      		rcall contd
000743 e210      	lpw0:	ldi temp1,$20
000744 d118      		rcall writd
000745 954a      		dec cnt
000746 f7e1      		brne lpw0
000747 2733      	lpw:	clr temp3		
000748 e1fe      		ldi zh,high(labelc*2)
000749 e2e0      		ldi zl,low(labelc*2)
00074a 2755      	lpww:	clr cnt1	
00074b 95c8      		lpm
00074c 95e3      		inc zl
00074d 2744      	lpw1:	clr cnt
00074e ea18      		ldi temp1,$a8
00074f d0f5      		rcall contd
000750 1754      	lpw2:	cp cnt1,cnt
000751 f471      		brne lpw3
000752 2d10      		mov temp1,r0		
000753 d109      	lpw4:	rcall writd
000754 9543      		inc cnt
000755 3140      		cpi cnt,$10
000756 f7c9      		brne lpw2
000757 e400      		ldi temp,$40		;设置时间常数TEMP。
000758 d121      		rcall delaypa		;调用延时子程序。
000759 9553      		inc cnt1
00075a 3150      		cpi cnt1,$10
00075b f789      		brne lpw1
00075c 9533      		inc temp3
00075d 3130      		cpi temp3,$10
00075e f759      		brne lpww
00075f cfe7      		rjmp lpw
000760 e210      	lpw3:	ldi temp1,$20
000761 cff1      		rjmp lpw4		
         
          .org $0800			;LCD显示LCD字符
000800 e8e0      wr2ram1:LDI ZL,LOW($0BC0*2)
000801 e1f7      	LDI ZH,HIGH($0BC0*2)
000802 e057      	ldi cnt1,$07
000803 e140      lp1:	LDI CNT,16
000804 ea18      	LDI TEMP1,$a8
000805 d03f      	RCALL CONTD
000806 95c8      LP:     LPM
000807 2d10      	MOV TEMP1,R0
000808 d054      	RCALL WRITD
000809 9001      	LD R0,Z+
00080a 954a      	DEC CNT
00080b f7d1      	BRNE LP
00080c 955a      	dec cnt1
00080d f019      	breq lp2
00080e d06a      	rcall delayY
00080f d069      	rcall delayY
000810 cff2      	rjmp lp1
000811 d067      lp2:	rcall delayY
000812 e8e0      	ldi zl,low($Cc0*2)
000813 e1f9      	ldi zh,high($Cc0*2)
000814 ea48      	ldi cnt,168
000815 2f6e      	mov prl,zl
000816 2f7f      	mov prh,zh
000817 e156      rout:	ldi cnt1,$16
000818 ea18      	ldi temp1,$a8
000819 d02b      	rcall contd
00081a 95c8      rout1:	lpm
00081b 2d10      	mov temp1,r0
00081c d040      	rcall writd
00081d 9001      	ld r0,z+
00081e 955a      	dec cnt1
00081f f7d1      	brne rout1
000820 d058      	rcall delayY
000821 954a      	dec cnt
000822 f2e9      	breq wr2ram1
000823 d001      	rcall incprlh
000824 cff2      	rjmp rout	
000825 2fa6      incprlh:mov xl,prl
000826 2fb7      	mov xh,prh
000827 900d      	ld r0,x+
000828 2f6a      	mov prl,xl
000829 2f7b      	mov prh,xh
00082a 2fe6      	mov zl,prl
00082b 2ff7      	mov zh,prh
00082c 9508      	ret 
00082d 95a8      wr1ram:	wdr
00082e e810      	ldi temp1,$80
00082f d015      	rcall contd
000830 e052      	ldi cnt1,$02
000831 e144          w1r:ldi cnt,20
000832 e4e0      	ldi zl,low($Ba0*2)
000833 e1f7      	ldi zh,high($Ba0*2)
000834 95c8        redsp:lpm
000835 2d10      	mov temp1,r0
000836 d026      	rcall writd
000837 9001      	ld r0,z+
000838 954a      	dec cnt
000839 f7d1      	brne redsp
00083a 955a      	dec cnt1
00083b f7a9      	brne w1r
00083c 9508      	ret
00083d 95a8      syset:	wdr
00083e e011      	ldi temp1,$01
00083f d005      	RCALL contd
000840 e318      	ldi temp1,$38
000841 d003      	rcall contd
000842 e016      	ldi temp1,$06
000843 d001      	rcall contd
000844 9508      	ret
         
000845 e300      CONTD:  LDI   TEMP,0B00110000	
000846 bb02      	 OUT   PORTD,TEMP
000847 d02c      	 RCALL DELT3		
000848 9895      	CBI PORTD,$05
000849 d02a      	RCALL DELT3
00084a 9a95      	sbi portd,$05
00084b 95a8      BUSYY:  WDR
00084c 99b7      	SBIC PINB,$07
00084d cffd      	RJMP BUSYY
00084e e200      	 ldi temp,0b00100000		
00084f bb02      	 OUT   PORTD,TEMP
000850 d023      	 RCALL DELT3
000851 ef0f      	 LDI   TEMP,$ff   	
000852 bb07      	 OUT   DDRB,TEMP
000853 bb18      	 OUT   PORTB,TEMP1  	
000854 95a8      	 WDR
000855 9895      	 cBI   PORTD,$05	
000856 d01d      	 RCALL DELT3
000857 e308      	 LDI   TEMP,0B00111000	
000858 bb02      	 OUT   PORTD,TEMP
000859 2700      	 CLR   TEMP		
00085a bb07      	 OUT   DDRB,TEMP
00085b bb08      	 OUT   PORTB,TEMP	
00085c 9508      	 RET	
00085d e300      WRITD:  LDI TEMP,0B00110000	
00085e bb02      	 OUT PORTD,TEMP
00085f d014      	 RCALL DELT3
000860 9895      	cbi portd,$05
000861 d012      	rcall delt3
000862 9a95      	sbi portd,$05
000863 95a8      BUZY1:WDR
000864 99b7      	 SBIC PINB,$07		
000865 cffd      	 RJMP BUZY1  	
000866 e208      	 LDI TEMP,0B00101000	
000867 bb02      	 OUT PORTD,TEMP
000868 bb18      	 OUT PORTB,TEMP1	
000869 ef0f      	 LDI TEMP,$ff		
00086a bb07      	 OUT DDRB,TEMP
00086b 9895      	 cbi PORTD,$05		
00086c d007      	 RCALL DELT3
00086d e308      	 LDI TEMP,0B00111000	
00086e bb02         	 OUT PORTD,TEMP
00086f d004      	 RCALL DELT3
000870 2700      	 CLR TEMP		
000871 bb07      	 OUT DDRB,TEMP
000872 bb08      	 OUT PORTB,TEMP
000873 9508      	 RET 
000874 e224      DELT3:  LDI TEMP2,$24	
000875 95a8         DT111:WDR			
000876 952a      	 DEC TEMP2

⌨️ 快捷键说明

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