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

📄 hdwinit1.bak

📁 日本FAMILY按摩椅W-1用的配套操作器程序。带VFD显示
💻 BAK
字号:

		NAME	HDWINIT
;********************************************************
;*							*
;*		remocon of massage machine		*
;*							*
;*							*
;********************************************************
;	HarDWaer Initialize process			*
;********************************************************
;
;	 UPDATE

;*** CPU TYPE ***
ICE	EQU	0					; 0:FLASH & NORMAL
;;;ICE	EQU	1					; 1:ICE

;*** equ ***
STOP_MODE	EQU	32H				;

;*** PUBLIC & EXTRN ***

	PUBLIC		_hdwinit			;
	PUBLIC		_WDLP				;

	extrn		_start_mem			;
	extrn		_end_mem			;
    extrn      _Delay_200ms         ;
    extrn      _Timer2_init
	CSEG
	

$EJECT
_VCTADR1	CSEG	AT	2H
;********************************************************
;	VECTOR ADDRESS					*
;********************************************************
;;;;;;;;	DW	_ALL_INIT				;00H
	DW	_ALL_INIT				;02H     NMI
;;;	DW	_ALL_INIT				;04H     
	DW	_WDLP					;04H    NMI WDT
	DW	_ALL_INIT				;06H    INTWDT MASKABLE
	DW	_ALL_INIT				;08H INTP0
	DW	_ALL_INIT				;0AH INTP1
	DW	_ALL_INIT				;0CH INTP2
	DW	_ALL_INIT				;0EH INTP3
;;;;;;;;	DW	_Hint_cts			;10H INTP4
	DW	_ALL_INIT				;10H INTP4
	DW	_ALL_INIT				;12H INTP5
	DW	_ALL_INIT				;14H INTP6
	
	DW	_ALL_INIT				;16H INTIIC0 / INTCSI0
	DW	_ALL_INIT				;18H INTSER1(SIRIAL RECEIVE ERROR)
	DW  _ALL_INIT               ;1AH INTSR1 /INTCSI1
;;;	DW	_Hsout					;1CH INTST1(SIRIAL SEND)
_VCTADR2	CSEG	AT	1EH
	DW	_ALL_INIT				;1EH INTSER2(SILIAL RECEIVE ERROR)
;;;	DW	Rsin					;20H INTSR2(SILIAL RECEIVE ERROR)OK
;;;	DW	Rsout					;22H INTST2(SILIAL SEND)OK
_VCTADR3   CSEG AT 24H
	DW	_ALL_INIT				;24H INTTM3(CLOCK TIMER)
;;;	DW	_ALL_INIT				;26H INTTM00
;;;	DW	_ALL_INIT				;28H INTTM01
_VCTADR4   CSEG  AT 2AH
	DW	_ALL_INIT				;2AH	;INTTM1
	DW	_ALL_INIT				;2CH	;INTTM2
	DW	_ALL_INIT				;2EH	;INTAD
;;;	DW	_ALL_INIT				;30H	;INTTM5
;;;	DW	_ALL_INIT				;32H	;INTTM6
_VCTADR5  CSEG AT 34H
	DW	_ALL_INIT				;34H	;INTTM7
	DW	_ALL_INIT				;36H	;INTTM8
	DW	_ALL_INIT				;38H	;INTWT
	DW	_ALL_INIT				;3AH	;INTKR
	DW	_ALL_INIT				;3CH	;INTKR
	DW	_ALL_INIT				;3EH	;INTKR

_ALL_INIT:
         NOP
         NOP
	     RETI						;
	
;********************************************************
;	HarDWaer INITialaze PROCESS			*
;********************************************************
_hdwinit:
 ;       CALL _Timer2_init ;
 ;       CALL _Delay_200ms ;
        MOV	PU3 , #11111111Y
        MOV	PU2 , #00000000Y	
		MOV	P2 ,  #00001000Y			;   SET OK
		MOV	PM2 , #10100000Y		;ONLINE MODIFY/SET OK        
		MOV	P3 , #00000000Y			;
		MOV	PM3 , #10000000Y		;
        					;
		MOV	PUO , #01110000Y		;PORT 4 5 6 PULL UP   OK
		MOV	PU0 , #01000000Y		;NO Pull Up/SET OK
;;		MOV	PU2 , #00000000Y		;N0 PULL UP/SET OK
;;		MOV	PU3 , #11111111Y		;PULL UP /SET OK
		MOV	PU7 , #00000000Y		;NO PULL UP /SET OK
		MOV	PU8 , #11111111Y		; PORT 8 PULL UP  SET  OK
		MOV	PU10 , #00001111Y		;P102 Pull Up	 SET OK
		MOV	PU12 , #11111111Y		;SET OK
		
;***  PORT 0 SET OK ***
		MOV	P0 , #00000000Y			;SET OK
		MOV	PM0 , #11001000Y		;
;*** PORT 2 SET OK ***
;;		MOV	P2 , #00000000Y			;   SET OK
;;		MOV	PM2 , #10100000Y		;ONLINE MODIFY/SET OK
;*** PORT 3 SET OK ***
;		MOV	P3 , #00000000Y			;
;		MOV	PM3 , #10000011Y		;
;*** PORT 4 SET OK ***
		MOV	P4 , #00000000Y			;
		MOV	PM4 , #11111111Y		;INPUT
;*** PORT 5 SET OK ***
		MOV	P5 , #00000000Y			;
		MOV	PM5 , #00000000Y		;
