单片机是什么意思?。

单片机定义

[编辑此段落]

单片机是指集成在一个芯片上的完整的计算机系统。虽然它的大部分功能都集成在一个小小的芯片上,但它拥有一台完整计算机所需的大部分部件:CPU、内存、内外总线系统,目前大部分都会有外存储器。同时集成了通信接口、定时器、实时时钟等外围设备。现在最强大的单片机系统甚至可以将声音、图像、网络以及复杂的输入输出系统集成在一个芯片上。

单片机因为最早用于工业控制领域,所以也被称为微控制器。单片机是由芯片中只有CPU的专用处理器发展而来的。最早的设计理念是将大量的外围设备和CPU集成到一个芯片上,使计算机系统更小,更容易集成到复杂严格的控制设备中。英特尔的Z80是第一款根据这一想法设计的处理器。从此,单片机和专用处理器的发展分道扬镳。

早期的单片机都是8位或者4位的。最成功的是INTEL的8031,因为简单可靠,性能好,获得了极大的好评。此后,在8031上开发了MCS51系列单片机系统。基于该系统的单片机系统至今仍被广泛使用。随着工业控制领域要求的提高,出现了16位单片机,但由于性价比不理想,一直没有得到广泛应用。随着90年代以后消费电子产品的大发展,单片机技术有了很大的提高。随着INTEL i960系列尤其是后来的ARM系列的广泛应用,32位单片机迅速取代了16位单片机的高端地位,进入主流市场。传统8位单片机的性能也得到快速提升,处理能力较上世纪80年代提升了数百倍,目前高端32位单片机的主频已经超过300MHz,性能正在赶超90年代中期的专用处理器,而普通型号的出厂价已经降至1美元,最高端型号仅为10美元。当代的单片机系统不再仅仅是在裸机环境下开发和使用,大量的专用嵌入式操作系统被广泛应用于所有系列的单片机中。在作为掌上电脑和手机核心处理的高端单片机中,甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合于嵌入式系统,因此得到了最多的应用。事实上,单片机是世界上数量最多的计算机。现代人类生活中使用的几乎每一种电子和机械产品都将集成有单片微型计算机。手机、电话、计算器、家用电器、电子玩具、掌上电脑、鼠标都配有1-2单片机。而且个人电脑里会有很多单片机在工作。汽车一般配备40多台单片机,在复杂的工业控制系统中甚至可能有上百台单片机同时工作!单片机的数量不仅远远超过了PC和其他计算的总和,也超过了人类的数量。

单片机介绍

[编辑此段落]

单片机又称单片微控制器,不是一个芯片完成某种逻辑功能,而是将一个计算机系统集成到一个芯片上。总结一下:芯片变成电脑。它体积小、重量轻、价格便宜,为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理和结构的最佳选择。

微控制器还使用与计算机功能相似的模块,如CPU、内存、并行总线以及与硬盘功能相同的存储设备。不同的是,这些部件的性能比我们家的电脑弱很多,但价格也低,一般不到10元...做一些控制电器之类不复杂的工作就够了。我们现在用的全自动滚筒洗衣机、排风罩、VCD等家用电器都可以看到它!.....主要用作控制部分的核心部件。

它是一台在线实时控制计算机。在线控制是现场控制,要求抗干扰能力强,成本低,这也是与离线电脑(如家用PC)的主要区别。

单片机依赖于程序,可以修改。不同的功能,尤其是一些特殊独特的功能,是通过不同的程序来实现的,这是其他设备需要花大力气才能做到的,而其他的设备则很难花大力气做到。如果一个不是很复杂的功能,用美国50年代开发的74系列或者60年代的CD4000系列这样的纯硬件来解决,电路一定是大PCB!但如果用美国70年代成功投放市场的一系列单片机,结果就大不一样了!就因为单片机可以通过你写的程序实现高智能、高效率、高可靠性!

因为单片机对成本比较敏感,所以目前占主导地位的软件是最低级的汇编语言,是除了二进制机器码之外最低级的语言。既然这么低,为什么还要用?很多高级语言都达到了可视化编程的水平。为什么不用它们呢?原因很简单,就是单片机没有家用电脑那样的CPU,没有硬盘那样的海量存储设备。用可视化高级语言写的小程序哪怕只有一个按钮,也会达到几十K的大小!对于家用PC的硬盘来说不算什么,但是对于单片机来说是无法接受的。单片机必须有很高的硬件资源利用率,所以汇编虽然原始,但还是被广泛使用。同理,如果把超级计算机上的操作系统和应用软件拿到家用PC上运行,家用PC也承受不了。

可以说,20世纪跨越了三个“电”时代,即电气时代、电子时代和计算机时代。然而,这种电脑通常是指个人电脑,简称PC。它由主机、键盘、显示器等组成。还有一种电脑是大多数人不熟悉的。这种计算机是给各种机器赋予智能的单片机(也叫微控制器)。顾名思义,这种计算机的最小系统只用一个集成电路就能完成简单的运算和控制。由于体积小,通常藏在受控机器的“肚子”里。它在整个设备中的作用就像一个人脑。如果它出了问题,整个设备就会瘫痪。现在,这种单片机已被广泛应用,如智能仪器、实时工业控制、通讯设备、导航系统、家用电器等。单片机一旦用在各种产品上,就可以对产品进行升级。形容词“智能”常用在产品名称前,如智能洗衣机。现在有些工厂的技术人员或者其他业余电子开发人员做的产品,要么电路太复杂,要么功能太简单,容易被仿制。原因可能是产品没有使用单片机或其他可编程逻辑器件。

单片机历史

单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三个阶段。

1.SCM是单片机的阶段,主要是寻求单片机形式的嵌入式系统的最佳架构。“创新模式”的成功,奠定了单片机与通用计算机完全不同的发展道路。英特尔为嵌入式系统的自主开发做出了巨大贡献。

2.MCU是微控制器单元的阶段,其主要技术发展方向是在嵌入式应用时不断扩展符合目标系统要求的各种外围电路和接口电路,突出其智能控制能力。它所涉及的领域都与对象系统有关,所以开发MCU的重任不可避免地落在了电气电子技术厂商身上。由此看来,英特尔逐渐淡出MCU也有其客观因素。在MCU的开发中,最著名的厂商是飞利浦。

飞利浦公司凭借其在嵌入式应用中的巨大优势,将MCS-51从单片机迅速发展为微控制器。因此,当我们回顾嵌入式系统的发展道路时,不要忘记英特尔和飞利浦的历史功绩。

3.单片机是嵌入式系统的独立发展道路,发展到MCU阶段的重要因素是寻求应用系统在片上的最大解决方案;因此,专用单片机的发展自然形成了SoC的趋势。随着微电子技术、ic设计和EDA工具的发展,基于SoC的单片机应用系统的设计将会有很大的发展。所以对单片机的理解可以从单片机、单片机扩展到单片机应用系统。

单片机的应用领域

[编辑此段落]

目前单片机已经渗透到我们生活的各个领域,几乎很难发现哪个领域没有单片机的痕迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯和数据传输,工业自动化过程的实时控制和数据处理,广泛应用的各种智能IC卡,民用豪华车的安全保障系统,录像机、摄像机、自动洗衣机的控制,以及程控玩具和电子宠物等。,都离不开单片机。更不用说自动控制领域的机器人、智能仪器、医疗器械了。因此,单片机的研究、开发和应用将造就一批计算机应用和智能控制方面的科学家和工程师。

单片机广泛应用于仪器仪表、家用电器、医疗设备、航空航天和特种设备的智能管理和过程控制领域,大致可分为以下几类:

1.在智能仪器中的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、小型化、使用方便等优点,广泛应用于仪器仪表中。结合不同类型的传感器,可以测量电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量。单片机控制的使用使仪器数字化、智能化、小型化,其功能比电子或数字电路更强大。比如精密测量设备(功率计、示波器、各种分析仪)。

2.工业控制中的应用

单片机可以组成多种控制系统和数据采集系统。比如工厂流水线的智能管理,电梯的智能控制,各种报警系统,与计算机联网形成二级控制系统。

3.在家用电器中的应用

可以说,现在的家用电器基本上都是由单片机控制的,大到电饭煲、洗衣机、冰箱、空调、彩电、其他影音设备,小到电子秤。

4.在计算机网络和通信领域的应用。

现代单片机一般都有通信接口,可以方便地与计算机进行通信,为计算机网络与通信设备之间的应用提供了极好的物质条件。现在的通信设备已经基本实现了单片机的智能控制,从手机、电话、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信,到手机、集群移动通信、收音机等等,在日常工作中随处可见。

5.单片机在医疗设备领域的应用

单片机还广泛应用于医疗设备中,如医用呼吸机、各种分析仪、监护仪、超声诊断仪、病床呼叫系统等。

此外,单片机在工商业、金融、科研、教育、国防航天等领域有着非常广泛的应用。

学习的六个重要部分应该学会。

[编辑此段落]

单片机学习中的六个重要环节

1.总线:众所周知,电路总是由电线连接的元件组成。在模拟电路中,布线不是问题,因为器件一般都是串行关系,器件之间布线不多,但计算机电路就不一样了。它是基于一个微处理器,所有的设备都必须连接到微处理器上,所以设备之间的工作必须相互协调,所以需要很多电线。如果还是像模拟电路。如果微处理器和设备分开连接,电线的数量将是惊人的。因此,总线的概念被引入到微处理器中,所有设备共享相同的导线。所有器件的全部八根数据线都连接到八根公共线,这意味着所有器件并联,但这还不够。如果两个设备同时发送数据,一个是0,一个是1,那么接收方就会接收到。这种情况是不允许的,需要通过控制线进行控制,使设备分时工作,任何时候只能有一台设备发送数据(多台设备可以同时接收)。设备的数据线也叫数据总线,设备的所有控制线都叫控制总线。单片机等设备的内部或外部存储器中都有存储单元,这些存储单元只有分配了地址才能使用。当然,分配的地址也是以电信号的形式给出的。因为有许多存储单元,所以也有许多用于地址分配的线,这些线被称为地址总线。

2.数据、地址和指令:之所以把这三者放在一起,是因为它们本质上都是一样的——数字,或者说是一串‘0’和‘1’。换句话说,地址和指令也是数据。指令:由单片机的设计者指定的一个数字,它与我们常用的指令助记符有严格的一一对应关系,单片机的开发者不能更改。地址:是查找单片机内外存储单元和输入输出端口的依据。内部单元的地址值已由芯片设计者指定,不能更改。外部单元可以由单片机开发者决定,但有些地址单元是必须的(详见程序的执行过程)。数据:这是微处理器要处理的对象,在各种应用电路中是不同的。一般来说,待处理的数据可能有以下几种情况:

1?地址(如MOV DPTR,#1000H),即地址1000H,则发往DPTR。

2?模式字或控制字(如MOV·TMOD,#3),3是控制字。

3?常数(如MOV TH0,#10H)10H是定时常数。

4?实际输出值(例如,P1连接有彩灯,如果灯都亮,则执行指令:MOV P1,# 0fh,如果灯都暗,则执行指令:MOV P1,#00H),其中0fh和00H为实际输出值。再比如LED用的字体代码,也是实际输出值。

理解了地址和指令的本质,就不难理解程序为什么会跑偏,把数据当指令执行。

三、P0口、P2口、P3口第二功能的用法:初学者经常对P0口、P2口、P3口第二功能的用法感到困惑。他们认为第二个函数和原始函数之间应该有一个切换过程,或者说是一个指令。其实每个端口的第二个功能都是完全自动的,不需要指令转换。例如,P3.6和P3.7分别是WR和RD信号。当微处理器外部连接到RAM或具有外部I/O端口时,它们用作第二功能,不能用作通用I/O端口。只要微处理器执行MOVX指令,就会从P3.6或P3.7发出相应的信号,而无需事先指令。其实“不能作为通用I/O口”不是“不能”而是“不会”把它作为通用I/O口。你可以在指令中安排一条SETB P3.7指令,当单片机执行这条指令时,会把P3.7调成高电平,但是用户不会这样做,因为这样通常会导致系统崩溃。

四。程序执行过程:上电复位后8051中程序计数器(PC)中的值是‘0000’,所以程序总是从‘0000’单元开始执行,也就是说‘0000’单元必须存在于系统的rom中,一条指令必须存储在‘0000’单元中。

5.堆栈:堆栈是存储数据的区域。这个区域本身没有什么特别的,但是它是内部RAM的一部分。特别的是它存储和访问数据的方式,也就是所谓的‘先进后出,后进先出’。栈有特殊的数据传输指令,即‘PUSH’和‘pop’,还有一个专用于它的特殊单元,即栈指针SP。SP自动加1(基于原值),每执行一次POP指令,SP自动减1(基于原值)。因为SP中的值可以通过指令来改变,所以只要在程序开始时改变SP的值,就可以在指定的存储单元中设置堆栈。例如,在程序开始时,通过使用MOV SP #5FH指令,可以在从存储单元60H开始的单元中设置堆栈。一般程序开头总有一个设置堆栈指针的指令,因为SP的初始值在引导时是07H,使得堆栈从08H单元开始,08H到1FH的区域是8031的第二、三、四个工作寄存器区,经常使用,会造成数据混乱。不同作者写程序时,初始化堆栈指令不完全一样,这是作者的习惯。当堆栈区被设置后,并不意味着该区域变成了一个特殊的内存,它仍然可以像正常的内存区一样使用,但一般来说,程序员不会把它当作正常的内存来使用。

6.单片机的开发过程:这里说的开发过程并不是像一般书上说的从任务分析开始。我们假设硬件已经设计制作好了,下面就是写软件的工作了。在编写软件之前,我们首先要确定一些常数和地址。事实上,这些常数和地址在设计阶段就已经直接或间接地确定了。例如,当一个设备的连接被设计时,它的地址被确定,当该设备的功能被确定时,它的控制字也被确定。然后使用文本编辑器(如EDIT、CCED等。)来写软件。写完后,用编译器编译源程序文件,检查错误,直到没有语法错误为止。除了非常简单的程序,一般用模拟器调试软件,直到程序正确运行。运行正确后就可以写片了(把程序固化在EPROM里)。源程序编译后,生成扩展名为HEX的目标文件。一般程序员都能识别这种格式的文件,只要调用这个文件就能写片子。这里为了让大家对整个过程有个了解,举个例子:

ORG 0000H

LJMP启动

ORG 040H

开始:

MOV SP,# 5FH设置堆栈

循环:

nototherwiseprovided(for)除非另有规定

LJMP循环;传播

结束;结束

单片机学习

[编辑此段落]

目前很多人不认可汇编语言。可以说,掌握C语言单片机编程是非常重要的,可以大大提高开发的效率。但初学者可以不懂单片机的汇编语言,但一定要了解单片机的具体性能和特点,否则在单片机领域将是致命的。如果不考虑单片机的硬件资源,只能在KEIL中随意用C编程,结果只能是出现了无法解决的问题!可以肯定的是,最好的C语言单片机工程师都是汇编出来的程序员。虽然单片机的C语言是一种高级语言,但它不同于桌面个人电脑上的VC++。单片机的硬件资源不是很强,不同于用VC、VB等高级语言在桌面PC上写程序。毕竟台式电脑的硬件很强,可以忽略硬件资源的问题。

以8051单片机为例讲解单片机的管脚及相关功能;

单片机引脚图

根据引脚功能,这40个引脚大致可以分为四类:电源、时钟、控制和I/O引脚。

1.电源:

(1) VCC芯片电源,接+5V;

(2)VSS-接地端子;

注:一般用万用表测试时单片机的管脚电流为0v或5v,这是标准的TTL电平。但有时单片机程序在工作时,测试结果不是这个值而是在0v到5v之间。其实这是因为万用表反应没有那么快,单片机的管脚电流在某个时刻仍然保持在0v或者5v。

时钟:XTAL1,xtal 2-晶体振荡器电路的反相输入和输出。

3.控制线:有四条控制线* * *。

(1) ale/Prog:数据锁存允许/片内EPROM编程脉冲。

① ALE功能:用于锁存P0口发送的低位8位地址。

② PROG功能:芯片上带有EPROM的芯片。在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外部ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(复位)功能:复位信号输入。

② VPD功能:当Vcc电源故障时,连接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内部和外部ROM选择端子。

② Vpp功能:在EPROM的编程过程中,编程电源Vpp加到带有EPROM的芯片上。

输入输出线

80C51*** *有四个8位并行I/O端口:P0、P1、P2、P3和***32引脚。

P3端口还有第二个功能,用于特殊信号和控制信号(属于控制总线)的输入和输出。