标题: 51单片机pwm的控制汇编语言源程序 [打印本页]

作者: cingular    时间: 2017-12-6 17:08
标题: 51单片机pwm的控制汇编语言源程序
原理图:

采用time0产生pwm波,int0中断记录外部脉冲,time1计时1秒定时
以下是程序:
K1  EQU  P1.0    ;¼ó
K2  EQU  P1.1    ;¼õ

ORG  0000H
AJMP MAIN
ORG  0040H

MAIN:
    MOV   SP,#60H
        MOV   R1,#3      ;3õê¼Õ¼¿Õ±è50%
        MOV   R2,#4
        MOV   R3,#0
        MOV   TH0,#0FFH
        MOV   TL0,#9CH
        MOV   TH1,#3CH
        MOV   TL1,#0B0H
        MOV   TMOD,#11H
    MOV   IE,#8FH
        SETB  IT0
        SETB  IT1
        SETB  TR0
        SETB  TR1
LOOP:     
    MOV A,R1                        
    JB K2,S1                  
    CALL DELAY                        
    JB K2,S1            
    CJNE A,#9,PWMINC                 
    CALL  LED                     
    SJMP LOOP
PWMINC:            
    INC R1                           
    SJMP LOOP   
S1:   
    JB K1,S2                    
    CALL DELAY                     
    JB K1,S2            
    CJNE A,#1,PWMDEC                  
    CALL  LED                  
    SJMP LOOP
PWMDEC:            
    DEC R1               
S2:    SJMP LOOP

;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;

ORG   000BH
AJMP  TIME0
ORG   0100H
TIME0:
    MOV A,#9
    SUBB A,R2
        JNC DONE
        INC R2
        SJMP LOOP1
DONE: MOV R2,#1
LOOP1:  CLR  C
        MOV A,R2
                SUBB A,R1
                JNC LOOP2
                SETB P1.6
                SJMP OUT1
LOOP2:  CLR P1.6
OUT1:  RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;

ORG   0003H
LJMP  IN0
ORG   1000H
IN0:
     INC R3
         RETI
         
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;


LED:
    CPL P1.2
        RET
        
DELAY:
    MOV  R7,#100
DE: MOV  R6,#100
    DJNZ R6,$
        DJNZ R7,DE
        RET
        
        END



作者: 小天才CZC    时间: 2020-10-12 16:11
能不能注释一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1