数码之家

 找回密码
 立即注册
搜索
查看: 1427|回复: 3

[C51] 怎样才能学好单片机?

[复制链接]
发表于 2019-11-4 17:16:38 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
很多想学单片机的人问的第一句话就是怎样才能学好单片机?和大家讲讲如何开始学单片机,如何开始上手,如何开始熟练这个过程。



步骤:
1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)

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

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

4.自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。 。。。。


看到了吗?下功夫一个多月你就能成为高手,就讲这么多了,学不学得会,下不下得了功夫就看你的了。

  很多人说,学单片机最好先学汇编语言,经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。
  单片机的学习实践。
  单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。





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

第一步:数字I/O的使用

  使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。

第二步:定时器的使用

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实 现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数 字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。

第三步:中断

  单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。

以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

第四步:与PC机进行RS232通信

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

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

第五步:学会A/D转换

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

第六步:学会PCI、I2C接口和液晶显示器接口

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

第七步:学会比较、捕捉、PWM功能

这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计????

学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。

推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的

打赏

参与人数 1家元 +20 收起 理由
邓穿石 + 20 謝謝分享

查看全部打赏

发表于 2019-11-4 17:37:36 | 显示全部楼层
会C语言,懂基本电路,学下51,8位机就基本没问题了,32位机要另外学点,51是基础了,会了基本再学其他就会简单很多,虽然我是avr入的门:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-4 18:22:54 | 显示全部楼层
ww5223017240 发表于 2019-11-4 17:37
会C语言,懂基本电路,学下51,8位机就基本没问题了,32位机要另外学点,51是基础了,会了基本再学其他就会 ...

很优秀哦,小哥哥。:shocked:
回复 支持 反对

使用道具 举报

发表于 2019-11-4 18:45:38 | 显示全部楼层
不太敢认同,而且这样写会给新入门的朋友一些误解。您所说的这些应该说是刚刚入门单片机而已。
本人用过51核,增强型51核,M0,M3,M4,全志f1系列,FPGA…………,用过的意思是用来做量产的产品每种不低于20款,到目前为止不敢说哪一方面是高手,因为单片机实在太多东西了,当然国产的51核的soc除外。
个人认为单片机不单单是敲一敲代码或者单纯复制粘贴,要懂模拟电路,数字电路,要有一定的编程思想,这样才能有自己所谓的风格。【代码风格另当别论】
个人乱写,拍砖请轻点。思想交流随时欢迎。

打赏

参与人数 1家元 +20 收起 理由
邓穿石 + 20 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-18 22:06 , Processed in 0.249600 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表