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

📄 voldet.asm

📁 完整功放的控制程序
💻 ASM
字号:
;************************ 主音量电位器检测子程序集(编码电位器) ************************
;编码电位器
;占用:	ACC, C
       
       ;************* 外部变量说明 **********************
       	IBC_VOLA	BIT	P3.5	;*** VOL+ 输入脚
       	IBC_VOLS	BIT	P2.0	;*** VOL- 输入脚
       	
	EXTRN	BIT(ICW1_FLG)     	;正转到位标志位(*作为函数返回值), 开机时清0 !!!
	EXTRN	BIT(ICCW1_FLG)           ;反转到位标志位(*作为函数返回值), 开机时清0 !!!
	EXTRN	BIT(ICW2_FLG)     	;正转到位标志位(*作为函数返回值), 开机时清0 !!!
	EXTRN	BIT(ICCW2_FLG)           ;反转到位标志位(*作为函数返回值), 开机时清0 !!!
	EXTRN	BIT(BKEY_BNCE)

	EXTRN	DATA(AD_DELAY)

	;************ 公共变量定义 ****************
	PUBLIC	INPUT_DET

;=============================== 公共子程序 (可被C调用) ===============================
;***** 检测编码电位器的+-标志位*****************
;注意: 静音时不要调用该程序!!!
;该程序插入主程序中, 每次调用后, 刷新 CW2_FLG(正转到位标志) 刷新 CCW2_FLG(反转到位标志) 
;主程序通过检测 CW2_FLG 和 CCW2_FLG 来确定音量的增加或减少, 音量处理后要把标志清0
;***********************************************

INPUT_DET:
     SETB  IBC_VOLA              ;ready to detect volume-sw and input-sw
     SETB  IBC_VOLS              ;bit 1AH=1    00CH=1   bit 18H=1  
     JB    ICW2_FLG,ILBL_P12 
     JB    ICCW2_FLG,ILBL_P12  	;BC_VOLS

     JB   IBC_VOLA,ILBL_P14      ;CW顺时钟 bit 1BH=1  00CH=2  bit 19H=1
     JB   IBC_VOLS,ILBL_P15 
      CLR  ICW2_FLG
      CLR  ICCW2_FLG   		;BC_VOLS
ILBL_P12:
	RET

ILBL_P14:                        ;BC_VOLA
     JNB   IBC_VOLS,ILBL_P17 
      CLR  ICW2_FLG
      CLR  ICCW2_FLG   		;BC_VOLS
	RET

ILBL_P17:
      SETB  ICW2_FLG
	  SETB	ICW1_FLG
		CLR	ICCW1_FLG
      CLR  ICCW2_FLG   		;BC_VOLS
		MOV	AD_DELAY,#8
	RET

ILBL_P15:
      CLR  ICW2_FLG
      SETB  ICCW2_FLG   		;BC_VOLS
		CLR	ICW1_FLG
	  SETB	ICCW1_FLG
		MOV	AD_DELAY,#8
	RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -