注册 登录
查看: 1368|回复: 14

征服单片机万能步骤

[复制链接]
发表于 2013-9-3 09:55:52 | 显示全部楼层 |阅读模式
  征服单片机万能步骤

  知己知彼百战百胜,学习几款单片机后发现各种单片机有几个共同点,看门狗,系统时钟,GPIO,定时器,中断。这样就有了给我们攻克的方向了。面对一款单片机,首先要了解他的看门狗的情况,如果默认情况看门狗没有关闭,咱就先找去找办法关掉看门狗,记住初来乍到不要惹狗。玩MSP430单片机时,用IAR建立工程后主函数中关看门狗的语句会自动生成。解决了狗的问题就要开始面对系统时钟了,人要活着就要心跳,单片机要工作就需要提供系统时钟。刚入门时候接触的51单片机没有配置时钟这个概念,但是比较复杂的单片机就不同,比如STM32就有庞大的时钟树,MSP430单片机也分主系统时钟,子系统时钟以及辅助时钟。对于一款控制器,时钟配置是一个很重要的步骤。了解了系统的时钟才能清楚单片机的性能以及后面定时器的使用。当我们弄清楚了时钟并配置好系统的各个时钟就可以开始基本的实验。接下来就是对GPIO的操作。51单片机的IO口操作十分简单,但是也有一点是值得注意的:当IO口作为输入时先输出高电平。稍微复杂一点的IO结构操作就会复杂些,MSP430单片机以及STM32等都有多个专门针对GPIO配置的寄存器。但是都有基本寄存器:GPIO模式配置,GPIO输入寄存器,GPIO输出寄存器,GPIO复用功能寄存器。弄清楚了IO操作我们便能控制各个模块。最后一个步骤就是攻克定时器以及中断。单片机的精华和难点都在定时器以及中断这一块了,当我们把前面几个步骤都完成后就得专心来研究一下这一步骤,定时器重点的是定时器的时钟源以及计数模式。中断也是一个很复杂的方面,这里重点说步骤至于如何攻克就得靠自己努力了。学习单片机就得耐得住寂寞。

  不求捷径但求不走弯路

  刚接触单片机的童鞋大多会在网上搜索单片机快速入门宝典之类的东西,这类标题也是商家或者出书的最喜爱的标题。其实学习任何东西都不存在捷径,真正有的是少走弯路。现在讲讲如何避免走错路,走弯路。

  1.抱着书啃不如多看PDF手册。学习单片机和学习书本知识不同,现在市面上好书很少,大多都是与开发板配套使用或者是理论太强不踏实。学习单片机我主张的是多看PDF文档,这些PDF主要是单片机的官方数据手册以及相关资料。找资料方面也得注意,不要一下子找几十份文档资料,最后搞的自己也不清楚看哪个了,所以找资料也要有技巧。单片机种类繁多,更新迅速,学每一款单片机就去买本书不大可能。书本上的代码限制了我们的思想,而数据手册就不同,我们根据其根本原理以及寄存器来写出自己的代码,这样既了解单片机的底层也锻炼了自己写代码的能力。在以后学习其他单片机也能通过数据手册快速掌握。

  2.写代码的三个阶段。对学习单片机的过程大致是:抄代码然后是自己写代码最后还是抄代码。刚接触单片机那会去儿抄代码可以理解。如果按照上面介绍的万能步骤学习,当学到定时器的时候就不应该再去抄代码了。如果一直抄代码就不会有半点进步。因为初学者必须自己去琢磨所有的问题。去建立自己的编程风格。当建立了自己的单片机风格那么就到了所说的第二个阶段,在这个阶段算是对程序设计有了一定的感觉,不再是新手了。在第二个阶段后继续往后学习会发现移植的东西越来越多了,自己写出来的底层少了。所以在这个阶段的时候不要感觉别扭,要根据不同的时期调整心态,这就是第三个阶段的抄代码,也可以说是移植底层。

  3.单片机不在多而在精。单片机的种类很多,不可能都学过来。不是学到的单片机种类越多就显得技术越强,单片机之间都有共通点,不然也不会有上面的万能步骤。面对如此多种类的单片机我们该采取什么态度呢。只需要做到精通一款单片机,对单片机的内部了解透彻那么当我们再去学习另一款单片机的时候便会得心应手不会有很多的困难。

  4.读懂时序是关键。学习单片机就肯定会接触很多的传感器,种种传感器让我们做出来的东西都非常有趣。大多单片机爱好者都喜欢去调试各种传感器,懂得了这些就可以做出我们身边比较简单的电子产品,非常有成就感。在学习传感器的过程中我们要抓住重点就是时序图。看懂时序图,然后更具时序图写代码,这样的能力对于单片机爱好者来说是非常重要的。我对传感器归类大致是这几种:

  傻瓜型: 就是单纯检测高低电平的那种传感器。比如:光电传感器

  SPI通信:操作复杂一点的传感器就需要通信来获取有用的数据。比如:角度传感器

  IIC通信:这点与上面的SPI通信的传感器类似,只是通信方式不同。比如:MPU6050

  串口通信:利用串口来通信发送指令。比如GSM模块

  单总线通信:这种通信方式的传感器对时序要求很严格。比如:DS18B20

  单片机的道路是很漫长的,也是充满乐趣的。当有一天发现自己以前玩过的玩具都被自己DIY出来了,肯定很有成就感。大学的生活很自由,喜爱电子的童鞋得沉下心好好的在电子领域闹腾一翻。大学与电子相伴度过,学到了很多也很充实。留下这点经验送给所有电子爱好者。
  1. 本文出处:http://www.eepw.com.cn/article/164527.htm
回复

使用道具 举报

发表于 2013-9-3 13:14:04 | 显示全部楼层
写的好真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-9-3 17:05:39 | 显示全部楼层
写的很好,学习了~~~
回复 支持 反对

使用道具 举报

发表于 2013-9-3 17:45:50 | 显示全部楼层
底层驱动的工程师,都是看官方的Datasheet……看英文资料,是基本功,跑不掉的
回复 支持 反对

使用道具 举报

发表于 2013-9-3 21:10:37 | 显示全部楼层
真棒!!非常感谢

非常感谢,这文章写得真不错
回复 支持 反对

使用道具 举报

发表于 2013-9-12 21:03:47 | 显示全部楼层
学习了  新手的启明灯啊
回复 支持 反对

使用道具 举报

发表于 2013-9-13 11:13:20 | 显示全部楼层
Datasheet 、 时序 ……

从模仿到超越……
回复 支持 反对

使用道具 举报

发表于 2013-10-17 16:35:57 | 显示全部楼层
楼主一看就是高手
回复 支持 反对

使用道具 举报

发表于 2013-11-7 19:54:28 | 显示全部楼层
为什么我什么都看不见???难道是我没有权限??
回复 支持 反对

使用道具 举报

发表于 2013-11-10 19:49:51 | 显示全部楼层
山外哥,永远是领跑者啊!!!
回复 支持 反对

使用道具 举报

发表于 2013-11-12 13:50:55 | 显示全部楼层
比妹子还漂亮,赞一个
回复 支持 反对

使用道具 举报

发表于 2014-6-19 11:33:41 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-6-20 14:54:02 | 显示全部楼层
Admin 发表于 2013-9-3 17:45
底层驱动的工程师,都是看官方的Datasheet……看英文资料,是基本功,跑不掉的

那山外哥 对于时序图 我该怎么去读呢,有没有这方面的书籍?或者资料
回复 支持 反对

使用道具 举报

发表于 2014-6-21 11:46:40 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2015-6-11 11:07:14 | 显示全部楼层
henlihaideyangzi很厉害的样子
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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