C51的串口通信

还记得自己学习51单片机发现有趣的现象,就是你给寄存器上附上一定的值,然后进行一些设置,他就能自动将这个值通过一定的格式去发送,如果用其他单片机或者电脑就可以接受这个数据,实现单片机和其他系统的通信。
在这里插入图片描述
那么,接下来我讲解一下自己的见解。
一:硬件基础
通信:就是发送和接受。
在这里插入图片描述
那我们来看单片机的,有一个TxD,T的话就是Transmit就是发送的意思,那么它的发送端对应的就是P3.1,RxD,R的话就是Receive就是接受的意思,那么它的接受端对应的就是P3.0
在这里插入图片描述
假设这个就是我们使用的单片机,单片机通过P3.1将信息传送出去,引脚P3.0用来接受信息,通信肯定是两个对象,那我们来看单片机和PC机之间的联系。
在这里插入图片描述

PC机支持的是232电平,-12V表示高电平,+12V表示低电平,单片机支持的是TTL电平通信,以上图单片机为例,就是5V表示高电平,0V表示低电平,那我很明显可以发现这两边标准不一样,双方之间是没办法通信的,那么我们需要转换,中间的话使用sp232芯片,MAX232芯片等,经过中间这样的转换后连接到电脑上,但是,由于现在的电脑尤其是笔记本没有这种接口,大多都是USB接口,USB接口要遵循USB协议,那么中间又要进行转化,我们把中间要转化的合并一下,就是我们常见的CH340G,PL2303,CP2102以及FT232芯片,通过这些,就把TTL的转换成了USB的,需要注意的是,你使用哪种芯片,就要安装属于它的那种驱动,以CH340G为例,他上面也有TxD和RxD,当然对应的和单片机相连接,T对应R嘛,一接受一发送。
二:串口协议
在这里插入图片描述
我们举一个常见的协议,前面是开始位,最后是截止位,中间是8位,我们来看发送部分,那么就是单片机发送一个字节的数据给CH340G(就是给PC机),P3.1引脚一开始是高电平,先把他拉低,延迟一些时间,表示单片机要开始发送数据了,当传送完1个字节后,就要把这个引脚电平拉高,表示这一个字节发送完毕。那么我们现在关心一下这一些时间到底是多少也就是传输速度,我们使用波特率,
在这里插入图片描述
我们打开这个串口助手,可以找到波特率,这是比较常见的,我们选择1200的,表示每秒传输1200bit,大概833us
在这里插入图片描述
我们现在可以看一下这个传输程序,这里是发送一个字节,开始这个P3.1为高,然后再调低,然后延迟833us然后就开始发送数据,然后最后置高,停止位。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值