技术文档

单片机的概念 什么是单片机?单片机的原理你搞清楚了么?单片机都有哪些应用

小编 2024-11-24 技术文档 23 0

什么是单片机?单片机的原理你搞清楚了么?单片机都有哪些应用

单片机概述

单片机定义: 片半导体硅片集成:中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线。用于测控领域的单片微型计算机,简称单片机。

单片机体积小、成本低,嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家用电器、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。

单片机分类:

(1)通用型单片机就是其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可以全部提供给用户。

用户根据需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其它外围设备,并编写相应的软件来满足各种不同需要的测控系统。通常所说的和本书介绍的是指通用型单片机。

(2)专用型单片机是专门针对某些产品的特定用途而制作的单片机。

30页内容详细介绍单片机(文末有获取)

1000G机械必备设计资料内容详情

这1000G资料涉及的范围很广,具体来说包括机械设计、机械原理、模具、机械加工、材料类、电气行业、各种零件模型和非标等等领域,具体内容有:上千份文档类(各类机械设计手册、液压类手册、自动化类手册等等,所有历史文章的PPT源文件等)、常用的设计工具(一些自动计算表格)以及各类视频教程类,我相信这1000G资料对于提升你的能力一定会有很大的帮助。同时在你工作中遇到相关问题的时候,这些资料也能提供很好的指导作用。

获取方式

什么是单片机?怎么学?怎么用?那请你认真看完本文(勿转载)

一、想快速入门进阶,面向工作时

先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做, 都弄明白了再往一块整合,从简单到复杂,硬件操控起来了也就算对这种单片机入门了吧,软件方面,不管用什么单片机,用什么编译器,区别不大初学的最好还是买个开发板,不 需要多高级的,有几个常用功能做出来,其它就容易了。

关于初学者是否需要弄清底层函数问题:

先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看。

二、进阶步骤

会点灯-入门;

会使用各个常见中断,能把项目做出来-熟练;

会DMA、PWM各种模式,能把项目熟练完成-精通;

会CAN,USB,RS232,RS485,SPI,I2C,运动控制,电机驱动,各种滤波算法,PID算法-非常精通。

三、经验分享

自己的体会,对不对不知道哈。我自己学MCU就是大学里学的51单片机,所有功能会用算是入门槛,后来学习和工作慢慢接触其他的PIC,Freescale,STM这些,慢慢发现其实 东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就 是参考一下手册会调用,底层驱动功能正常就可以了,很少项目里面从零开始写代码了。

四、经验分享

建议:初入STM32的学习者不用记,直接用就行了,这个玩意,实践才能进步;边学边用才是正途,关键是用,不是学。

五、经验分享

可以自己试着完成一个功能,比如简单的流水灯,逻辑肯定自己写,涉及到stm32的比如怎么初始化、怎么配置之内的不会的可以查资料,但是一定要要有自己的思想, 完成了我觉得就算入门了。

六、关于初学者是否要弄懂底层函数

初学者没必要弄懂底层函数。项目需要用到什么再去研究什么。比如你的项目只要点亮一个LED灯,那你只研究怎么配置GPIO就好了,没必要去研究什么PWM了。现在 有个神器叫STM32CubeMX,直接生成一些底层初始化代码,加上HAL库调用,哪里不会再查哪里。底层函数这玩意,你调用多了,自然会去研究怎么配置达到你要做的效果, 在项目中进击,没必要一上来就啃底层,专注你的算法才是真正有意义的事情。

七、经验和观点的分享

我也有思考,如何清晰、系统地学习 STM32,建立整个 Cortex-M 知识体系,以及相应的理论支撑,并最终应用到 Cortex-M 内核 MCU。现有的教程也都没有构建这样的 知识体系,学习、成长路线,所以很多人(包括我自己在内)都会在某个阶段遇到瓶颈。到头来发现自己依旧停留在知道这个点,也会用,会面向百度编程,但一遇到问题需要调试,需要更多的理论支撑的时候,就无从下手了。 另外,STM32 做项目的话,应该也少不了使用操作系统,所以 RTOS 还是需要学习的。RTOS 面又是比较多的,现在又有物联网操作系统的概念

(比如 RT-Thread【物联网相关的软件包非常多】,华为的 LiteOS【官方动作比较小】,阿里的 Aliosthings【WIFi 等模组支持的相对较好】)。 所以,有人能把这套内容整合出来一个学习路线和测试验证知识点,应该会非常好。

八、经验分享(什么时候可以接触项目)(指导的很多方面)

会建立工程点灯就算入门

