天天看点

PIC12F629解码PT2262IR(asm程序)

这段程序是用在一款七彩灯红外遥控解码程序里,单片机使用PIC12F629,软件模拟三路PWM输出驱动红绿蓝LED分八组共24个LED,实现单LED渐明渐暗,两LED一明一暗,七彩等九种花样.有断电记忆功能.如下是解码程序. ;--------------------------------------------------------

;filename: 24LED_Remote.asm

;     mcu: PIC12f629

;   clock: 4 MHz for INTRC

;    date: 2006/02/25

;  writer: aLin

; IC type: PT2262IR

;    Rosc: 470K

;--------------------------------------------------------           list p=pic12f629

        #i nclude"p12f629.inc"

        #define    B_LED    gpio,0   ;绿LED输出端口

        #define    G_LED    gpio,1   ;蓝LED输出端口

        #define    R_LED    gpio,2   ;红LED输出端口

        #define    rem      gpio,3   ;GP3/MCLR,定义遥控输入端

;因为当按住PT2262的按键不放的时候

;PT2262会把编码不断的送出

;设置ENABLE位用来检测按键有没有放开过,

;如果没有放开则不再响应         

;用于遥控型

        #define    enable       user_reg,0     ;接收允许位

        #define    on_off       user_reg,1     ;该位为0时,按花样选择键无效

        #define    go_next      user_reg,2     ;该位为1时,跳下一段

        #define    reset        user_reg,3     ;该位为1时,关显示 

        #define    unlock       user_reg,4     ;用于配合on_off位

;---------------------------------------------------------

;定义变量

;

        r1    equ    20h       ;用于d5ms子程序

        r2    equ  

继续阅读