|
老师们我是新手!在网上抄了一个串口发送的16进制的数据FF 00 07 8E FF。可我在仿真的时候串口看到的却是FF FF 00 00 07 07 8E 8E FF FF为什么啊!请老师指点!
ORG 0000H
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 ;以上完成通讯初始化设置
WRIT: JB P3.6,$ ;判断K1是否按下,如果没有按下就等待
ACALL DELAY10 ;延时10毫秒消触点抖动
JB P3.6,WRIT ;去除干扰信号
JNB P3.6,$ ;等待按键松开
MOV A,#FFH ;
MOV SBUF,A ;将AF通过串口发送出去
MOV A,#00H ;将16进制的字符AF发送到串口去
MOV SBUF,A ;这里是不是还有更简单的命令啊!可以一下都发送出去!就是不知道怎么用。??
MOV A,#07H ;请老师指点
MOV SBUF,A ;
MOV A,#8EH ;请老师指点
MOV SBUF,A ;
MOV A,#FFH ;将16进制的字符AF发送到串口去
MOV SBUF,A ;
AJMP WRIT
;10毫秒延时子程序
DELAY10: MOV R4,#10
D2: MOV R5,#124
DJNZ R5,$
DJNZ R4,D2
RET
END
如果用C语言编程是不是更简单了啊!
|
|