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

📄 18202.asm

📁 这里有很多我自己做的凌阳单片机源程序
💻 ASM
字号:
	.DEFINE		P_IOA_Data				0x7000
	.DEFINE		P_IOA_Buffer			0x7001
	.DEFINE		P_IOA_Dir				0x7002
	.DEFINE		P_IOA_Attrib			0x7003
	.DEFINE		P_IOA_Latch				0x7004

	.DEFINE		P_IOB_Data				0x7005
	.DEFINE		P_IOB_Buffer			0x7006
	.DEFINE		P_IOB_Dir				0x7007
	.DEFINE		P_IOB_Attrib			0x7008
	.DEFINE		P_SystemClock			0x7013
.DEFINE Port_Data	P_IOB_Data
.DEFINE Port_Buffer	P_IOB_Buffer
.DEFINE Port_Dir	P_IOB_Dir
.DEFINE Port_Attrib	P_IOB_Attrib
.DEFINE	M_DQ	0x01			//定义端口是什么意思???
.DATA
R_SystemClock:
	.DW	0x0018					//buffer of save the system clock//CPUCLK=F(osc)=24.576M
	
.CODE	
.PUBLIC _F_18B20_Read_DQ
_F_18B20_Read_DQ:
	r3 = [Port_Dir]
	r3 = r3|M_DQ
	[Port_Dir] = r3					//Set Port connect DQ as Ouput
	r2 = [Port_Buffer]
	r2 = r2&(~M_DQ)
	[Port_Buffer] = r2				//Set DQ to Low
	r1 = 10
	call _F_18B20_Delay				//Delay 40us?????????????????????????????????????????????????????
	r3 = r3&(~M_DQ)
	[Port_Dir] = r3					//resume the port as floatting input 
	r1 = 3
	call _F_18B20_Delay				//Delay 40us
	r3 = [Port_Data]
	r3 = r3&M_DQ
	jz ?L18B20_Read_0
	r3 = 0x80			//为什么是0x80
?L18B20_Read_0:
	r1 = 30
	call _F_18B20_Delay
	r2 = r2|M_DQ		
	[Port_Buffer] = r2
	r1 = 1
	call _F_18B20_Delay				//Delay 1us//读数间隔
	r1 = r3
	retf
.PUBLIC _F_18B20_Delay
_F_18B20_Delay:
	cmp r1,1
	jna ?Delay_Exit
?Delay_Loop:
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	r1-=1
	jnz ?Delay_Loop
?Delay_Exit:
	retf	

⌨️ 快捷键说明

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