单片机学习入门算T1重载值时波特率为115200时为什么计算出来竟然是小数

如前所述,设置串口中最基本的包括波特率设置,校验位和停止位设置。串口的设置主...115200: cfsetispeed(&newtio, B115200); cfsetospeed(&newtio, B115200); ......https://www.lybuick.com/cka585ebec5da7145.html115200 FF FD× 0.26 22.1184MHZ时RCAP的选值 24MHZ时RCAP的选值 波特率 ...51单片机串口通信实例 8页 免费 51单片机串口通信笔记 8页 免费 51单片机波特率......https://www.lybuick.com/ck015617abec3a87c240288f.htmlZXR10 设备串口线线序以及波特率 A:注意设置:选择正确的控制线,如果从超级终端....n.1 4)3904 )控制线连接设备一端是 RJ45,连接 PC 一端是 DB9 ......https://www.lybuick.com/ck00a38ae8b8f67c1cfad6b84c.html8051 的串口波特率的计算 1、 方式 0 的波特率,固定为晶振频率的十二分之一。...先说波特率。波特率从 300 到 115200 都可以,甚至更高或更低。一般规范 的......https://www.lybuick.com/ck0bfdce99390b.html主函数 void Main(void) { int i,j; sysinit(); Uart_Init(0,115200); Uart_Select(0); //系统初始化代码,在这里不关心它 //初始化串口,115200是波特率......https://www.lybuick.com/ckc10d4d.html
大多数串行接口电路的接收波特率和发送波特率可以分别设置,但接收 方的接收波特率...这个我实测过,115200 最好的距离在 30-50 米之间(和线、232 芯片有关) ,......https://www.lybuick.com/ckc631bd2f27def8a.html(结果取整数部分)例如:波特率时钟源频率=8MHz,所需波特率=115200,那么波特率参数...注意,尽量将插补脉冲分散放置到UxMCTL8个位中。至此,串口波特率参数设置完成。......https://www.lybuick.com/ckecefbae640e9a15.html串口波特率转换的实现武汉波仕电子有限公司 ___ 串口通信,就是 RS-232/RS-485...// // // // 00
2 case 0x04:TH1=0xF4;TL1=0x......https://www.lybuick.com/ckbffdc3dd50eeef.html该电路在 115200bps 波特率下,通信正常。串口助手发送几百行数字, 没有发现误码。在 9600bps 波特率下,与单片机通信了一下午,没有发现异常,但是不保 证长期的......https://www.lybuick.com/ck1d6eddc1a58da.htmlCisco 更改波特率提高传输速率先打开超级终端,进入 rommon 模式(Ctrl+Break 组合...开始定义串口速度(我的电脑---端口属性---串口速度调为 115200), 然后再修改......https://www.lybuick.com/ckfcf2a3d080ebce1.htmlSTM32出现串口波特率不对的问题解答_电子/电路_工程科技_专业资料。STM32F10X 常见问题解答 1. USART 出现串口波特率不对的问题 情况如下: 由图可见我们要设定的......https://www.lybuick.com/cka5b4d9d576a2.htmlMSP430UART串口波特率自动检_工学_高等教育_教育专区。MSP430UART串口波特率自动检...MSP430 ABR 使用一种初始化 115200 波特率设置的检测算法,从而决定 PC 主机早 ......https://www.lybuick.com/ckb96b2e0abb68a98271fefa9d.html
12345678910111213
网友都在看这个程序的波特率能帮我改到38400吗? - 单片机论坛 - Powered by Discuz!
单片机论坛
标题: 这个程序的波特率能帮我改到38400吗?
作者: hymtnzc& & 时间:
标题: 这个程序的波特率能帮我改到38400吗?#include &reg52.h&
#include &intrins.h&
unsigned int c=0;
sbit led1=P2^0;& && && && && && &&&//指示灯0
sbit led2=P2^1;& && && && && && && && &//指示灯1
sbit led3=P2^3;& && && && && && && && &//指示灯3
void init();& &//串口初始化
void send(unsigned char a);& && &&&//单字节发送函数
void ctrl(); //接收处理函数
void main()
& && && && && & init();
& && && & while(1)
& && && & {& && && &
& && && && && && &if(RI==1)& && && && && && && &// 是否有数据到来
& && && && && && &{
& && && && && && & RI = 0;
& && && && && && &tmp = SBUF;& && && && && && & // 暂存接收到的数据
& && && && && && && && && && && & ctrl();
& && && && && && && && && && && & }& && &
& && && & }
void init()& && &&&//串口初始化
& && && && && && & ES=0;& && && && && && && && && && && && && && && && && && && && && && &//关中断
& && && && && && &SCON = 0x50;& && && && && && && && &// REN=1允许串行接受状态,串口工作模式1,
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &//10位UART(1位起始位,8位数据位,1位停止位,无奇偶校验),波特率可变
& && && && && && &TMOD = 0x20;& && && && && && && && &// 定时器1工作于方式2,8位自动重载模式, 用于产生波特率
& && && & TH1=TL1=0xFD;& && && && && && && &&&// 波特率9600 (本次测试采用晶振为11.0592)
& && && & PCON &= 0x7f;& && && && && && && &&&// 波特率不倍增
& && && & TR1 = 1;& && && && && && && && && && && && && && && && && && && & //定时器1开始工作,产生波特率
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &//发送标志位置0
& && && && && && &TI=0;& && && && && && && && && && && && && && && && && && && && && && &//接收标志位置0
& && && && && && &RI=0;
& && && && && && &
& && && && && && &//EA=0;
& && && && &&&ES=1;
& && && & led1=0;& && && && && && && && && && && &&&//初始化设置3个指示灯全亮
& && && && && && &led2=0;
& && && && && && &led3=0;
void send(unsigned char a)& && &&&//单字节数据发送
{& && && && && && && && && && && && && && && && && && &&&//注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻
& && &&&TI=0;& && &&&
& && &&&SBUF=a;
& && &&&while(TI==0);
& && &&&TI=0;
& && &&&if(c%2)& && && && && && && && && && && && && & //发送指示灯标志,每接收一次,此灯亮灭交替
& && && &led3=1;
& && &&&else
& && && &led3=0;
& && &&&c++;
void ctrl()& && && && && && && && && & //接收处理函数
& && && && && && && && && && && && &switch(tmp)
& && && && && && && && && && && & {
& && && && && && && && && && && && && && &case '1':
& && && && && && && && && && && && && && && && &led1=1;& && && && && && && && && && && &&&//收到字符1,指示灯0灭
& && && && && && && && && && && && && && && && &send(tmp);
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && & case '2':& && && && && && && && && && && && && &&&//收到字符2,指示灯1灭
& && && && && && && && && && && && && && && && & led2=1;
& && && && && && && && && && && && && && && && & send(tmp);
& && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && & case '3':& && && && && && && && && && && && &//收到字符3,指示灯0、1亮
& && && && && && && && && && && && && && && && & led1=0;
& && && && && && && && && && && && && && && && & led2=0;
& && && && && && && && && && && && && && && && & send(tmp);
& && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && & case '4':& && && && && && && && && && && && && & //收到字符4,指示灯0、1灭
& && && && && && && && && && && && && && && && &&&led1=1;
& && && && && && && && && && && && && && && && &&&led2=1;
& && && && && && && && && && && && && && && && &&&send(tmp);
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && & case '5':& && && && && && && && && && && && && & //收到字符5,指示灯3亮
& && && && && && && && && && && && && && && && &led3=0;
& && && && && && && && && && && && && && && && &send(tmp);
& && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && & default:& && && && && && & //其他,灯全灭
& && && && && && && && && && && && && && && && &&&led1=1;
& && && && && && && && && && && && && && && && &&&led2=1;
& && && && && && && && && && && && && && && && &&&led3=1;
& && && && && && && && && && && && && && && && &&&send(tmp);
& && && && && && && && && && && & }
作者: imxuheng& & 时间:
#define BAUD 9600
#define XTAL
//**************************************************
void UART_Init(void)
& & SCON&&= 0x50;& & & & & & & && && && &// SCON: 模式 1, 8-bit UART, 使能接收&&
& & TMOD |= 0x20;& && && && && &// TMOD: timer 1, mode 2, 8-bit 重装
& & & & TH1 = (unsigned char)(256 - XTAL/12/32/BAUD);
& & & & TL1 = TH1;
& & TR1& &= 1;& && && && && && &// TR1:&&timer 1 打开& && && && && && && && &
& & EA& & = 1;& && && && && && &//打开总中断
作者: wosiyabo& & 时间:
如果你是用89C52的话,11.0592晶振下定时器TH1=TL1=0xFD=3微秒,9600的波特率已经是最高了。
你换个44.2368MHz晶振试试吧也许可以不用改程序。或者用1T的单片机。
作者: 鑫鑫来了& & 时间:
看你头文件应该是12T的标准8051系列,同楼上所说最高9600了,再想要高的话可以用增强型的8051系列入stc12系列15系列
作者: hymtnzc& & 时间:
#define BAUD 9600
#define XTAL
//**************************************************
这个是什么意思?这样改好点吗?
作者: dzbj& & 时间:
这个是回4楼的
51单片机 12T 11.0592MHz晶振 定时器1 8位自动重装 115200波特率 实测无问题
void UartInit(void)& & & & & & & & //115200bps@11.0592MHz
& & & & PCON |= 0x80;& & & & & & & & //使能波特率倍速位SMOD
& & & & SCON = 0x50;& & & & & & & & //8位数据,可变波特率
& & & & AUXR &= 0xBF;& & & & & & & & //定时器1时钟为Fosc/12,即12T
& & & & AUXR &= 0xFE;& & & & & & & & //串口1选择定时器1为波特率发生器
& & & & TMOD &= 0x0F;& & & & & & & & //清除定时器1模式位
& & & & TMOD |= 0x20;& & & & & & & & //设定定时器1为8位自动重装方式
& & & & TL1 = 0xFF;& & & & & & & & //设定定时初值
& & & & TH1 = 0xFF;& & & & & & & & //设定定时器重装值
& & & & ET1 = 0;& & & & & & & & //禁止定时器1中断
& & & & TR1 = 1;& & & & & & & & //启动定时器1
下面是回楼主的 用STC的ISP工具生成的 但11.0592MHz晶振下误差居然有25% 倍速更高 误差达50% 请问楼主一定要用这么奇怪的波特率么
void UartInit(void)& & & & & & & & //38400bps@11.0592MHz
& & & & PCON &= 0x7F;& & & & & & & & //波特率不倍速
& & & & SCON = 0x50;& & & & & & & & //8位数据,可变波特率
& & & & AUXR &= 0xBF;& & & & & & & & //定时器1时钟为Fosc/12,即12T
& & & & AUXR &= 0xFE;& & & & & & & & //串口1选择定时器1为波特率发生器
& & & & TMOD &= 0x0F;& & & & & & & & //清除定时器1模式位
& & & & TMOD |= 0x20;& & & & & & & & //设定定时器1为8位自动重装方式
& & & & TL1 = 0xFF;& & & & & & & & //设定定时初值
& & & & TH1 = 0xFF;& & & & & & & & //设定定时器重装值
& & & & ET1 = 0;& & & & & & & & //禁止定时器1中断
& & & & TR1 = 1;& & & & & & & & //启动定时器1
作者: dzbj& & 时间:
我看你们说的意思是标准的89c52片子 可是stc的程序里并没有用到后增加的特殊寄存器啊 也是12T 有什么区别么
作者: imxuheng& & 时间:
这个是什么意思?这样改好点吗?
方便改晶振频率和波特率
作者: qwert55n& & 时间:
用AVR单片机,轻松上115200
作者: & & 时间:
void UartInit(void)& & & & & & & & //38400bps@11.0592MHz { & & & & SCON = 0x50;& & & & & & & & //8位数据,可变波特率 & & & & AUXR |= 0x40;& & & & & & & & //定时器1时钟为Fosc,即1T & & & & AUXR &= 0xFE;& & & & & & & & //串口1选择定时器1为波特率发生器 & & & & TMOD &= 0x0F;& & & & & & & & //设定定时器1为16位自动重装方式 & & & & TL1 = 0xB8;& & & & & & & & //设定定时初值 & & & & TH1 = 0xFF;& & & & & & & & //设定定时初值 & & & & ET1 = 0;& & & & & & & & //禁止定时器1中断 & & & & TR1 = 1;& & & & & & & & //启动定时器1 }
欢迎光临 单片机论坛 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1单片机算T1重载值时波特率为115200时为什么计算出来竟然是小数_百度知道
单片机算T1重载值时波特率为115200时为什么计算出来竟然是小数
利用单片机进行RS485通讯是
按照T1重载值计算公式
256-/(12*32*115200)=255.75???竟然是小数,,求解释
我有更好的答案
12M晶振,很多常用的波特率都有误差的,(也就是你说的计算出来是小数),所以要获得精确的波特率,一般采用11.0592M,22.1184M晶振。不然你以为为什么要用这些个还带小数的晶振,这都是有原因的。
高级工程师
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。波特率9600什么意思_中华文本库
串口波特率等概念 - 串口波特率等概念 ( 14:26:15) 标签: 杂谈 1:比特率:9600bps 就是每秒中传输 9600bit,也就是相当于每一秒中划分成了 960...
将波特率设置为 9600,无奇偶校验*/ /*晶振 11.0592MHz,发送和接收使用的格式相同,如都使用*/ /*字符型格式,在发送框输入 hello,ILoveMCU,在接*/ /*收框...
[7:0] TxD_data, TxD, TxD_busy parameter ClkFrequency = 50_000_000; // 板载时钟频率 50MHz parameter Baud = 9600; // 波特率 parameter Register...
下表列出了定时器 T1工作于方式2常用波特率及初值。 常用波特率 Fosc(MHZ) SMOD TH1初值
00 11.2 11.2 11....
当 SMOD=0(波特率不加倍)时,使用初值计算公式: X ? 28 ? 2 0 *12 *10 6 ? 216.9375 32 * 9600 取值 217 转换成 HEX(十六进制)为 0xd8。 使用...
例 1:1048576Hz 频率下驱动以 9600 波特率异步通讯 UCBRx = INT(N/16)=INT(fBRCLK/Baudrate/16) UCBRx = INT(1048576Hz/(16*9600)) = INT(~6.8) ...
波特率| 晶振| 单片机|51单片机常用波特率初值表(11.0592M晶振)_计算机硬件及网络_IT/计算机_专业资料。51单片机常用波特率初值表(11.0592M晶振) 您...
51单片机波特率设置 - 51 系列的单片机中都有两个定时器 T0 和 T1,网上的资料挺多的,52 单片机比 51 单片机的资源多了一个定时器 T2 和 128 字节的 ram。...
新星光: COM1/9600 常见品牌GPS导航端口速率汇总车专用DVD品牌分辨率卡号端口号波特率卡仕达 320*240 CF_Storage COM6
MMC_Storage COM6 4800 ...
常见导航仪的端口与波特率汇集 1. 富威: storagecard/COM2/4800 2. 索菱、索莱特: storage card/COM3/9600 3. 凯振: SDMMC/COM2/...单片机波特率计算_百度知道
单片机波特率计算
若定时器T1设置成方式2,作为波特率发生器,系统时钟频率为6MHZ,则可能产生的最高以及最低波特率是多少?求详细解题过程,谢谢~
我有更好的答案
波特率计算公式是:SMOD=0时为:fosc/(32*12*(256-TH1));SMOD=1时为:fosc/(16*12*(256-TH1));所以最高为:fosc/(16*12*(256-255))=31250最低为:fosc/(32*12*(256-0))=61
高级工程师
有公式计算的
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 c51单片机程序100例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信