123下一页
返回列表 发新帖本帖赏金 10.00元(功能说明)

[51单片机] 一位15年经验的老司机给单片机初学者的几条建议

[复制链接]
3917|47
 楼主 | 2018-1-1 18:09 | 显示全部楼层 |阅读模式
本帖最后由 ohy3686 于 2018-1-4 14:35 编辑

一位15年经验的老司机给单片机初学者的几条建议
广东职业技术学院  欧浩源 2018-01-01

【缘起】
    2018年1月1日,意味着我有15年的单片机经验了,得在21ic最热的板块来个文章纪念一下。
    从2003年学习单片机开始,从公司到研究所,从研究所到学校,还真没有离开过它。对于经验丰富的工程师,以下内容可以忽略了,然而,对于刚入门的初学者,还是可以看一看的。

【初学者的态度】
    在我学习单片机的年代,只有单片机而且只有一种51单片机,没的选择。现在,有51内核的系列单片机、有MSP430单片机、有CC2530单片机、有ContexM0系列单片机、有STM8单片机、还有台湾的合泰、华邦、义隆...甚至国内的单片机......这还不包括ARM、ContexM3、STM32...这些32位的嵌入式产品。面对这么多的选择,你怎么入门?
    在我的学生中,不少人觉得8位机太简单了,稍微入门就准备要学嵌入式,搞ARM,玩Linux。在他们看来,会单片机并不等于嵌入式。实际上这是两个概念,而且你会用单片机就等于你能用单片机了吗?不,还差很远。不管是8位机还是32位机,它只是你解决问题的一个工具而已。很多人都会用C语言,但是有几个人能用C语言写出Linux和uCOS来呢?
    所以,初学者的态度很重要。哪一款单片机不重要,只要你精通擅长一款,日后再用其他公司的那都是小菜一碟,进而学习32位的处理器也是游刃有余,轻松自如,否则,每个单片机对你来说,都永远处于入门状态。

【一页纸讲清单片机】
    也许有人问:有没有那么简单呀?
    当然不会那么简单啦,首先你要把书读薄,然后再把书读后,最后把书放进自己脑子里,形成自己的一套思路。
    理解任何一个事物,最好把握它的本质。对于各个各样的嵌入式微处理器产品,实际上用一页纸就可以把本质的脉络说清楚。有这么神奇,嗯...我也是自己总结的,大家可以看看,加以斧正。

    8位和32位机都可以看成是“内核+外设”的结构,外设多,单片机就复杂些,总线位数高,运行就快一些。本质上还逃不出这个架构。对于设计人员编程来说,操作外设实际上就是读写各种特殊功能寄存器,传输数据就是读写总线,相应外设就是处理中断。除了这三大操作,好像没有其他了。当然对于不同的外设,其特殊功能寄存器的定义不同,中断向量不同,操作流程不同,但本质上还是在操作寄存器、总线和中断。
    有人不服说,不会吧,一定还有别的。当然有了,但对于初学者来说,不要钻牛角尖,把常见的、大多数的东西把握了,慢慢再去研究小众技能吧。上面讲了这么多,实际上就想告诉初学者:嵌入式或者单片机的入门真的不难,但也不容易,需要你拿出态度来。我经常对我的学生说:“单片机或者嵌入式这东西是入门难,到经验积累到一定程度就比较容易了。”

【一些不是建议的经验】
1、从8位单片机入门比较好一点,选好一个型号,认真学习,直到精通。
2、多练习,多写代码,多上网看看博客,当然自己要有一块学习板了。
3、掌握简单常用的模拟电路和数字电路,比如:电阻限流、电容滤波、运放放大等等,将来你在设计电路和调试程序的时候都会用到。
4、精通C语言,特别是指针和数组,最好把预处理和编译过程了解一下。
5、掌握一个电路设计软件,对于单片机,其实会Protell99都可以了。
6、会使用万用表,最好有示波器啦,而且要掌握一些常用的测试手段。
7、在自己学习过程中,整理并形成自己的元器件库和常用程序库,这是你进阶下一阶段成为高手的关键。
8、多看看各种单片机案例,掌握各种常用芯片的使用,嵌入式就是一个逐渐积累的过程。你的嵌入式技术有多高,就看你心里的案例与资源有多少。现在各种功能都有模块或专用芯片,还都提供UR、SPI、IIC等接口。表面上你用单片机在实现蓝牙,实际上你只是在使用单片机的串口读写数据。如果说元器件电路模块是硬件资源的积累,那么,常用接口模块驱动程序则是软件资源的积累。 将来在你的产品设计中,可能用到很多新的模块和元件,只要它的接口是SPI接口、IIC接口、UR串口等你熟悉的接口,那么对于你来说,它就是一个旧模块和元件。因为单片机实际上面对的不是模块和元件,而是你熟悉的常用接口。
9、最好有做笔记的习惯,你也可以写写博客,这个到后面会有意想不到的作用。

