tlc549.asm

来自「单片机经典例程,包含一百多个经典的例子,其中既有程序,又有仿真」· 汇编 代码 · 共 47 行

ASM
47
字号

;功能:串行AD转换器TL549进行一路模拟量的测量
; 驱动TLC549,TLC549是串行8位ADC
; 使用的接口  /CS = P1.2, DAT = P1.1, CLK = P1.0
CS		BIT	P1.2
DAT		BIT	P1.1
CLK		BIT	P1.0
AD_DATA		DATA	30H
		ORG	8000H
		AJMP	MAIN

		ORG	8100H
MAIN:		MOV	SP,#60H
		ACALL	TLC549_ADC
		MOV	R7,#0
		DJNZ	R7,$
		ACALL	TLC549_ADC	;读取上次ADC值,并再次启动AD转换
		MOV	AD_DATA,A
		SJMP	$

;TLC549串行ADC转换器的驱动程序
;TLC549是在读出前一次数据后,马上进行电压的采样,ADC转换,转换完后就进入HOLD模式,直到再
;次读取数据时,芯片才会进行下一次的AD转换。也就是说,本次读出的数据是前一次的转换值,读操作
;后就会再启动一次转换,一次转换所用的时间最长为17uS,芯片没有转换结束信号输出。

;TLC549 ADC转换程序,读取前一次转换值并返回,然后启动一次ADC转换

TLC549_ADC:
		CLR	A
		CLR	CLK
		CLR	CS	;选中TLC549
		MOV	R6,#8

TLCAD_L1:	SETB	CLK
		NOP	
        	NOP
		MOV	C,DAT
		RLC	A
        	CLR	CLK	;DAT=0,为读出下一位数据作准备
		NOP
		DJNZ	R6,TLCAD_L1

		SETB	CS	;禁能TLC549,再次启动AD转换
		SETB	CLK
		RET
		END

⌨️ 快捷键说明

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