设计与开发

单片机 查询方式 初学者如何快速上手单片机

小编 2024-10-06 设计与开发 23 0

初学者如何快速上手单片机

(此处已添加圈子卡片,请到今日头条客户端查看)

单片机的学习者有初入职场的菜鸟工程师,有渴求知识的在校大学生,也有迫于项目需求的电子工程师。迫于项目需求转换开发平台的电子工程师往往具备其他类型单片机的使用经验,学习新类型的单片机并不会有太大的障碍,但是菜鸟工程师和在校大学生就是真正的“初学者”。初学者在开始学习单片机的时候都有一个相同的问题那就是“怎么才能尽快地学会使用单片机?”

菜鸟工程师由于身边有“老兵”的指导,加之有目的明确的工程项目的驱动,在单片机学习上并不会走太多的弯路。在校大学生在学习之初,首先要面对的就是“迷茫”,空有一腔热情,却不知如何下手。

在学习单片机之初应当有一些基础知识准备。单片机是电子技术发展到一定程度才出现的产物,本身就是众多电子技术的结晶,对其中一些知识的了解是学习单片机所必需的,所以网络上经常出现的“零基础”学习单片机是不客观的说法。在学习单片机之初,应该具备基础的电路知识,主要包括基本的数字电路和模拟电路知识。比如,在学习单片机的I/O口时,就会涉及数字电路知识中I/O口电平、施密特触发器等内容;在学习单片机的ADC通道时肯定会涉及信号带宽等模拟电路方面的内容。在学习单片机之前不苛求必须有深厚的电路功底,但是常识性的电路知识是不可或缺的。

学习单片机的很大一部分工作是学习单片机的编程,简单地讲就是编写代码控制单片机的工作流程。目前,绝大部分的单片机开发工具都能够支持C语言,并作为单片机的开发语言,也有人推崇使用汇编语言作为单片机的开发语言。不可否认使用汇编语言可以获得更高的执行效率和代码密度,但是汇编语言在开发效率和代码的可读性上比C语言要差。事实上,C语言编译器效率已经提高到了相当高的水平了,C语言编写的代码编译后在执行效率和代码密度上跟汇编语言相比并没有太大的差距,C语言早就成为单片机开发的绝对主力。所以初学者掌握基本的C语言知识即可,无须在开发语言的抉择上花费太多的时间。

准备的最后一点就是学会使用最基本的实验设备,这里列举一般的实验室都能提供的4种设备:万用表、稳压电源、示波器和信号发生器。这些设备的熟练使用将对学习中遇到的调试(bebug)有非常大的帮助。

有了以上的准备,就可以正式开始单片机的学习了。初学者最好选用一款性能稳定,范例丰富并且推广较好的单片机作为学习目标。性能稳定,避免在学习过程中遇到由于芯片本身的设计失当导致的一些无法解决的问题;范例丰富,大量的示例供用户阅读和借鉴,更容易理解单片机的操作机理;推广较好,意味着学习的受众面较广,有很好的学习氛围和学习资料,并且有容易获得的学习开发板。从这3点出发,MSP430系列单片机就是一个很好的选择。

首先,该单片机目前在电子行业已经使用多年,一直都作为低功耗单片机的标杆产品;其次,该单片机所有的型号都具备官方范例代码,而且有较多的参考案例;最后,MSP430单片机在中国通过大学计划推广了多年,大量的大学生使用这款单片机完成实验、参加竞赛,积累了很多的书籍教材和网络资料,开发板类型也很丰富,TI提供售价约为几十元人民币的LaunchPad开发板。单片机都有相似性,学会使用一款单片机,再过渡到另一款就不太困难了。

学习单片机可以从学习单片机的开发环境开始,当前的单片机都有自己对应的集成开发环境(IDE,Integrated Development Environment),并有免费版本供初学者下载使用。集成开发环境可以完成代码的编辑、编译和调试过程,使用起来比较方便。TI推出的CCS5还可以完成MSP430单片机的图形化配置。对于初学者,集成开发环境的基本使用没有障碍,但是特别要注意的是开发环境中对应的开发工程的属性配置。

熟悉开发环境的开发流程后,就可按照引导教材或者用户手册,逐一了解单片机的各功能模块的特性并完成对应的功能模块的实验操作。逐个模块熟悉下来,基本上一款单片机即可学会使用。这样一个流程下来,能够掌握单片机的基本操作。希望熟练掌握则需要进一步通过完成更为复杂的实验或者项目来锻炼。

前面的介绍中也强调了实验的重要性,实际上大多数学习单片机的初学者都会陷入一个误区,过度的重视实验,把绝大部分精力放在调试上,却忽视了单片机使用原理的学习。这种情况在大学生身上非常明显,很多情况下还没有能够理解单片机功能模块或者外设的使用原理和方法,就急切的展开实验。大多数情况下,编写的代码还存在缺陷甚至错误,无法达到预期的效果,就进入到了无尽的盲目修改和调试中。最典型的情况就是刚开始接触一个外设,连工作方式和寄存器的功能还没有弄清楚,就开始粘贴示例代码,并编译下载。反复调试不能成功,心态就开始变的浮躁,进而厌恶单片机。

