PWM-LED.asm in PWM-LED.rar


PWM control of LED lights getting brighter gradually eliminate procedures apply...Original Link
    Sponsored links

			
			;/******************************************************************
;/*                                                                */
;/* ME300B单片机开发系统演示程序 - PWM控制LED灯渐亮渐灭程序        */
;/*                                                                */
;/* LED显示                                                        */
;/*                                                                */
;/* 邮箱:  gguoqing@willar.com                                     */
;/* 网站: http://www.willar.com                                   */
;/* 作者: gguoqing                                                */
;/* 时间: 2005/11/25                                              */
;/*                                                               */ 
;/*【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved */
;/*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!      */
;/*                                                                */
;/******************************************************************/
;----------------------------

; PWM 控制 LED 灯渐亮渐灭程序
; 适用 ME300B 开发系统
; 晶振为11.0592M
; 利用定时器控制产生占空比可变的 PWM 波
; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。
; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。
;当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。
;----------------------------
         PWM   EQU  7FH            ;PWM赋初始值
         OUT   EQU  P0           ;8个LED灯的接口

         INCKEY EQU  P1.4          ;K1,PWM值增加键。
         DECKEY EQU  P1.5          ;K2,PWM值减小键。

         BEEP   EQU  P3.7
;----------------------------
         ORG   0000H
         SJMP  START
         ORG   000BH
         SJMP  INTT0
         ORG   001BH
         SJMP  INTT1
         ORG   0030H
;----------------------------
;主程序
;定时器0工作在模式1,定时器1工作在模式2。
;----------------------------
START:
          MOV  SP,#30H
          MOV TMOD,#21H
          MOV TH1,PWM              ;脉宽调节
          MOV TL1,#00H
          MOV TH0,#0FCH             ;1ms延时常数
          MOV TL0,#066H             ;频率调节
          SETB EA
          SETB ET0
          SETB ET1
          SETB TR0

LOOP:     MOV A,PWM                ;
          JB INCKEY,LOOP1          ;增加键是否按下?
          CALL DELAY               ;延时去抖动
          JB INCKEY,LOOP1
          CJNE A,#0FFH,PWMINC      ;是否到最大值?
          CALL  BEEP_BL            ;是,蜂鸣器报警。
          SJMP LOOP
PWMINC:
          INC PWM                  ;调节脉宽(脉宽减小)
          SJMP LOOP

LOOP1:    JB DECKEY,LOOP2          ;减小键是否按下?
          CALL DELAY               ;延时去抖动
          JB DECKEY,LOOP2
          CJNE A,#02H,PWMDEC       ;是否到最小值?
          CALL  BEEP_BL            ;是,蜂鸣器报警。
          SJMP LOOP
PWMDEC:
          DEC PWM                  ;调节脉宽(脉宽增加)
LOOP2:    SJMP LOOP

;------------------------------
;T0中断服务子程序   (频率)
;控制定时器1中断
;------------------------------
INTT0:
          CLR  TR1
          MOV TH0,#0FCH             ;1ms延时常数
          MOV TL0,#066H              ;频率调节
          MOV  TH1,PWM
          SETB TR1
          MOV  OUT,#00H             ;启动输出
          RETI
;------------------------------
;T1中断服务子程序      (脉宽)
;控制PWM脉冲宽度
;------------------------------
INTT1:
          CLR  TR1         ;脉宽调节结束
          MOV  OUT,#0FFH   ;结束输出
          RETI
;------------------------------
;10ms延时子程序
;------------------------------
DELAY:
          MOV R6,#50
DELAY1:
          MOV R7,#100
          DJNZ R7,$
          DJNZ R6,DELAY1
          RET
;-----------------------------------------------
;蜂鸣器响一声子程序
;-----------------------------------------------
BEEP_BL:
           MOV   R6,#100
  BL1:     CALL  BL2
           CPL   BEEP
           DJNZ  R6,BL1
           MOV   R5,#25
           CALL  DELAY2
           RET

  BL2:     MOV   R7,#180
  BL3:     NOP
           DJNZ  R7,BL3
           RET
 DELAY2:                    ;延时R5×10MS
           MOV   R6,#50
  BL4:     MOV   R7,#100
  BL5:     DJNZ  R7,BL5
           DJNZ  R6,BL4
           DJNZ  R5,DELAY2
           RET
;---------------------------------------------------
           END
			click here to download the whole source code package.

			
			


Project Files

    Sponsored links
NameSizeDate
 PWM-LED.asm4.58 kB01-07-06 15:36
...

Related Items

    Sponsored links