我是一个单片机初学者,我想问一下我需要学哪些知识?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是一个单片机初学者,我想问一下我需要学哪些知识?相关的知识,希望对你有一定的参考价值。

我打算学S T M 32这种型号的单片机,但是我有很多知识还不太了解,比如说电路还有编程,还有一些编程软件,比如说keil5这样的软件。 我买了一款单片机里面有教程,但是电路的教程没有,我想问问,如果我想学有关电路的知识,我应该上哪门课?课程的名称叫什么?谢谢大家!

我觉得首先要看懂111条指令,懂意思就行,根本就不需要每一条都记住,因为常用的都只有四五十条罢了。那么多的指令意在可以用多种语句实现同一种功能。
还有就是一定要实际的编程,这一点是非常重要的,只有在实际编程中才能熟悉指令的应用,当然你或许会问自己什么都不懂怎么编程啊,这时候你不要着急,你可以你买一本书,有实际的例子的书,我也见过有这种书但是名字我忘记了,它每个例子是讲得十分详细,有汇编的代码,也有C语言的代码,而且每一行都有注释(名字我忘记了只记得那封皮是黑色的)你可以仿照它的代码写写看,再仿真一下,或者在实际的板子上试试看能不能实现功能,别人的程序修改了能用在自己的板子上那么就是自己的程序了。
至于仿真软件我建议用protues,专用的单片机仿真软件。
如果是自学,那么不懂的地方可以上网收索或者上论坛询问,这里有个单片机的QQ群,是官方建的你可以加上一起学习讨论群号是:7344883
还有在了解指令的同时你要了解你的板子的结构亦即电路连接才能写好你的程序。
当你学到一定程度的时候你可以学习一下单片机的外围电路设计比如液晶显示啊,A/D转换啊什么的....
总之,实际编程练习是学好单片机的唯一途径,至于它和汇编的关系,楼上的哥们儿已解释得十分清楚了的,就不多说了,免得啰嗦。
最后,祝你成功!!!
参考技术A 想学好单片机其实并不困难,单片机是一门实践性非常强的的学科,学习时要理论与实践并重量,现在网上学习单片机的资料比较多,你可到有关单片机的论坛上找找,再次就是有准备必要的学习单片机的一些基本的装备,电脑你肯定有,哪就准备一些实践用的工具器件,如:单片机、相关的电子元件,有备件时购一台单片机学习板,这样的学习板附带的例程非常多,你可以边看例程边实践,这样的学习方法入门比较快,等有了一定的基础后,可以自己动手焊的些简单的板子,检验一下自己的学习效果。学习过程中要学习一定的专业知识,比如数电和模电。单片机语言就学语言C,也可用汇编,根据自己情况而定;不管您要学什么型号的单片机51也好,AVR也好,可以先找一个小的项目例子,比如流水灯一类的做,以提高兴趣。总之学习单片机要持之以恒,不断实践,学习时注意以下几点:
一、新手学习单片机的方法:
1、学习理论知识,了解单片机的基本原理、寄存器、中断、定时器等的基本概念;
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!本回答被提问者采纳
参考技术B 我是一个单片机初学者,我想问一下我需要学哪些知识?
基于STM32单片机,从单片机实验教学的特点出发,基础功能实验电路采用一体化设计方式,创新拓展型实验电路采用独立模块方式,需要时接入主板,既兼顾演示验证性实验、又考虑到综合设计和创新研究性实验的需要。主板上自带CPU编程下载接口,是一款灵活性极强的集编程下载调试与一体的新型单片机实验教学平台,适合各层次学生进行单片机原理和应用方面的实验和创新。

特点

1、完整的实验指导

专门针对此实验箱编制详细的实验指导书,相信您有了专业的单片机开发板和详细的指

导书,会迅速掌握好单片机技术,一定能快速入门,达到事半功倍的效果。

功能模块完全独立

根据我们多年来的开发经验,和取听广大用户的建议,此款开发板采用最新理念——各

功能模块完全独立,互不干扰,减小初学者编程误区。板载丰富的实验硬件资源和接口,并对外全部开放I/O口,既可简单的使用短路帽进行默认的资源连接(方便初学者直接使用),也可以取下短路帽后采用杜邦线连接单片机的任意I/O口线,轻松搭建自己的电路。配合本公司精心编写的大量C语言实验例程,可使用户快速掌握单片机原理及其实用接口技术。同时可加强初学者对主板硬件电路的认识,尽快熟悉硬件电路。

支持多种CPU开发实验

标配STM32F103C8T6核心板,根据客户需求可以选配其它单片机核心板,从而实现对各种CPU芯片的支持扩展。

四、详细硬件配置

4.1实验箱底板

4.1.1单色流水灯模块:8个高亮绿色LED灯

4.1.2双色流水灯模块:6个高亮LED灯,红黄绿三种颜色

4.1.3双色LED灯模块:红绿双色LED灯

4.1.48位数码管模块:2个四位一体共阳极数码管,2个74HC595驱动芯片

4.1.51位数码管模块:1个8段数码管,共阳极,0.56英寸

4.1.6红绿双色点阵模块:3个74HC595驱动芯片,一个红绿双色点阵显示屏

4.1.7LCD1602液晶屏模块:标准LCD1602液晶屏接口,1个带背光的LCD1602液晶屏

4.1.8LCD12864液晶屏模块:标准LCD12864液晶屏接口,支持串行、并行液晶屏

4.1.9OLED显示模块:0.96寸OLED液晶屏,128*64显示(选配)

4.1.10TFT彩屏模块:彩屏接口支持8位、16位TFT,支持触摸屏控制,带背光开关配套2.8寸彩屏,带触屏功能,262K色,8位数据端(选配)

4.1.118个独立按键:8个独立按键,带上拉电阻

4.1.124X4矩阵键盘:4行4列矩阵键盘,带上拉电阻

4.1.13五向摇杆:一个五向摇杆,具有上、下、左、右、中五个方向

4.1.14蜂鸣器模块:无源蜂鸣器

4.1.15DS1302时钟模块:DS1302芯片,模块带后背电池座

4.2传感器模块

4.2.1两路DS18B20模块:两路DS18B20温度传感器接口

4.2.2光敏传感器模块:集成LM393比较器,基准电压可调电阻、模拟量输出接口、数字量输出接口、模拟量指示LED灯,支持光敏二极管、光敏电阻等光电开关器件

4.2.3火焰传感器模块:集成LM393比较器,基准电压可调电阻、模拟量输出接口、数字量输出接口、模拟量指示LED灯,支持火焰传感器

4.2.4霍尔传感器模块:集成LM393比较器,基准电压可调电阻、模拟量输出接口、数字量输出接口、模拟量指示LED灯,支持霍尔传感器

4.3电器控制模块

4.3.1路直流电机接口:ULN2003驱动芯片。一路可调速直流电机接口;一路可调速、可调向双功能电机接口

4.3.22路步进电机接口:2个ULN2003驱动芯片。两个标准5线4相步进电机接口

4.3.32路继电器:ULN2003驱动芯片,两个5V继电器,两个3P接线端子

4.4数据传输、存储模块

4.4.12路串口:SP3232芯片,SOP16封装,+3.0v-+5V工作电压,公头串口座一个,母头串口座一个,状态指示灯4个

4.4.2AT24C02存储模块:AT24C02芯片,SOP8封装

4.4.3模拟量输入模块:0V-5V输入可调,0R-10K电阻值可调

4.4.4串转并模块:74HC164芯片,SOP14封装

4.4.5并转串模块:74HC165芯片,SOP16封装

4.4.6SD卡模块:标准SD卡卡槽,SPI控制,4-bit传输模式
参考技术C 电路知识,分好多层次。
想要了解电路,学学中学的物理的电学部分,即可。
想要使用电路,可学机械类专业的电工学,即可。
想要设计电路,就要学电子专业的《模拟电子技术》、《数字电子技术》、《微机原理与应用》。。。

从我开始学单片机到完成一个智能小车的制作我都需要掌握哪些知识?

10年前,我就是通过智能小车这个项目找到工作,成功入行的。

一些套件的购买记录和当时的笔记,很庆幸还能找到,不然大家以为我是键盘侠。

看了很多不同的文章,具备实际参考意义的不多,最大的问题就是方向错误

首先出发点就错了,如果你一开始就要又要考虑结构、又要考虑硬件、又要考虑画PCB、又要考虑单片机编程、等你做出来黄花菜都凉了。

任何一个项目,哪怕再简单,都涉及到不同领域的专业知识,分别由不同职位的工程师去负责。

整个项目涉及的知识体系,发现没一个你会的,你上来就想吃下整个知识体系,不是白日做梦吗?

不过,即便如此,并不意味着你需要花费很长的时间才能把它做出来。

我从事单片机工作10年,做过很多项目,每个项目对我多多少少都是一个挑战。

有很多让我焦头烂额的问题,毫不夸张地说,每走一步都有问题需要解决,但每次我总能完成。

掌握多少知识不重要,重要的是你的学习方法。

我总结了几个一直屡试不爽的方法,只要这些方法做,2-3个月完全能把智能小车做出来:

1.找现成的开发板

只要你有不懂的,首先不是去网上收集乱七八糟的教程资料,而是到某宝看看有没有相关开发板。

开发板已经把整个项目核心的东西都帮你整理好了,你不再需要像无头苍蝇一样乱撞,直接按开发板学就行了。

2.找懂的人带

曾经我也是一个白嫖怪伸手党,自以为占了便宜,其实白白浪费很多时间,进步龟速。

现在我要学什么,都会考虑到时间成本,毕竟对于一个30多的人来说,时间太宝贵了。

找个懂的人,做过的人带是最快的,但是你要考虑一个问题:为什么别人要帮你?

我经常会碰到一些新手,一上来就问一堆问题,还有就是发一段代码让我帮他找问题,像我欠了他一样。

对于这种人,心情好了我会回一句:我为什么要帮你?

心情不好了,直接拉黑。

一两个问题,别人可能处于热心帮你,但是你一堆问题,谁会无偿帮你?

那去哪里找懂的人带你?

还是可以去某宝,也可以去某鱼,也可以到一些技术群里。

这块不要太抠,除非你自身有被别人利用的价值,否则只能砸钱。

砸多了,以后别人也愿意跟你玩了,有时也不是看钱,真正有能力的根本不会在乎你那点钱。

主要是认可你会做人,谁也不愿意和傻x交往来消耗自己。

从某个层面来看,能花钱找到别人带你,或许会成为你人生的一个机遇。

3.找供应商提供技术支持

这个暂时不适合智能小车这种项目,这里就先不讲了。

以上是方法论,这个主要是认知层面的提升。

下面我再来讲一下术的层面,也就是智能小车制作都需要掌握哪些知识。

前面我们要从一个点入手,也就是先把软件搞定,再向面扩展,比如说硬件设计、PCB Layout等等(看兴趣,一般没必要)。

1.硬件基础

我们的定位决定我们要掌握哪些知识,比如说我是单片机工程师,那我绝对不会去研究硬件如何设计。

一般我也建议先把软件搞定,硬件可以根据你前面购买的那个开发板学习,学到看懂原理图就够了。

比如说以前我那个智能小车是几个MOS管搭建了一个H桥电路去驱动电机。

我们只需要看懂就行了,不用纠结为什么要这样去设计。

其他电路也是一样,以看懂为原则,知道信号怎么输入单片机,单片机怎么控制外围电路哪些接口、协议就可以了。

这个针对性学是最快的,也就是把智能小车的原理图都学懂。

现在开发板一般都有配教程,看着教程看就行了。

2.单片机

以前大多数智能小车都是用STC的51单片机做的,现在还有一些用STM32,因为功能强大了一些。

我建议新手买51单片机开发的就可以了,至少可以HOLD得住。

STM32单片机基本上不会配置寄存器去使用外设,而是直接用库,或者用stm32cubemx图形化配置外设。

这样看起来好像很简单,直接用别人现成的东西,但是不利于新手对单片机底层原理的理解。

这块基础缺失,会导致你以后的路很坎坷,每走一步都是问题,一出现问题无从下手。

51单片机则必须要配置寄存器去使用单片机外设,这样一个项目下来其实提升还是很大的。

单片机和c语言是同步学习的,如果C语言没什么基础,可以看无际单片机编程的教程,是基于单片机平台讲解的,市面上大多数都是基于上位机。

前期不要好高骛远,如果没基础,先从最基本的点灯开始。

把智能小车所需要的外设全部学完以后,再去实现智能小车这个项目的逻辑功能,比如说电机PWM驱动、超声波、红外信号检测等等。

不要一来就去啃整个项目的代码,越看越迷茫,越看越焦虑。

3.学习其他附加模块

智能小车一般是一个主控板(STC单片机外围电路+电机驱动+显示),除此以外要实现寻迹、避障等功能还需要另外加一些模块。

比如说超声波模块、红外寻迹避障模块、甚至是蓝牙模块等等。

主要是学习单片机是用什么协议或接口跟这些模块通讯,获取数据怎么去处理和控制电机。

整个项目的难点或许就在PID算法了,这个取决于你的车方向和速度能否达到极致,能否在最短的时间按照指定的轨迹到达终点。

等你把整体功能完成以后,再去优化PID算法,网上也有很多资料和现成代码,可以参考。

掌握以上几点,基本上就能把智能小车做出来了。

以上是关于我是一个单片机初学者,我想问一下我需要学哪些知识?的主要内容,如果未能解决你的问题,请参考以下文章

大数据需要学编程吗?

学习单片机,通常要学哪些知识点?(附送75块带屏开发板)

初学电脑编程需要啥

51单片机好学嘛?学完51单片机学什么?

电子芯片行业代理商的FAE需要学习哪方面的技术,一般薪水如何,未来发展方向是啥,谢谢您的回答!

自学平面设计需要学哪些软件