📄 up51s002.asm
字号:
;*******************************************************************************
;* *
;* File : uP51s002.asm *
;* Date : 2004-9-5 *
;* Version : 1.0 *
;* *
;* Author : kevin kevin@dz51.com *
;* Company : Http://www.dz51.com *
;* *
;********************************************************************************
;* Descriptoon: *
;* 报警声程序 *
;* *
;* *
;* *
;* *
;* *
;********************************************************************************
CODE_SEG SEGMENT CODE
DATA_SEG SEGMENT DATA
STACK_SEG SEGMENT IDATA
SPK BIT P3.7
RSEG DATA_SEG
FRQ: DS 1
TMP: DS 1
RSEG STACK_SEG
STACK: DS 20
;===============================================================================
CSEG AT 00000H
LJMP MAIN
CSEG AT 0000BH
LJMP TIMER0
;===============================================================================
RSEG CODE_SEG
MAIN:
USING 0
MOV SP,#(STACK-1)
MOV TMOD,#01H
CLR A
MOV FRQ,A
MOV TH0,A
MOV TL0,#0FFH
SETB TR0
MOV IE,#082H
MAIN_LP:
INC FRQ
MOV R7,#04 ;
LCALL DELAYMS
SJMP MAIN_LP
; END OF main
;===============================================================================
TIMER0:
MOV TH0,#0FEH
MOV TL0,frq
CPL SPK
RETI
; END OF TIMER0
;===============================================================================
DELAYMS:
; 延时子程序
; 传入参数:R7 --- 延时值(MS)
; 返回值:无
MOV A,R7
JZ END_DLYMS
DLY_LP1:
MOV R6,#185
DLY_LP2:
NOP
NOP
NOP
DJNZ R6,DLY_LP2
DJNZ R7,DLY_LP1
END_DLYMS:
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -