[求助]P0端口问题
ORG 0010H
AJMP INIT
ORG 0023H
AJMP JIESHOU
INIT: MOV SP,#80H;栈底
MOV IP,#08H;定义中断级别
MOV TMOD,#20H;定时器T1为方式二
MOV SCON,#50H;串行口为方式一
MOV PCON,#00H;令SMOD=0
MOV TH1,#0F4H;给TH1重装初值
MOV TL1,#0F4H;波特率为2400(11.0592晶振)
SETB TR1;启动T1
SETB ES
SETB EA
AJMP $;等待
JIESHOU:PUSH PSW;可以连续接收上位机发来的数据
PUSH DPH
PUSH DPL
PUSH ACC
CLR ES;关中断不引起连续触发
CLR RI
MOV A,SBUF;保存收到的数据
CJNE A,#32H,KEY1;如果单片机收到32H则将P0状态送回计算机
MOV A,P0
LJMP KEY
KEY1:CJNE A,#33H,KEY2;如果单片机收到33H则将P0状态送回计算机
MOV A,P1
LJMP KEY
KEY2:CJNE A,#34H,KEY3 ;如果单片机收到34H则将P0状态送回计算机
MOV A,P2
LJMP KEY
KEY3:CJNE A,#1H,KEY4 ;如果单片机收到1H,P0状态=FEH并送回计算机
MOV P0,#0FEH
LJMP KEY
KEY4:CJNE A,#2H,KEY5;如果单片机收到1H,P0状态=FDH并送回计算机
MOV P0,#0FDH
LJMP KEY
KEY5:CJNE A,#3H,KEY;如果单片机收到1H,P0状态=FBH并送回计算机
MOV P0,#0FBH
LJMP KEY
KEY:MOV SBUF,A
WAIT:JNB TI,WAIT ;等待发送完
CLR TI
CLR A
KEY7:SETB ES;恢复中断
POP ACC
POP DPL
POP DPH
POP PSW
RETI
END
现在可以实现通信,但是P0端口不能锁存,整了好几天了,还不见好
我真的糊涂了,是硬件的问题还是软件的问题?故障表现为向P0端口送数,
一闪就灭(端口接的指示灯)如果换成向P1或者P2送数则可以锁存,注:P0口
接10K上拉电阻,换过2K,4.7K,20K均不见效,求高手指教,
向提供帮助的人致敬,谢谢你们。
发表时间:2004年7月14日12:32:54