0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何从内到外了解单片机

我快闭嘴 来源:集贤网 作者:墨尔本晴 2020-01-24 17:03 次阅读

单片机其实并不是很难,很多人在学习单片机的时候觉得很难主要还是没有掌握学习方法,不知道该如何下手,对于学习单片机需要什么基础也是模模糊糊的,所以才会觉得难,学不动。
一、如何学单片机如何从内到外了解单片机

学习单片机需要动手,不是照着课本去死记硬背。

所以学习单片机的第一个概念:确定好所学习的单片机具体型号。

比如说,你要学习51单片机,你所确定的型号是STC89C52,这款单片机虽然比较老了,但是依然具有学习价值,DIP40封装的STC89C52单片机如下图所示:

51单片机

或者你选择STM32单片机学习,比如STM32F103C8T6,LQFP48封装的单片机如下图所示:

STM32单片机

确定了单片机的具体型号之后,出来第二个概念:确定使用的编程环境。

在单片机学习初期,我们可能会弱化做PCB板子的概念,但是编程的概念一定要强化。所以在初期你手里如果有一块单片机的开发板是很有必要的。

编程环境是由所选择的单片机来确定的,比如说前边两款单片机都可以使用keil来编程,所以你要安装keil的编程环境,keil4的启动界面如下图所示:

keil

编写好的程序,如何下载到单片机去执行?所以第三个概念:下载器。

下载器的选择也是有单片机的型号来确定的,以上两款单片机都可以通过USB/TTL或者是JLINK来下载,但是这里优先推荐JLINK,因为JLINK可以实现单步调试,大大提高学习效率,方便定位、解决问题。JLINK的图片如下所示:

jlink

经过以上三个概念后,你就可以认真学习单片机了,该学习哪些内容?

1. GPIO:就是学习单片机引脚的控制方法,将引脚配置输入或者输出,比如说:点亮发光二极管、控制蜂鸣器发声、控制继电器吸合、控制按键输入、点亮数码管等;

2.定时器:学习单片机的片上资源timer,学习如何配置timer,如何设置初值,比如说:发光二极管定时闪烁、数码管显示的数值定时自加等;

3.UART:学习单片机的UART功能,学习RS232通讯,比如说:单片机发送字符用串口调试助手在电脑上显示;

4.IIC:学习IIC通讯,比如说用AT24Cxx系列实现数值的掉电保存功能;

5.AD采样:学习模数转换知识,比如说:调节滑动变阻器,改变所采集的电压,实时显示此时的电压;

初次之外可能还有:SPI,液晶屏、点阵、外部中断、D/A等,等你学到这里,你就可以根据自己的想法实现想要的功能了。

二、学单片机需要什么基础

1、首先要学习C语言基础,就相当于80%会单片机了,因为现在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C语言。

2、听起来单片机比较陌生,不是因为不懂,而是不知道方法和流程。现简单说说,仅供参考;

3、先看内核8051的单片机:***宏晶的STC89C51-DIP40/或其它如新茂,到网上买一个开发板,价格不会超过200元。

4、看一下单片机功能:包换内部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。

5、编译环境、编程软件KEIL。

6、打开开发板的例子程序,在KEIL编译,下载到板,看结果和说明是不是相符,达到这样效果时,心里肯定很激动,这时真正学会了单片机,成功了。

7、然后再学会看电路图,电路图其实很简单,就是一根线从一个地方连接到另一个地方,写代码时,只记住单片机是哪一个管脚,然后对它写代码即可。

单片机书籍推荐

1、编MCS-51单片机应用设计

哈尔滨工业大学出版社 张毅刚

此书主要以汇编语言为主,对单片机内部结构介绍较详细,初学者可选择本书。

2、8051系列单片机C程序设计完全手册

人民邮电出版社 求是科技

此书主要讲了单片机的C语言编程及很多例子,可参考,是一本非常好的书。

单片机学习方法推荐

1、万事开头难、要勇敢迈出第一步。

开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。

然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。

必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。

2、知识点用到才学,不用的暂时丢一边。

厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

3、程序不要光看不写,一定要自己写一次。

最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。

4、必须学会掌握调试程序的方法。

不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。

这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。

5、找到解决问题思路比找到代码更重要。

我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。

不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。

我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。

6、开动脑筋,运用多种方法,不断优化自己的程序。

想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

7、看别人的代码,学习人家的思路。

这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。

8、尝试编写一下综合应用的程序。

从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易。

