您的位置 首页 ADAS

单片机知识

单片机的组成单片机要自动完成计算,它应该具有哪些最重要的部分呢?我们以打算盘为例计算一道算术题。例:36+163times;156-166divide;34。现在要进行运算,首先需要一把算盘,其次是纸

单片机的组成

单片机要主动完结核算,它应该具有哪些最重要的部分呢?

咱们以打算盘为例核算一道算术题。例:36+163×156-166÷34。现在要进行运算,首要需求一把算盘,其次是纸和笔。咱们把要核算的问题记录下来,然后榜首步先算163×156,把它与36相加的成果记在纸上,然后核算166÷34,再把它从上一次成果中减去,就得到最终的成果。

现在,咱们用单片机来完结上述进程,显着,它首要要有替代算盘进行运算的部件,这便是“运算器”;其次,要有能起到纸和笔效果的器材,即能回忆原始标题、原始数据和中心成果,还要记住使单片机能主动进行运算而编制的各种指令。这类器材就称为“存贮器”。此外,还需求有能替代人效果的操控器,它能依据事前给定的指令宣布各种操控信号,使整个核算进程能一步步地进行。可是光有这三部分还不行,原始的数据与指令要输入,核算的成果要输出,都需求按先后顺序进行,有时还需等候。

如上例中,当在核算163×156时,数字36就不能一起进入运算器。因而就需求在单片机上设置按操控器的指令进行动作的“门”,当运算器需求时,就让新数据进入。或许,当运算器得到最终成果时,再将此成果输出,而中心成果不能随意“溜出”单片机。这种对输入、输出数据进行必定办理的“门”电路在单片机中称为“口”(Port)。在单片机中,根本上有三类信息在活动,一类是数据,即各种原始数据(如上例中的36、163等)、中心成果(如166÷34所得的商4、余数30等)、程序(指令的调集)等。这样要由外部设备经过“口”进入单片机,再寄存在存贮器中,在运算处理进程中,数据从存贮器读入运算器进行运算,运算的中心成果要存入存贮器中,或最终由运算器经“出入口”输出。

用户要单片机履行的各种指令(程序)也以数据的方式由存贮器送入操控器,由操控器解读(译码)后变为各种操控信号,以便履行如加、减、乘、除等功用的各种指令。所以,这一类信息就称为操控指令,即由操控器去操控运算器一步步地进行运算和处理,又操控存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其效果是告知运算器和操控器在何处去取指令取数据,将成果寄存到什么当地,经过哪个口输入和输出信息等。

存贮器又分为只读存贮器和读写存贮器两种,前者寄存调试好的固定程序和常数,后者寄存一些随时有或许变化的数据。望文生义,只读存贮器一旦将数据存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可经过必定的方法来更改、写入数据——编者注)。而读写存贮器可随时存入或读出数据。

实际上,人们往往把运算器和操控器兼并称为中央处理单元——CPU。单片机除了进行运算外,还要完结操控功用。所以离不开计数和守时。因而,在单片机中就设置有守时器兼计数器,其根本结构与本连载之(二)中的举例相似。到这儿停止,咱们现已知道了单片机的根本组成,即单片机是由中央处理器(即CPU中的运算器和操控器)、只读存贮器(一般表明为ROM)、读写存贮器(又称随机存贮器一般表明为RAM)、输入/输出口(又分为并行口和串行口,表明为I/O口)等等组成。实际上单片机里边还有一个时钟电路,使单片机在进行运算和操控时,都能有节奏地进行。别的,还有所谓的“中止体系”,这个体系有“传达室”的效果,当单片机操控目标的参数抵达某个需求加以干涉的状况时,就可经此“传达室”通报给CPU,使CPU依据外部事态的轻重缓急来采纳恰当的敷衍办法。

现在,咱们现已知道了单片机的组成,余下的问题是如何将它们的各部分连接成彼此相关的全体呢?实际上,单片机内部有一条将它们连接起来的“枢纽”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中止体系等就散布在此“总线”的两旁,并和它连通。然后,悉数指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。

单片机指令体系与汇编语言程序

前面现已叙述了单片机的几个首要组成部分,这些部分构成了单片机的硬件。所谓硬件(Hardware),便是看得到,摸得到的实体。可是,光有这样的硬件,还仅仅有了完结核算和操控功用的或许性。单片机要真实地能进行核算和操控,还有必要有软件(Software)的合作。软件首要指的是各种程序。只要将各种正确的程序“灌入”(存入)单片机,它才干有效地作业。单片机所以能主动地进行运算和操控,正是由于人把完结核算和操控的进程一步步地用指令的方式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的操控下,将指令一条条地取出来,并加以翻译和履行。就以两个数相加这一简略的运算来说,当需求运算的数已存入存贮器后,还需求进行以下几步:

榜首步:把榜首个数从它的存贮单元(Location)中取出来,送至运算器。   第二步:把第二个数从它地点的存贮单元中取出来,送至运算器; 第三步:相加; 第四步:把相加完的成果,送至存贮器中指定的单元。

一切这些取数、送数、相加、存数等等都是一种操作(Operation),咱们把要求核算机履行的各种操效果指令的方式写下来,这便是指令。可是怎样才干区分和履行这些操作呢?这是在规划单片机时由规划人员赋予它的指令体系所决议的。一条指令,对应着一种根本操作;单片机所能履行的悉数指令,便是该单片机的指令体系(Iustruction Set),不同品种的单片机,其指令体系亦不同。

运用单片机时,事前应当把要处理的问题编成一系列指令。这些指令有必要是选定的单片机能辨认和履行的指令。单片机用户为处理自己的问题所编的指令程序,称为源程序(Source Program)。指令一般分为操作码(Opcode)和操作数(Operand)两大部分。操作码表明核算机履行什么操作,即指令的功用;操作数表明参加操作的数或操作数地点的地址(即操作数所寄存的当地编号)。由于单片机是一种可编程器材,只“认得”二进码(0、1)。要单片机运作,单片机体系中的一切指令,都有必要以二进制编码的方式来表明。例如,在Intel公司的MCS-51系列单片机中,从存贮器中取出一数到CPU中的累加器(在运算器中,参加运算、寄存运算成果的专用寄存器)的指令代码为74H,累加器内容加当即数的代码为24H,再加上当即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。这些指令是用十六进制表明二进制的机器码。

MCS-51单片机的字长为8位,有时,要完结某些操效果一个字节尚不能充沛表达。所以,在指令体系中有单字节指令,也有多字节指令。机器码是由一连串的0和1组成,没有显着的特征,欠好回忆,不易了解,易犯错。所以,直接用它来编写程序好不容易。因而,人们就用一些助记符(Mue monic)——一般是指令功用的英文缩写来替代操作码,如MCS-51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这样,每条指令有显着的动作特征,易于回忆和了解,也不容易犯错。用助记符来编写的程序称为汇编语言程序。可是,助记符编写的程序便于人了解,可单片机却只知道二进制机器代码,因而,为了让单片机能“读懂”汇编语言程序有必要再转化成由二进制机器码构成的程序,这种转化进程,就称为“汇编”。汇编可凭借于人工查表法来完结,也可凭借PC机经过所谓“穿插汇编程序”来完结。由机器码构成的用户程序一旦“进入”了单片机,再“发动”单片机,就可让它履行输入程序所规则的使命。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/292680.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部