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

📄 61k.asm

📁 61k.asm是一个在MOTO-80编程环境应用于68HC908QTY MCU
💻 ASM
字号:

;ACES
;61K.ASM			68HC-QT4IC/QT2-APPLIED FOR : DIM /6S.D.OFF/BUFF OFF  VDD=3.67V-4.92V
						;2PIN:DIM OUT/0.3V-3V/10W-32W		7PIN:NC
						;					(0.95-3.58V)
						;3PIN:STAR LED			            6PIN:POWER ON/OFF
						;4PIN:0N=0V	OFF=5V		            5PIN:NC
											;18/05/2003
PTA		EQU $00
PTB 	EQU $01


DDRA 	EQU $04
DDRB    EQU $05
KBIER   EQU $001B
ADSCR	EQU	$3C
ADR		EQU	$3D			;READ ONLY
ADICLK	EQU	$3E
CONFIG1 EQU $1F
CONFIG2 EQU $1E
COPCTL  EQU $0FFFF                              ;kan men gou  set

  ORG  $80

RAM0 RMB	1
RAM1 RMB	1
RAM2 RMB	1
RAM3 RMB	1
RAM4 RMB	1
RAM5 RMB	1
RAM6 RMB	1
RAM7 RMB	1
RAM8 RMB	1
RAM9 RMB	1
RAM10 RMB	1
RAM11 RMB	1
RAM12 RMB	1
RAM20 RMB   1
RAM30 RMB   1
RAM31 RMB   1
RAM32 RMB   1
RAM33 RMB   1
RAM34 RMB   1
RAM35 RMB   1




  ORG  $EE00

INIT:
      	SEI							;DISABLE ALL INT
	RSP							;RESET STACK POINTER




;  mov  #%00010011,DDRA  ;I/O pin
;  mov  #%00111111,ADSCR ;DISABLE ADC
;  mov  #%00000000,ADICLK ; CLK=1MHZ


;-----------CLEAR RAM --------------------------------
	LDHX	#$007F	;CLEAR	RAM FROM $80 TO $FF              ;kan men gou
P2:
	INCX                                                     ;kan men gou
	CLR	,X
	CPX	#$0FF                                            ;kan men gou
	BNE	P2                                               ;kan men gou


  	mov  #%00111000,DDRA  ;I/O pin
  	mov  #%01000010,KBIER  ;I/O pin
; 	mov  #%00111111,ADSCR ;DISABLE ADC
;	mov  #%00000000,ADICLK ; CLK=1MHZ
	mov  #%00000001,CONFIG1
	;mov  #%01000000,CONFIG2
		LDA #$FF
L111:	DECA
		CBEQA  #$00,L0
		JMP L111
L0:

		LDA   #0
		STA   RAM10
		STA   RAM0
		LDA   #$C9		;C6-61K
		STA   RAM8		;LOOP1
		LDA   #$36		;39-61K
		STA   RAM9		;LOOP2

		LDA   #1
		STA   RAM11
		LDA   #$00
		STA   RAM20
		STA   RAM30
		STA   RAM31
		STA   RAM32
		STA   RAM33
		BSET    3,PTA
		BCLR    4,PTA
		LDA    #$00
		LDHX    #COPCTL
		STA     ,X
		WAIT
L1:		BCLR    5,PTA		;ON LED
		JSR    LOOP1
L1D:	BSET  5,PTA
		JSR   LOOP2

L1B:	BRCLR  	1,PTA,L92
		LDA    #$00
		LDHX    #COPCTL
		STA     ,X
		JMP   L1
L90:
		BRSET 	1,PTA,L990
		JMP   L992
L990:  JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41

		LDA   RAM0
        CMP   #8
        BLO   L991
         LDA   #0
         STA   RAM0
         JMP   L1
L991:
		JMP   L930

LOOP900:LDA   RAM10
        CBEQA  #1,L9001
         ;BSET  4,PTA
        RTS
L9001:   ;BCLR 4,PTA
        RTS
LOOP902: CBEQA  #9,L9002
		RTS
L9002:  LDA   #8
		STA   RAM0
		RTS
L92:  	JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41

		;JSR  LOOP20
		;JSR   LOOP900
		LDA  RAM0
		INCA
		STA   RAM0
		JSR   LOOP902
		JMP   L90		;CHEK  PTA2=0
L992:	JSR   LOOP41
		JSR   LOOP41
		LDA   RAM10
		CBEQA	#$01,L94
		JSR   LOOP41
		JSR   LOOP41

		BSET 4,PTA
		LDA   RAM8
		CBEQA   #$0,L93
		LDA   RAM9
		INCA
		STA  RAM9
		LDA  RAM8
		DECA
		STA  RAM8
		;CMP   #176
		;BLO   L98
		;JMP   L99
L98:		CBEQA   #$0,L93		;Lamp Very  Bright
		JSR   LOOP41
		JMP  L91
L93:	BCLR 4,PTA
		JSR  LOOP93
		LDA #$01
		STA  RAM10
		JMP  L91

LOOP93: LDA   #$0			;0+2
		STA   RAM8
		LDA   #$FF		;FF-1
		STA   RAM9
		RTS

L94:	JSR   LOOP41
		JSR   LOOP41

		BSET 4,PTA
		LDA   RAM9
		CBEQA   #$36,L95		;39
		LDA  RAM8
		INCA
		STA  RAM8
		LDA  RAM9
		DECA
		STA  RAM9
		;CMP   #176
		;BLO   L97
		;JMP    L96
L97:	CBEQA  #$36,L95		;39		Lamp Very  Dark
		JSR   LOOP41
		JMP  L91

L95:	BCLR 4,PTA
		JSR   LOOP95
		LDA  #00
		STA  RAM10
		JMP  L92
LOOP95: LDA   #$36		;39=39
		STA   RAM9
		LDA   #$C9		;C6=C6
		STA   RAM8
		RTS

L91:	BCLR    5,PTA		;ON LED
		JSR    LOOP1
L91D:	BSET  5,PTA
		JSR   LOOP2
		JMP    L92

L930:   JMP    L30

L2:
		LDA  #0
		STA  RAM0
		LDA   RAM10
		CBEQA	#$01,L4
		 BSET 4,PTA
		LDA   RAM9
		INCA
		STA  RAM9
		LDA  RAM8
		DECA
		STA  RAM8
		CBEQA   #$1,L3
		JMP  L1
L3:		 BCLR 4,PTA
		JSR   LOOP93
		LDA #$01
		STA  RAM10
		JMP  L1D
L4:		BSET 4,PTA
		LDA  RAM8
		INCA
		STA  RAM8
		LDA  RAM9
		DECA
		STA  RAM9
		CBEQA  #$1,L5
		JMP  L1

L5:		 BCLR 4,PTA
		JSR   LOOP95
		LDA  #00
		STA  RAM10
		BCLR    5,PTA
		JSR    LOOP1
		JMP  L1B
LOOPF:  LDA    RAM35
        RTS
L1W1:   JMP  L1
L30:	 LDA  #0
		STA  RAM0
		LDA  RAM11
		CBEQA	#1,L31		;TO POWER ON

		JSR   LOOP811
		JSR   LOOPF    				;Delay 1s
		CBEQA   #1,LWOFF
		JSR   LOOP811
		JSR   LOOPF    				;Delay 1s
		CBEQA   #1,LWOFF

LWOFF:	JSR   LOOPON			;To------Bright
L1W:
		LDA #0
		STA   RAM35
		BCLR    5,PTA
		BSET   3,PTA			;POWER--OFF
		BCLR   4,PTA
		LDA  #1
		STA  RAM11
		LDA    #$00
		LDHX    #COPCTL
		STA     ,X
		WAIT
		BRCLR 1,PTA,L1W1		;OFF-CHAK PTA1
		JMP   L1W

L31:    JMP   L31L

LOOP811:
		BCLR   4,PTA
		BRCLR 	1,PTA,LF
		JSR   LOOP81			;Delay 2s
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		BSET   4,PTA
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF

		BCLR   4,PTA
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF

		BSET   4,PTA
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF

		BCLR   4,PTA
		JSR   LOOP81			;Delay 2s
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF

		BSET   4,PTA
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		JSR   LOOP81
		BRCLR 	1,PTA,LF
		RTS
