51单片机串口通信初始化

51单片机串口通信

实验仿真图:
在这里插入图片描述
实验原理:
主机的P3,1(TXD)连接到从机的P3,0(RXD),利用开关对主机的P1口赋值,将P1的数据存到主机SBUF,在通过串口传动到从机的SBUF,从机将接收到的数据从机的P1口体现。
说明:主机和从机代码分开。

//主机程序 (汇编)
       ORG 0000H	   //将程序放到RAM
	   LJMP START
	   ORG 0030H
START: MOV SP,#60H	  //堆栈赋值
       CALL INIT	  //进入定时器和串口初始化
MLOOP: MOV SBUF, P1
       CALL DELAY 	  //进入定时器和串口初始化
       SJMP MLOOP
	   
INIT:  MOV TMOD,#20H  //定时器1工作方式选择  选择了工作方式2:0010 0000 	   定时器提供了一个时间基准
	 
	   MOV TH1,#0FDH
	   MOV TL1,#0FDH  //波特率9600
	   MOV SCON,#50H  //串口工作模式选择 选择了工作方式1: 0101 0000  
	   MOV PCON,#00H
	   SETB TR1	   //定时器计时启动
	   RET

//延时函数	 
DELAY: MOV R7,#0FFH
DELAY1:MOV R6,#0FFH
	   DJNZ R6,$		//寄存器内容减1 非0转移
	   DJNZ R7,DELAY1
	   RET
	   END

//从机(汇编)   
	    ORG 0000H	   //将程序放到RAM
		LJMP START
		ORG 0023H	   //定时器1地址入口
		LJMP RECEIVE
		ORG 0030H
START:	MOV SP,#60H		  //堆栈赋值
		LCALL INIT		  //进入定时器和串口初始化
		SJMP $

 //	定时器和串口初始化
INIT:	MOV TMOD,#
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

li星野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值