很多想学单片机的人问的第一句话就是:“怎样才能学好单片机”?今天和大家讨论对于如何开始学单片机、如何开始上手、如何开始熟练这些问题。
第一关:看书了解单片机功能
先说说单片机,一般我们现在用的比较多的的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、中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情。
要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能。该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。
中断功能使用中的困难是:需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断)、需要设置哪些寄存器才能使某种中断起作用、中断开始时程序应该干什么、中断完成后程序应该干什么等等。
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,是多么有趣的事情。
5、学会A/D转换
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作vwin 量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。使用A/D转换功能的简单的例子是设计一个电压表。
6、学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
7、学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。如果以上七步都学会,就可以设计一般的应用系统了。
当然,每个人的方可能是不一样的,欢迎过来人说说自己的经历!
-
单片机
+关注
关注
6035文章
44554浏览量
634577 -
寄存器
+关注
关注
31文章
5336浏览量
120224
原文标题:如何上手学习单片机?又快又好?
文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论