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

📄 脉冲发生.asm

📁 跑马机程序 自动工作
💻 ASM
字号:
;晶振12M 89S51由低到高最高到低
         PWM   EQU  7FH            ;PWM赋初始值
 PWM_5  EQU  71H          
        SEC EQU 56H ;秒计数单元
         Min EQU 55H ;分计数单元
         PWM_1   EQU 80H   ;        次数6
          PWM_2   BIT 00H ;加减标志位
       PWM_3   BIT 01H;3分计数标志位
       SEC_5   EQU  6FH ;5秒计数
       PWM_4   BIT 02H;输出脚停止位
;----------------------------
         ORG   0000H
         SJMP  START
         ORG   000BH
         SJMP  INTT0
         ORG   0030H
;----------------------------
;主程序
;定时器0工作在模式1
;----------------------------
START:
          MOV  SP,#30H;
          MOV TMOD,#11H;
         MOV PWM,#62H;(62FFH,D2FFH)
          MOV TH0, PWM ;           ;频率调节
          MOV TL0,#0FFH ;            ;
          SETB EA;
          SETB ET0;
         
          SETB TR0;
MOV PWM_1,#0;
MOV PWM_5,#0;
MOV SEC,#0;
MOV SEC_5,#0;
MOV Min,#0;
clr PWM_4;
clr PWM_3;
clr PWM_2;
MOV P1,#0FFH  
MOV P3,#0FFH 
MOV P2,#0FFH 
MOV P0,#0FFH 
LOOP:  
 SJMP LOOP;
;------------------------------
;T0中断服务子程序   (频率)

;------------------------------
INTT0:PUSH ACC ;ACC 入栈
PUSH PSW ;PSW 入栈
    JB   PWM_4 ,D_4

 CPL   P1.0              ;输出脚
         INC PWM_1 ;      ;同频率下脉冲个数6个
         MOV A,PWM_1;
         CJNE A,#6,D_1;
 mov PWM_1,#0;
      CPL   P1.2 
     INC PWM_5 ;      ;同频率下脉冲个数6个
         MOV A,PWM_5;
         CJNE A,#5,D_6
        CPL   P1.4 
         mov PWM_5,#0;
       D_6:  JB PWM_2 ,D_2;
         INC PWM  ;        频率调节 加
         MOV A,PWM ;
         CJNE A,#0D2H,D_1;到最高了吗
      setb   PWM_2;
     D_2: JB PWM_3 ,D_3;
           INC SEC
       MOV A,SEC
       CJNE A,#15, D_1
         mov SEC,#0;
        INC   Min
         MOV A, Min
         CJNE A,#180, D_1
          mov Min,#0;
          setb   PWM_3;
           D_3:   DEC PWM ;      频率调节减
			 MOV A,PWM;
         CJNE A,#62H,D_1 ;  到最低了吗
         setb    PWM_4
        D_4:  setb P1.0
          setb P1.2
          setb P1.4
           INC SEC_5
           MOV A,  SEC_5  
           CJNE A,#125, D_1
          MOV  SEC_5,#0 
         clr  PWM_2;
          clr  PWM_3
          clr  PWM_4
   D_1:   MOV TH0, pwm ;      ;
          MOV TL0,#0FFH  ;  
           POP PSW
POP ACC 
          RETI;
            END  ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -