产品概述

单片机不足 想学单片机需要先掌握哪些知识,学单片机难不难

小编 2024-11-24 产品概述 23 0

想学单片机需要先掌握哪些知识,学单片机难不难

有不少电子技术爱好者想自学单片机应用技术,但是因为自己学历和知识储备不足,所以不知道如何入手,也不知道学习单片机需要先掌握哪些知识,下面笔者就以在单片机应用行业多年的经验来谈一谈这个问题。单片机英文名称是micro control unit,简称MCU,翻译成中

文是“微控制单元”,它内部包含有算术运算和逻辑运算单元,随机存储器RAM,只读存储器ROM,计数器,中断管理系统和IO控制器等数字器件,通过上面这些器件的配合,单片机可以实现程序的存储和运行,也可以对数据进行存储和计算。通过这些特性,单片机可以接收传感器发过来的信号,也可以控制电机,电磁铁,电磁阀等机构执行人为设计的动作。

但是要学会使用单片机,需要有一定的基础,主要包括基本的数字和模拟电子技术知识,还要有一定的C语言编程能力,具体来说要掌握哪些知识,这个要看您想学到什么程度,如果只是用单片机控制电机驱动器,或者电磁铁等执行一些简单的动作逻辑,或者控制LED数码管以及点阵液晶显示等,则硬件电路方面只需要掌握以下的内容就可以迈出您学习单片机的第一步了。1,掌握基本的模拟电子技术知识,包括二极管,三极管,mos管工作原理,光耦,运放,晶振等器件的基本应用。2,掌握基本的数字电子技术知识,包括基本的门电路,组合逻辑电路和时序逻辑电路的工作原理,特别是时序逻辑电路中触发器,寄存器,AD,DA转换器等。

软件方面需要会写简单的C语言程序,虽然说单片机编程也可以使用汇编语言,但C语言在使用的方便性和可移植性上要比汇编语言好很多,所以初学者可以越过汇编语言,而直接学习C语言的单片机编程。对于C语言来讲,刚开始只要会用基本的条件语句,循环语句,实现简单的控制逻辑就可以,先不用考虑太多程序结构合理性和可移植性这方面的问题,也不要过早的陷入指针的使用这样的大坑里,否则可能会打击自己学习的信心。

学习初期可以先买一个开发板,先学会单片机开发的环境搭建,主要是单片机集成开发软件keil的配置,软件项目的建立,程序的编译和烧写,先把点亮LED灯,流水灯和控制蜂鸣器这些最基本的程序完整的实现一遍。之后可以把LED数码管显示,按键信号采集,去抖动,串口与PC机通信等例子的程序完整的编写一遍,并且在开发板上把程序运行一下。这时你已经对单片机开发有了初步了解了,已经迈出了单片机学习的第一步了。

后续学习可以偿试自己做一个简单的单片机开发板,把上面这些内容从硬件上自己亲做一遍,自己用EDA软件画一个简单的单片机开发板,投板,买元器件,焊接,上电调试,运行程序。到这时,你就已经入门了,之后要学的更深入就需要有比较扎实的电子技术基础知识和编程能力了,这个不是一朝一夕的事,需要大家一步一个脚印的走下去。所以要学好单片机就要多动手调试电路,多写程序,多研究成熟的单片机项目,硬件软件两条路一起走,这样入门就很容易。

当单片机的IO引脚数量不够时,有什么方案可以解决?

单片机,作为一般电子类产品项目的关键元器件, 常被工程师应用处理数据的逻辑运算,甚至包含一些软件的算法。比如工程师在开发

家用电饭煲项目,单片机就可以作为数据运算的核心器件,负责处理加热、定时、显示、按键等功能的实现;电动剃须刀项目,单片机可以作为电机控制的核心器件,负责处理电机的正转、电池的电量管理等功能的实现;办公碎纸机项目,单片机可以作为逻辑分析的核心器件,负责处理电机的正转、反转、堵转、人体保护等功能的实现;

单片机项目

工程师在针对这类的项目开发,会依据设计的功能需求确定单片机所需的内部资源,也就是确定单片机的型号。常用单片机的内部资源包含引脚数量、主频时钟、存储空间以及通信接口等等,工程师根据这些信息选择项目匹配的单片机型号。

确定单片机型号之后,工程师便可以进行项目的具体研发工作,硬件工程师展开电路原理图设计,软件工程师展开程序的代码设计;在项目研发阶段,工程师或许会遇到类型情况

项目的研发工作在接近完毕时,临时需要额外增加某项功能;或者项目版本在更新迭代的过程中,临时需要额外调整某项功能;

面对这类情况,这些临时增加和调整的功能,可能会导致之前选择的单片机的IO引脚数量不够问题出现;针对单片机的IO引脚数量不够时,工程师该如何去较好地解决呢?

工程师可能会重新选择单片机的型号,直接通过简单地增加IO引脚数量来解决;此方案虽然可以解决,但芯片哥不推荐,主要存在2个问题

重新选择新的单片机型号,与之相关联的软件代码相当于也需要重新开发设计,增加了项目的开发工作量,工作效率不佳;重新选择新的单片机型号,与之相关联的硬件电路相当于也需要重新开发设计,需要重新调试验证,尤其是一些可靠性试验的测试;

既然重新选择新的单片机型号存在这些问题,那有没有其他方案可以更好地解决呢?

答案是肯定的,不要问为什么,因为芯片哥,所以芯片哥,哈哈哈。。。。。。

在项目开发过程中,单片机的IO引脚数量不够时,除了重新选择新的单片机型号解决方案之外,还存在使用IO引脚扩展芯片的方案, 比如AL5524芯片就是一个单片机的IO引脚扩展芯片,就能解决此类问题;

那么AL5524 IO引脚扩展芯片,它具有什么样的特性?它是如何解决了单片机的IO引脚数量的?它又是如何扩展单片机的IO引脚数量的?

AL5524芯片引脚定义

Pin1引脚:INTB是实现中断功能;

Pin2 & Pin3 & Pin21引脚:ADD实现的功能是通过硬件方式定义了IIC通信的地址信息;

Pin4 ~ Pin11引脚:RA是芯片扩展的IO引脚;

Pin13 ~ Pin20引脚:RB是芯片扩展的IO引脚;

Pin22 & Pin23引脚:IIC通信接口功能引脚;

Pin12 & Pin24引脚:芯片的电源输入引脚;

AL5224引脚定义图

通过引脚功能定义,工程师基本可以分析出芯片的工作原理,也就是通过IIC接口扩展了单片机的IO引脚数量,这从芯片的内部结构框图更容易看出

AL5224芯片内部框图

在AL5224芯片的内部框图中,主要包含四个部分:地址生成器,IIC控制器,寄存器与控制器,普通IO引脚Port A与Port B;

AL5224功能框图

(1)地址生成器,主要是通过ADD0、ADD1以及ADD2外部的硬件电路定义IIC的通信地址,常用的简便设计是将ADD0、ADD1与ADD2直接接地;

(2)IIC控制器,主要是AL5224芯片与单片机之间通信的桥梁,用以数据交换,实现IO引脚扩展功能;

(3)寄存器与控制器,主要是将IIC通信的数据暂存于此,便于转换成Port A和Port B引脚输出;

(4)普通IO引脚Port A与Port B,此两个引脚就是芯片需要扩展的IO引脚,等同于单片机的IO引脚功能;

分析完这些内容之后,工程师或许更清晰地认识了AL5224芯片的功能;但这些内容还仅仅停留在理论层面,那么具体在项目开发中,如何去应用呢?如何去设计呢?如何开发电路呢?

AL5224芯片应用电路

在了解完AL5224芯片基本的电路特性之后,工程师迫切地想着手去解决项目中实际存在的问题,否则就失去了工作意义;

犹如“不以结婚为目的的谈恋爱都叫耍流氓”一样,芯片哥认为“不以解决现实问题的电路研发都叫自娱自乐”;

AL5224芯片应用电路

AL5224芯片的工作电源电压范围为2.0V~5.5V,既可以兼容5V的逻辑电平,也可以兼容3.3V的逻辑电平。

AL5224芯片的应用电路,工程师很容易设计开发,只需将SCL与SDA引脚连接单片机的IIC引脚即可,这样单片机就轻易地实现了解决扩展IO引脚数量的问题了;单片机通过2个IO引脚SCL与SDA,扩展了16个IO引脚数量,也就实现了扩展IO引脚数量的功能;

文末结尾

在介绍完AL5224芯片的电路特性之后,工程师或许在对比中发现,相对重新选择新的单片机型号而言,选择AL5224 IO引脚扩展芯片方案更具有普遍性,可操作性更强;正所谓事务都具有双重性,有正面必然有反面,AL5224芯片的电路方案也存在一些不足之处

a)增加项目的BOM核算成本,主要是增加了AL5224的芯片成本;

b)AL5224 IO引脚扩展芯片,扩展了14个IO引脚数量;显然在实际项目开发中很少会遇到需要扩展14个IO引脚的数量,即便AL5224系列芯片也支持扩展8个IO引脚数量,但会造成一些多余的IO引脚资源浪费现象;

最后,芯片哥需要指出在项目开发中,工程师需要多方位多角度评估各种不同的方案,权衡方案的得与失之后,才能做出最佳的项目问题解决方案;

本文由【芯片哥】原创撰写,一个只谈电子元器件与芯片的工程师,喜欢就关注芯片哥,和芯片哥一起加油吧

相关问答

单片机 的电源供电 不足 会出现程序跑飞吗?-ZOL问答

会啊,单片机对电源要求比较高了电压,或电流的不稳定都是可以造成这个情况的.我不知道热电池是什么东东,不过你要是用电池的话(电压要高于单片机额顶的电压然后在...

单片机 会被淘汰吗?

单片机不会被淘汰。就像当年更高性能的单片机出来后,一直都有人说51单片机会被淘汰,可是我们看到,51单片机不但没有被淘汰,反而活的有滋有味。就像提问里说...

单片机 输出电流很小用什么元件来放大电流呢?

您可以使用晶体管来放大电流,晶体管有一个基极、发极和集电极,可以通过控制基极电流来控制集电极电流的大小。使用晶体管可以将单片机输出的电流放大到更大的...

最便宜的 单片机 能便宜到什么程度?

我用过最便宜的单片机是台湾芯睿的处理器MK6A12A。SOP-8封装,1kOTPROM,48RAM,不带A/D。用来做一些低端的小家电,比如实现某个产品的功能,检测到振动以...

为什么很多 单片机 的工作电压是5v?

因为大多数芯片都是5V的TTL电平,要做到电平兼容,电平匹配,避免要电平转换操作,所有很多单片机的工作电压都是5V。TTL指的是TTL电平,0~5V之间,小于0.2V输出...因...

单片机 仿真灯不亮的原因?

单片机仿真灯不亮可能有多种原因。首先,可能是单片机程序的问题,例如程序出现了语法错误、逻辑错误或者硬件配置错误等。其次,可能是硬件连接问题,例如单片...

学好 单片机 的用处大吗?具体有哪些用处?

首先单片机主要应用于嵌入式领域,其他领域很少应用而是使用。单片机的应用非常广泛,最开始是“单板机”,它外部附加了PIO,CTC和SIO等外围器件。后来它们都...

单片机 直接安装上纽扣电池为什么没办法运行?

电压不足或者驱动电流不够一般纽扣电池有1.5V的,也有3V/3.6V的型号而单片机也有不同工作电压的同时还要考虑外围电路的消耗,有无升压电路等等因素空凭一句纽扣...

如果我想能看懂 单片机 的程序,需要怎样学习语言?

非常感谢你发来的邀请,我很高兴回答你的问题!现在单片机编程语言主要有两种,一种是汇编语言、一种是C语言。汇编语言要求要对单片机内部结构有要熟悉,由于其...

单片机 冷启动如何解决,一直手动冷启动烦死了-ZOL问答

如果是STC的单片机,可以给串口写一个中断,如果检测到下载信号,MCU产生软复位,从系统ISP监控程序区开始执行程序,如果检测到合法ISP下载命令流,则开始下载程序...

猜你喜欢