单片机的学习无外乎两方便.一,电路 。二,编程语言。
先说电路,说到电路不得不提三本书。模电,数电,电路。可以说这三本书是学习电路的必经之路,学好这些,即使你不学单片机也可以找到一份薪资满意的工作。当然现在大公司工作都是分工明确的,做电路的就做电路。单片机编程的就做编程。不过能进大公司的还是少数。大部分小公司要求你全能,也就是说一个项目你要从芯片的选型,到外围电路的搭建,最后I/O口的定义,程序的编译调试,最后PCB板的制作,焊接,调试等等,你都要掌握。当然你的工资也是客观的。我的意思是学习单片机最好是要学习电路。
接下来学编程语言,单片机的编程语言是结构化的C语言。C语言的学习也不是那么容易的,至少指针就够你迷糊一段时间的。学习C你可以先系统的学习一段时间,做一些练习,不用着急去将它应用到单片机上。
学习单片机需要动手,不是照着课本去死记硬背。
所以学习单片机的第一个概念:确定好所学习的单片机具体型号。
比如说,你要学习51单片机,你所确定的型号是STC89C52,这款单片机虽然比较老了,但是依然具有学习价值,DIP40封装的STC89C52单片机如下图所示:
或者你选择STM32单片机学习,比如STM32F103C8T6,LQFP48封装的单片机如下图所示:
确定了单片机的具体型号之后,出来第二个概念:确定使用的编程环境。
在单片机学习初期,我们可能会弱化做PCB板子的概念,但是编程的概念一定要强化。所以在初期你手里如果有一块单片机的开发板是很有必要的。
编程环境是由所选择的单片机来确定的,比如说前边两款单片机都可以使用keil来编程,所以你要安装keil的编程环境,keil4的启动界面如下图所示:
编写好的程序,如何下载到单片机去执行?所以第三个概念:下载器。
下载器的选择也是有单片机的型号来确定的,以上两款单片机都可以通过USB/TTL或者是JLINK来下载,但是这里优先推荐JLINK,因为JLINK可以实现单步调试,大大提高学习效率,方便定位、解决问题。JLINK的图片如下所示:
经过以上三个概念后,你就可以认真学习单片机了,该学习哪些内容?
1. GPIO:就是学习单片机引脚的控制方法,将引脚配置输入或者输出,比如说:点亮发光二极管、控制蜂鸣器发声、控制继电器吸合、控制按键输入、点亮数码管等;
2.定时器:学习单片机的片上资源timer,学习如何配置timer,如何设置初值,比如说:发光二极管定时闪烁、数码管显示的数值定时自加等;
3.UART:学习单片机的UART功能,学习RS232通讯,比如说:单片机发送字符用串口调试助手在电脑上显示;
4.IIC:学习IIC通讯,比如说用AT24Cxx系列实现数值的掉电保存功能;
5.AD采样:学习模数转换知识,比如说:调节滑动变阻器,改变所采集的电压,实时显示此时的电压;
初次之外可能还有:SPI,液晶屏、点阵、外部中断、D/A等,等你学到这里,你就可以根据自己的想法实现想要的功能了。