UART0串口通信实验中如何实现发送“A”接收“B”

UART0串口通信实验中如何实现发送“A”接收“B”,第1张

这是我卜猛模很久前做过的一个测试程序,你看看是否有帮助对你,,,,

测试TTL转换232与计算机串行口通讯的程序,

当接收到'A'时返回计算机'AB',同时LED状态翻转一次

当接收到其他字符时LED闪亮两次

使用晶震为11.0592MHz,定时器T1工作在模式知高2

定时参数为F4,SMOD=0

ORG 0000H

RESET: LJMP MAIN

ORG 0023H RI + TI com int

LJMP SERVEINT

ORG 0100H

MAIN: MOV IE,#00000000H EA,*,*,ES,ET1,EX1,ET0,EX0

MOV SP,#60H

LCALL SET_T0_T1

setb p0.1

lcall delay_1s

clr p0.1

lcall delay_1s

setb p0.1

hereere:ljmp hereere

SERVEINT: CLR EA

CLR ES

CLR RI

MOV A,SBUF

CJNE A,#41h,RETULED

MOV SBUF,A

WAIT_1: JNB TI,WAIT_1

CLR TI

MOV A,#42h

MOV SBUF,A

WAIT_2: JNB TI,WAIT_2

CLR TI

CPL P0.1

ljmp eennd

retuled:setb p0.1

lcall delay_1s

clr p0.1

lcall delay_1s

setb p0.1

lcall delay_1s

clr p0.1

lcall delay_1s

setb p0.1

eennd: SETB EA

SETB ES

RETI

SET_T0_T1: MOV TCON,#00000000B TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0

MOV TH1,#0f4H2400bps

MOV TL1,#0f4H

MOV TH1,#0FDH9600bps

MOV TL1,#0FDH

MOV IP,#10H

MOV TMOD,#00100001B T1:GATE,C//T,M1,M0 T0:GATE,C/型缓/T,M1,M0

MOV SCON,#50H 0101 0000B SM0 SM1 SM2 REN TB8 RB8 TI RI

MOV PCON,#00H SMOD=0

SETB TR1 SETB TR1,"SETB STR0",TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

SETB EA

SETB ES EA,*,*,ES,ET1,EX1,ET0,EX0

MOV IE,#90H 1001 0010B SETB EA,SETB ES,"SETB ET0"

RET

DELAY_1S: PUSH B

MOV B,#0AH

REST_T0: CLR TR0

MOV TH0,#3CH

MOV TL0,#0AFH

SETB TR0

LOOOP_T0: JBC TF0,NEXT_1S

LJMP LOOOP_T0

NEXT_1S: DJNZ B,REST_T0

CLR TR0

POP B

RET

END

485通信没有变频器只有变频器通讯协议写好程序测试方法:

1、检查接线,我们用的4852线制的接线方法。

2、检查通讯参州谈神数,两边都是波特率9600、数据位8位,停止位1位,偶校验,变频器设置为1号站,全部通讯参数都没有问题。

3、观察DB板上面的2个指示灯,在控制正转时,s发送的指示灯闪了一下,而接收的指示灯R并没有亮。这个时候的情况是,有册亏发送数据出去,但变侍姿频器那边没有数据返回。

4、使用串口调试助手。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12537020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存