测试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、使用串口调试助手。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)