51单片机如何初始化成8-n-1(8数据位,无奇偶校验位,1停止位)波特率,是用串口的模式几?

51单片机如何初始化成8-n-1(8数据位,无奇偶校验位,1停止位)波特率,是用串口的模式几?本来想用串口的模式1,可是仔细一看,模式1是10异步通信方式,1起始位,8数... 51单片机如何初始化成8-n-1(8数据位,无奇偶校验位,1停止位)波特率,是用串口的模式几?本来想用串口的模式1,可是仔细一看,模式1是10异步通信方式,1起始位,8数据位,1停止位?
首先感谢一楼的回答。我还有些疑问,刚才用示波器看了下,当发送0xFF时,示波器显示一位低电平,其余为高电平,这点应该是对的,因为起始位是0.可是为什么发送0xAA时,示波器的(起始位+数据位+停止位)序列是:0 + 0101 0101 + 1,而0x55的序列为:0 +1010 1010 + 1,这两个值好像不对,是相反了,要是调一下刚好对?
展开
 我来答
做而论道
高能答主

推荐于2018-04-18 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
用串口的模式1,是10位异步通信方式。
1起始位,8数据位,1停止位,没有奇偶校验位。
这种模式就是:8-n-1(8数据位,无奇偶校验位,1停止位)的模式。
完全符合你的要求。
--------------------
带奇偶校验位的,要用方式2或方式3。
把奇偶校验位,放到TB8上,就可以发送了,这就是偶校验。
接收的奇偶校验位,在RB8中。
--------------------
呵呵,你还用上了示波器!奢侈
你观察的很正确。
记住:串行通信,是“低位在前”。这就对了。
你补充的提问太多了,都足够再开一、二个问题了,这20分,真值!
foallent
2009-11-30 · TA获得超过105个赞
知道答主
回答量:29
采纳率:0%
帮助的人:43.6万
展开全部
void uart_init(void)
{
SCON = 0x50 ;//串行方式1, 8-bit数据位,允许接收
TMOD |= 0x21;//定时器1使用模式2,8-bit自动重装用于产生波特率
// PCON |= 0x80;//SMOD=1;波特率增倍
PCON &= 0x7f;//SMOD=0;波特率不增倍
TH1 = 0xfd; //Baud:19200(SMOD=1)或9600(SMOD=0),11.0592MHz
IE |= 0x90; //全局中断开,允许串口中断
TR1 = 1; //定时器1运行,开始产生波特率
}
你可以用串口监视工具来查看单片机发出的数据是否正确,祝你成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
352041184
2009-11-30 · TA获得超过5098个赞
知道大有可为答主
回答量:2489
采纳率:0%
帮助的人:1988万
展开全部
学习靠自己,知道吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式