这段程序是用在一款七彩灯红外遥控解码程序里,单片机使用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