⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tlight.asm

📁 1
💻 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 + -