jkts.net
当前位置:首页 >> 不明白单片机的串口通信的PCON |= 0x80... >>

不明白单片机的串口通信的PCON |= 0x80...

不是每位相与,而是相或。| 是或的符号,0x80也就是1000 0000,pcon 执行或运算 后,肯定是1。

PCON主要是单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下: PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD - - - --- GF1 GF0 PD IDL 各位的定义: SMOD:该位与串口通信有关。 SMOD=0; 串口方式1,2,3时,波特率正常。 SMO...

你的设置都是用定时器1作为波特率发生器。没有用到定时器2,也没有设置。 定时器0是无法做波特率发生器的。

PCON一般只有在使用串口时设置,要设置也只设置它的最高位SMOD。SMOD是串口波特率倍增位,设为1串口波特率就加倍,为0就不变。PCON不能位寻址,所以说初值就00H和80H两种。

这种内容,教材或有关单片机的书上都有详细讲解的,看看书就成了。这种事情,也来提问。

//代码来自 单片机小精灵v1.3//波特率9600 11.0592晶振 方式2#include void InitUART(void){ TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = 1; ES = 1; TR1 = 1;}void SendOneByte(unsigned char c){ SBUF = c; while(!T...

每收到一个字节,就发送一大串字节? 时间,能配得上吗?

C TCON(Timer Control Register)定时器/计数器控制寄存器 PCON电源控制及波特率选择寄存器 SCON-串行口控制寄存器 TMOD定时器工作方式寄存器

TR1 = 0; //无奈的我想关掉一切,但是还是不行 ES = 0; // EA = 0; 上面的语句放在 while 内试试吧

再调试一下,收到串口助手数据之后再让它返回到电脑串口,看看是否是原始数据。目的是查一下是串口出了问题还是数码管编程有问题

网站首页 | 网站地图
All rights reserved Powered by www.jkts.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com