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

📄 11.asm

📁 lcd 显示 到遥控功能 开关 和编码器 电子音量是PT2314
💻 ASM
📖 第 1 页 / 共 4 页
字号:
		CALL 	SENDDATE
		CALL 	ASKWAT

		SETB 	SDAAT
		MOV 	R7,#8
		CLR 	A
		SETB 	SDAAT
RD000: 		RL 	A
		SETB 	SCLAT
                NOP
                NOP
		MOV 	C,SDAAT
		MOV 	ACC.0,C
		CLR 	SCLAT
		NOP
		NOP
		DJNZ 	R7,RD000
                LCALL   NOASK
                LCALL   STOPAT

		RET

WT24: 		PUSH 	ACC

		CALL 	STARTAT
		MOV 	A,#0A0H
		CALL 	SENDDATE
		CALL 	ASKWAT
		POP 	ACC
		CALL 	SENDDATE	

		CALL 	ASKWAT
		MOV 	A,B
		CALL 	SENDDATE
		CALL 	ASKWAT
		CALL 	STOPAT
		CALL 	DELAY

		RET
SENDDATE:	MOV	R2,#8
LOOPW:		RLC	A
		MOV	SDAAT,C
		lCALL	DELAY
		SETB	SCLAT
		lCALL	DELAY
		CLR	SCLAT
		ACALL	DELAY
		DJNZ	R2,LOOPW
		SETB	SDAAT
		RET
; -------------------------------
DELAY:		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP	
		RET
DELAY10:
              MOV 	R4,#10
D10:
              MOV 	R5,#248
              DJNZ 	R5,$
              DJNZ 	R4,D10
              RET
		;/////////////////////////////////
LCM_RESET:	MOV   	LCM_D,#0FFH
		ACALL 	W_LCD1
		LCALL 	DELAY10
		ACALL 	W_LCD1
		LCALL 	DELAY10
		ACALL 	W_LCD1
		LCALL 	DELAY10
		ACALL 	W_LCD1
		CLR   	LCD_BIT
		MOV   	LCM_BUFF,#0CH
		ACALL 	W_LCD
		CLR   	LCD_BIT
		MOV   	LCM_BUFF,#01H
		ACALL 	W_LCD
		CLR   	LCD_BIT
		MOV   	LCM_BUFF,#06H
		ACALL  	W_LCD
		RET
;********************************
;以下为LCD各个子程序程序应用部分
;********************************
WRTC: 	;写控制
		CLR   	LCD_BIT
		MOV   	LCM_BUFF,ZLING
		ACALL 	W_LCD
		RET
WRTS:   ;写数值
		SETB  	LCD_BIT
		MOV   	LCM_BUFF,SHUJU
		ACALL  	W_LCD
		RET
;==========================================================================
;送控制指令程序
W_LCD1:		CLR   	LCD_BIT		;送控制指令程序
		MOV   	LCM_BUFF,#28H   ;显示模式设置,4位数据,双行显示,5x7点阵
W_LCD:		ACALL BUSY_WAIT   	;BF查询子程序
		MOV   A,LCM_D
		ANL   A,#0FH		;取出P0口的控制,暂放在R7里
		MOV   R7,A
		MOV   A,LCM_BUFF	;取控制或数值
		ANL   A,#0F0H		;先取高位控制或数值
		ORL   A,R7		;和P0口的控制一起送回P0口
		MOV   LCM_D,A
		CLR   RW
		JB    LCD_BIT,WD_1	;为0写控制,为1写数值
		CLR   RS
		SJMP  WC_1
WD_1:   	SETB  RS
WC_1:   	SETB  E
		CLR   E
		CLR   E
		MOV   A,LCM_BUFF	;取控制或数值
		SWAP  A			;
		ANL   A,#0F0H		;取低字节
		MOV   R7,A
		MOV   A,LCM_D		;取出P0口的控制,暂放在R7里
		ANL   A,#0FH
		ORL   A,R7		;和P0口的控制一起送回P0口
		MOV   LCM_D,A
		JB    LCD_BIT,WD_2	;为0写控制,为1写数值
		CLR   RS
		SJMP  WC_2
WD_2:   	SETB  RS
WC_2:   	SETB  E
		CLR   E
		RET
;==========================================================================
;BF查询子程序  功能: 直到BF=0才退出该程序
BUSY_WAIT:	SETB  BF
		CLR   RS
		SETB  RW
		CLR   E
		CLR   E
		SETB  E
		JB    BF,$
		lcall DELAY
		RET
DISLCD1:	MOV	ZLING,#0C9H	
		ACALL	WRTC
;-------------------------------------
		MOV	SHUJU,#00100000B;
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISP0
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISP1
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	SHUJU,#00100000B;
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#"d"
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#"B"
		ACALL	WRTS
;---------------------------------------
		MOV	SHUJU,#00100000B;
		ACALL	WRTS
		RET
;**********************************************
;****************************************************
DISLCD2:	MOV	ZLING,#0C9H	
		LCALL	WRTC
;-------------------------------------
		MOV	A,BUFF23
		MOV	DPTR,#TONE_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,BUFF23
		MOV	DPTR,#TONE_LCD0
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,BUFF23
		MOV	DPTR,#TONE_LCD1
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	SHUJU,#00100000B;
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#"d"
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#"B"
		ACALL	WRTS
;---------------------------------------
		MOV	SHUJU,#00100000B;
		ACALL	WRTS
		RET
;--------------------------------------
DIS_M_VOL:	MOV	ZLING,#0C0h;80H	
		ACALL	WRTC
;-----------------------------------------------
      		MOV	SHUJU,#00100000B;
		ACALL	WRTS
		MOV	SHUJU,#"V"	
		ACALL	WRTS
      		MOV	SHUJU,#"o"
		ACALL	WRTS
      		MOV	SHUJU,#"l"	
		ACALL	WRTS
		MOV	SHUJU,#"u"
		ACALL	WRTS
		MOV	SHUJU,#"m"
		ACALL	WRTS
      		MOV	SHUJU,#"e"
		ACALL	WRTS
   		MOV	SHUJU,#00100000B;
		ACALL	WRTS
  		RET
;-----------------------------------------------
DIS_BASS_VOL:	MOV	ZLING,#0C0H;80H
		LCALL	WRTC
;-----------------------------------------------
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
     		MOV	SHUJU,#"B"
		LCALL	WRTS
      		MOV	SHUJU,#"a"
		LCALL	WRTS
      		MOV	SHUJU,#"s"
		LCALL	WRTS
		MOV	SHUJU,#"s"
		LCALL	WRTS
		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
   		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		RET
;---------------------------------------------	
DIS_TR_VOL:	MOV	ZLING,#0C0H;80H
		LCALL	WRTC
;-----------------------------------------------
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
		MOV	SHUJU,#"T"
		LCALL	WRTS
      		MOV	SHUJU,#"r"
		LCALL	WRTS
      		MOV	SHUJU,#"e"
		LCALL	WRTS
		MOV	SHUJU,#"b"
		LCALL	WRTS
		MOV	SHUJU,#"l"
		LCALL	WRTS
      		MOV	SHUJU,#"e"
		LCALL	WRTS
   		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		RET
;---------------------------------------------
DIS_BAL_VOL:	MOV	ZLING,#0C0H
		LCALL	WRTC
;-----------------------------------------------
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
		MOV	SHUJU,#"B"
		LCALL	WRTS
      		MOV	SHUJU,#"a"
		LCALL	WRTS
      		MOV	SHUJU,#"l"
		ACALL	WRTS
		MOV	SHUJU,#"a"
		LCALL	WRTS
		MOV	SHUJU,#"n"
		LCALL	WRTS
      		MOV	SHUJU,#"c"
		LCALL	WRTS
   		MOV	SHUJU,#"e"
		LCALL	WRTS
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		MOV	SHUJU,#"L"
		LCALL	WRTS
		MOV 	A,#31
		SUBB 	A,SP_L_BUFF
		LCALL 	DIS_BAL_L
      		MOV	SHUJU,#"R"
		LCALL	WRTS
		MOV 	A,#31
		SUBB 	A,SP_R_BUFF
DIS_BAL_L:
		LCALL 	BIN2BCD
		MOV	A,DISP0
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		LCALL	WRTS
;-------------------------------------
		MOV	A,DISP1
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		LCALL	WRTS
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		RET
BIN2BCD:

                MOV 	B,#10
                Div 	AB
                MOV 	DISP0,A
                MOV 	DISP1,B
                RET
