正在做STC系列单片机的串口实验,

可是上网没找到适合的波特率计算软件,总不能每次都用脑袋算吧,

干脆花了点时间写了个小程序,粗糙了些,但将就着用呗,呵呵

程序:

#include <stdio.h> #include <math.h> #include <stdlib.h> int main(void) { int timeMod; //1T或12T int reload; //独立波特初值 int doubleBaud; //波特率加倍 double baud0; //标准波特率 double baud; //计算的波特率 double crystal; //晶振MHz double Fosc; //时钟频率Hz double error; //错误率 while (1) { printf("STC单片机波特率计算,适用于独立波特率发生器:/n"); printf(" 1. 12T/n 2. 1T/n 3. quit/n"); scanf("%d", &timeMod); if (timeMod == 3) { exit(0); } if (timeMod!=1 && timeMod!=2) { printf("time mod error!/n/n"); continue; } printf(" 晶振(MHz):/n"); scanf("%lf", &crystal); printf(" 波特率:/n"); scanf("%lf", &baud0); printf(" 0.波特率不加倍:/n"); printf(" 1.波特率加倍:/n"); scanf("%d", &doubleBaud); if (doubleBaud==0 || doubleBaud==1) { doubleBaud = (int)pow(2, doubleBaud); } else { printf("波特率加倍出错!/n/n"); continue; } Fosc = crystal*pow(10, 6); //时钟频率 if (timeMod == 1) //12T { reload = 256 - (int)(floor(Fosc/baud0/(32/doubleBaud)/12 + 0.5)); baud = Fosc / (256 - reload)/(32/doubleBaud)/12; } else if(timeMod == 2) //1T { reload = 256 - (int)(floor(Fosc/baud0/(32/doubleBaud) + 0.5)); baud = Fosc / (256 - reload)/(32/doubleBaud); } if (reload <= 0) //计算初值太大出错 { reload = 0; error = 100; } else { error = fabs(baud - baud0)/baud0 * 100; if (error > 3.0) { printf("误差太大,请重新计算!/n"); } } printf("reload: %d 0x%X/nerror: %0.2lf%%/n/n/n", reload, reload, error); } return 0; }

STC单片机波特率计算相关推荐

  1. 51单片机波特率计算工具介绍

    51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器. SM0.SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置.串行口工作模式设置: 51芯片的串 ...

  2. 51单片机波特率计算c语言,8051单片机波特率计算公式(配套C语言例程)

    #include "Reg52.H" /******************************************************************* 请提 ...

  3. 51单片机串口通信,及波特率计算

    文章目录 串口基本认识 RS-232-C.RS-422与RS-485 关于串口的电平 串口通信 SCON SBUF:串行数据缓冲器 PCON IE 波特率计算 什么是波特率 实例计算 常用波特率及初值 ...

  4. STC单片机程序下载失败总结

    STC单片机下载失败总结 --PurpleSword STC为宏晶公司推出的国产51单片机,其优点在于价格低廉,功能强大,使用方便,尤其是其串口ISP下载程序的方式方便了大量用户,免去了购买昂贵的编程 ...

  5. STC单片机获取红外解码从串口输出

    STC单片机获取红外解码从串口输出 串口数据演示 所使用的红外接收头VS1838 VS1838引脚定义 电气特性 所使用的红外按键板 红外遥控接收模块 VS/HX1838 相关的资料: https:/ ...

  6. STC单片机高速下载电路改进

    01改进的思路 在2020年5月20日,收到了来自STC公司发送过来更新后的STC8H技术手册,其中对于原来连接在UART-TTL转换RS232芯片与STC8H下载端口的二极管和电阻可以去掉了. 这两 ...

  7. STC单片机自动下载调试器设计

    目录 简介 改进方案 1. 解决思路 2. 电路设计 3. 软件 测试结果 参考文献 简介 在推文<全自动STC下载电路设计>中给出了利用STC单片机的ISP程序自动下载调试板的是设计.使 ...

  8. STC单片机下载实验

    简介 STC(宏晶)公司的单片机是基于8051内核指令集,加速后的单片机.配置有丰富的外设,编程和调试简洁明快,适应于广大消费量电子产品的设计与开发. STC在2020年通过赞助的形式支持全国大学生智 ...

  9. Keil用C语言定义函数,STC单片机Keil中C语言函数定位的方法

    STC单片机Keil中C语言函数定位的方法:STC单片机Keil中C语言函数定位的方法 下面以演示程序进行说明 演示程序中有ReadIAP.ProgramIAP和EraseIAP三个函数 最终目的是将 ...

最新文章

  1. Flex+J2EE 之小记
  2. C/C++语言参数传递----函数/方法 参数的指针引用传递
  3. CMakeFile命令之file
  4. iptables 生效_Linux防火墙Firewall和Iptables的使用
  5. Python数据分析pandas之series初识
  6. 云计算学习资料分享:type查看命令
  7. java编程九九乘法表_如何用JAVA语言编写一个九九乘法表
  8. .net如何引用该命名空间
  9. 详解C#防访问修饰符:public,private,protected,internal
  10. linux进程作为服务,将一个监视进程做成linux系统服务
  11. 「leetcode」C++题解:15.三数之和 /3Sum 方法1:哈希法,方法2:排序+双指针,详细注释
  12. 调试ST电机库5.20遇到的问题
  13. 如何提高睡眠质量快速入睡,改善睡眠的小妙招你要知道
  14. ElasticSearch wildcard查询(英文检索)
  15. echarts地图导航飞线与层级穿透
  16. 组织打羽毛球活动的一些心得
  17. linux ntp时间立即同步命令_Linux系统时间同步方法小结
  18. ffmpeg将flv视频转换成mp4
  19. 给惊云下载系统添加ewebeditor编辑器
  20. 超图REST切片系统初探

热门文章

  1. android手机微信输入蓝色字体,微信彩色昵称怎么制作?微信个性蓝色昵称设置图文教程与方法...
  2. 沃尔沃升级刷藏功能取消限速180km解除行车播放视频关闭自动启停系统
  3. finalcut剪切快捷键_Final Cut Pro X 常用快捷键大全 FCPX快捷键
  4. python参考手册 豆瓣_Python自定义豆瓣电影种类,排行,点评的爬取与存储(进阶上)...
  5. matlab treeplot,matlab creats phylogenetic tree
  6. Introduction to the Peer-to-Peer Sockets Project
  7. tensorflow与pytorch 一起安装
  8. 09组团队项目-Beta冲刺-1/5
  9. ssl证书是什么,ssl证书有什么作用
  10. 音频噪声抑制(2):维纳(Wiener)滤波器篇