共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电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |