[求助]关于串行通信的问题
ORG 0000H
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
SETB TR1;启动T1
SETB ES
SETB EA
MOV P2,#32H
AJMP $
JIESHOU:PUSH PSW;可以连续接收上位机发来的数据
PUSH DPH
PUSH DPL
PUSH ACC
CLR ES;关中断不引起连续触发
CLR RI
MOV A,SBUF
CJNE A,#1H,KEY1
CLR P1.0
SETB P1.1
SETB P1.2
LJMP KEY
KEY1:CJNE A,#2H,KEY2
CLR P1.1
SETB P1.0
SETB P1.2
LJMP KEY
KEY2:CJNE A,#30H,KEY3
CLR A
MOV A,P2
LJMP KEY
KEY3:LJMP KEY7
KEY:MOV SBUF,A
WAIT: JNB TI,WAIT ;等待发送完
CLR TI ;清发送标志位
KEY7:SETB ES;恢复中断
POP ACC
POP DPL
POP DPH
POP PSW
CLR A
RETI
END
你是不是刚学单片机? 写程序要流畅,不要
对不起了,我才学习单片机几个月,实在是没
这样写程序的方法很好嘛。。。。。。。。。。。。
《1》KEY7 这一句去掉
要认真
sorry,错批
自己学习了几个月,有人要赶鸭子上架,丢人
误人子弟
谢谢高手,
谢谢高手,
楼上的好好看程序,确实30H有错,不要不
key2:cjne a,#32h,key clr a ;相等送P2口状态
mov a, p2
mov sbuf,a
jnb ti,$
clr ti
key3:转向结束。
程序流程基本清晰,慢慢来多看看书,多多练习。
现在还有人用汇编吗?
汇编咋啦,我一直用汇编都十年了!C51胡
haha
才疏学浅,用不了别的,见笑了
***************MOV S 这是01单片机论坛的斑竹:光明使者"给我的说明现在问题解决了,
真是惭愧,也不知当时设置的时候是怎么想的,出现问题时在也没看过
这些设置,总是觉得主程序有问题,被斑竹一语道破,足以见得斑竹深厚扎实的
基础,希望大家引以为戒,另外,用C51的那个人,不要瞧不起别人
你都”稀了”干嘛不做点“干”事?照样没看出问题,
向所有提供帮助的人致敬
靠,误人不浅!我一直用的都是52,哎!没