修改了一下,试念核了试接收OK。
PS:还有就是主程序里不要加RET,没有LCALL及入栈指令就RETd出堆栈指针 会让再往下的系统错乱,虽然这个并不是你这个程序的症结所在。
org 0000H
AJMP MAIN转入主程序
org 0030H
MAIN:
LCALL DELAY100MS 开机稳定延时
MOV SCON,#50H设置成哗高清串口1方式
MOV TMOD,#20H波特率发生器乱前T1工作在模式2上
MOV PCON,#80H波特率翻倍为2400x2=4800BPS
MOV TH1,#0F3H预置初值(按照波特率2400BPS预置初值)
MOV TL1,#0F3H预置初值(按照波特率2400BPS预置初值)
SETB TR1启动定时器T1
MOV A,#0AFH将16进制的字符AF发送到串口去
MOV SBUF,A将遥控器键值通过串口发送出去
g:JNB Ti,g发送之后要判断Ti位是否置1,置1了才表示发送完成,然后用软件置0,否则只收到一次。
LCALL DELAY100MS 发送分隔延时
MOV SBUF,A将遥控器键值通过串口发送出去
CLR Ti
SJMP $ 停止
DELAY100MS: @12.000MHz
PUSH 30H
PUSH 31H
MOV 30H,#195
MOV 31H,#133
NEXT:DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)