第一次用串口不知道这样编程行不行? ORG 0000H
LJMP START
ORG 0030H
START:MOV TMOD ,#20H; 定时器方式2
MOV TH1,#FAH; 置初值
MOV TL1,#FAH; 置初值
MOV PCON ,#00H; 波特率不增倍
MOV SCON,#50H; 串行方式1,REN=1允许接收
SETB TR1; 启动定时
RECEIVE:JNB RI,$; 没有收到原地等待
CLR RI; 收完后置0
MOV A,SBUF; 将接收缓冲区中的数放A
CLR TR1; 关定时
CJNE A,#00,NEXT01; 收到的数与00比较,相同转NEXT00,不同转NEXT01与其它数比较
NEXT00:CLR P0.0; 上到00后执行动作
NEXT01:CJNE A,#01,NEXT02; 与01比
CLR P0.1
NEXT02:CJNE A,#02,NEXT03; 与02比
.....
.....
.....
子程序后要不要RET?
应该可以,实际试一下吗,不过可以不关定时器的。
应该是可以的,你仿真试一下
应该是可以的,你仿真试一下
我想问一下,在读sbuf的数据之前,好象不要清ri,否则,会改掉数据的?
你用中断会更好
这里没有转子程序操作呀!RET干什么?