文档库 最新最全的文档下载
当前位置:文档库 › 单片机基础知识

单片机基础知识

单片机基础知识
单片机基础知识

单片机基础知识

什么是单片机?

顾名思义,单片机中的“单片”就是只有一个芯片,“机”就是指计算机,只有有一个芯片,她却具有简单计算机的功能,这就叫做单片机,也教微处理器微控制器,她广泛的应用于各种电子设备工业设备中,下面介绍一些单片机基础知识。

学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单片机就更容易。为使绝大多数读者能用上单片机。我们这里将尽量按深入浅出、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领进单片机之“门”的目的。不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。

只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。

1.单片机的组成:

单片机要自动完成计算,它应该具有哪些最重要的部分呢?

我们以打算盘为例计算一道算术题。例:111+109×188-199÷32。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问题记录下来,然后第一步先算109×188,把它与111相加的结果记在纸上,然后计算199÷32,再把它从上一次结果中减去,就得到最后的结果。

我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要按先后顺序进行,有时还需等待。

如上例中,当在计算163×156时,数字36就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数据(如上例中的36、163等)、中间结果(如166÷34所得的商4、余数30等)、程序(命令的集合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。

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

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

实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即C PU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。

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

2.半导体存储器的工作原理

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

1)存储器的内部构造

看下面的图这就是半导体存储器的结构简图

(图中有4个字节)

2)存储器的工作原理

存储器就是用来存放数据的地方它其实是利用电平的高或低来存放数据的也就是说它实际上存放的是电平的高或低的状态而不是我们所习惯上认为的

有了这么一个构造我们就可以开始存放数据了比如我们要放进一个数据1234这样的数字那它是如何工作的呢看上面的图这就是存储器的内部结构示意图一个存储器就象一个小抽屉一个小抽屉里有8个也就是单片机的8位小盒子每个小盒子用来存放1位电荷电荷通过与它相连的电线传进来或释放掉至于电荷在小盒子里是怎样存放的这就不用我们操心了您可以把电线想象成水管小盒子里的电荷就象是水那就好理解了存储器中的1个小抽屉我们把它称之为1个单元相当于1个字节而1个小盒子就相当于1位00011010我们只要把第2号第4号和第5号小盒子里存满电荷而其它小盒子里的电荷给放掉就行了可是问题又出来了一个存储器有好多相同的单元线是并联着的看D7-D0在放入电荷的时候会将电荷放入所有的字节单元中而释放电荷的时候会把每个单元中的电荷都放掉这样的话不管存储器有多少个字节单元都只能放同一个数这当然不是我们所希望的因此我们要在结构上稍作变化看上面的图在每个单元上有根线与译码器相连我想要把数据放进哪个单元就通过译码器给哪个单元发一个信号由译码器通过这根线把相应的开关打开这样电荷就可以自由地进出了那么这样是不是就能随意地向存储器写入或者读出数据了呢其实还不能继续看上面的图与D7-D 0相连的还有一个控制器它是用来干什么的呢这根线叫写入/读出控制线当我们向存储器写入数据时必须先把这个开关切换到写入端而要读出数据时就得先把开关切换到读出端而片选端则是为了区分不同的存储器设置的这里没搞明白没关系后面还有介绍先让我们来看看译码器是如何工作的

3)半导体存储器的译码

简单介绍一下我们知道1根线可以代表2种状态2根线可以代表4种状态3根线可以代表8种256种状态又需要几根线代表自己想一下是不是8根线

4)存储器的选片及总线的概念

至此译码的问题解决了让我们再来关注另外一个问题送入每个字节的8根线又是从什么地方来的呢它就是从单片机的外部引脚上接过来的一般这8根线除了接一个存储器之外还要接其它的器件这样问题又来了这8根线既然不是存储器和单片机之间专用的如果总是将某个单元接在这8根线上就不行了比如这个存储器单元中的数值是11111111另一个存储器的单元是00000000那么这根线到底是处于高电平还是低电平所以我们必须让它们分离办法当然也简单当外面的线接到集成电路的引脚上来后不直接接到各单元去而是在中间加一组开关这组开关就是前面提到的控制器看前面的图平时我们让开关打开着如果确实是要向这个存储器中写入数据或要从存储器中读出数据再让开关切换到相应的位置就行了这组开关由三根引线选择读控制端写控制端和片选端要将数据写入先由控制器选中该片然后发出相应的写信号开关切换到相应的位置并将传过来的数据电荷写入片中如果要读信号先选中该片然后发出读信号开关也切换到相应的位置上数据就被送出去了另外读和写信号还同时受到译码器的控制由于片选端的不同所以虽有读或写信号但没有片选信号所以另一个存储器就不会误会而开门造成冲突那么会不会同时选中两个存储器呢只要是设计好的系统就不会如果真的出现同时选中两个存储器的话那就是电路出故障了8根线并不是专用的而是很多器件大家共用的所以我们把它们称之为数据总线总线英文名为BUS即公交车道谁都可以走而16根地址线51单片机共有16根地址线这些以后会讲解这里不必死记硬背也是连在一起的我们把它们称之为地址总线看上面的图

如此看来存储器要想写入或者读出数据还真是不容易不过好在这些都是由计算机自动完成的不需要我们去操心从上面的介绍中我们已经看到用来传递数据的

单片机的中心CPU

实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即C PU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另

外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。

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

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

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

第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。

第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;

第三步:相加;第四步:把相加完的结果,送至存贮器中指定的单元。

所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统(Iustruction Set),不同种类的单片机,其指令系统亦不同。

