各位大侠好!<br />我在使用TLC549的过程之中,ref+接VCC,ref接gnd,但是使用的过程中发现一个奇怪的现象,0~VCC/2其对应转换的值为00~FFH,然后vcc/2~vcc对应转换值也是00~Vcc。不知什么原因,各位帮忙。<br />;******************************************************************************** <br /> <br />CS BIT P1.3<br />;LOAD BIT P1.2<br />DIN BIT P1.1<br />DCLK BIT P1.0<br />;DOUT BIT P3.3<br />;**********************************<br />AD_DATA EQU 036H ;采集数据缓冲区<br />TIMER DATA 030H<br />TIMER1 DATA 031H<br />TIMER2 DATA 032H<br />TIMER3 DATA 033H<br />AD_DATA1 DATA 038H<br />;*********************************** <br /><br />MAIN: MOV SP,#60H<br /> MOV A,#0FFH<br /> MOV P0,A<br /> MOV P1,A<br /> MOV P2,A ;禁用其它芯片 <br /> CLR P1.2<br /> MOV P3,A<br /><br />TCL549: MOV R3,#08H ;计数器<br /> CLR CS ;开启芯片<br /> ACALL DELAY ;延时<br />READ: CLR DCLK ;读549芯片数据<br /> NOP <br /> MOV C,DIN<br /> SETB DCLK<br /> RLC A <br /> DJNZ R3,READ<br /> MOV P0,A<br /> MOV AD_DATA,A<br /> SETB CS<br /> LCALL DELAY_1S ;延时<br /> cjne A,AD_DATA1,START ;判断数据是否更新,如果更新则调显示程序<br /> <br />START: SJMP TCL549 ;调数码管显示程序<br />;*********************************************<br />;延时子程序<br />;**********************************************<br />DELAY:MOV R5,#05H<br /> H0: MOV R7,#0FFH<br /> H1: DJNZ R7,H1<br /> DJNZ R5,H0<br /> RET<br /><br /><br />;**********************************<br />DELAY_1S:<br /> MOV TIMER1,#1<br />TEST_DYA: MOV TIMER2,#255<br />TEST_DYA1: MOV TIMER3,#255<br />TEST_DYA2: NOP<br /> NOP<br /> DJNZ TIMER3,TEST_DYA2<br /> DJNZ TIMER2,TEST_DYA1<br /> DJNZ TIMER1,TEST_DYA <br /> RET<br /><br /> END |
|