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

📄 tontek study.asm

📁 通泰单片机例程,主要是示范如何应用通泰的单片机.
💻 ASM
字号:
;===================================================================================
;
;============== CPU WORKING REGISTER ===============================================
.EQ   	DP		$0
.EQ   	ACC     	$1
.EQ	TB1     	$2
.EQ   	TB2     	$3
.EQ   	TB3     	$4
.EQ   	DPL     	$5
.EQ   	DPM     	$6
.EQ   	DPH     	$7      ;DEFAULT
;===================================================================================
.EQ   	PS      	$8      ;PS    R/W 1100  CPU power saving register
.EQ   	INTF    	$9      ;INTF  R/W 0000  Interrupt request flag register
.EQ   	INTC    	$A      ;INTC  R/W 0000  Interrupt control register
;============== I/O Port SFR Define ================================================
.EQ   	PAC     	$0B     ;PAC   R/W 1111  I/O port A control register
.EQ   	PA      	$0C     ;PA    R/W 1111  I/O port A register
.EQ   	PBC     	$0D     ;PBC   R/W 1111  I/O port B control register
.EQ   	PB      	$0E     ;PB    R/W 1111  I/O port B register
.EQ   	PCC     	$0F     ;PCC   R/W 1111  I/O port C control register
.EQ   	PC      	$10     ;PC    R/W 1111  I/O port C register
;===================================================================================
.EQ   	TBC     	$15     ;TBC   R/W 0000  Time base control register
.EQ   	TMAL  	 	$16     ;TMAL  R/W 0000  Timer/counter A data low register
.EQ   	TMAH  	 	$17     ;TMAH  R/W 0000  Timer/counter A data high register
.EQ   	TMAC  	 	$18     ;TMAC  R/W 0000  Timer/counter A control register
.EQ   	TMBL  	 	$19     ;TMBL  R/W 0000  Timer/counter B data low register
.EQ   	TMBH   		$1A     ;TMBH  R/W 0000  Timer/counter B data high register
.EQ   	TMBC  	 	$1B     ;TMBC  R/W 0000  Timer/counter B control register
;============== SFR REGISTER =======================================================
.EQ   	MFC     	$1F     ;MFC   R/W 0010  Multi-function control register
;============== USER RAM DEFINE RANGE ->20h~5Fh ====================================
.EQ	SystemBuf0	$20	;USED  RAM
.EQ	SystemBuf1	$21
.EQ	SystemBuf2	$22
.EQ	SystemBuf3	$23
.EQ	SystemTemp0	$24
.EQ	SystemTemp1	$25
.EQ	TMBLBuf		$26
.EQ	TMBHBuf		$27
.EQ     StackTemp	$5F

;===================================================================================
	.ORG    $000
;===================================================================================
	JMP	Main_Program_Start
;========= INTERRUPT SUBROUTINE ====================================================
INT_PRG:
;		LDA		ACC
		STX		StackTemp		;PUSH ACC TO ACCTEMP BUFFER
		TST		#$2,INTF
		JPZ		INT_PRG_0
	;	XOR		#$F,PB,M
		
		TST   #$4,PB
		JPZ   SET_PB0
		;STX    #$0,PB

            AND   #$B,PB,M
		JMP   INT_PRG_0
SET_PB0:
             ORI   #$4,PB,M
    		;STX     #$F,PB
		
INT_PRG_0:
           NOP
           STX        #$0,PBC
		STX		#$0,INTF	;CLEAR PA0,TIMEBASE INTERRUPT FLAG
		LDA		StackTemp
;		STX		ACC		;POP ACCTEMP TO ACC
		RET				;RETURN TO MAINPRG FRM INT_SUB
;===================================================================================
Main_Program_Start:
		STX		#$4,PS
CLR_All_Ram:
		SDP
		LDP		$20
Init_All_Step:
		STX		#$0,DP
		CMP		#$6,DPM
		JPC		Init_All_Step
		CDP
		STX		#$9,TMAC
		STX		#$F,TMBC
		STX		#$0,TMBL
		STX		#$1,TMBH
		STX		#$0,TMAL
		STX		#$0,TMAH
		STX		#$2,INTC
		STX		#$5,TBC
		STX		#$0,PBC
		STX		#$A,PB
;-----------------------------------------------
MainLoop:
		LDA		PS
		STX		PS
		NOP
		NOP
		
		
		
		JMP		MainLoop
;-----------------------------------------------
		.END

⌨️ 快捷键说明

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