使用单片机时,事先应当把要解决的问题编成一系列指令。这些指令必须是选定的单片机能识别和执行的指令。单片机用户为解决自己的问题所编的指令程序,称为源程序(Sou rce Program)。指令通常分为操作码(Opcode)和操作数(Operand)两大部分。操作码表示计算机执行什么操作,即指令的功能;操作数表示参加操作的数或操作数所在的地址(即操作数所存放的地方编号)。因为单片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系统中的所有指令,都必须以二进制编码的形式来表示。例如,在I ntel公司的MCS-51系列单片机中,从存贮器中取出一数到CPU中的累加器(在运算器中,参与运算、存放运算结果的专用寄存器)的指令代码为74H,累加器内容加立即数的代码为24H,再加上立即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。这些指令是用十六进制表示二进制的机器码。

MCS-51单片机的字长为8位,有时,要完成某些操作用一个字节尚不能充分表达。所以,在指令系统中有单字节指令,也有多字节指令。机器码是由一连串的0和1组成,没有明显的特征,不好记忆,不易理解,易出错。所以,直接用它来编写程序十分困难。因而,人们就用一些助记符(Mue monic)——通常是指令功能的英文缩写来代替操作码,如MCS -51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这样,每条指令有明显的动作特征,易于记忆和理解,也不容易出错。用助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解,可单片机却只认识二进制机器代码,因此,为了让单片机能“读懂”汇编语言程序必须再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”。汇编可借助于人工查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所规定的任务。

MCU--51 CPU和存储器

单片机8051的CPU由运算器和控制器组成。

一、运算器

运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW CY AC FO RS1 RS0 OV - P对用户来讲,最关心的是以下四位。

1、进位标志CY(PSW 7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。

2、辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。

3、溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。

4、奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。

PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。

二、控制器

控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动

作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),PC才转到所需要的地方去。8051 CPU,C指定的地址,从R OM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。

三、存储器

存储器是单片机的又一个重要组成部分。其中每个存储单元对应一个地址,256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。

1、程序存储器

程序是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。如前述用助记符编写的命令MOV A,#20H,换成机器认识的代码74H、20H:(写成二进制就是01110100B和00100000B)。在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时设置。由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。8051内部有4k 字节的ROM,就占用了由0000H~0FFFH的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000H开始,如果将8051当做8031使用,不想利用片内4kROM,全用片外存储器,则地址编号仍可由0000H开始。不过,这时应使8051的第{31}脚(即EA脚)保持低电平。当EA为高电平时,用户在0000H至0FFFH范围内使用内部ROM,大于0FFFH后,单片机CP U自动访问外部程序存储器。

2、数据存储器

单片机的数据存储器由读写存储器RAM组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H~7FH(即0~127)。而用做特殊功能寄存器的地址为80H~FFH。在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个区域。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R

0~R7。究竟选用那一组寄存器,由前述标志寄存器中的RS1和RS0来选用。在这两位上放入不同的二进制数,即可选用不同的寄存器组。

3、特殊功能寄存器

特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址见附表2。其中带*号的可位寻址。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。用于CPU PSW便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、标志寄存器P SW、数据指针DPTR等的功能前已提及,而另一些寄存器的功能在后面有关部分再作进一步介绍。

单片机的指令系统和寻址方式

单片机要正常运作,事先需编制程序,再把程序放入存贮器中,然后由CPU执行该程序。程序是由指令组成的,指令的基本组成是操作码和操作数。单片机的品种很多,设计时怎样表示操作码和操作数,都有各自的规定,再有指令代码也各不相同,因此,必须对所选单片机的全部指令,也就是所谓“指令系统”,有足够的了解。各个系列的单片机虽然有不同的指令系统,但也有其共同性。掌握一种单片机的指令系统,对其它系列单片机可以起到触类旁通的作用。MCS-51单片机应用广泛,派生品种多,具有代表性,所以,这里以MCS-51系列的指令系统为例说明“指令”的组成和应用。

1、MOV A,#20H

这条指令表示把20H这个数送入累加器A中(一个特殊功能寄存器)。

2、ADD A,70H

