本文档的主要内容详细介绍的是51单片机进行串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序的详细资料概述。
1.TMOD
串口的始终来源有四种模式,其中,移位寄存器模式不是标准串口,另外两个都是九位数据的通讯模式,一般我们不采用,一般我们采用以为起始一位停止
八位数据的模式来进行串口通讯,这个时候需要定时器1来提供串口波特率时钟
具体说明如下
串口波特率计算方式如下
其中SMOD是波特率倍增位,一般很少使用
T1溢出率计
此处的12是因为51的周期是时钟周期分频12之后的(具体分频做什么,主要是取指,译码运行等一系列工作),由此可以计算出波特率关系
使用串口需要这几个步骤
1.TMOD设置TMOD,为方式
2,无门控 0x20 2.设置TH1 TL1波特率初值(SMOD不设置的情况下为0,所以一般忽略这一步,如果设置了,计算时记得加上)
3.启动定时器TR1
4.设置串口的工作模式,选择工作模式1 设置SM0 SM1
5.根据需要启动REN,使能接收(也可以不使能,查询法,不过会丢数据)
6.根据需要使能中断ES,EA 7.如果使能了中断,记得编写中断处理函数
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !