本来打算给你找一些资料的,但我想给你一些有限的资料还不如给你谈一些我的单片机学习经历,这方面的资料网上也是成堆的。我自己从接触单片机到现在已经一年了,期间接触的有:51、AVR、STM32、FPGA,不论是从我自身还是从我身边的一些人来看,单片机的学习还是有规律可寻的,那么就给你谈一下我是怎么学的吧。
一、硬件环境搭建
我接触单片机是从大一下学期开始,虽然我的学校是所专科学校,但学校却有个非常不错的社团:无线电协会(www.wxdxh.net),协会有比较完善的学习条件,有各种学习开发板,其中就有51开发板,我们用的是SST89E516RD,用它的时候需要事先烧录引导码,是用专门的烧录器烧录的,之后我们又自己买了仿真器,就这样学习单片机的硬件环境搭建起来了。当然,这里我只是拿自己举例,你要学的话,可以选择其他你比较熟悉的型号,或者是自己买个开发板,买的开发板里面都有学习光盘,里面的学习资料非常丰富,完全可以满足初学。
二、软件环境
有了硬件之后接下来就是单片机编程,单片机编程是需要编译环境的,51比较常用的是KEIL:
目前较高的版本就是KEIL4,你可以自己做出选择,这个软件在网上可以很容易找到的,如果你买开发板的话,里面一般都带有这个软件,而在编程之前需要一定的语言基础,单片机编程主要用到有C语言和汇编,如果你有C语言基础的话,直接用C编程会更加容易些,刚开始的话需要看一些相关的书籍,除了C或者汇编之外,还要有单片机基础,这类的书也是比较多的,你可根据自身情况进行选择,有介绍C编程的也有用汇编的,我刚学时是用汇编,其实我当初并不清楚为什么要先学汇编,只是从协会长期的学习经验上得出的,这些也只有到后来才能体会到。
三、下一些实例,改程序!
买的开发板光盘资料里面一般都带有例程,下载到开发板里面就能用,在他例程的基础上你可以进行一些改动,可以先从最简单的控制LED开始,刚开始学基本上都这样,即便是以后学习ARM等,等自己熟练后就可以依照自己的思路编程序了。
四、单片机外围电路设计
单一个单片机是做不了什么的,要实现一些功能是需要和外设进行连接的,这就牵涉到外围电路的设计,对一些原理性的东西可以用一些仿真进行仿真,常用的有EWB,还有:
这类软件网上也都有,软件使用也比较简单。还有一些画电路板的软件,例如:DXP:
,当然还有其他一些画电路板的软件,你可根据需要进行选择。
五、做一些题目提升自己!
当学习单片机一定程度后可以试着做一些比较系统的东西,比如一些电赛的题目,进一步提升自己。
以上是自己学习单片机的一些经历吧,希望能给你一些帮助。
资料,没有最好,只有更合适的。
老A
于2012年5月11日