这条指令表示把累加器A中的内容(在上例中送入的#20H)和存贮器中地址为70H单元中的内容(也是一个数字),通过算术逻辑单元(英文缩写为ALU)相加,并将结果保留在A中。这里MOV、ADD等称为操作码,而A、#20H、70H等均称为操作数。在汇编语言程序中,操作码通常由英文单词缩写而成,这样有助于记忆,所以又称助记符。如MOV就是英文单词MOVE的缩写,含有搬移的意思;而ADD即为英文单词,其意为相加。因此,对于略懂英语的用户,掌握单片机指令的含意是较为方便的。操作数有多种表示法,如以上的#2 0H称为立即数,即20H就是真正的操作数。而70H是存贮器中某个单元的地址,在该单元中,放着操作数(比如说是3AH),ADD A,70H不是将70H和A中的内容相加,而是从存贮器70H单元中将3AH取出和A中的内容相加。由上可知,要找到实际操作数,有时就要转个弯,甚至转几个弯,这个过程称为寻址,MCS-51共有7种寻址方式,现介绍如下:

一、立即寻址:

操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H。

二、寄存器寻址:

操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。例如MOV A,R0就属于寄存器寻址,即将R0寄存器的内容送到累加器A中。

三、直接寻址:

操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的A DD A,70H中的70H。

四、寄存器间接寻址:

操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOV A,@ R0。其它还有变址寻址、相对寻址、位寻址等,待以后再详细介绍。可能有人会问,在指令中直接给出实际操作数,不是简单、明了吗?为什么还要用其它几种寻址方式呢?这是因为在编制程序时很难一下子就给出操作数。如用单片机控制温度时,时时需要将给定的控制温度(如20℃)减去环境温度,而环境温度时时有变化,显然无法在程序指令中给出,只有通过一定方式,将其送入某个输入/输出口,再存放在某个寄存器中,这就必须用到寄存器寻址。又如要进行算术运算,要计算每班学员各科成绩的平均值,如果把每个学员的各科都编一个程序,在程序中直接给出该学员各科成绩,再求平均值,显然太麻烦。这里可以编一个求平均成绩的通用程序,把每位学员的成绩送入存贮器的各个单元中,这时可采取直接寻址,一个程序可供每个学员用,不是更方便吗?所以,寻址方式越多,编制程序就越方便、灵活,适用范围就越广。

寻址有如找人,如被找的人有手机、BP机、座机电话等多种联系方式则就容易找到他,单片机也是如此,寻址方式越多,找操作数越方便,单片机的功能就越强。前面介绍51系列单片机的寻址方式时,常遇到单片机内部的一些寄存器、累加器A、通用寄存器R0~R7、数据指针DPTR和存贮器等。在以后介绍指令时,数据就要在这些寄存器、存贮器之间传送,或者进行运算。因此,编制程序就需熟悉单片机的内部结构。

8051单片机的内部总体结构其基本特性如下:

8位CPU、片内振荡器

4k字节ROM、128字节RAM

21个特殊功能寄存器

32根I/O线

可寻址的64k字节外部数据、程序存贮空间

2个16位定时器、计数器

中断结构:具有二个优先级、五个中断源

一个全双口串行口

位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节RAM、4k字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0~P3,余下的就是CPU的全部组成。把4kROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031的框图,如果将ROM置换为Flash存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机的框图。

单片机各部分是通过内部的总线有机地连接起来的,学习了上面这些单片机基础知识,您应该对单片机有了大致的了解。

51单片机基础知识试题题库(复习资料)

单片机原理与应用复习资料 第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时〃表示从P0口稳定地送出了低8位地址。(备注:ALE 为地址锁存控制信号,书上P22) 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。(p25 更具体些是在内部存储器的用户RAM区开辟的) 3、当使用8751且EA=1〃程序存储器地址小于1000H 时〃访问的是片内ROM。 4、MCS-51系统中〃当PSEN信号有效(备注:低电平为有效信号)时〃表示CPU要从外部程序存储器读取信息。(p22) 5、MCS-51有4组工作寄存器(p23 备注:称为通用寄存器或者工作寄存器)〃它们的地址范围是00H~1FH 。(延伸:通用寄存器占去32个单元,位寻址区占去16个单元,用户RAM区占去80个单元,三者总共为128个单元,组成内部数据存储器的低128单元区) 6、MCS-51片内20H~2FH(即为位寻址区)范围内的数据存储器〃既可以字节寻址又可 以位寻址。(p24) 7、PSW中RS1 RS0=10时〃R2的地址为12H 。 8、PSW中RS1 RS0=11时〃R2的地址为1AH 。(p27 查表2.3即可) 9、单片机系统复位后〃(PSW)=00H〃因此片内RAM寄存区的当前寄存器是第0 组〃8个寄存器的单元地址为00H ~ 07H 。(p27 参考下一题) 10、PC复位后为0000H 。(p38 查表2.6即可,有各种寄存器的初始化状态) 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。(p37) 12、PC的内容为将要执行的下一条指令地址。(p30)

最新单片机重点知识点整理

1单片机内部RAM 256个单元功能划分 通用工作寄存器区:用于存放操作数及中间结果 位寻址区:作为一般RAM单元使用,进行字节操作,也可对单元中每一位进行操作 用户区:供用户一般使用 特殊功能寄存器区:共专用寄存器使用 同步通信,依靠起始位和停止位实现同步 异步通信,依靠同步字符实现同步 1.方式0 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串行输入/输出。 2.方式1 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和1位停止位。 3.方式2 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。 4.方式3 方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式 3产品设计的步骤 1明确设计任务和性能指标2总体设计3硬件测试4软件设计5产品调试 4指令的寻址方式、分类,会举例 (1)立即数寻址指令本身直接含有所需要的8位或16位的操作数。 将此数称为“立即数”(使用#标明)。 MOV A,#5FH ;将(8位)立即数送累加器A (2)直接寻址指令直接给出了操作数的地址。 MOV A,3AH ;将RAM3AH单元内容送累加器 (3)寄存器寻址当所需要的操作数在内部某一个寄存器Rn中时,将此寄存器名Rn直接写在指令的操作数的位置上。 MOV A,R0 注意:寄存器寻址方式的指令大多是单字节指令。指令本身并不带有操数,而是含有存放操作数的寄存器的3位代码。以MOV A,Rn为例,使用R7寄存器,所以rrr=111,既指令的机器码为:0EFH (4)寄存器间接寻址指令中含有保存操作数地址的寄存器Ri。 MOV A,@Ri ( i=0、1) 如:MOV R0,#3AH ;立即数送R0寄存器 (5)变址寻址;指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。 指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。 MOVX A,@A+PC ;PC内容与A的内容相加得操作数地址并将此操作数送A

51单片机基础知识试题题库(含答案)

第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。 3、当使用8751且EA=1,程序存储器地址小于1000H 时,访问的是片内ROM。 4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。 5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。 6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。 7、PSW中RS1 RS0=10时,R2的地址为 12H 。 8、PSW中RS1 RS0=11时,R2的地址为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。 10、PC复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。 12、PC的内容为将要执行的的指令地址。 13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。 14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。 15、若A中的内容为63H,那么,P标志位的值为 0 。 16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。这时当前的工作寄存器区是第 0 工作寄存器区。 17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。 18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区 和用户RAM区。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到 PC 。 20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS -51的PC是16位的,因此其寻址的范围为 64 KB。 21、MCS-51单片机片内RAM的寄存器共有 32 个单元,分为 4 组寄存器,每组 8 个单元,以R0~R7作为寄存器名称。 22、但单片机的型号为8031/8032时,其芯片引线EA一定要接低电平。 二、选择题: 1、当MCS-51复位时,下面说法正确的是( A )。 A、 PC=0000H B、 SP=00H C、 SBUF=00H D、 P0=00H 2、PSW=18H时,则当前工作寄存器是( D )。 A、 0组 B、 1组 C、 2组 D、 3组 3、MCS-51上电复位后,SP的内容应是( B )。 A、 00H B、 07H C、 60H D、 70H 4、当ALE信号有效时,表示( B )。 A、从ROM中读取数据 B、从P0口可靠地送出低8位地址 C、从P0口送出数据 D、从RAM中读取数据 5、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器

(完整word版)单片机知识点总结

第一部分硬件基础 1、单片机的组成; 2、单片机的并行I/O口在使用时,有哪些注意的地方? 3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 4、时钟及机器周期; 5、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1.MCS-51单片机有4个存储空间,它们分别是:、、、。 2、MCS-51单片机的一个机器周期包括个状态周期,个振荡周期。设外接12MHz晶振,则一个机器周期为μs。 3.程序状态字PSW由位组成。 4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称 为区,但其中仅有个字节有实际意义。 5. MCS-51 系列单片机为位单片机,其数据总线为位,地址总线为位,可扩展的地址范围为。 6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为,TMOD 为。 8.通常MCS-51单片机上电复位时PC= H、SP= H、通用寄存器采用第组,这一组寄存器的地址范围 是 H。 9.MCS-51单片机堆栈遵循的数据存储原则。 10.在MCS-51单片机中,使用P2、P0口传送信号,且使用P0口来传送信号,这里采用的 是技术。 11.MCS-51单片机位地址区的起始字节地址为。

12.对于并行口在读取端口引脚信号时,必须先对端口写。13.PC的内容是。 14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过个时钟周期的高电平。 15、具有4KBytes 储存容量之存储器,其至少需具有根地址线。 二、问答 1.简述MCS-51 单片机的P0、P1、P2 和P3 口的功能。 2.MCS-51单片机的三总线是由哪些口线构成的。 3.MCS-51单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。 6.请写出MCS-51单片机的五个中断源的入口地址。 第二部分 C51程序设计 1、C51的指令规则;C51编程语句及规则; 2、C51表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、C51的函数; 5、中断函数。 例: 1.程序的基本结构有。 2.C51的存储器模式有、、。 3.C51中int型变量的长度为,其值域为;unsigned char型变量的长度为位,其值域为。 4.C51中关键字sfr的作用,sbit的作 用。 5.函数定义由和两部分组成。 6.C51的表达式由组成。C51表达式语句由表达式和组成。

(完整版)单片机原理及应用考试复习知识点

单片机原理及应用考试复习知识点 第1章计算机基础知识 考试知识点: 1、各种进制之间的转换 (1)各种进制转换为十进制数 方法:各位按权展开相加即可。 (2)十进制数转换为各种进制 方法:整数部分采用“除基取余法”,小数部分采用“乘基取整法”。 (3)二进制数与十六进制数之间的相互转换 方法:每四位二进制转换为一位十六进制数。 2、带符号数的三种表示方法 (1)原码:机器数的原始表示,最高位为符号位(0‘+’1‘-’),其余各位为数值位。 (2)反码:正数的反码与原码相同。负数的反码把原码的最高位不变,其余各位求反。 (3)补码:正数的补码与原码相同。负数的补码为反码加1。 原码、反码的表示范围:-127~+127,补码的表示范围:-128~+127。 3、计算机中使用的编码 (1)BCD码:每4位二进制数对应1位十进制数。 (2)ASCII码:7位二进制数表示字符。0~9的ASCII码30H~39H,A的ASCII码41H,a的ASCII码61H。 第2章80C51单片机的硬件结构 考试知识点: 1、80C51单片机的内部逻辑结构 单片机是把CPU、存储器、输入输出接口、定时/计数器和时钟电路集成到一块芯片上的微型计算机,主要由以下几个部分组成。 (1)中央处理器CPU 包括运算器和控制器。 运算电路以ALU为核心,完成算术运算和逻辑运算,运算结果存放于ACC中,运算结果的特征存放于PSW中。 控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。程序计数器PC是一个16位寄存器,PC的内容为将要执行的下一条指令地址,具有自动加1功能,以实现程序的顺序执行。 (2)存储器 分类: 随机存取存储器RAM:能读能写,信息在关机后消失。可分为静态RAM(SRAM)和动态RAM(DRAM)两种。 只读存储器:信息在关机后不会消失。 掩膜ROM:信息在出厂时由厂家一次性写入。 可编程PROM:信息由用户一次性写入。

单片机MCU基础知识,初学者必看

单片机MCU基础知识,初学者必看 1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。 2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。 3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。 4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。 5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。 6.如何区分有源蜂鸣器和无源蜂鸣器? 从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。 有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。 7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。 8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。因此在进入低功耗模式之前,必须配置莫个片内外设的中断,并允许其在低功耗模式下继续工作。如果不这样,只有复

单片机基础知识点总结

单片机基础知识点总结 单片机基础知识点总结 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令 并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊 的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序 和数据;输入输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和IO端口引脚具有复用功能;软件上,采用面向控制的 指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机 还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性 高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、IO口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。

4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统;输入输 出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用 性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水 塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与 +5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到 水位上限或下降到水位下限。 第2章 1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时计数器、多功能IO口和中断控制等基本功能部件。1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。3)

单片机基础知识

1.一个完整的微机系统由硬件和软件两大部分组成 2.微型计算机的性能指标: 字长、运算速度、存储容量、软件配置、外设扩展能力 字:一组二进制数,字长:该二进制数的位数,字长越大,计算机处理数据越快运算速度:表达方式:cpu主频,越高,运算速度越快 存储容量:内存储容量(cpu直接访问存储器)、外存储容量(硬盘容量) 2.计算机系统:硬件系统(冯.诺依曼结构)(运算器、存储器、控制器、输入输出设备)、软件系统(运行程序和相应文档) 3.CPU主要组成部分:运算器、控制器 ALU运算器核心、累加器A、标志寄存器FR(C进、借位,OF溢出标志)、(不影响标志位CY的指令:INC A) 寄存器组RS、控制器CU(pc程序计算器、ir指令寄存器、id指令译码器) 4.存储器:RAM、ROM,其中RAM 具有易失性,常用于存储临时性数据 存储器的地址范围是0000H~0FFFH,它的容量为4KB(16*16*16=4*1024) 5.总线bus:传递信息的公共通信公道 片总线、内总线、外总线 地址总线(AB)、控制总线(CB)、数据总线(DB) 6.单片机(芯片)包括五部分:运算器、存储器、控制器、输入部分、输出部分8051:8位单片机 8031:复位后,PC和SP为:0000H、07H 7.二进制B、八进制O、十进制D、十六进制H 8.原码、反码、补码、压缩BCD码

9.单片机引脚: P1.0VCC(40引脚)P1.1P0.0 P1.2P0.1 P1.3P0.2 P1.4P0.3 P1.5P0.4 P1.6P0.5 P1.7P0.6 RST P0.7 RXD EA/VPP TXD ALE/PROG ITR0PSDE ITR1P2.7 T0P2.6 T1P2.5 WR P2.4 RD P2.3 XTAL2P2.2 XTAL1P2.1 GND P2.0(21引脚)

单片机基础知识点提问汇总

1.什么是单片机? 2.单片机有哪些用途?(举例说明) 3.十进制数117对应的二进制,十六进制为多少? 4. -74的原码、反码、补码分别为多少? 5. 描述与0和1分别进行与、或、异或操作的效果 6. 说明单片机系统开发使用的软件名称,下载软件名称 7. MCS-51单片机的ROM,RAM的容量分别为多少? 8. MCS-51单片机I/O的数量,P0,P1,P2,P3的各自特点? 9. 12MHZ晶振的单片机系统,时钟周期,机器周期分别为多少? 10.P3.0~P3.7的第二功能分别是什么? 11. CPU复位后所有I/O口的状态? 12. 作为普通I/O口,哪组I/O口没有内部上拉电阻? 13. 用来改变工作寄存器组的是通过那个寄存器的哪几位设置? 14. MCS-51单片机内部RAM的位寻址区的地址范围是? 15. 在进行外部存储器扩展时,由哪些口构成16位地址总线? 16. 单片机c语言程序的标识符命令有什么规则? 17. 构成单片机最小系统,哪些引脚必须连接,如何连接? 18. 单片机复位后程序计数器PC的值为多少? 19. 描述利用keil软件进行单片机开发的过程? 20. proteus仿真软件应调入keil软件生成的那个文件运行程序? 21.单片机片内RAM的三个组成部分? 22.单片机的复位端是什么电平复位,复位电平要持续多长时间以上? 23.单片机复位电路有哪两种形式? 24.数据类型unsigend char,unsigned int,unsigned long表示数据范围分别为? 25.字符常量‘A’与字符串常量“A”有什么区别? 26.存储器类型data,bdata, xdata,code分别表示哪种存储器类型? 27.数组名和指针的相同点与不同点? 28.编写程序提取某个小于100的数据x的十位数和个位数存到变量shi,ge中。 29.利用按位与(&)按位或(|)按位异或(^)实现P1.2,P1.3口同时清零,置1和取反功能。 30.利用if条件语句编程实现考试通过与否的判断,成绩变量score大于等于60时,位变量pass_fg为1,否则为0. 31.某温度采集系统,采集了十个温度值存放在数组temper[10]中,请利用循环语句求出10个温度值的平均值,并将该平均值存放在temper_avr变量中。 32.十个学生参加测验,批卷教师对十份卷进行批阅后得出十个成绩,假设这十个成绩存放在数据score[10]中,请利用循环语句查找出该十个成绩的最高分和最低分分别存到变量score_max 和score_min中。 33. 共阳极数码管的a,b,c,d,e,f,g,p分别与单片机的P0.0~P0.7相连,请列些数码管显示’0’~’9’数值的代码表。

(完整版)单片机原理及应用知识点汇总(模拟卷)

单片机基础知识模拟试卷 一、填空题 1、单片机是将微处理器、一定容量的RAM 和ROM以及I/O口、定时器等电路集成在一块芯片上而构成的微型计算机。 2、单片机80C51片内集成了4 KB的FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、在80C51中,只有当EA引脚接高电平时,CPU才访问片内的Flash ROM。 5、当CPU访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8位数据由P0 口提供 6、在I/O口中, P0 口在接LED时,必须提供上拉电阻,P3 口具有第二功能。 7、80C51具有 64 KB的字节寻址能力。 8、在80C51中,片内RAM分为地址为00H~7FH 的真正RAM区,和地址为80H~FFH的特殊功能寄存器(SFR) 区两个部分。 9、在80C51中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当CPU复位时,第0 组寄存器为当前的工作寄存器。 10、数据指针DPTR是一个 16 位的特殊功能寄存器寄存器。 11、在80C51中,一个机器周期包括12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和4周期指令。 12、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持2 个机器周期,可将系统复位。 13、单片机80C51复位后,其I/O口锁存器的值为0FFH ,堆栈指针的值为07H ,SBUF的值为不定,内部RAM的值不受复位的影响,而其余寄存器的值全部为0H。 15、单片机80C51的5个中断源分别为INT0、INT1、T0、T1以及TXD/RXD 。 16、单片机80C51的中断要用到4个特殊功能寄存器,它们是TCON、SCON、IE以及IP。 17、在80C51中,外部中断由IT0(1)位来控制其两种触发方式,分别是电平触发方式和边沿触发方式。 19、单片机80C51片内有两个16 位的定时/计数器,即T0和T1,它们都有定时和计数的功能。 20、单片机80C51的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为FE0CH 。 24、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是通信双方必须采用统一的编码方式,二是通信双方必须能产生相同的传送速率。 25、单片机80C51中的串行通信共有4 种方式,其中方式0 是用作同步移位寄存器来扩展I/O 口的。 26、设80C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为F4H。 31.对单片机而言,连接到数据总线上的输出口应具有(锁存功能。 32.决定程序执行的顺序是(PC)寄存器,该寄存器复位时的值为(0000h)。 33.单片机内包含组成微机的三个主要功能部件是CPU、存储器和(I/O口)。 34. 80C51系列单片机字长是(8)位,有(40)根引脚。 35.ALE信号的作用是(锁存允许)。 36.80C51复位后,PC=(0000)H。 39.80C51单片机外部中断请求信号有电平方式和(边沿触发),在电平方式下,当采集到INT0、INT1的有效信号为(低电平)时,激活外部中断。

单片机学习心得10篇

《单片机学习心得》 单片机学习心得(一): 单片机学习心得体会 我从大二起,就去实验室去学习。在那里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。 我是从学习单片机开始我的嵌入式学习的。 我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不明白改怎样学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器透过编写程序,我慢慢的弄懂了它们,此刻回头看去,原先它还是很简单的。 用哪种编程语言最适合我们。 我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,十分难懂。我认为刚开始学习单片机没有必要必须要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。 我的单片机学习心得。 很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。 单片机的学习实践。 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是十分重要的。如何学习好硬件,动手实践是必不可少的。我们能够透过自己动手做一个自己的电子制作,透过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就能够多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。 这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。

单片机基础知识点总结.doc

单片机基础知识点总结 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入 /输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严 格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储

器)、I/O 口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。 4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统; 输入/输出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与+5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电, 而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到水位上限或下降到水位下限。 第2章

51单片机知识大汇总

51单片机知识大汇总 1.取指译码执行模型:首先我们来看看单片机是如何工作的,我们拿电脑的主板来作为对比,我们买电脑时,总是追求处理器的主频。处理器的工作原理是从存储器上取出一条指令,然后对指令译码,译码完后执行。然后取下一条指令,译码,执行。它为什么能这么有序的工作?是因为它有一个工作时钟,在这个工作时钟的统一管理下,处理器有序的工作,这里的主频就是工作时钟的速度,当然,现在你可能也知道主频越高,取指译码速度越快,性能越好。那么你可能会问,这跟51单片机有什么关系,OK,切入正题,单片机的工作也是这个原理,从存储器上取指,译码,执行。但是单片机的存储器在哪?在单片机的内部,对于电脑来说,是把处理器,内存集中在一块主板上。而现在你应该很明确,对于单片机它就相当于一块电脑主板,把处理器,存储器集中到一块芯片内部。从这个宏观的角度看,所有的单片机是不是都是一个原理,服从于取指,译码,执行的基本模型。OK,继续…… 2. 51单片机的外设:我们在学习单片机时,所做的第一个实验都是一样的,点灯。也许你已经学会了用单片机做出好看的花样灯,或者用单片机驱动数码管显示出数字或字母。或者可以检测按键了。不错,我们仔细想想这些是什么,无非,你就是控制那一排排引脚输出高低电平,我们称这些引脚叫I/O口,输入输出,按键是输入,点灯是输出。其实你以为你学了三样东西,其实,你只学了一样东西,I/O控

制。所以这些内容并不是单片机的内容,我们称之为单片机的外设,现在你应该很明确了,所谓的LCD液晶,AD芯片什么的都是单片机的外设。但是我们为什么要学习这些单片机的外设呢?还是为了熟悉单片机,你驱动的芯片多了,自然对编程模型就熟悉了。其实,我们用单片机就是在驱动外设,然后你问那定时器,中断,串口通信又是什么?对于中断,现在单片机在做一件事,突然,我给个信号,现在出了一个意外,你赶快去做另一件事,做完另一件再回来,就是这样。对于定时器,我举个例子,现在对于一盏灯,我要他每天晚上六点打开,每天早上六点关闭,我们会怎么做?设定一个计时器,假设当前是晚上六点,现在我让I/O口输出高电平点灯,同时打开计时器,定12个小时,12个小时一到,给一个中断,去把I/O口取反,关灯,是不是这样控制的。所以中断,定时器只是为了更好的让单片机进行控制工作。现在你应该很熟悉了,单片机就是一款自动控制的芯片。注意,是芯片,你做的工作就是如何编程来是这款芯片工作,是这款芯片在规定的程序下干活……怎么让单片机干活呢?五个字,配置寄存器。 3.配置寄存器:学习51单片机,不管你是刚刚开始学,还是学习有一段时间了,你应该很熟悉的字眼,寄存器。我想说单片机的基本思想就是五个字:配置寄存器。单片机怎么工作,比如,你让I/O口输出高电平,怎么输出,在C语言里,你是通过P1=0xFF来实现的,为什么这么写,你去看看头文件reg51.h里的内容,它定义了一个寄存器

单片机基础知识

第一章单片机基础知识 1、单片机将、、、、等主要计算机部件集成一片芯片上,因此,单片机被称为单片微型计算机。 2、十进制数112.375转换成十六进制数为。十进制数121转换为8位二进制数为。 3、-45的补码是。 4、计算机中表示存储信息的单位有、、。 5、汇编语言分为、、三种,其中能被计算机直接识别和执行的是。 6、一个机器周期为个振荡周期,个状态(S),个节拍(P)。乘法指令为个机器周期,但却是字节指令。所以,指令的字节数并不代表执行的速度。 第二章单片机的结构 一、填空题 1、以下英文代表的含义(寄存器)是什么? SP: DPTR: PC: SFR: 2、以下引脚的功能为: Vss: ALE/PROG: RST/VPD: 3、51单片机提供了一个位的CPU,两个位的定时器 4、8051最多可以有个并行输入输出口,P0口可分时作为和。P3口常复用作为。 5、51单片机具有个中断源,并且具有三总线结构,三总线是指、、。 6、单片机复位方法有、、三种,复位起始地址为。 7、CPU与外设之间交换信息的方式通常有、、三种 8.MCS—51布尔处理机的存储空间是。 9.P2口通常用作,也可以作通用的I/O口使用。

10.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为。 11.8051的堆栈区一般开辟在 12、MCS-8051系列单片机字长是位,有根引脚。 13、ALE信号的作用是,当ALE有效时把口上的地址 送锁存。 14、8051复位后,PC= 。若希望从片内存储器开始执行,EA脚应接。15.MCS-51单片机的P0-P3口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构成系统的和;口具有第二引脚功能。 二、选择题 1.MCS-51单片机复位操作的主要功能是把PC初始化为( )。 A.0100H B.2080H C.0000H D.8000H 2. MCS-51单片机的堆栈区应建立在()。 A. 片内数据存储区的低128字节单元 B. 片内数据存储区 C.片内数据存储区的高128字节单元 D.程序存储区 3.单片机复位后堆栈指针(SP)=() A. 00H B. 20H C. 0FFH D. 07H 4、在访问片外扩展存储器时,低8位地址和数据由()口分时传送,高8位地址由()口传送。 A. P0 P1 B. P2 P3 C. P0 P2 D. P1 P2 三、简答题 1、请简述51单片机存储器的空间分布。 2、请简述单片机五个中断源的名称及其入口地址。 3、根据位地址填充PSW程序状态字控制器的内容,说出各位地址的位名及各位的含义:

51单片机基础知识及期末复习

51单片机简答题部分(经典) 1、什么叫堆栈? 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 2、进位和溢出? 答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 答:单片机片内程序存储器的配置形式主要有以下几种形式: (1)掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。掩膜ROM单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。 (2)EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。 (3)无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。 无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。 (4)E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。该类型目前比较常用 (5)OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。这种芯片的价格也较低。 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件? 答:51单片机通常由下列部件组成:一个8位CPU、一个片内振荡器及时钟电路、内部Flash Rom 程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。 6、MCS-51单片机的存储器从物理结构上可划分几个空间? 答:MCS-51系列单片机的存储器配置从物理结构上可分为:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上可分为:片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。

单片机初学者快速学习的四大步骤及方法

单片机初学者快速学习的四大步骤及方法 目前单片机对于工科学生而言就会象电路基础原理一样成为基础课。 其实不是单片机难学,而是不知道怎么入门。请大家记住一句话“单片机不是学出来的,而是玩出来的”。下面结合自己自学单片机的体会,和大家一起来“玩”单片机。准备好了吗?我现在开始教大家如何学习单片机。 第一步:先读通一本教材 唉!?太没创意了吧,还要看书?不错,第一步还是要通读一遍教材,这样我们才能站在巨人的肩膀上。读了一遍什么感觉,一个字晕。着很正常,不然你就看不到这篇文章。很多人在晕了之后就泄气了,或者换教材,接着晕,直至晕倒。不过,现在告诉大家我们要向酒鬼学习,晕了不要紧,嘴上一直说“没醉”,至少有可以多喝半斤。所以信心很重要。第二:晕着脑袋实践 第一步我们已经晕了,其实,我们是在似醉非醉,似醒非醒的最高境界。趁着这么好的感觉(这种感觉是多少武林高手梦寐以求的),赶快练上几路拳脚。 首先要选好兵器。现在学校实验室都有单片机实验箱,把握好实验的时间,或者和老师搞好关系,有时间就玩两把。不过最好还是有自己的独家装备,一开始装备不要太华丽,能用就行。软件建议用Keil c51,硬件要有pc机和开发板,开发板要求有流水灯、数码管、独立按键、矩阵键盘、ad转换、液晶屏、蜂鸣器,这就差不多了。软件网上有的是,下一个,还是免费的。pc机没有可以先用下同学的。开发板大概在200元左右,这比请朋友吃饭便宜多了。在想想将来我们要靠他来闯荡江湖,这又算得了什么呢? 好!兵器选好了,那就练把!提醒大家一句,降龙十八掌也是从扎马步练起的。即便我们比郭靖聪明,也要先练马步,想想黄蓉就知道了。现在就从最基本的流水灯开始,试着先控制一个发光管,慢慢的变换花样,做出自己的个性来。是不是特有成就感,是不是不吃饭都不知道饿。现在已经有点着迷了吧(个别人除外)。 第三:带着问题解决问题 在实践中我们有很多现象解释不了,怎么办?是自己慢慢参悟呢,还是向高手请教?建议

单片机C51基础知识汇总

单片机C51基础知识汇总 李小鹏 2019.12.24

目录 1、标识符 2、数据类型 3、变量 4、常量 5、二进制、八进制、十进制、十六进制 6、运算符 7、语句 8、注释 9、if语句 10、switch--case语句 11、for循环 12、while循环 13、do—while循环 14、循环控制 15、一维数组 16、二维数组 17、字符数组与字符串数组 18、函数 19、函数重入与递归 20、预处理 21、宏

22、条件编译指令 23、指针(*) 24、结构(struct) 25、联合(union) 26、枚举(enum) 主要内容 1 .标识符 标识符就是编程时使用的表示某个事情名称的符号,如函数名、变量名、引脚名、特殊功能寄存器名等。标识符有系统标识符和用户自定义标识符之分。 标识符的命名规则: (1) 标识符第一个字符必须是字母或下划线。 (2) 标识符只能由字母、数字和下划线三类字符组成。 (3) 标识符是区分大小写的。如A 和a 是两个不同的标识符。 (4) 标识符有效长度不超过32 个字符。 (5) 标识符不能是C51 的关键字。 2 .数据类型 char有符号字符型,一字节,值域-128~127。 int 有符号整型,两字节,值域-32768~32767。

long有符号长整型,四字节,值域-2147483648~2147483647 unsigned char无符号字符型,一字节,值域0~255 unsigned int无符号整型,两字节,值域0~65535 unsigned long无符号长整型,四字节,值域0~4294967295 float浮点型(都是有符号的),四字节,±1.175494E-38~±3.402823E+38 bit位变量,一个二进制位,值域0~1。 sbit51 单片机特殊功能寄存器位,值域0~1。 Sfr 51 单片机特殊功能寄存器,值域0~255。 sfr1651 单片机特殊功能寄存器,如DPTR,值域0~65535。bit,sbit,sfr,sfr16不是标准C 的内容,是51 单片机及C51 编译器特有的,不能用指针对它们进行操作。 3 .变量 C51 规定所有变量在使用前都必须加以说明。变量说明语句由数据类型、可选的存储类型和其后的一个或多个变量名组成,形式如下: 数据类型[存放类型] 变量表; 变量的作用范围:在花括号内说明(也称声明或定义)的变量,其作用范围仅限该花括号内,称为局部变量;在所有函数外面定义的变量,其作用范是整个程序,称为全局变量。 静态变量:在类型前加关键词static 说明的变量,称静态变量。在函数内部定义的静态变量也是局部变量,但它在函数下次调用时,能保存上次调用的值。在函数外面定义的静态变量,是全局变量,但

单片机基础试题及答案

选择题: 1.计算机中最常用的字符信息编码是(B ) BCD码 B、ASCII C、余3码 D、循环码 2.以下不是构成的控制器部件( D) 程序计数器B、指令寄存器C、指令译码器D、存储器 3. 数制及编码:( 10100101 ) B = ( B ) H 。 A、204D B、A5H C、57D D、01011000B 2. 十进制数126其对应的十六进制可表示为( D ) 。 A、8F B、8E C、FE D、7E 3. CPU主要的组成部分为(A )。 A、运算器,控制器 B、加法器,寄存器 C、运算器,寄存器 D、运算器,指令译码器 4. INTEL 8051 CPU是( C )位的单片机。 A、16 B、4 C、8 D、准16位 5. 对于INTEL 8031来说,/EA脚总是(A ) 。 A、接地 B、接电源 C、悬空 D、不用 6. 在单片机中,通常将一些中间计算结果放在( A )中。 A、累加器 B、控制器 C、程序存储器 D、数据存储器 7. 判断是否有进位时用 PSW 的(A )标志位。 A、CY B、OV C、P D、RS1,RS0 8.采用 8031单片机必须扩展( B )。 A、数据存储器 B、程序存储器 C、I/O接口 D、显示接口 9、. 堆栈指针 SP的作用是( B )。 A、指示堆栈的栈底 B、指示堆栈的栈顶 C、指示下一条将要执行指令的地址 D、指示中断返回的地址 10. 单片机在进行取指令操作时,指令的地址是由(B )的内容决定。 A、SP B、PC C、DPTR D、PSEN和ALE 11. 51系列单片机有五个中断源,外中断INT1的入口地址是( C )。 A、0003H B、000BH C、0013H D、001BH

相关文档