知道各个外设的基本特性就算基本熟练(定时器 SPI UART IIC SDIO FMC,有需要再看网络和USB) 知道怎么读取、控制外围设备(采样、显示、射频一类的), 会用现有库就算精通(RTOS/UI/存储/网络)剩下的都是工程经验,代码组织、排错、调试一类的,多做就行。 会用串口,能通过示波器看懂SPI/IIC的波形、能输出想要的波形,会输出PWM波,就可以开展项目了,另外是C语言要扎实,有一点总线知识,至少要明白堆栈的含义,知道自己随手定义的变量处在什么section,熟悉数据的内存组织结构更好(这些最好是多做调试多看MDK的Call Stack+local窗口和Watch窗口,看看 数据对应的内存地址和组织方式,对你深入了解语言、CPU有很大好处)。 深入的逻辑、代码组织方式,需要你自己在实践中总结,看别人的源码也是比较不错的方式求快的话,不建议看视频,从PDF教程开始,配合官方的手册对照看。

一个月从0到会走路是没问题的。

关于学习方式:

视频的进度和内容不容易筛选,你只能跳着跳着看,或者1.5倍速完整拉完,跳着看容易遗漏看PDF方便反复查看仔细比对。先看设计大纲,自己理解一遍, 然后针对性地看自己不太理解的的地方,在具体技术细节上配合datasheet,全程都是干货。再自己拿板子跟着走一遍基本就OK了。

九、经验分享

1.芯片只是一个底层工具,当然你只有完全了解你所使用的外设工作逻辑后才可能设计出可靠的底层系统。

2.底层熟悉后,剩下的就是项目的应用问题,算法,协议,应用逻辑等,这个就是行业属性,行业积累。

3.如果说入门,至少知道配置一个外设的完整流程,不一定每一个都要用一遍,只要你知道大概流程,用的时候知道看什么地方就入门了。

十、学习心态方面(关于工作面对项目)

同意你的意见,我觉得搞技术心态很重要,就是蔑视他,不就是什么什么嘛,老子能搞定你 。 如果遇到问题就是天大的事情,感觉自己不行,搞不定。这样即使解决问题了,也只是解决这样一个问题。

本文摘抄自正点原子论坛,如侵权,请联系本人删除 原文链接文末所示

相关问答

单片机 怎么定义i?

在单片机编程中,i通常用来表示循环计数器。循环是一种重要的程序结构,通常用于重复执行一段代码。循环计数器i用于跟踪循环的迭代次数,从而控制循环的执行次数...

大学 单片机 基础定义?

大学单片机的基础定义包括以下几个方面:1.架构:单片机的架构指的是微处理器、存储器、输入输出端口和总线组成的系统结构。常见的单片机架构有8位、16位和32...

急急急!!!什么是 单片机 开发?

[回答]单片机是一块芯片,而由其和其他的外围芯片或器件就构成了一个单片机系统了,通常所说的最小系统就是某个单片机和一些如晶振、复位电路等单片机工作...

单片机的 使用流程?

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

单片机 中的关键字_at_什么意思?有什么作用?

C语言自己没有这个关键字,这个是C51语言对C语言的扩展,_at_的目的是用来定义变量/结构体时固定其在存储器中的位置用的C语言自己没有这个关键字,这个是...

单片机 中什么是函数?

在单片机中,函数是一段可重复调用的代码块,用于执行特定的任务。它接受输入参数并返回输出结果,可以实现各种功能,如控制IO口、处理数据、执行算法等。函数的...

单片机 和普通pc计算机的区别是什么?

单片机和电脑是两个概念,单片机是一块芯片,而电脑是一台机器,一套硬件系统的集合;单片机的内存在芯片内部,即指的是ram,当然有的单片机也可以外接ram,像51...

单片机的 位数是怎么定义的?

单片机的位数指的是数据总线的宽度,8位机即指单片机的数据总线为8位,总线上一次能并行传送8位数据,也就是RAM的位数。有8位单片机,有16位单片机,有32位单片...

单片机 中特殊功能寄存器TCON和TMOD中文是什么意思?

TCON:定时器/计数器控制寄存器可以通过设置此寄存器里面的相关位,让定时器开启或关闭(TR0、TR1,1:开启,0:关闭),可以在主程序中,通过查询其中的相关位...TCON...

单片机 中的sbit=0x90中的0x和90分别指的是什么是什么意思?

这个是C51单片机特有的语句之一。sbit是C51扩展的变量类型,用来定义特殊功能寄存器的位变量。P1_0指的是芯片管脚上的标准输入输出管脚1.0。由于P1.0并不是...

猜你喜欢