单片机介绍

单片机介绍,第1张

单片机介绍:

     单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块 芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
     单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业 控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。


单片机的组成介绍:


  单片机要自动完成计算,它应该具有哪些最重要的部分呢?
1存储器的内部构造
 
2  存储器的工作原理
    存储器就是用来存放数据的地方它其实是利 用电平的高或低来存放数据的也就是说它实际上存放的是电平的高或低的状态而不是我们所习惯上认为的有了这么一个构造我们就可以开始存放数据了比如我们要放进一个数据1234这样的数字那它是如何工作的呢看上面的图这就是存储器的内部结构示意 图一个存储器就象一个小抽屉一个小抽屉里有8个也就是单片机的8位小盒子每个小盒子用来存放1位电荷电 荷通过与它相连的电线传进来或释放掉至于电荷在小盒子里是怎样存放的这就不用我们 *** 心了您可以把电线想象成水管小盒子里的电荷就象是水那就好理解了存储器 中的1个小抽屉我们把它称之为1个单元相当于1个字节而1个小盒子就相当于1位00011010我们只要把第2号第4号和第5号小盒子里存满电荷而其它小盒子里的电荷给放掉就行了可是问题又出来了一个存储器有好多相同的单元线是并联着 的看D7-D0在放入电荷的时候会将电荷放入所有的字节单元中而释放电荷的时候会把每 个单元中的电荷都放掉这样的话不管存储器有多少个字节单元都只能放同一个数这当然不是我们所希望的因此我们要在结构上稍作变化看上面的图在每个单元上有根 线与译码器相连我想要把数据放进哪个单元就通过译码器给哪个单元发一个信号由译码器通过这根线把相应的开关打开这样电荷就可以自由地进出了那么这样是不是 就能随意地向存储器写入或者读出数据了呢其实还不能继续看上面的图与D7-D0相 连的还有一个控制器它是用来干什么的呢这根线叫写入/读出控制线当我们向存储 器写入数据时必须先把这个开关切换到写入端而要读出数据时就得先把开关切换到读出端而片选端则是为了区分不同的存储器设置的这里没搞明白没关系后面还有介 绍先让我们来看看译码器是如何工作的
  3  半导体存储器的译码
    简单介绍一下我们知道1根线可以代表2种状态,2根线可以代表4种状态,3根线可以代表8种,256种状态又需要几根线代表?自己想一下是不是8根线 。
  4   存储器的选片及总线的概念
    至此译码的问题解决了让我们再来关注另外 一个问题送入每个字节的8根线又是从什么地方来的呢它就是从单片机的外部引脚上接过来的一般这8根线除了接一个存储器之外还要接其它的器件这样问题又来了这8根线既然不是存储器和单片机之间专用的如果总是将某个单元接在这8根线上就不行了比如这个存储器单元中的数值是11111111另一个存储器的单元是00000000那么这根 线到底是处于高电平还是低电平所以我们必须让它们分离办法当然也简单当外面的线接到集成电路的引脚上来后不直接接到各单元去而是在中间加一组开关这组开关 就是前面提到的控制器看前面的图平时我们让开关打开着如果确实是要向这个存储器中写入数据或要从存储器中读出数据再让开关切换到相应的位置就行了这组开关 由三根引线选择读控制端写控制端和片选端要将数据写入先由控制器选中该片然后发出相应的写信号开关切换到相应的位置并将传过来的数据电荷写入片中如果要读 信号先选中该片然后发出读信号开关也切换到相应的位置上数据就被送出去了另外读和写信号还同时受到译码器的控制由于片选端的不同所以虽有读或写信号但没有 片选信号所以另一个存储器就不会误会而开门造成冲突那么会不会同时选中两个存储器呢只要是设计好的系统就不会如果真的出现同时选中两个存储器的话那就是电 路出故障了8根线并不是专用的而是很多器件大家共用的所以我们把它们称之为数据总线 总线英文名为BUS即公交车道谁都可以走而16根地址线51单片机共有16根地址线这些以后会讲解这里不必死记硬背也是连在一起的我们把它们称之为地址总线。


单片机的处理中心CPU介绍:

    


单片机的指令系统和汇编语言程序介绍:


     前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实 现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一 步步地用命令的形式,即一条条指令(InstrucTIon)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已 存入存贮器后,还需要进行以下几步:  
 第四 步:把相加完的结果,送至存贮器中指定的单元。

数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一 样的──数字,或者说都是一串‘0’和‘1’组成的序列。换言 之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。 地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定, 但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有 这么几种情况:
1·地址(如MOV DPTR,#1000H),即地址1000H(相当于门牌号)送入DPTR。
2·方式字或控制字(如MOV TMOD,#03H),3即是控制字。
3·常数(如MOV TH0,#10H)10H即定时常数(16进制)。
 4·实际输出值 (如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。
 理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把 数据当成指令来执行了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2467800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存