没有合适的资源?快使用搜索试试~ 我知道了~
STC单片机串口通信与应用.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 155 浏览量
2022-11-03
08:34:00
上传
评论
收藏 332KB PDF 举报
温馨提示
试读
5页
。。。
资源推荐
资源详情
资源评论
STC 单片机串口通信
一、 串口通信原理
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算
机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,
所以在较远距离传输中,得到了广泛的运用。串口通信的工作原理请同学们参看
教科书。
以下对串口通信中一些需要同学们注意的地方作一点说明:
1、 波特率选择
波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。
MSC-51 串行端口在四种工作模式下有不同的波特率计算方法。其中,模式 0 和
模式 2 波特率计算很简单,请同学们参看教科书;模式 1 和模式 3 的波特率选择
相同,故在此仅以工作模式 1 为例来说明串口通信波特率的选择。
在串行端口工作于模式 1,其波特率将由计时/计数器 1 来产生,通常设置
定时器工作于模式 2(自动再加模式)。在此模式下波特率计算公式为:
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器 PCON 的第 7 位,称为波特率倍增位;TH1——定时器
的重载值。
在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据
系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振
频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我
们应该尽量选择时钟误差最小的频率进行通信。
下面举例说明波特率选择过程:假设系统要求的通信频率在 20000bit/s 以
下,晶振频率为 12MHz,设置 SMOD=1(即波特率倍增)。则
TH1=256-62500/波特率
根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,
19200。列计数器重载值,通信误差如下表:
因此,在通信中,最好选用波特率为 1200,2400,4800 中的一个。
2、通信协议的使用
通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,
通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在 PC 机与单
片机之间进行通信,在双方程式设计过程中,有如下约定:
0xA1:单片机读取 P0 端口数据,并将读取数据返回 PC 机;
0xA2:单片机从 PC 机接收一段控制数据;
0xA3:单片机操作成功信息。
在系统工作过程中,单片机接收到 PC 机数据信息后,便查找协议,完成相
应的操作。当单片机接收到 0xA1 时,读取 P0 端口数据,并将读取数据返回 PC
机;当单片机接收到 0xA2 时,单片机等待从 PC 机接收一段控制数据;当 PC 机
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功