如果一直调试未果,学习热情被消耗殆尽,对单片机的使用产生恐惧感,最终就会放弃单片机的学习。细究这种情况的原因,其实就是急功近利的心态在作祟。初学者都急切的希望自己的代码可以跑起来,所以重心就从“学”偏移到了单纯的“做”上。这种心态我要特别提出来,希望能够告诫初学者必须保持平稳的心态,先仔细地浏览教材或者用户手册,理解工作原理,之后再调试代码完成实验。

单片机学习过程中每个人都会遇到各种各样的难题并且遭遇长时间的调试过程。遭遇到这样的情况,就需要冷静下来查找问题成因。一方面,可以借助于网络,查找是否有相似的问题并借鉴其他人的分析及解决方案,这是一个比较直接高效的方法;另一方面,反复地查阅单片机的数据手册或者用户手册,逐个分析列举可能的原理,并设置对应的测试来解决,一些“莫名其妙”的问题,往往需要通过这样的手段来解决。

当然,能够获得有使用经验的老师或工程师的指导则是最直接、最有效的方法。随着单片机学习以及使用的深入,遇到的问题将越来越复杂化,这时候外界因为缺乏对此项目的深入了解,所能起到的协助作用就会减弱,这个时候独立的定位问题以及解决问题的能力就必须具备。所以在学习的整个过程中,都应该有意识地培养这种能力。

当熟悉单片机的使用之后,就应该完成一个视野转换的过程。这个时候关注范围则应该由单片机扩展到整个单片机系统上,不仅仅关心单片机上代码的实现,还需要考虑如何构建以单片机为核心的电子系统。单片机工程师一般会对一个或者若干个类型的单片机非常熟悉。

在得到工程项目需求时,能够快速地评估系统所需要的单片机控制核心,在满足需求的前提下一般会尽量采用最熟悉的单片机,合理设计划分系统电路功能模块,尽可能高效利用单片机片上的外设,以达到最优化的设计。如果评估发现使用的单片机不合适,则还需要更换单片机平台。在工业应用上,还必须考虑单片机系统所需要面对的严苛工作环境,保证系统能够顺利通过相应工业标准的测试。最终完成由点到面的扩展,逐步朝单片机工程师方向迈进。

(此处已添加圈子卡片,请到今日头条客户端查看)

单片机的组成以及分类和指标

(此处已添加圈子卡片,请到今日头条客户端查看)

单片机的组成

