首页 理论教育 C51单片机内部功能部件详解

C51单片机内部功能部件详解

时间:2023-11-17 理论教育 版权反馈
【摘要】:振荡电路给出的时钟信号,使得由一大堆数字电路构成的单片机各个部件能够协同工作,并最终实现需要的功能。中断控制器就是用来控制单片机处理类似这样的问题的,它具有中断控制,中断优先级处理等功能。

C51单片机内部功能部件详解

在第一小节提到:单片机最离不开的部件是中央处理器、ROM、RAM、振荡电路等部件,在第二小节中又把这几个部分分别看成是抽屉工作台、工人,虽然比喻不是非常的确切,但是很能够说明问题,下面对每个部件的功能进行说明。

1.只读存储器(ROM)

写出来的程序编译成最终的目标代码,通过烧写,被放在这里。代码是能够被识别的命令的序列(也可以有数据,一般是常量),用来指导CPU一步一步地去做事情。而写程序的你,就是领导了,就是那个往抽屉里放纸条的人,只不过纸条上写的东西,不是简单的一句“去看第三个抽屉”,而你现在在学的,就是怎么当领导。同时请注意“只读”的含义,对一个一般的程序执行过程来讲,程序是不可更改的,就是说,工人是不可以往抽屉里放纸条的。但在实际的系统中,有很多数据是变化的,因此单片机里还需要有一种存储器,就是RAM,也就是程序执行的时候可以使用的工作台。

2.随机存取存储器(RAM)

根据MCS-51单片机的结构特点,RAM里放的肯定是数据,之所以叫随机存取存储器,是因为在工作过程中,数据可以随时读取和修改,正因为这样,一般而言在C51语言中定义的变量实际总会被定位在这里。对很多内部处理来说,RAM的确很像工作台,用来暂时存放和处理一些数据。

3.中央处理器(CPU)

虽然每个部分都不可缺少,但是在单片机内部,最重要的是中央处理器,它负责指令的读取、译码和执行等内部控制以及算术逻辑运算,当然它的结构也很复杂,由于是采用了高级语言来设计程序,我们就不必了解它,在写程序的时候你往往是感觉不到它的存在的,当然如果用汇编语言写的话就不同了。

4.振荡电路

工人是需要吃饭的,但是单片机不是,推动单片机有条不紊地工作的动力在哪里呢?就是要说的振荡电路。振荡电路给出的时钟信号,使得由一大堆数字电路构成的单片机各个部件能够协同工作,并最终实现需要的功能。(www.xing528.com)

有了前面说到的功能部件,程序已经可以执行了,但是如果仔细看看,其实这样的单片机是没有什么用的,首先数据从哪里来呀,捣鼓完之后的数据又有什么用呀,所以要构成实用的系统,还需要其他的部件。

5.输入/输出(I/O)

输入/输出口是单片机最普通也是最常用的部件,它可以用来获取外部的数字量,输出内部的数字量。例如通过指令可以获取当前P0口所有口线的状态,也可以通过指令控制口线输出高低电平,从而驱动连接在相应口线上的执行、指示部件产生动作,例如控制继电器发光二极管等。

6.定时/计数器

如果有个功能,需要它每隔100ms运行一次,并且对时间间隔要求比较高,这个时候如果仍然是用查询的方式,可能就达不到预期的效果。因为随着条件的变化,程序循环执行的周期有很大的不确定性,尤其是在程序量很大的情况下,这个时候用定时器配合中断方式来做,就比较合适了。定时器是个硬件计数器,简单地说就是有数脉冲个数的能力,当计数源是从外部输入的时候,它被称做计数器。

7.中断控制器

读书的时候,老师给我们举例来说明中断的概念,他说,下课铃声就是个中断,因为睡着了的学生都会醒过来。严格地说,不仅仅是中断,还是中断唤醒,一个现在流行的低功耗MCU差不多都具有的功能。中断是指停止一件正在做的事情,然后处理另外那件突发事件,做完之后再回来接着做原来的事情。中断控制器就是用来控制单片机处理类似这样的问题的,它具有中断控制,中断优先级处理等功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