学习单片机的几点经验之谈
1、学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;
2、学习计算机硬件知识,如计算机的简单组成原理,要知道CPU、总线等的一些基本概念;
3、学习C语言的编程知识,了解结构化语言的程序设计方法,懂一些常用的算法,比如冒泡排序、中值算法等;
以上是基础,有了这些基础,学习单片机就只要花几周的时间就能上手。但学习单片机时,主要从单片机的寄存器开始,其中特殊功能寄存器是重点,学会之后,就可以学习单片机的基础部分了,主要是四个部分:单片机I/O口的使用、中断的使用、定时器的使用、片上资源的使用。这些部分都可以用软件仿真(可以用proteus软件),注意软件仿真跟实际电路存在区别,软件仿真仅仅用来验证一下功能是否实现,并不能取代实际电路。
单片机加强篇
1、可以买一块单片机开发板,结合提供的原理图和例程学习单片机的外设电路和片上资源的编程,每学习一个功能块,就要把这个功能块搞懂,切忌三天打鱼两天晒网,用学习板的弊端就是全靠自觉无人监督很容易让板子压箱底;
2、修改例程,以学习板为载体,自己新建编程工程,用自己的编程思想让外设电路实现想要的功能,程序是灵活的,每个人都有不同的编程思想,多试几种方法,提高程序的执行效率,锻炼自己的编程能力;
单片机进阶篇
1、学习硬件是一件非常烧钱的事情,这不同于纯软件编程和网页设计只需要一台电脑和一个编程环境就能实现,硬件学习需要设计做电路板、买元件、买调试工具,所以学习硬件就要做好烧钱的心理准备。为了进阶,你要自己设计电路、做板子、写程序;
2、加入实验室的项目,学习是一个宽范围的事情,以学懂为目标,但是你不知道到底该学多深;做项目是一个深钻入的事情,以实现功能为目标,为了实现目标、为了节省成本你可能要抛弃很多现有的方案,而深入研究下去,这能使你在该领域快速积累经验;
3、深钻研,硬件的范围非常广,你可能是USB通讯协议领域的专家,但你不一定了解CAN总线;你能在短时间内做好ZigBee,但你不一定能很快搞定WIFi;所以,一定要把一个项目深入下去,与别人在沟通交流的时候要心诚。
最后分享些参考资料便于后期学习参考
ZigBee开发
http://www.makeru.com.cn/live/4034_1820.html?s=45051
概念这么多,我该如何学
http://www.makeru.com.cn/live/4034_1461.html?s=45051
(stm32串口应用)
http://www.makeru.com.cn/live/1392_1164.html?s=45051
(stm32直流电机驱动)
http://www.makeru.com.cn/live/1392_1218.html?s=45051