单片机又称单片微控制器,它把一个计算机系统集成到一块芯片上,主要包括微处理器(CPU)、存储器(随机访问存储器RAM、只读存储器ROM)和各种输入/输出接口(包括定时器/计数器、并行I/O接口、串行口、A/D转换器以及脉冲宽度调制(PWM)等,如图1-1所示。

▲图1-1 单片机组成框图

程序存储器(ROM)

ROM用来存放用户程序,分为EPROM、Mask ROM、OTP ROM和Flash ROM等。

EPROM型存储器编程(把程序代码通过一种算法写入程序存储器的操作)后,其内容可用紫外线擦除,用户可反复使用,故特别适用于开发阶段,但EPROM型单片机价格很高。

Mask ROM型单片机价格最低,适用于批量生产。由于Mask ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户更改程序代码十分不便,在产品未成熟时选用此型单片机风险较高。

OTP ROM型(一次可编程)单片机价格介于EPROM和MaskROM型单片机之间,它允许用户对其编程,但只能写入一次。

Flash ROM型单片机可采用电擦除的方法修改其内容,允许用户使用编程工具或在系统中快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash ROM型单片机既可用于开发阶段,也可用于批量生产,随着制造工艺的改进,价格不断下降,使用越来越普遍,已成为现代单片机的发展趋势。

中央处理器(CPU)

CPU是单片机的核心单元,通常由算术逻辑运算部件(ALU)和控制部件构成。CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。

随机存储器(RAM)

RAM用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百字节。RAM的内容具有易失性(也称为易挥发性),掉电后数据会丢失。最近出现了EEPROM 或Flash ROM 型的数据存储器,方便用户存放不经常改变的数据及其他重要信息。单片机通常还有特殊寄存器和通用寄存器,也属于RAM空间,但它们存取数据速度很快,特殊寄存器还用于充分发挥单片机各种资源的功效,但这部分存储器占用存储空间更小。

并行输入/输出(I/O)接口

通常为独立的双向I/O接口,既可以用作输入方式,又可以用作输出方式,通过软件编程设定。现代单片机的I/O接口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O接口是单片机的重要资源,也是衡量单片机功能的重要指标之一。

串口输入/输出口

用于单片机和串行设备或其他单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件实现。不同的单片机可能提供不同标准的串行通信接口,如 UART、SPI、I2C、MicroWire等。

定时器/针数器(T/C)

用于单片机内部精确定时或对外部事件(输入信号如脉冲等)进行计数,通常单片机内部有2个或2个以上的定时/计数器。

系统时钟

通常需要外接石英晶体或其他振荡源提供时钟信号输入,有的也使用内部RC振荡器。系统时钟相当于PC微机中的主频。

以上只是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等。此时的单片机才是真正单片化。内部的RAM和ROM的容量也越来越大,ROM 寻址空间甚至可达 64KB,可以说,单片机发展到了一个全新的阶段,应用领域也更为广泛,许多家用电器均走向利用单片机控制的智能化发展道路。

单片机的分类和指标

单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种专门用途而设计的,如DVD控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。我们常用的都是通用型单片机,通用型单片机把所有资源(如 ROM、I/O 等)全部提供给用户使用。当今通用型单片机的生产厂家已不下几十家,种类有几百种之多。

下面对单片机的几个重要指标进行介绍。

(1)位数:是单片机能够一次处理的数据的宽度,有 1 位机(如 PD7502)、4 位机(如MSM64155A)、8位机(如MCS-51)、16位机(如MCS-96)、32位机(如IMST414)等。

(2)存储器:包括程序存储器和数据存储器,程序存储器空间较大,字节数一般从几KB到几十KB,另外还有不同的类型,如ROM、EPROM、E2PROM、Flash ROM和OTP ROM型。数据存储器的字节数则通常为几十字节到几百字节之间。程序存储器的编程方式也是用户考虑的一个重要因素,有的是串行编程,有的是并行编程,新一代的单片机有的还具有在系统编程(ISP, In-System-Programmable)或在应用再编程(IAP,In-Application re-Programmable)功能;有的还有专用的ISP编程接口JTAG口。

(3)I/O接口:即输入/输出接口,一般有几个到几十个,用户可以根据需要进行选择。

(4)速度:指的是 CPU 的处理速度,以每秒执行多少条指令来衡量,常用单位是 MIPS(百万条指令每秒),目前最快的单片机可达到100MIPS。单片机的速度通常是和系统时钟(相当于PC的主频)相联系的,但并不是频率高的处理速度就一定快,但对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。

(5)工作电压:通常工作电压是5V,范围是±5%或±10%;也有3V/3.3V电压的产品;更低的可在1.25V工作。现代单片机又出现了宽电压范围型,在2.5V~6.5V内都可正常工作。

(6)功耗:低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至μA或nA级。有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。

(7)温度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级3种。民用级的温度范围是 0℃~70℃,工业级是-40℃~85℃,军用级是-55℃~125℃(不同厂家的划分标准可能不同)。

(8)附加功能:有的单片机有更多的功能,用户可根据需要选择适合自己的产品。比如有的单片机内部有A/D、D/A、串口、LCD驱动等,使用这种单片机可减少外部器件,提高系统的可靠性。

(此处已添加圈子卡片,请到今日头条客户端查看)

相关问答

单片机 引脚识别方法?

单片机引脚识别可通过查看单片机的官方数据手册来进行。单片机引脚识别可通过查看单片机的官方数据手册来进行。

怎么知道 单片机 用哪种?

要知道单片机使用哪种编程语言,首先需要知道单片机的型号和厂家。不同的型号和厂家可能会支持不同的编程语言,比如C语言、汇编语言等。可以通过查看单片机的数...

使用keil4,打开别人的工程,如何查看他使用什么型号 单片机 ?

选择单片机型号尽可能的与你项目使用的单片机一致。如果没有,就选择接近的型号替代。选择单片机型号尽可能的与你项目使用的单片机一致。如果没有,就选择接近...

会51 单片机 ,如何快速学习使用STM32 单片机 ?

单片机其实都是相通的,会了一种单片机,对着数据手册查看一下寄存器的设置可以快速的入手其他型号的单片机。会51单片机,说明有单片机的基础,再去学习STM32单...

proteus8位数码管怎么找?

数码管在proteus的“Optoelectronics”元件库中。具体操作如下:1、打开“proteus”。2、点击做的的“P”符号或者按下键盘的“P”,可以跳出元器件界面。3...

树莓派和 单片机 的区别 - 红网问答

区别:树莓派只有一个PWM;单片机可以有十几路PWM;树莓派是微型卡片计算机,单片机是单芯片计算机。电脑使用技巧:1、电脑经常会出现“此windows副本...

单片机 的位控码是什么?

位码是多个数码管显示的时候,尤其是动态显示的时候用的,就是数码管上显示的字形,设定对应的公共端的值。段码是单片机的一个数码管上有八个LED灯,分别为七条...

单片机 中cy是什么意思?

在Cypress公司生产的单片机系列产品中,CY是产品代号前缀,后面跟着一串数字和字母,代表不同的产品系列和型号。例如,Cypress公司的PSoC系列单片机产品的代号...

单片机 处于混乱状态怎么办?

如果单片机处于混乱状态,首先需要停止程序的执行并重新启动单片机。如果问题仍然存在,可以检查程序是否存在编程错误或者硬件是否存在故障。如果没有找到问题,...

如何做才能精通 单片机 ?

1、熟悉单片机的原理,结构;2、学好数电,模电,为设计电路打好基础;3、熟练使用C语言,多学习别人的程序;4、对操作系统原理有一定的了解;5...学习单片机很...

猜你喜欢