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

📄 philips1.txt

📁 这是很好的硬件设计参考资料 有兴趣的可以看看
💻 TXT
📖 第 1 页 / 共 2 页
字号:
			JC	SETUP_LHF  
;---------------------------------------
			
			MOV	A,BEICHUL
			SUBB	A,#98H
			MOV	A,BEICHUM
			SUBB	A,#8DH
			MOV	A,BEICHUH
			SUBB	A,#07H




			JC	SETUP_VHF
;---------------------------------------
SETUP_UHF:		MOV	PB,#01111111B
;			SETB	P0.7
;			CLR	P0.6
;			CLR	P0.5  
			AJMP	CHUFSTEP
SETUP_VHF:		MOV	PB,#10011111B
;			SETB	P0.6
;			CLR	P0.7
;			CLR	P0.5
			AJMP	CHUFSTEP
SETUP_LHF:		MOV	PB,#10101111B
;			SETB	P0.5
;			CLR	P0.6
;			CLR	P0.7
			AJMP	CHUFSTEP    
;----------------------------------------
;将合成的二进制加中频38MHZ后除以步进频率50(khz)

CHUFSTEP:		MOV	CHUSHUH,#0		
			MOV	CHUSHUL,#50
			LCALL	CHUFA
			
;----------------------------------------
			MOV	DB2,SHANGL
			MOV	DB1,SHANGM
			MOV	ADBW,#11000010B
			MOV	CB,#10001000B
;			ACALL	DISLCD3

SEND_TURNER:		
			ACALL	WRITE_TURN


			
			RET
;*************************************






				


;*************************************
DISLCD1:	MOV	ZLING,#86H			;显示键盘输入频率值
		ACALL	WRTC
;-------------------------------------
		MOV	A,DISSHIWAN
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISWAN
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISQIAN
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	SHUJU,#00101110B
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISBAI
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISSHI
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	A,DISGE
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-------------------------------------
		MOV	SHUJU,#01001101B
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#01001000B	;显示“H”
		ACALL	WRTS
;--------------------------------------
		MOV	SHUJU,#01111010B	;显示“z”
		ACALL	WRTS
;---------------------------------------

		
		RET
;**********************************************




;***********************************************

;****************************************************
DISLCD3:	MOV	ZLING,#0C0H		;在第二行显示“K=******”	
		ACALL	WRTC
;-----------------------------------------------
		MOV	SHUJU,#01001011B	;显示“K”
		ACALL	WRTS
;------------------------------------------------
		MOV	SHUJU,#00111101B	;显示“=”
		ACALL	WRTS
;-----------------------------------------------
  		MOV	A,PB
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;--------------------------------------------
  		MOV	A,PB
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
		RET

;**********************************************
DISLCD4:	MOV	ZLING,#0C0H		;在第二行显示"S=******"
		ACALL	WRTC
;-----------------------------------------------
		MOV	SHUJU,#01010011B	;显示“S”
		ACALL	WRTS
;------------------------------------------------
		MOV	SHUJU,#00111101B	;显示“=”
		ACALL	WRTS
;-----------------------------------------------
  		MOV	A,SHANGH
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;--------------------------------------------
  		MOV	A,SHANGH
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;--------------------------------------------
  		MOV	A,SHANGM
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;--------------------------------------------
  		MOV	A,SHANGM
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;--------------------------------------------
  		MOV	A,SHANGL
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;---------------------------------------------
		MOV	A,SHANGL
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;----------------------------------------------
		MOV	SHUJU,#01011001B	;显示“Y”
		ACALL	WRTS
;------------------------------------------------
		MOV	SHUJU,#00111101B	;显示“=”
		ACALL	WRTS
;-----------------------------------------------
  		MOV	A,YUSHUH
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;---------------------------------------------
		MOV	A,YUSHUH
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;-----------------------------------------------
  		MOV	A,YUSHUL
  		ANL	A,#11110000B
  		SWAP	A
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	WRTS
;---------------------------------------------
		MOV	A,YUSHUL
  		ANL	A,#00001111B
		MOV	DPTR,#ADDR_LCD
		MOVC	A,@A+DPTR
		MOV	SHUJU,A
		ACALL	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”的地址
		DB	01000001B	;字符“A”的地址
		DB	01000010B	;字符“B”的地址
		DB	01000011B	;字符“C”的地址
		DB	01000100B	;字符“D”的地址
		DB	01000101B	;字符“E”的地址
		DB	01000110B	;字符“F”的地址
;---------------------------------------------
		DB	01001000B	;字符“H”的地址
		DB	01001011B	;字符“K”的地址
		DB	01111010B	;字符“z”的地址
		DB	00111101B	;字符“=”的地址
		DB	00101110B	;字符“·”的地址
		DB	01001101B	;字符“M”的地址
;*******************************************************









