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

📄 lab6_1.asm

📁 51单片机上的信号发生器
💻 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 + -