您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机用12C508实现LED三路七彩调光 正文
用12C508实现LED三路七彩调光

用12C508实现LED三路七彩调光

点击数:7745 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   PIC单片机

;**********************************************************************
;
;    Filename:     HW-3S.asm
;    Date:2006/05/17
;    File Version:
;    主控芯片用12c508,直接输出3路低电平有效的可调矩形脉冲,用于LED的调光                                                                 *
;                                                                                                                           *
;**********************************************************************
        list p="12c508"
        #include <p12c508.inc>
        __CONFIG  _MCLRE_OFF&_CP_ON&_WDT_OFF&_IntRC_OSC
       errorlevel 0,-207
;**********************************************************************
;变量和名称定义
        #define led_r GPIO,0
        #define led_g GPIO,1
        #define led_b GPIO,2
        #define gl    GPIO,3
        #define  sd_1 GPIO,4
        #define  sd_2 GPIO,5
        #define  rep_b d'50'
        cotc    equ  07h
        cotc_c  equ  08h
        cots    equ  09h
          ch_r  equ  0ah
          ch_g  equ  0bh
          ch_b  equ  0ch
          glcs  equ  0dh
          rep_d equ  0eh
          rep_c equ  0fh

;**********************************************************************
;

        org 0x00
        movwf OSCCAL   ;片内震荡校正系数送OSCCAL
;---------------------------
;RAM清0子程序
        movlw 0x08
        movwf FSR
        movlw d'24'
        movwf cotc
        movlw 0x00
        movwf INDF
        incf FSR,f
        decfsz cotc,f
        goto $-3
;-----------------------------
;
main:
        movlw b'00111000'   ;
        TRIS GPIO
        movlw b'11111111'   ;
        movwf GPIO
        bcf   STATUS,PA0    ;
        movlw 0x00           ;起始输出最暗
        movwf ch_r
        movwf ch_g
        movwf ch_b
        movlw rep_b
        movwf rep_c
        movlw rep_0      ;调用红色常亮,绿色渐亮子程序
        movwf rep_d
        call reprom
        goto $-1

;
reprom:
        movf rep_d,w
        movwf PCL

rep_0:
        movlw 0xff     ;红色常亮,绿色渐亮
        movwf ch_r     ;
        incfsz ch_g,f  ;判断绿色是否最亮
        retlw 0x00     ;否
        decf  ch_g,f   ;是则绿色重置0xff
        movlw rep_1    ;保持静止色子程序地址送转移指针
        movwf rep_d
        retlw 0x00
rep_1:                 ;红色绿色静止色保持节拍
        decfsz rep_c,f
        retlw 0x00
        movlw rep_b
        movwf rep_c
        movlw rep_2
        movwf rep_d
        retlw 0x00
       
rep_2:                 ;绿色常亮,红色渐渐灭
        decfsz ch_r,f  ;判断绿色是否最暗
        retlw 0x00     ;否
        movlw rep_3    ;保持静止色子程序地址送转移指针
        movwf rep_d
        retlw 0x00
rep_3:                 ;绿色静止色保持节拍
        decfsz rep_c,f
        retlw 0x00
        movlw rep_b
        movwf rep_c
        movlw rep_4
        movwf rep_d
        retlw 0x00
       
rep_4:                 ;绿色常亮,蓝色渐亮
        incfsz ch_b,f  ;判断绿色是否最亮
        retlw 0x00     ;否

[1] [2]  下一页


本文关键字:暂无联系方式PIC单片机单片机-工控设备 - PIC单片机

《用12C508实现LED三路七彩调光》相关文章>>>