📄 hd_init.asm
字号:
NAME HDWINIT
;********************************************************
;* *
;* MP3 PLAYER *
;* chip: UPD780058 *
;* author: lv_xiao_lu *
;********************************************************
;* HarDWaer Initialize process *
;********************************************************
;*** equ ***
STOP_MODE EQU 32H ;
;*** PUBLIC & EXTRN ***
PUBLIC _hdwinit ;
extrn _start_mem ;
extrn _end_mem ;
$EJECT
CSEG
;********************************************************
; HarDWaer INITialaze PROCESS *
;********************************************************
_hdwinit: ;
MOV MK0L ,#11111111Y ; mask P0_port interrupt
MOV P0 , #00000000Y ;
MOV PM0 , #11000111Y ; changed P01 P02 input
SET1 PUOL.1 ; pull_up
MOV ADIS,#00h ;
MOV ADM,#01h ;
MOV P1,#00001010Y ;
MOV PM1,#11100001Y ; P10: input ,P11,P12,P13: output
set1 PUOL.2 ; PULL UP
MOV P2 , #10111111Y ;
MOV PM2 ,#00111111Y ;
set1 PUOL.3 ;
MOV P3 , #11000000Y ;
MOV PM3 ,#11000000Y ; BUZ
set1 PUOL.4
MOV P4,#11111111Y ;
;; MOV PM4, #11111111Y ; FLASH DATA INPUT
MOV MM,#00010000Y ; no expansion P4 INPUT
MOV KRM,#00000010Y ;
set1 PUOL.5 ;
MOV P5 , #00000000Y ;
MOV PM5 , #00000000Y ;
set1 PUOL.6 ;
MOV P6 , #00000000Y ;
MOV PM6 ,#00000000Y ; changed
set1 PUOH.4 ;
MOV P12 , #00000111Y ;
MOV PM12 , #11111000Y ;
;CLOCK SELECT
mov OSMS ,#01H ;
mov PCC , #00h ;
nop ;
nop ;
;*** ram clear ***
movw de, #_start_mem
loop: mov a, #00h
mov [de],a
incw de
movw ax,de
cmpw ax,#_end_mem
bnz $loop
nop
RET
;***************************************************************/
;***************************************************************/
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -