如何学习单片机?

把这几个功能学透,你就掌握了单片机单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握C语言当中各个功能的初始化、启动、停止各类函数的编写调试。那么想要掌握单片机需要从哪几个方面入手呢?1. 数字I/O的应用在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。

通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。

单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。2. RS232串口通讯单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。

UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。对于无法在线调试的单片机,也可以通过PC机的串口调试软件来监视到单片机实验板的数据。3. 定时器的使用学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。

时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。

4. 中断在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。

中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……比如,中断功能可以使单片机吃着碗里的,看着锅里的。

根据传说中的8020定律,如果掌握了上面提到的这四步,那么就说明已经学会单片机80%的内容了。5. I2C,SPI通信单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。

6. 比较、捕获、PWM功能比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。7. AD模数采集单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。

学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。8. 学习USB接口、TCP/IP协议、工业总线目前主流的通讯协议为:USB协——下位机与上位机高速通讯接口;TCP/IP——万能的互联网使用的通讯协议;工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。

51单片机开发板有什么好的推荐?

51单片机是单片机学习入门的首选,经过三十年多的发展51单片机已经做得很成熟,成本低,操作方便,资料丰富。虽然多数公司都用32位或者更高级的芯片去做产品,但是不可否认,51单片机依然是最好的入门级单片机。51单片机开发板种类繁多,价格便宜,板载资源丰富,但是这也导致了资源同质化比较严重,资料丰富性也良莠不齐。

在这里不具体推荐开发板型号,只从几个方面具体讲解一下如何选择开发板。1.选择外设资源丰富的开发板利用开发板学习单片机的目的,就是因为板子上集成了常用的外设电路,省去了自己搭电路的麻烦,所以板子上的资源一定要丰富,单片机的各接口扩展出来,方便用杜邦线自己搭电路。2.选择例程注释清晰的开发板利用单片机开发板除了学习外设电路的设计思路外,更重要的是学习如何编程。

开发板厂家会提供外设电路相关的例程,在买之前一定要询问清楚,例程的代码注释是不是清楚。清晰的例程注释可以大大提升学习效率,而且更能培养良好的编程习惯。3.选择有技术支持的开发板刚开始学习单片机时,会遇到很多不懂的问题,如果有人能稍微指点一下,学习起来事半功倍。所以售后/技术支持很重要,厂家一般会建立一个交流群,或者注册一个论坛,大家在群里或者论坛里发帖交流,售后/技术支持提供技术答疑。

会51单片机,如何快速学习使用STM32单片机?

谢谢邀请,我是大学读的电子信息工程,最开始也是学习的51单片机,用51单片机做过几个小实验,毕业后,工作需要,做过半年AVR,然后又因为项目需要,就转到stm32单片机了,当时学习STM32是自学摸索,所以在学习STM32,我有自己的看法。STM32的固件库,除了启动文件.S文件,其他的底层,其实是使用寄存器地址,映射到相关的位置,然后使用结构体定义,用指针替代,最后形成对应的寄存器,比如GPIOE-


文章TAG:单片机  视频教程  论坛  
下一篇