rs232虚拟串口_单片机RS232应用实例

(更多细节请前往视频区)

认识一下如何接线 rs232连接原理图

0401ccb34aed89ffeb9da9b3734bde7b.png

如何初始化使用这个芯片

电源管理寄存器 PCON,这个寄存器没有多大用处,让他等于零就行了。

确定t1的工作方式 一般是TMOD =0X20;

计算TI的初装值,装载TH,TL(我们用计算器来计算)

确定串口控制寄存器SCON的工作方式,一般选择工作方式1,也就是SM0=0,SM1=1;

允许接收控制位等于1 REN =1.

启动t1.

我们还会用到几个小工具

分别是:波特率计算器,虚拟串行口,和串行口调试助手

d274449a92001de474d1319a1b84d63a.png
3b5ba525a7ebf6c0fd6439d787aa2409.png
cc94474af087d5bf9f26231f4c3f78d5.png

下面给大家看一下代码:

#include //头文件 51系列单片机

void main() //主程序

{

TMOD=0X20; //定时器1设置为工作方式2,00100000

SM0=0; //串行接口寄存器 工作方式选择 那么可以说明 选择的是工作方式1,

SM1=1; //10位异步接收和发送,与定时器1的溢出率有关系。

REN=1;//接收允许位。

PCON=0; //电源控制寄存器,0 不作用,1 波特率 翻倍。

TH1=0XFD; //重装初值 高8位

TL1=0XFD; //重装初值 低8位

TR1=1; //定时器1 打开中断

P1=SBUF; //把串行通讯口的值送给P1口,

while(!RI); //判断 值有没有送到,如果送到 就会执行下一句,另外芯片电路会自动把RI置1,

RI=0; //手动软件上面 再把它复位。置零。

SBUF=P1; //信号接收好以后,会给一个反馈,反馈给sbuf 一个值,也就是发送的值。

while(!TI)//是否发送过去了,如果发送过去了,就会执行下一句。硬件上会把ti置1,

TI=0; //我们再手动把他置零。

}

效果图:

5e5b3508638ce6ca0de8315757dce26e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值