单片机与电脑串口通信问题:单片机会不停的发送给电脑
我是初学单片机的.在学到串口通信时遇到以下一个问题单片机用C51的.电脑软件用<串口调试助手V2.2>单片机写下:MOVTMOD,#20HMOVTL1,#0F4HMOVT...
我是初学单片机的.在学到串口通信时遇到以下一个问题 单片机用C51的.电脑软件用<串口调试助手V2.2> 单片机写下: MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H MOV PCON,#00H STEB TR1 MOV SCON,#50H MOV SBUF,#0AAH 电脑设的波特率与单片机的一样. 之后电脑一直不停的接收”AA”(显示接收窗口也显示”AA”不停的显示) 1.为什么单片机会不停的发给电脑”AA”? 2.我哪里写错的程序? 我的理解是:”AA”只发一次给电脑. 3.程序怎么写才只发一次”AA”给电脑
展开
1个回答
展开全部
这是你的全部程序吗?
如果是这样,程序执行过程是这样的:首先程序执行完这一段后,会发数据出来.然后程序一直执行,但后面没有程序,也就是程序空间全是FF,执行的指令是MOV
R7,
A.因为这条指令不会让程序跳转,所以程序一直执行到程序存储器结尾(如89C51为0FFFH,89C52为1FFFFH等),由于后面没有实际的程序空间,之后PC指针会映射在有实际空间的部分,也就又从头开始执行。这样,程序周而复始,就会不断发送数据。
希望对你有所帮助!
如果是这样,程序执行过程是这样的:首先程序执行完这一段后,会发数据出来.然后程序一直执行,但后面没有程序,也就是程序空间全是FF,执行的指令是MOV
R7,
A.因为这条指令不会让程序跳转,所以程序一直执行到程序存储器结尾(如89C51为0FFFH,89C52为1FFFFH等),由于后面没有实际的程序空间,之后PC指针会映射在有实际空间的部分,也就又从头开始执行。这样,程序周而复始,就会不断发送数据。
希望对你有所帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询