共2条
1/1 1 跳转至页
MOV,SBUF 请教:MOV SBUF后没有反映的问题
问
串口数据发送不了,没有反映,MOV SBUF,A后没有反映
;同时测量3块表,串口采集数据,串口采用方式三,使用定时器1,可是TXD发送数据,发送不了
,用示波器测量也没有信号,TI总是0。
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#20H ;T1工作在方式2
MOV TH1,#0F3H ;BAUD=2400
MOV TL1,#0F3H
MOV SCON,#0D8H ;串口工作方式3,SM2=0,准许串口接受,TB8=1
MOV PCON,#80H ;SMOD=1
SETB TR1 ;启动T1工作
SETB EA
SETB EX0
SETB EX1
CLR IT1
CLR IT0
CLR EX0
CLR EX1
MOV R3,#01H ;第一块表,01为地址数据
CALL SAMP
SETB EX0
SETB EX1
SAMP: CLR TI
MOV A,R3
MOV SBUF,#01H
TITI: JNB TI,TITI ;在这一句,就是不往下执行了,请高手给予指教,谢谢。
CLR TI
CLR TB8
MOV SBUF,#03H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
SETB TB8
MOV SBUF,#01H
JNB TI,$
CLR TI
END
答 1: 就是没有反应。我只使用仿真器也不行,就是没有反应。
单纯使用仿真器、模拟仿真、硬件仿真这几种情况下都不行,都是到了那一句就不动了,显示数据没有发送完,而我用示波器测试,串口发送TXD没有脉冲。
没有办法,为了测试串口是否工作正常,单独置TXD高或者低,电压显示正常,采用下述中断方式,程序在WAIT的循环中出不来,一个数据也没有发送。
ORG 0000H
JMP START
ORG 0023H
JMP TXSVE
ORG 0100H
START: MOV TMOD,#20H ;T1工作方式2
MOV TL1,#0F4H
MOV TH1,#0F4H
MOV PCON,#80H ;SMOD=1
SETB TR1 ;启动T1
MOV SCON,#40H ;串口为方式1
MOV R0,#44H ;发送的数据
MOV A,#02H ;发送的长度
MOV R2,A
MOV SBUF,A
SETB EA ;开中断
WAIT: SETB ES ;开串口中断
SJMP WAIT
ORG 0650H ;串口中断处理程序
TXSVE: CLR ES
CLR TI
MOV A,R0
MOV SBUF,A
DJNZ R2,NEXT
SJMP $
NEXT: INC R0
RETI
END
;同时测量3块表,串口采集数据,串口采用方式三,使用定时器1,可是TXD发送数据,发送不了
,用示波器测量也没有信号,TI总是0。
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#20H ;T1工作在方式2
MOV TH1,#0F3H ;BAUD=2400
MOV TL1,#0F3H
MOV SCON,#0D8H ;串口工作方式3,SM2=0,准许串口接受,TB8=1
MOV PCON,#80H ;SMOD=1
SETB TR1 ;启动T1工作
SETB EA
SETB EX0
SETB EX1
CLR IT1
CLR IT0
CLR EX0
CLR EX1
MOV R3,#01H ;第一块表,01为地址数据
CALL SAMP
SETB EX0
SETB EX1
SAMP: CLR TI
MOV A,R3
MOV SBUF,#01H
TITI: JNB TI,TITI ;在这一句,就是不往下执行了,请高手给予指教,谢谢。
CLR TI
CLR TB8
MOV SBUF,#03H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
MOV SBUF,#00H
JNB TI,$
CLR TI
SETB TB8
MOV SBUF,#01H
JNB TI,$
CLR TI
END
答 1: 就是没有反应。我只使用仿真器也不行,就是没有反应。
单纯使用仿真器、模拟仿真、硬件仿真这几种情况下都不行,都是到了那一句就不动了,显示数据没有发送完,而我用示波器测试,串口发送TXD没有脉冲。
没有办法,为了测试串口是否工作正常,单独置TXD高或者低,电压显示正常,采用下述中断方式,程序在WAIT的循环中出不来,一个数据也没有发送。
ORG 0000H
JMP START
ORG 0023H
JMP TXSVE
ORG 0100H
START: MOV TMOD,#20H ;T1工作方式2
MOV TL1,#0F4H
MOV TH1,#0F4H
MOV PCON,#80H ;SMOD=1
SETB TR1 ;启动T1
MOV SCON,#40H ;串口为方式1
MOV R0,#44H ;发送的数据
MOV A,#02H ;发送的长度
MOV R2,A
MOV SBUF,A
SETB EA ;开中断
WAIT: SETB ES ;开串口中断
SJMP WAIT
ORG 0650H ;串口中断处理程序
TXSVE: CLR ES
CLR TI
MOV A,R0
MOV SBUF,A
DJNZ R2,NEXT
SJMP $
NEXT: INC R0
RETI
END
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |