; Main.asm file generated by New Project wizard
; Created: 周五 5月 24 2019
; Processor: AT89C52
; Compiler: ASEM-51 (Proteus)
;=====================================
$NOMOD51
$INCLUDE (80C52.MCU)
;======================================
; DEFINITIONS
; VARIABLES
; RESET and INTERRUPT VECTORS
;======================================
; Reset Vector
org 0000h
jmp Start
;=======================================
; CODE SEGMENT
;=======================================
org 0100h
Start:
;***R4=0锯齿波R4=1三角波R4=2正弦波R4=3方波R4=梯形波***
;***********************
; 锯齿波
;***********************
MOV R4,#0
J0: MOV A,#0
J0next: CJNE R4,#0,S1 ;判断R4,不等0跳转产生三角波
MOV P2,A ;P2赋值
LCALL delay ;延时
INC A ;增加A的值,产生锯齿波上升沿
JB P1.0,J0p11 ;扫描检测按键给R4赋值选择输出信