;********************************
;以下为LCD各个子程序程序应用部分
;********************************
;忙标志检测子程序
READBF:	MOV	CKOU,#11111110B
		MOV	DKOU,#255
WAITBF:	
		JB	BF,WAITBF
		MOV	CKOU,#255
		RET
;*********************************
;写指令代码子程序
WRTC:		ACALL	READBF
		MOV	CKOU,#255
		CLR	RS
		CLR	RW
		ACALL	DELAYLCD
		SETB	E
		ACALL	DELAYLCD
		MOV	DKOU,ZLING
		ACALL	DELAYLCD
		CLR	E
		SETB	RW
		MOV	CKOU,#255
		RET
;**********************************
DELAYLCD:	
		MOV	R6,#5
LOP11:	MOV	R7,#5
LOP22:	DJNZ	R7,LOP22
LOP33:	DJNZ	R6,LOP11
		RET
;**********************************
;写数据寄存器字节子程序
WRTS:		ACALL	READBF
		MOV	CKOU,#255
		SETB	RS
		CLR	RW
		ACALL	DELAYLCD
		SETB	E
		ACALL	DELAYLCD
		MOV	DKOU,SHUJU
		ACALL	DELAYLCD
		CLR	E
		SETB	RW
		MOV	CKOU,#255
		RET 
;********************************* 
;读数据寄存器字节子程序
READS:	ACALL	READBF
		MOV	CKOU,#255
		SETB	RS
		SETB	RW
		ACALL	DELAYLCD
		SETB	E
		ACALL	DELAYLCD
		MOV	SHUJU,DKOU
		ACALL	DELAYLCD
		CLR	RW
		CLR	E
		MOV	CKOU,#255
;***********************************
;以上为LCD各个子程序程序应用部分
;***********************************








;**************************************
;以下为写各个控制数据到写高频头的程序
;***************************************
WRITE_TURN:		ACALL	START
;-------------------------
			MOV	A,ADBW
			
			ACALL	SENDDATE
			ACALL	ASKW
			
;-------------------------
			MOV	A,DB1
			
			ACALL	SENDDATE
			ACALL	ASKW
			
;-------------------------
			MOV	A,DB2
			
			ACALL	SENDDATE
			ACALL	ASKW
			
;-------------------------
			MOV	A,CB
			ACALL	SENDDATE
			ACALL	ASKW
			
;-------------------------
			MOV	A,PB
			ACALL	SENDDATE
			ACALL	ASKW
			
;-------------------------
			ACALL	STOP
			RET
;************************************
;以上为写各个控制数据到写高频头的程序
;************************************
;以下为从高频头读数据到BUFER3的程序
;************************************
READ_TURN:		
			ACALL	START
			MOV	A,ADBW
			SETB	ACC.0
			ACALL	SENDDATE
			SETB	P0.5
			ACALL	ASKW
			SETB	P0.6
;-----------------------------------
			ACALL	RECEIVEDATE
			MOV	BUFER3,A
			ACALL	NOASK
			ACALL	STOP
			RET
;**************************************
;以上为从高频头读数据到BUFER3的程序
;**************************************









;**************************************
;以下为I2C总线的各个控制信号
;**************************************
;写存储器时等待ASK信号
ASKW:		ACALL	DELAY
		SETB	SDA		;释放SDA总线
		ACALL	DELAY
		SETB	SCL
WAITASKW:	MOV	C,SDA
		JC	WAITASKw
		CLR	SCL
		CLR	SDA
		RET

  
;**********************************
;MCU作为从器件不应答
NOASK:	SETB	SDA
		SETB	SCL
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY
		CLR	SDA
		RET  
;-----------------------------------
;		启动信号
START:	SETB	SCL
		SETB	SDA
		ACALL	DELAY
		CLR	SDA
		ACALL	DELAY
		CLR	SCL
		RET
;---------------------------
;		停止信号
STOP:		CLR	SCL
		CLR	SDA
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		SETB	SDA
		ACALL	DELAY
		RET
 
;---------------------------------
;MCU从存储器(从器件)读数据字节时产生ASK信号
ASKR:		ACALL	DELAY
		CLR	SDA
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY
		RET

;-----------------------------
;送数据到总线上,A作为移位输出寄存器
SENDDATE:	MOV	R2,#8
LOOPW:	RLC	A		
		MOV	SDA,C
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY
		DJNZ	R2,LOOPW
		CLR	SDA
		RET
;--------------------------------
;从总线上接收数据,A作为移位入寄存器
RECEIVEDATE:SETB	SDA
LOOPR:		RL	A  
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		MOV	C,SDA
		MOV	ACC.0,C
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY

		INC	R2
		CJNE	R2,#8,LOOPR
		
		RET
;--------------------------------
DELAY:	NOP
		NOP
		NOP
		NOP
		RET
;***********************************
;以上为I2C总线的各个控制信号
;************************************
END
  

	

		
	

 
		




  

⌨️ 快捷键说明

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