;***  PORT 6 SET OK ***
		MOV	P6 , #00000000Y			;
		MOV	PM6 , #00000000Y		;
;*** PORT 7 SET OK ***
		MOV	P7 , #00000000Y			;
		MOV	PM7 , #11111001Y		;
;*** PORT 8  SET OK ***
		MOV	P8 , #00000000Y			; 
		MOV	PM8 , #00000000Y		;
;*** PORT 9 SET OK ***
		MOV	P9 , #00111111Y			;
		MOV	PM9 , #11000000Y		;
;*** PORT 10 SET OK
		MOV	P10 , #00000000Y		;
		MOV	PM10 , #11111111Y		;	
;*** PORT 12 SET OK  ***
		MOV	P12 , #00000000Y		;
		MOV	PM12 , #11111111Y		;
;PORT 13 SET OK ***
		MOV	P13 , #00000000Y		;
		MOV	PM13 , #11111101Y		;SOUND OUT PUT/ D/A
; *** CLOCK  SET ***
		MOV	CC , #80h			;SET ENMP
		NOP					;
		NOP					;
		MOV	STBC , #00h			;CPU CLOCK = fxx
		NOP					;
		NOP					;
		MOV	OSTS , #00			;
		NOP					;
		NOP					;

;*** edgi triger set ok **
;*** disable port 0 interrupt ***
		mov	EGP0 , #00000000b		;  
		mov	EGN0 , #00000000b		;

;*** PCL clock out set ***
;		clr1	CKS.4				;pcl no output


;*** MEMORY MANAGEMENT ***
		MOV	EBTS , #00000001b		;sepalate bus mode
		MOV	MM , #00001001b			;1MB MODE

$_IF(ICE)
;*** access wait for ice
		MOV	PWC1 , #0A8h			;internal memory wait disable
	MOVW	PWC2 , #0AAAAh			;external memory wait enable
$ELSE
;*** access wait for flash & cpu
		MOV	PWC1 , #02h			;WAIT enable
$ENDIF

;*** ram clear ***
		MOVG	TDE , #_start_mem		;
		MOVG	WHL , #_end_mem			;
RAM_LOOP:
		MOV	A , #00H			;
		MOV	[TDE+] , A			;

		CMPW	DE , HL		    ;
		BC	$RAM_LOOP			;
		NOP

		RET


;********************************************************
;	Watch Dog Loop Process				*
;********************************************************
;
;
;
_WDLP:
		MOVW	MK0 , #0FFFFH			;
		MOVW	MK1 , #0FFFFH
		MOV	PUO , #01110000Y		;PORT 4 5 6 PULL UP   OK
		MOV	PU0 , #00000000Y		;NO Pull Up/SET OK
		MOV	PU2 , #00000000Y		;N0 PULL UP/SET OK
		MOV	PU3 , #11111111Y		;PULL UP /SET OK
		MOV	PU7 , #00000000Y		;NO PULL UP /SET OK
		MOV	PU8 , #11111111Y		; PORT 8 PULL UP  SET  OK
		MOV	PU10 , #00001111Y		;P102 Pull Up	 SET OK
		MOV	PU12 , #11111111Y		;SET OK
		
;***  PORT 0 SET OK ***
		MOV	P0 , #00000000Y			;SET OK
		MOV	PM0 , #10001000Y		;
;*** PORT 2 SET OK ***
		MOV	P2 , #00000000Y			;   SET OK
		MOV	PM2 , #10100000Y		;ONLINE MODIFY/SET OK
;*** PORT 3 SET OK ***
		MOV	P3 , #00000000Y			;
		MOV	PM3 , #10000000Y		;
;*** PORT 4 SET OK ***
		MOV	P4 , #00000000Y			;
		MOV	PM4 , #11111111Y		;INPUT
;*** PORT 5 SET OK ***
		MOV	P5 , #00000000Y			;
		MOV	PM5 , #00000000Y		;
;***  PORT 6 SET OK ***
		MOV	P6 , #00000000Y			;
		MOV	PM6 , #00000000Y		;
;*** PORT 7 SET OK ***
		MOV	P7 , #00000000Y			;
		MOV	PM7 , #11111001Y		;
;*** PORT 8  SET OK ***
		MOV	P8 , #00000000Y			; 
		MOV	PM8 , #00000000Y		;
;*** PORT 9 SET OK ***
		MOV	P9 , #00111111Y			;
		MOV	PM9 , #11000000Y		;
;*** PORT 10 SET OK
		MOV	P10 , #00000000Y		;
		MOV	PM10 , #11111111Y		;	
;*** PORT 12 SET OK  ***
		MOV	P12 , #00000000Y		;
		MOV	PM12 , #11111111Y		;
;PORT 13 SET OK ***
		MOV	P13 , #00000000Y		;
		MOV	PM13 , #11111101Y		;SOUND OUT PUT/ D/A
; *** CLOCK  SET ***
		MOV	CC , #80h			;SET ENMP
		NOP					;
		NOP					;
		MOV	STBC , #00h			;CPU CLOCK = fxx
		NOP					;
		NOP					;
		MOV	OSTS , #00			;
		NOP					;
		NOP					;
;*** edgi triger set ok **
;*** disable port 0 interrupt ***
		mov	EGP0 , #00000000b		;  
		mov	EGN0 , #00000000b		;

		
;*** STOP MODE ***
		MOV	STBC , #STOP_MODE		; STOP MODE

		NOP					;
		NOP					;
		NOP					;

		BR	_WDLP				;


END

⌨️ 快捷键说明

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