WELCOME:
                MOV	ZLING,#00H
		LCALL	WRTC
      		MOV	SHUJU,#00100000B;7
		LCALL	WRTS
      		MOV	SHUJU,#"W";8
		LCALL	WRTS
		MOV	SHUJU,#"E";9
		LCALL	WRTS
      		MOV	SHUJU,#"L"
		LCALL	WRTS
		MOV	SHUJU,#"C"
		LCALL	WRTS
      		MOV	SHUJU,#"O";C
		LCALL	WRTS
                MOV	SHUJU,#"M";C
		LCALL	WRTS
		MOV	SHUJU,#"E";C
		LCALL	WRTS
                RET

;---------------------------------------------
;****************************************************
ADDR_LCD:	DB	00110000B	;字符“0”的地址
		DB	00110001B	;字符“1”的地址
		DB	00110010B	;字符“2”的地址
		DB	00110011B	;字符“3”的地址
		DB	00110100B	;字符“4”的地址
		DB	00110101B	;字符“5”的地址
		DB	00110110B	;字符“6”的地址
		DB	00110111B	;字符“7”的地址
		DB	00111000B	;字符“8”的地址
		DB	00111001B	;字符"9"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TONE_LCD:;-+
		DB	00101101B	;-14
		DB	00101101B	;-12
		DB	00101101B	;-10
		DB	00101101B	;-8
		DB	00101101B	;-6
		DB	00101101B	;-4
		DB	00101101B	;-2
		DB	00100000B	;0
		DB	00101011B	;+2
		DB	00101011B	;+4
		DB	00101011B	;+6
		DB	00101011B	;+8
		DB	00101011B	;+10
		DB	00101011B	;+12
		DB	00101011B	;+14

;**********************************************
TONE_LCD0:;10
		DB	00110001B	;-14
	   	DB	00110001B	;-12
		DB	00110001B	;-10
      		DB	00110000B	;-8
		DB	00110000B	;-6
		DB	00110000B	;-4
		DB	00110000B	;-2
		DB	00110000B	;0
		DB	00110000B	;+2
		DB	00110000B	;+4
		DB	00110000B	;+6
		DB	00110000B	;+8
		DB	00110001B	;+10
      		DB	00110001B	;+12
	   	DB	00110001B	;+14
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;		
TONE_LCD1:
		DB	00110100B	;4 -14
	   	DB	00110010B	;2 -12 
		DB	00110000B	;0 -10
      		DB	00111000B	;8 -8
		DB	00110110B	;6 -6
		DB	00110100B	;4 -4
	   	DB	00110010B	;2 -2
		DB	00110000B	;0
		DB	00110010B	;2
		DB	00110100B	;4
		DB	00110110B	;6
		DB	00111000B	;8
		DB	00110000B	;0
		DB	00110010B	;2
		DB	00110100B	;4
;--------------------------
LCD_MUTE:	MOV	ZLING,#0C9H	
		LCALL	WRTC
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
;-----------------------------------------------
		MOV	SHUJU,#"M"
		LCALL	WRTS
      		MOV	SHUJU,#"u"
		LCALL	WRTS
      		MOV	SHUJU,#"t"
		LCALL	WRTS
		MOV	SHUJU,#"e"
		LCALL	WRTS
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
 		RET
;----------------------------------------------
IN_DIS:        
	        MOV	ZLING,	#080H
		LCALL	WRTC
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		MOV	SHUJU,#"I"
		LCALL	WRTS
		MOV	SHUJU,#"n"
		LCALL	WRTS
      		MOV	SHUJU,#"p"
		LCALL	WRTS
		MOV	SHUJU,#"u"
		LCALL	WRTS
      		MOV	SHUJU,#"t"
		LCALL	WRTS
		MOV	SHUJU,#":"
		LCALL	WRTS
      		RET
;-----------------------------------------------
IN_DIS1:	MOV	ZLING,#1H
		LCALL	WRTC
      		MOV	SHUJU,#00100000B;7
		LCALL	WRTS
      		MOV	SHUJU,#"T";8
		LCALL	WRTS
		MOV	SHUJU,#"A";9
		LCALL	WRTS
      		MOV	SHUJU,#"P";A
		LCALL	WRTS
		MOV	SHUJU,#"E";B
		LCALL	WRTS
      		MOV	SHUJU,#00100000B;C
		LCALL	WRTS
      		RET
;-----------------------------------
IN_DIS2:	MOV	ZLING,#0FH
		LCALL	WRTC
      		MOV	SHUJU,#00100000B
		LCALL	WRTS
      		MOV	SHUJU,#00100000B

⌨️ 快捷键说明

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