📄 tlc549.asm
字号:
;功能:串行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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -