DSP用的是TMS320VC5402<br />主机用的是51<br />能够读出HPIC的值,但读出的HPID和HPIA指向的地址的值对不上号!!<br /><br />请问对HPIA进行访问的时候HCNTL0为1, HCNTL1为0,还是HCNTL0为0, HCNTL1为1(我在不同资料上看到着两种情况),请高手指点<br /><br />大家帮帮忙啊~我做了一个多月了,通信都没有调通,再十天就要交论文了,女生还真不该选个理工科来读,毕不到业了555555555555555555555 如果也有做这方面的朋友,我们交流一下吧,我的邮箱是<a href="mailto:qxxqxq@163.com">qxxqxq@163.com</a><br />以下是程序:大家帮忙看看,指点一下<br />;读HPIC,写HPIA,读HPID<br /><br /> ORG 0h<br /> LJMP MAIN<br /> ORG 30h<br />MAIN: LCALL INIT ;初始化<br /> LCALL HC_C ;访问HPIC<br /> LCALL HA_C ;访问HPIA<br /> LCALL HD_C ;访问HPID<br /> LJMP MAIN<br /><br />INIT: NOP<br /> MOV R1,#0H<br /> MOV R2,#0H<br /> CLR HCS<br /> SETB HDS1<br /> SETB HDS2<br /> MOV P0,#0FFH<br /> RET<br />;*********************读HPIC*************************;<br />HC_C: NOP<br /> CLR HCNTL1<br /> CLR HCNTL0 <br /> CLR HBIL <br /> ;读高八位:<br /> LCALL R_DRV<br /> MOV R1,P0<br /> NOP<br /> NOP<br /> SETB HDS1<br /> SETB HBIL<br /> ;读低八位:<br /> LCALL R_DRV<br /> MOV R2,P0<br /> NOP<br /> NOP<br /> SETB HDS1<br /> RET<br />;************************写HPIA******************************/<br />HA_C: NOP<br /> CLR HCNTL1<br /> SETB HCNTL0<br /> CLR HBIL <br /> MOV P0,#00H<br /> LCALL W_DRV<br /> NOP<br /> NOP<br /> SETB HDS2<br /> SETB HBIL<br /> MOV P0,#055H<br /> LCALL W_DRV ;准备读地址为0x1055的数据<br /> NOP<br /> NOP<br /> NOP<br /> SETB HDS2<br />MANG: JNB HRDY,MANG ;判断DSP内部传输是否完成<br /> RET<br /><br />;******************读HPID*************************/<br />HD_C: NOP<br /> SETB HCNTL1<br /> SETB HCNTL0<br /> CLR HBIL<br /> ;读高八位:<br /> LCALL R_DRV<br /> MOV R1,P0;<br /> NOP<br /> NOP<br /> SETB HDS1<br /> SETB HBIL<br /> ;读低八位:<br /> LCALL R_DRV<br /> MOV R2,P0;<br /> NOP<br /> NOP<br /> SETB HDS1<br /> LJMP LOOP<br />;******************************读数据时,HDS1的下降沿锁存信号*************************<br />R_DRV: JNB HRDY,R_DRV<br /> SETB HRW<br /> NOP<br /> NOP<br /> CLR HDS1<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> RET<br />;****************************写数据时,HDS2的下降沿锁存信号**************************<br />W_DRV: JNB HRDY,W_DRV<br /> NOP<br /> NOP<br /> CLR HRW<br /> NOP<br /> NOP<br /> NOP<br /> CLR HDS2<br /> NOP<br /> NOP<br /> NOP<br /> RET<br />LOOP: NOP<br /> NOP<br /> LJMP LOOP<br /> END |
|