单片机学习起来其实不难,反而是一件比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起。
学习单片机需要动手,不是照着课本去死记硬背。
所以学习单片机的第一个概念:确定好所学习的单片机具体型号。
比如说,你要学习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等,等你学到这里,你就可以根据自己的想法实现想要的功能了。
以上就是我的观点,写了有半个小时的时间,如果您有更好的方法那就留言讨论吧。