因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。

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

    关注

    455

    文章

    50761

    浏览量

    423368
  • 二极管
    +关注

    关注

    147

    文章

    9635

    浏览量

    166387
  • 单片机
    +关注

    关注

    6036

    文章

    44555

    浏览量

    634912
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93710
收藏 人收藏

    评论

    相关推荐

    单片机必须了解的外设功能——定时器/中断功能

    上一期《单片机必须了解的外设功能——GPIO/串行通信》中,我们了解单片机的外设功能的结构和使用方法,本文主要介绍单片机必须
    发表于 09-09 11:14 7372次阅读

    51单片机教案

    51单片机教案:教 学 目 的 1. 掌握单片机的组成2. 理解单片机的特点3. 了解单片机的应用领
    发表于 02-10 18:01 185次下载

    AVR单片机的基本组成

    单片机是构成单片机嵌入式系统的核心器件。本章首先将介绍一般单片机的基本组成和结构,使大家对单片机的硬件有基本
    发表于 07-07 01:08 44次下载

    基础训练篇--初识单片机

    开发单片机应用系统需要哪些软硬件环境的支持呢?该项目芯片开始,通过观察给人以直观认识;再采用跟我做的方式,体验开发环境的使用方法。在实际操作中由零到整、由到外
    发表于 04-19 20:33 202次下载

    单片机原理及应用实验教程

    各种单片机的实验,可以供广大的单片机发烧友实验以增加自己对单片机了解和能力的提升。
    发表于 10-29 17:08 23次下载

    单片机初学者迈向单片机工程师

    单片机初学者迈向单片机工程师从单片机初学者迈向单片机工程师
    发表于 01-15 16:33 45次下载

    认识和了解51单片机

    第一课 认识和了解51单片机 - 01,感兴趣的可以看看。
    发表于 06-15 14:22 22次下载

    常用单片机有哪些?几种常用单片机了解多少?详细资料概述

    ATMEL公司的AVR单片机,是增强型RISC载Flash的单片机 Motorola单片机: Motorola是世界上最大的单片机厂商
    发表于 09-13 15:52 6次下载

    你真的完全了解单片机了吗快来快速了解单片机

    本文档的主要内容主要是为了让你完全了解单片机主要包括了:1 了解单片机的基本结构与应用,2 了解单片机
    发表于 02-20 14:05 1次下载
    你真的完全<b class='flag-5'>了解</b>了<b class='flag-5'>单片机</b>了吗快来快速<b class='flag-5'>了解</b><b class='flag-5'>单片机</b>吧

    单片机的详细资料概述

     介绍单片机概念、发展历史、应用领域及发展趋势 1. 掌握单片机的概念、基本组成。 2. 了解单片机的发展历史、发展趋势。 3. 了解
    发表于 07-20 08:00 25次下载
    <b class='flag-5'>单片机</b>的详细资料概述

    单片机进行开发的步骤有哪些

    在工业实际中应用单片机,除了对单片机本身的这些了解外,人们最关心的问题就是单片机产品研制和开发。对于一个单片机应用系统,
    发表于 07-21 10:46 1.1w次阅读

    单片机编程原理_单片机的应用

    在正式进入今天的主题单片机原理之前我们首先要了解单片机是一个什么样的事物,以及特性和应用只有在了解透彻了之后再分析单片机原理的时候会有一定的
    发表于 09-25 15:36 2833次阅读

    增强型51单片机和传统51单片机对比分析

    前面的内容,我们传统的51单片机出发,硬件的基础上,一步步衍生出了增强型51单片机所增强的地方。现在我们可以清楚地了解,增强型51
    的头像 发表于 01-17 14:35 5282次阅读
    增强型51<b class='flag-5'>单片机</b>和传统51<b class='flag-5'>单片机</b>对比分析

    沐渥科技带您了解什么是单片机单片机的组成部分有哪些?

    近年来消费类电子产品市场百花齐放,各种各样的产品让人目不暇接,很多人不清楚这些电子产品是用什么做的,下面让我们和沐渥科技一起探讨一下电子产品的核心控制器—单片机了解一下单片机开发的重要性。
    的头像 发表于 07-21 16:43 1028次阅读
    沐渥科技带您<b class='flag-5'>了解</b>什么是<b class='flag-5'>单片机</b>?<b class='flag-5'>单片机</b>的组成部分有哪些?

    8051单片机和PIC单片机的区别是什么

    8051单片机和PIC单片机都属于单片机的一种,8051单片机和PIC单片机在不同的架构和不同的指令集、速度、转换、内存、功耗、总线宽度等方
    的头像 发表于 07-07 11:31 2253次阅读