1. 怎么设置单片机波特率为9600
12M晶振或11.0592M晶振的情况下,当SMOD=0时,9600波特率的参数是0xfd,当SMOD=1时,9600波特率的参数是0xfa。计算公式是:
SMOD=0时
参数=256-fsoc/12/32/波特率
SMOD=1时
参数=256-fsoc/12/16/波特率
2. 51单片机的晶振频率为11.0592MHZ,波特率为9600b/s,要求串口工作在方式1,发送数据
init_uart()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
SCON=0x5=40;
TR1=1;
}
3. 波特率9600什么意思
每秒钟传送9600个二进制位(bit),1200字节
4. 为什么单片机在做串口通信时,需要把波特率设置为9600
是因为串口波特率高了, 误码率本来就会增大,
但低了,就会速度降低,所以要选一个比较合适的啊,,就是正因为9600的比较合适啊
5. 单片机串口设的波特率是9600,但是在电脑串口调试程序中设成19200才能收到正确的数据。请问是哪
这个不可能的把,波特率不对接收不了数据,甚至数据出错的,
6. 波特率9600与波特率19200有什么区别,另波特率是什么意思帮忙解释下,谢谢。
1,波特率的含义
波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示。
在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。
2,波特率9600与波特率19200的区别
波特率19200传输快但传输距离近,波特率9600传输相对远但速率慢.
比如一个英文字母,所以:9600的波特率的信道,理论上每秒可以传输9600个二进制位,也就是9600/8个英文字母的数据量,也就是1200个字节,大约1.2KB。而19200则是每秒可传输2400字节,大约2.4KB。
(6)单片机波特率9600扩展阅读:
大家在用到单片机串口通信时,总要设置波特率,而波特率一般要设成9600,19200,针对这个问题有以下两种比较可靠地说法:
1,根据电、传输介质等的物理特性结合串口设备使用的要求
为了保证有效通讯,根据电、传输介质等的物理特性结合串口设备使用的要求,确定RS232最大传输速率只能是115200,然后逐级二分得到57600,28800,19200……为适应这些速率,设计相应的晶振频率。
2,这是由电信线路特性决定的
电话线路的带通是300-3KHZ,当时HAYES先搞的modem,所以用的2400HZ信号,对应波特率是2400。由于基本频率确定了,以后采用的提高通讯速率的方法都是在2400基础上倍频的,所以形成了9600,192000.
7. 单片机中缺省波特率设置为(9600,n,8,1)是什么意思
单片机中缺省波特率设置为(9600,n,8,1)代表串口通信的基本参数。
严格来说,波特率一般不使用在通信传输领域。波特率描述的是单位时间内调制信号的能力,经它调制出来的信号才以比特的形式来传输,或者这样说,信号在传输过程中,如果要经过数模转换,就需要调制,那么传输时间除了消耗在其它领域外,还消耗在调制过程和在信道的传输过程,描述信号调制能力用波特率,描述信号传输能力用比特率。
(7)单片机波特率9600扩展阅读:
波特率有时候会同比特率混淆,实际上后者是对信息传输速率(传信率)的度量。比特率指每秒钟通过信道传输的信息量(也称为为位传输速率),即每秒钟传送的二进制位数,用来表示有效数据的传输速率,用b/s 、bit/s、比特/秒,读作:比特每秒。
常用的单位有每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)(此处K和M分别为1000和1000000,而不是涉及计算机存储器容量时的1024和1048576)。
8. 51单片机如何修改波特率9600改成2400
用下面公式重新计算用于产生波特率的定时器重载值:
设9600波特率时定时器重载值是X;
设2400波特率时定时器重载值是Y;
当定时器重载值是8bit时(传统的51单片机型号,如AT89C51的T1):
Y=256-((256-X)*4)
当定时器重载值是16bit时(较新的51单片机型号,如C8051F系列的Timer3):
Y=65536-((65536-X)*4)
//-----------------------------------------------
粗略看了一下你的程序,你可以调整一下MAX_DELAY这个参数。我没具体计算过,只是怀疑是不是波特率降低之后,发送数据的时间变长了,如果发送数据的时间超过MAX_DELAY就会发送错误。
仅供参考。
9. 单片机波特率的问题,这个划红线的地方中,为啥不是9600/8
标准这样定义的,数据位有7,8,9这三种情况。
如果没有起始位,假设传输一个数据,这个数据的8位2进制数据为:1111 1111。在TTL电平上,你将看不到任何波形,这个时候起始位的作用你就能看到了。否则你将认为没有任何数据出现。
然后停止位,和后面的起始位,可以明显区分两个数据的不同逻辑。
10. 我的单片机是STC90C516 晶振12M 波特率9600 配置如下:
STC官网不是提供了一个“STC波特率计算器”吗,
输入要求自动生成C或者汇编代码,用它多方便。
帮你计算了下,STC90C516 晶振12M 波特率9600 ,倍数时误差率6.99%,不倍数时误差率8.51%,数据不出错才怪。
这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。
用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。