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

📄 lpc935_ad.asm

📁 P89LPC935 AD转换应用实例
💻 ASM
字号:
/****************************LPC935_AD.asm*******************************
*程序功能:测试LPC935 AD转换功能
*转换模式:单次转换
*启动方式:立即启动
**********************************************************************/
$NOMOD51
$INCLUDE(REG935.INC)

HC595_CS		BIT	P2.4
HC595_CLK		BIT	P2.5
HC595_DAT		BIT	P2.2

ORG	0000H
	AJMP	MAIN

	ORG	0100H
MAIN:
	MOV	P1M1,#0x80			;设置P1.7为仅为输入状态
	MOV	P1M2,#0x00
	MOV	P2M1,#0x00			;设置P2为装双向口
	MOV	P2M2,#0x00

;------------------------
	MOV	ADINS,#0x01			;0000 0001, 选择channel
	MOV	ADMODA,#0x01			;0000 0001, 选择转换工作模式:单次转换模式
	MOV	ADMODB,#0x00			;500Khz < ADC CLK < 3.3Mhz,,
;------------------------
LOOP:
	MOV	ADCON0,#0x05			;选择转换触发模式;并立即启动
	MOV	A,AD0DAT0			;将转换的数据存入A
	ACALL	HC595_SENDDAT			;调用显示程序
	MOV	A,ADCON0
	ANL	A,#0xF7	
	MOV	ADCON0,A			;清除AD转换完成标志
	
	ACALL 	Delay2ms			;延时
	AJMP	LOOP
	RET
;**************************
;向74HC595发送数据子程序
;入口参数:ACC待发送数据
;占用资源:R7,CY
;*************************
HC595_SENDDAT:
	CLR	HC595_CS
	MOV	R7,#8
HC595_SDL1:	
	CLR	HC595_CLK
	RLC	A				;将要发送的数据最高位移至CY
	MOV	HC595_DAT,C			;设置数据线
	NOP
HC595_SDL2:
	SETB	HC595_CLK
	NOP
	DJNZ	R7,HC595_SDL1			;移位8次

	SETB	HC595_CS			;输出显示数据
	CLR	HC595_CS			;关闭74HC595
	RET
;*******************
;功能:延时
;*******************
Delay2ms:
	MOV	R7,#0xC8
LOOP1:
	ACALL	Delay10us
	DJNZ	R7,LOOP1
	RET

Delay10us:
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	RET
	
	END
;**********************************************************************

⌨️ 快捷键说明

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