入门课程
2.1 51单片机
讲道理,目前Proteus仿真软件确实很强大,使用它学习51的书籍,教程,示例十分的多,非常适 合学习。
但我还是建议真心学习的的话,去淘宝上淘个实物开发板和模块,学生党经济能力一般的 就上闲鱼,买个二手板子,包邮不超过50。
为什么建议买实物呢?
因为Proteus仿真毕竟是仿真, 对于很多硬件上的电压、信号时序等要求不像实际电路严谨,或者说不够严苛。就好比i2c时序不是 很符合从机的要求也能正常通信,但同样的程序放到实物单片机上就很有可能i2c通信不上。
这里再顺带手的介绍下51主要学习些什么?以及简单的学习步骤:
创建工程,学会如何编译,如何下载,理解sbit,sfr等51单片机特有的寄存器数据结构
假设使用的STC系列的单片,要学会去STC官网(**.com)下载官网资料,数据手册文档。官方下载工具、电路参考设计等资料。(从芯片厂商官网上获取学习的资源也是一项很重要的能 力),或许51这样的单片机资料太多,基本你想要做的东西,别人早就做过了,官网的资料早就变成千万的人的博客**,但以后学习一些不是热门的处理器,官网的资料就显得很权威也很重要了。
学习51单片机的IO模块,使用IO点灯(流水灯)、控制数码管、控制8*8点阵模块、按键输入。
学习51单片机的中断模块,先从最简单的外部中断,使用中断的方式识别按键事件。
学习51单片机的定时器模块,实现1s定时,实现简单的数字秒表,实现IO口输出PWM波。
学习51单片机的串口模块,掌握串口电平标准,TTL、RS232、USB电平标准,掌握串口波形组成,掌握波特率,多主机通信等概念。
51基础模块学习完了后,就可以学习扩展模块了。可以使用IO口模拟各种各样的低速总线协议, 如i2c协议、spi协议还有一些特定模块自定义的协议,如DS18B20温度传感器的单总线协议,加深对协议的理解。
学习的过程可以通过买该协议对应的模块进行学习,尽量挑网上教程多的模块 买,如i2c就买eeprom和mpu6050,spi就买flash。
学到这里,就可以做点小东西了,比如说旋转LED,循迹小车,遥控小车。最开始就跟着网上的 教程学习,学习的第一步总是从模仿开始的。先模仿,再理解,再改进,最后吸收转化为自己的能力。
建议上述过程多花点时间,做到绝大部分地方都能搞懂,都能够理解。毕竟是基础,后面的学习是 在其上进行扩展,基础学的好,后面有着触类旁通的功效。
2.2 微机原理(可选)
一般的小伙伴这个时候就会开始上手STM32了,但是我建议在上手STM32之前,先看看8086处理 器的设计,即学习下《微机原理》这门课,我觉得还是很有必要的。
微机原理,可以大概的了解的,CPU如何执行指令,如何通过地址总线、数据总线、控制总线访问内部寄存器,外部存储器, 中断如何被响应,以及中断的具体内部处理过程。
2.3 STM32
接下来可以安安心心的学习STM32了,这个就比51要复杂了。但是不慌,本质和51是一样的东 西,只是功能模块变复杂了,模块数量变多了。但是万变不离其宗,本质上模块无非就是组合逻辑 或者是时序逻辑电路,而模块寄存器就是该逻辑电路的输入。
我们只要看懂模块框图,将框图中的 配置和相应的寄存器对应上,学习就是一样的。
stm32单片机,推荐购买野火或者正点原子的开发板学习,并非打广告,而是教程确实讲的好。这个跟着视频一个一个模块学习就可以了。或者以作品为导向,做个平衡小车,OLED时钟等小玩意。
2.4 数据结构 & RTOS
裸机程序做完了就可以学学rtos小型的嵌入式操作系统了,野火和正点原子都有出书籍和视频教程的。
学习RTOS之前,有需要的同学可以自行考虑下要不要学一下数据结构,不一定要学的很深, 最起码队列和栈结构要了解,最好的话自己用c实现一遍。
2.5 PCB 绘制 & DIY 小作品
单片机这种简单的小板子推荐使用国产的 LCEDA。Altium Designer 更专业,但是是收费软件, 替代方案为 KiCAD。
STM32 功能模块比较多,如果全部都学的话自然是最好的,但是怕单单是学习慢慢的会觉得无趣 (看视频教程、分析源码、自己实现一遍、接着开始下一个知识点也是上述三个步骤),久了怕人会坚持不下来,渐渐的消磨了学习的激情。
因此,学习STM32我建议以项目为导向,当然一些基本的 GPIO、中断、i2c、LCD、Touch、ADC、TIMER等外设还是要先熟悉的。
STM32可以做的东西就 多了。大家可以在知乎上或者在各大电子论坛上搜索下有意思的电子小东西,挑自己感兴趣的做。
比如说我比较感兴趣的有:
1. 可调电子表 2. 自平衡小车 3. 四旋翼飞行器 4. 旋转LED 5. 红外遥控 复制器 6. 自制STM32仿真器 7. NES游戏机 等等等。
既然以作品为导向,那自然也就需要自己打板了。
打板子的,最近嘉立创在搞活动,真的好便宜呀,5元5片,全国包邮。打板的话,需要学习下 Altium Designer 软件,从此开始制作属于自己的小玩意。
AD的资料网上也很多。我是看的郭天祥的AD6.9视频入门的。目前国产的立创 EDA 出了专业版,画画简单的电路板还是没有什么问题的。
DIY 的话,Arduino 也可以考虑,有 C 基础就可以轻松上手。
|