LOOP81:	LDA  #$6C
		STA   RAM33
L86:	BCLR    5,PTA
		JSR   LOOP1
		BSET  	5,PTA
		JSR   LOOP2
		LDA    RAM33
		DECA
		STA    RAM33
		BRCLR 	1,PTA,L85
		CBEQA	#0,L85
		JMP  L86
L85:
		LDA  #$00
		STA RAM33
		RTS
LF:  	LDA  #1
		STA    RAM35
		RTS
L31L:    BCLR  3,PTA		;POWER  ON
		LDA   #0
		STA   RAM11
		LDA   #1
		STA   RAM10
		LDA   #$FF
		STA   RAM9
		LDA   #$0
		STA   RAM8
		;JSR   LOOPOFF			;To-----Dark
		JMP   L1
LOOPON:	LDA  RAM9
		CBEQA   #1,L505
								;---Bright
LONN:	JSR   LOOP41
		JSR   LOOP41
		JSR   LOOP41
		LDA  RAM8
		INCA
		STA  RAM8
		LDA  RAM9
		DECA
		STA  RAM9
		CBEQA  #1,L505
		JMP  LONN
L505:	RTS
LOOPOFF:LDA   RAM8					;---Dark
		CBEQA  #1,L303

POFF:	LDA   RAM9
		INCA
		STA  RAM9
		LDA  RAM8
		DECA
		STA  RAM8
		CBEQA  #1,L303
		JSR   LOOP41
		JMP  POFF
L303:	RTS
LOOP41:		BCLR    5,PTA
			JSR    LOOP1
			BSET    5,PTA
			JSR     LOOP2
			LDA    #$00
		LDHX    #COPCTL
		STA     ,X
			RTS
LOOP1:	LDA  RAM8
		STA  RAM5

L22:	LDA  RAM5
		DECA
		STA	RAM5
		CBEQA #$00,L10
		JSR  LOOP60
		JMP L22
L10:    RTS

LOOP0:	LDA  #$0FF
L12:	DBNZA  L12		;20ms
		RTS

LOOP2:	LDA  RAM9
		STA  RAM5

L33:	LDA  RAM5
		DECA
		STA  RAM5
		CBEQA #$00,L11
		JSR  LOOP60
		JMP L33
L11:    RTS

LOOP20: LDA  #$10
		STA  RAM12
L15 	LDA RAM12
		DECA
		STA  RAM12
		CBEQA  #$00,L7
		JSR   LOOP60
		JMP L15
L7      RTS


LOOP60:	LDA  #$4    ;20ms
L19:	DBNZA  L19
		RTS
************INTERRUPT ROUTINES********************************************

ADC_INT:
	RTI



KEY_INT:
	RTI

TIMER_OVR:
	RTI


TIMER_INT1:
	RTI

TIMER_INT0:
	RTI


EXT_INT:
	RTI

SOFT_INT:
	RTI

************INTERRUPT VECTOR ADDRESS********************************************


   	ORG		$FFDE
   	FDB		ADC_INT			;	ADC INT (NOT USE)

   	ORG		$FFE0
  	FDB		KEY_INT			;	KEYBOARD INT (NOT USE)

   	ORG		$FFF2
   	FDB		TIMER_OVR		;	TIMER OVERFLOW INT (NOT USE)

   	ORG		$FFF4
   	FDB		TIMER_INT1		;	BUZZER 2.4 KHZ

   	ORG     $FFF6          	;
   	FDB     TIMER_INT0      	;TIMER INT 0 X-EN & GENERAL TIMER

   	ORG     $FFFA          	;
   	FDB     EXT_INT			;	EXTERNAL INT	(POWER OFF INT)

  	ORG     $FFFC	;
   	FDB     SOFT_INT		;SOFWARE INT (BREAK INT)

	ORG     $FFFE           ;RESET VECTOR ADDRESS
    FDB     INIT            ;RESET VECTOR

⌨️ 快捷键说明

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