【结束语】
    嵌入式应用开发涉及的知识点很多,初次接触往往感到无从下手。没错,与一些高级编程语言“易懂难精”的情况相比,嵌入式应用开发的入门是比较难的,但是,随着知识的积累和经验的丰富,后面的路会越走越宽,越走越顺。广大的嵌入式应用开发入门者应该充满信心。我一直都认为嵌入式应用开发就像一场马拉松,必须一步一个脚印,积蓄能量,逐步进阶,才能越走越远的。
   祝大家新年快乐。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x

打赏榜单

21ic小喇叭 打赏了 10.00 元 2018-01-03
理由:感谢分享

评论

小小小胡子 2018-1-23 15:44 回复TA
谢谢分享 ,我怎么感觉搞飞思卡尔的好少 网上资料也好少 
| 2018-1-1 18:29 | 显示全部楼层
前排膜拜大神!
| 2018-1-1 19:06 | 显示全部楼层
不妨晒晒做了哪些作品
| 2018-1-1 19:40 | 显示全部楼层
膜拜大神,我能转载到个人公众号吗?说明出处
 楼主 | 2018-1-1 21:38 | 显示全部楼层
czdpj 发表于 2018-1-1 19:06
不妨晒晒做了哪些作品

正在做一款“CC2530&STM8S105K6二合一的学习板”呢,在“TI MCU”有个帖子,可以去看看。
 楼主 | 2018-1-1 21:38 | 显示全部楼层
caijie001 发表于 2018-1-1 19:40
膜拜大神,我能转载到个人公众号吗?说明出处

能...OK。
| 2018-1-1 23:23 | 显示全部楼层

已经转载
 楼主 | 2018-1-1 23:33 | 显示全部楼层

那个公众号?我去看看...
| 2018-1-1 23:50 | 显示全部楼层
本帖最后由 caijie001 于 2018-1-1 23:52 编辑
ohy3686 发表于 2018-1-1 23:33
那个公众号?我去看看...

杰杰开发

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x
| 2018-1-2 04:58 | 显示全部楼层
仰望大神
| 2018-1-2 09:22 | 显示全部楼层
| 2018-1-2 09:26 | 显示全部楼层
谢谢前辈大神分享经验
 楼主 | 2018-1-2 12:30 | 显示全部楼层

公众号信息量很大...你搞飞思卡尔的吗?
| 2018-1-2 12:47 | 显示全部楼层
ohy3686 发表于 2018-1-2 12:30
公众号信息量很大...你搞飞思卡尔的吗?

参加过
| 2018-1-2 13:24 | 显示全部楼层
写得不错,一看就是个老司机了
| 2018-1-2 13:52 | 显示全部楼层

谢谢前辈大神分享经验
| 2018-1-2 14:53 | 显示全部楼层
说的很好!当初在学校学的就是51系列,基础学好了,用到其他的单片机就会很容易上手。
 楼主 | 2018-1-2 17:15 | 显示全部楼层
ddllxxrr 发表于 2018-1-2 13:24
写得不错,一看就是个老司机了

哇噢...得到版主的肯定...惊喜万分,惊喜万分!
| 2018-1-2 19:53 | 显示全部楼层
不妨晒晒已经做过的成品.谈谈制作过程,注意事项.等等....
 楼主 | 2018-1-2 20:48 | 显示全部楼层
hjl714016 发表于 2018-1-2 14:53
说的很好!当初在学校学的就是51系列,基础学好了,用到其他的单片机就会很容易上手。 ...

51内核的单片机的确是入门的经典,
麻雀虽小,五脏俱全。
不过,现在我不建议89C51这种51单片机作为入门,
应该选用增强型51内核的单片机作为入门会好一点。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式

论坛热帖

关闭

热门推荐上一条 /3 下一条

分享 快速回复 返回顶部 返回列表