📄 tlight.asm
字号:
;*************************************************
;* light.asm **
;*************************************************
;* 本程序为光敏电阻输入处理模块程序
;* 在A/D转换后的数字量低于设定值时开LCD背光
;* 占用I/O RA2,RC2
;* 使用RAM 1个字节
;* 程序包括:
;* - BkLight 光敏电阻输入处理函数
;* 入口参数 无
;* 出口参数 无
;当背景亮度不够时,
#include <p16f877a.inc>
;* 控制引脚定义
#define LightCon_dir TRISB,2
#define LightCon_io PORTB,2
ADRESB EQU 0X20
ORG 0X0;
CALL INITLIGHT;
CALL LIGHTGO;
GOTO $-1
INITLIGHT
bsf STATUS,RP0
movlw 0x02
movwf ADCON1 ;ADRESH all 8-bit,H
bcf STATUS,RP0
movlw b'01010001'
movwf ADCON0 ;select AD2,Fosc/8
RETURN;
LIGHTGO
bsf ADCON0,GO
movlw 0x10
movwf ADRESB
decfsz ADRESB,F
goto $-1 ;延时
btfsc ADCON0,GO
goto $-1
movf ADRESH,W ;READ ADRES---
movwf ADRESB;
bsf STATUS,RP0
bcf LightCon_dir ;SELECT RE0 OUTPUT
bcf STATUS,RP0
movlw 0x80 ;critical value of lightness
subwf ADRESB,W
btfsc STATUS,C
goto $+4 ;c=0,ADRESB<critical
bcf STATUS,RP0
bsf LightCon_io ;c=1,亮度低,打开LED
goto $+3
bcf STATUS,RP0
bcf LightCon_io ;c=0,亮度高,可以关掉LED
return
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -