微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 教你如何将51普通管脚作串口发送端

教你如何将51普通管脚作串口发送端

时间:10-02 整理:3721RD 点击:
好久没有在发烧友论坛发帖了,来发个帖招点人气。
最近在用51单片机做一个小东西,是51单片机和GSM模块进行通讯,他们之间使用的串口进行连接的,坑爹的51只有一个串口,结果被GSM这坑货给占据了,没办法,想观察单片机和GSM进行沟通的时候问题出在哪里,只好使用LED的闪烁状态进行显示,很痛苦有木有!要不断地修改LED闪烁的次数以及将LED闪烁的代码插到不同的断点去,然后,在单片机运行的时候,还要很专注地数LED闪烁的次数,额,数错一次的话,就得重来,刚好我数学爆差,数数不擅长,然后各种数错~
后面,我一直想要51多几个串口多好啊,可以把运行过程中的状态进行打印出来。
串口时序我是懂的,总线是高电平,起始位拉低总线,接下来是8位数据位,然后是校验位,接下来是停止位,总线再次拉高,就这样完成了一次串口数据的传输了。然后最关键的就是每一位数据的保持时间,只要符合相应的波特率的每一位的保持时间,那么不久可以进行串口数据的传输了嘛!
找一个USB转串口线,用串口调试助手以9600波特率循环发送某个16进制的数,用示波器检测串口线TX端的波形,然后测量波形中一位的保持时间,然后用在单片机中造出能够产生刚刚那个延时的延时函数,作为一位的传送时间,然后就像拼积木一样,判断你要发送的数据的每一位,如果是1就让某个普通管脚拉高,如果是0就让某个管脚拉低,记得把开始位和校验位和停止位拼凑上去哦。用示波器检测你做的伪串口发送端发送出来的波形是不是和标准的一样——所谓一样,就是每一位的保持时间是不是一样啦。
然后,你的那个普通管脚就可以和USB转串口线的RX端连接,你在串口调试助手就可以看见单片机发送过来的东西了。
我是用得很开心,因为,只要有多余的管脚,我就可以把它当作串口发送端来用,比LED指示灯强大好多~
也许网上早有人做过了,但是不要紧,我不担心别人插我水表,看客觉得不错的,给个赞,觉得不好的,也给个赞!这年头能把东西做烂掉也是们艺术!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top