如何又快又好的学习单片机?

描述

很多想学单片机的人问的第一句话就是:“怎样才能学好单片机”?今天和大家讨论对于如何开始学单片机、如何开始上手、如何开始熟练这些问题。

第一关:看书了解单片机功能

先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。怎么样才能更快的学会单片机这门课?单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器。

换句话说,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低,由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。

至于看书,只需大概了解单片机各管脚都是干什么的,能实现什么样的功能,开始看书时你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以学单片机看书看两三天的就够了,两三天内看两三遍不用仔细的看,大概了解一下书上的内容,然后实践,这是非常关键的。

第二关:实践练习单片机

你不实践那是不可能学会单片机的,关于实践有两种方法可以选择,方法一:自己花钱买一块单片机的学习板,不需要功能太全,对于初学者来说功能非常多的板子,上面有很多东西你这辈子都用不着。

建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,有这些就差不多了。如果上面提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。

方法二:你身边如果有单片机方面的高手,可以向他求助,让他帮助你搭个简单的最小系统板。对于高手而言,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了才能熟练运用。而如果找不到可以帮助你的人,那么最好是自己买上一块,毕竟自己有一块要方便的多,在以后做单片机类的小实验时也都能用得上。

有了单片机学习板之后要多练习。把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,然后让数码管亮起来,这两项会了后,也许你就会开始考虑你这辈子要走哪一行了。

就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时再去翻书找或是问别人,当得到解答后你会记住一辈子,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用。

第三关:学习编程语言

另外再说说用汇编和C语言编程的问题,单片机编程用C语言或汇编语言都可以,但是建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,你一点汇编都不会可能根本无所谓,但你一点C语言都不会那将来也许会吃苦头。

汇编写程序代码效率高,但相对难度较大而且很繁琐,尤其是遇到算法方面的问题时,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码。因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下C语言写的任何代码,并且C语言的资料又多又好找,将来可移植性非常高,只需要改变IO口,写个温度传感器的程序在哪里都能用。

学习编程步骤:

找本书大概了解一下单片机结构,大概了解就行,不需要都看懂(三天)

找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书(二十天)

网上找些小电路类的资料练习设计外围电路,焊好后自己调试,熟悉过程 (十天)

单片机的学习实践步骤

使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

1、I/O的使用

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能。

虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点。

2、定时器的使用

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实 现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。

数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。

3、中断

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情。

要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能。该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。

中断功能使用中的困难是:需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断)、需要设置哪些寄存器才能使某种中断起作用、中断开始时程序应该干什么、中断完成后程序应该干什么等等。

4、与PC机进行RS232通信

单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。

USART接口的使用是非常重要的,通过该接口可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,是多么有趣的事情。

5、学会A/D转换

MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。使用A/D转换功能的简单的例子是设计一个电压表。

6、学会PCI、I2C接口和液晶显示器接口

这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。

7、学会比较、捕捉、PWM功能

这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。如果以上七步都学会,就可以设计一般的应用系统了。

当然,每个人的方可能是不一样的,欢迎过来人说说自己的经历!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分