📄 lab6_1.asm
字号:
org 0000h
ljmp main
org 0003h
ljmp int0
org 0013h
ljmp int1
org 0030h
main: clr a
clr c
setb it0
setb it1
setb ex0
setb ex1
setb ea
mov sp,#60h
;--------------------------------------
; 锯齿波
indention: mov p2,a
inc a
ljmp indention
;--------------------------------------
; 三角波
triagle:
mov p2,a
inc a
cjne a,#128,triagle
next1: dec a
mov p2,a
jnz next1
next: ljmp triagle
;--------------------------------------
int0: call delay
jnb p3.2,over
mov a,sp
subb a,#2
mov sp,a
clr a
mov dptr,#triagle
push dpl
push dph
over:
reti
int1: call delay
jnb p3.3,over1
mov a,sp
subb a,#2
mov sp,a
clr a
mov dptr,#indention
push dpl
push dph
over1: reti
delay: ;延时程序,9*250*250*2 us
mov r3,#9;
loop0: mov r0,#250 ;赋值R0为20
loop: mov r1,#250 ;赋值R1为100
loop1: djnz r1,loop1 ;R1减1后不为0调至loop1
djnz r0,loop ;R0减1后不为0调至loop
djnz r3,loop0
ret ;函数返回
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -