学51也蛮久了,记录一下自己 的感悟。奇巧淫技说不上,但是对于初学者来说或者对于基于要提交一份简单设计的人来说确实很有用。在一些交流群里经常看到一些初学者问一些很简单的问题,比如定时器计算,串口波特率计算,内部AD怎么使用blablabla,对初学者来说确实很陌生,来问也是情有可原。但是有的初学者就不会问这些,他们会自己解决这些问题,网上资源已经很多了,这种主动学习的态度很值得赞赏,这些很基础的问题确实不应该问人。
下面来说一些干货,仅针对初学者,老鸟请绕道。由于本人是做ic的,扯点相关的。单片机时一个为控制器,市场上有很多的微控制器品牌,因此竞争还是很激烈的。而且芯片设计和研发成本是很高的,从架构确定到设计然后验证再到版图绘制,其中这三部要来回几百次才能确定一个稳定的设计。设计过程的成本很高,生产成本也是很高的。所以当一个公司生产一块芯片,会为这块芯片做好各种服务,让人家买他的芯片。你说你要使用他的芯片,他会安排人帮你把各种方案演示都给你做好,因为芯片功能复杂,但是他不希望开发过程复杂,所以哦都会提供一整套的开发环境和一些参考方案,目的是让客户越快上手越好。那么同样我们学习一款芯片时也要从这方面着手。
目前国内初学者大多数还是以51单片机为入门的,而更多地又是使用stc公司的芯片。其实stc的售后做得很好了的。stc的下载软件其实就包含了很多东西,不知道大家有没有仔细研究过。
首先,串口助手
这个串口助手还是很有用的,一般需求都可以满足。我觉得最有用的还是右边的多字符串发送,可以用来发送一些特定的测试序列,在有数据包时很有用。还有自动发送功能。
产品选型
这个是针对有特殊要求的,平常设计可能就只知道一些资源要求,但是找不到适合的型号。其实这种方式在很多产品提供商都有提供的。
范例程序
这个应该是最有用的了,包括了各种单片机资源的配置使用,基本上只要抄过来就能用。其中包括各种型号各种外设的例程。
剩下的使用最多的还是定时器计算和波特率计算。我重来不去记住怎么算的,每次要用就打开这个几秒钟就生成一个配置代码。下图为大家展示最常用的配置,也就是11.0592MHz晶振产生9600波特率的配置代码。
这些参数都是可以任意配置的。值得注意的是误差参数,在用11.0592晶振时产生9600波特率是没有误差的。这个可以更改其他参数看误差。波特率误差在3%以内的话,串口还是可以使用的。因此这就给我们一个思路,对于没有11.0592晶振的开发板来说,使用12M的晶振依然可以使用串口通信。
12M晶振能使用的最高波特率是4800,这时候误差是0.16%,可以正常使用。
后面的定时器计算和软件延时也是和波特率计算使用方法类似,修改想要的参数就可以得到县城的代码配置。可以说有这个软件,可以完成大部分51单片机外设的配置了,甚至还能从例程中得到一些思路。