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

📄 test.asm

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASM
字号:
;Test METHOD
;PRTD2+3 =TEST BY SELF
;press prtd6 send t1 500hz clock test pin is prtd7
;press prtd5 send t2 50hz clock test pin is prtd7
;press prtd2 slow->prtd3 idle ->prtd4 sleep ->prtd2 slow+lcd on

;PRTD7+6 =KB TEST
;;




.LcdHead	EQU	10000000B
.LcdTail	EQU	11000000B
.TestPin	EQU	00011100B	;PRTD	2,3,4 
.PD43		EQU	00011000B
.PD42		EQU	00010100B
.PD32		EQU	00001100B
.SetT1H		EQU	0x00	;(32768/3)-1=0x2aaa   		
.SetT1L 	EQU	0x20
.SetT2H		EQU	0x68		;(4M/1.5/1)-1=0x682a
.SetT2L		EQU	0x2a
		.area   Test(code)
.Test::
		
		lda	#80h
		sta	DP
		lda	#0h
		sta	PWMC
		sta	VOC
		sta	PP
.T3:		
		lda	DP
		cmpe	#0c0h
		brz	.T4
		lda	#0ffh
		sta	i
		incdp
		br	.T3
.T4:		
		lda	#00000101b	;bit 2 1=B type 
		sta	LCDC	
		lda	#.SetT1H 
		sta	T1H
		lda	#.SetT1L 
		sta	T1L	
		lda	#.SetT2H 
		sta	T2H
		lda	#.SetT2L 
		sta	T2L	
		lda	#00011100b		;T1 T2 enable
		sta	OP1				
		lda	#0h
		sta	OP2
		
		lda	#0h
		sta	PRT17
		lda	#0xFF
		sta	PRTD
.T5:
		lda	PRTD
		anda	#40h
		brz	.T2
		
		lda	PRTD
		anda	#20h
		brnz	.T5
					
.T1:		
		lda	#02h
		sta	IER
		lda	#1
		sta0	.DataBuf
		br	.NormalMd	
.T2:	
		lda	#04h
		sta	IER
		lda	#0
		sta0	.DataBuf
		 
.NormalMd:		
		call	.CheckT1 
		lda	#0h
		sta	PRT17	
		lda	PRTD
		anda	#.TestPin
		cmpe	#.PD43
		brnz	.NormalMd		
		lda	OP1
		anda	#~00010000b		 
		ora	#00100000B
		sta	OP1
		lda	#0h
		sta	LCDC
;-----------------------------------------		
.Slow:		
		
		lda	#0h
		sta	PRT17
		lda	PRTD		
		anda	#.TestPin	 
		cmpe	#.PD42
		brnz	.Slow
		 
		lda	OP1
		anda	#~1ch	
		sta	OP1
.idle:		
		lda	OP2
		ora	#10000000b	
		sta	OP2
		
		lda	#0h
		sta	PRT17
		lda	PRTD		
		anda	#.TestPin		 
		cmpe	#.PD32
		brnz	.idle

		lda	OP1
		anda	#~20h		
		sta	OP1
		lda	OP1
		ora	#01001100b 		
		sta	OP1
		lda	#0h
		sta	PRT17	
.Sleep1:			
		lda	PRTD
		anda	#.TestPin		 
		cmpe	#.PD43
		brnz	.Sleep1
.TT:		
		lda	OP1		 
		ora	#20h
		sta	OP1
		lda	#00000101b	;bit 2 1=B type 
		sta	LCDC
		lda	#0h
		sta	PRT17
		lda	#0ffh
		sta	PRTD
		
		br	.TT
;-------------------------------------------		
		
.CheckT1:	
		lda0	.DataBuf
		cmpe	#01h
		brz	.CheckT2
		lda0	.RandCnt
		anda	#01h
		brz	.DisPD7
		lda	#80h
		sta	PRTD
		br	.EndM		
.DisPD7:
		lda	#~80h
		sta	PRTD
.EndM:					
		ret
;-------------------------------------------		
.CheckT2:		
		lda0	.TurboCnt
		anda	#01h
		brz	.DisPD6
		lda	#80h
		sta	PRTD
		br	.EndM		
.DisPD6:
		lda	#~80h
		sta	PRTD			
		ret		

⌨️ 快捷键说明

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