1、 什么是单片机?单片机有哪些特点 (5分)
答:单片机是一种把微处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出(I/O)接口电路、定时器/计数器、串行通信接口及中断系统等部件集成在同一块芯片上的,具有完整功能的微型计算机(3分)。单片机具有优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低能耗、低电压,便于生产便携式产品等一些特点(2分)。
4、80C5l单片机的时钟、状态、机器周期、指令周期是如何设置的?当主频为12 MHz时,各种周期等于多少微秒?
【答】把单片机振荡脉冲的周期定义为时钟。节拍经过二分频后,就是单片机的状态信号S。一个机器周期宽度为6个状态,共有12个时钟周期,因此,机器周期就是振荡频率的1/12(2分)。机器周期是80C51单片机的最小时间单位。执行一条指令的时间被称为“指令周期”(2分),80C51单片机执行一条指令的时间包含有1个、2个或4个机器周期。当主频为12 MHz时,振荡脉冲的周期为1/12μs,状态周期为1/6μs,机器周期为1 μs, 指令周期为1~4μs。(2分
3、在单片机领域,目前最广泛使用的是哪几种语言?有哪些优越性?单片机能否直接执行这几种语言?
【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。(2分)
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。但编程比使用高级语言困难,通用性差。单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。(2分) 高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。对于高级语言,这一转换工作通常称为“编译”或者“解释”。进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。(2分)
1、80C51单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的最主要功能是什么? 【答】80C51单片机在片内主要包含中央处理器CPU(算术逻辑单元ALU及控制器等)、只读存储器ROM(存储程序)(1分)、读/写存储器RAM(存储数据)(1分)、定时器/计数器(完成定时和计数)(1分)、并行I/O口P0~P3(完成并行数据的输入输出)(1分)、串行口(完成串行数据的输入输出)(1分)、中断系统(中断的管理)以及定时控制逻辑电路等(1分)。
5、现在串行通信方式已经得到广泛应用,请说明8051有几种串行方式可选择(2分)?各有什么特点(3分)?波特率有什么不同(3分)?
答:共有4种串行通信的方式可选,0 方式是8位移位输入输出方式;1方式是10位异步通信方式,2、3方式是11位异步通信方式,2、3方式主要是波特率的设定不同,0方式波特率为fosc/12, 2方式为fosc/32 或者 fosc/64, 1、3方式取决于定时计数器1的溢出率。 5、什么是寻址方式?MCS-51单片机有哪几种寻址方式?(5分)
答:指令的一个重要的组成部分是操作数,指令给出参与运算的数据的方式称为寻址方式,换句话说,寻址方式就是寻找确定参与操作的数的真正地址(2分)。MCS-51系列单片机共有7种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址(3分)。
-----------------------------------------------------
引 脚
-------------------------------------------------------
1..8031单片机MOV、MOVC、MOVX指令有什么区别?[分别用于哪些场合?[由它们分别可以产生一些什么信号? [共6分]
答:①MOV指令用于对内部RAM的访问。
②MOVC指令用于访问程序存储器,从程序存储器中读取数据(如表格、常数等),它有效时将产生PSEN信号。
③MOVX指令用于访问外部数据存储器。要注意:执行MOVX指令时,在P3.7引脚上同时输出RD有效信号,或在P3.6引脚上输出WR有效信号,可以用做外部数据存储器或I/O的读/写选通控制信号。
3. 80C51单片机的EA信号有什么功能?在使用80C51时,EA信号引脚应如何处理?[程序在何处从什么地址开始执行?在使用80C31时,EA信号引脚应如何处理? 程序又在何处从什么地址开始执行?[共8分]
答:80C51单片机的EA信号被称为“片外程序存储器访问允许信号”。CPU访问片内还是片外程序存储器,可由EA引脚所接的电平来确定:
? EA引脚接高电平时,程序从片内程序存储器地址为0000H开始执行,即访问片内
存储器;当PC值超出片内ROM容量时,程序会自动转向片外程序存储器空间执行。片内和片外的程序存储器地址空间是连续的。
? EA引脚接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。
对于有片内ROM的80C51/87C51单片机,应将EA引脚接高电平。在使用80C31单片机时,EA信号引脚应接低电平,即此时程序存储器全部为外部扩展。
1、 8031单片机引脚有哪些第二功能?
答:8031单片机的P0、P2和P3引脚都具有第二功能。
第一功能 第二变异功能
P0.0~P0.7 地址总线A0~A7/数据总线D0~D7 P2.0~P2.7 地址总线A8~A15 P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 INT0(外部中断0) P3.3 IINT1 (外部中断1)
P3.4 T0 (定时器/计数器0的外部输入) P3.5 T1 (定时器/计数器0的外部输出) P3.6 WR (外部数据存储器或I/O的写选通) P3.7 RD(外部数据存储器或I/O的读选通) 5、8031单片机的4个I/O口在使用上有哪些分工和特点? 答:4个I/O口的分工和特点如下:
① P0口是一个多功能的8位口,可按字节访问也可按位访问。 ? 用作I/0口。相当于一个真正的双向口:输出锁存,输入缓冲,但输入时须先将口置l;每根口线可以独立定义为输入或输出。作输出时要加上拉电阻。 ? 用作地址/数据复用总线。作数据总线使用时,输入/输出8位数据D0~D7;作地
址总线用时,输出低8位地址A0~A7。
② P1口是一个8位口,可按字节访问也可按位访问,因此,P1口不仅可以8位一组进行输入、输出操作,还可以逐位分别定义各口线为输入线或输出线。输入时有条件,即需要先输出1,将该口设为输入状态。一般作I/O口用。
③ P2口是一个多功能的8位口,可按字节访问也可按位访问。在单片机采用并行扩展方式时,P2口作为地址总线的高8位A8~A15。
④ P3口是一个多功能的8位口,可按字节访问,也可按位访问。可作为I/O口使用,为准双向口。既可以字节操作,也可以位操作;既可以8位口操作,也可以逐位定义口线为输入线或输出线。
2、请说出8051单片机40个引脚的功能?
【答】80C51单片机的40个中,P0、P1、P2和P3作为I/O端口已经占了32个,然后2个用于电源,2个用于晶振(3分),还剩下4个,分别是RST,用于复位;ALE 用于锁存;PSEN# 用于外部程序存储器的读信号;EA# 用于控制是否访问片内程序存储器(3分)。 7、80C51单片机的I/O口.P0~P3用作通用I/O口时,要注意什么?
【答】P0~P3用作通用I/0口时,输入时都须先将相应端口锁存器置1 (2分)。 P0口输出时为漏极开路输出,必须要用电阻上拉,才能有高电平输出 (2分)。P1~P3口输出级接有内部上拉负载电阻,能向外提供上拉负载电流,所以不必外接上拉电阻。(2分)
2、指出8051 的I/O端口的个数,各自的功能,这种功能何时会起作用?(4分)当把它们作为输入时(即读引脚的时候),要注意些什么(4分)?
答:一共有4个I/O端口,共有32个I/O引脚。这4个端口分别是P0, P1, P2和P3。P0是总线口,可动态地输出地址或数据;P1 是静态通用端口;P2 是动态地址端口,动态地输出ROM的高8位或者RAM的高8位地址。P3 口具有双重功能,例如有中断时,作为中断输入,有串行通信时,可作发送和接收,访问外部RAM时,产生读写信号,而不采用上述功能时,可当作一般的静态通用端口,所以称之双功能端口。为了读入的准确,要先往这些端口写1。
6、请说明80C51单片机ALE引脚的时序功能,并举例说明其在系统中有哪些应用? 【答】80C51单片机ALE引脚是地址锁存允许信号。在系统中主要有两种应用:(2分) ①在访问片外存储器或I/O时,用于锁存低8位地址,以实现低8位地址A0~A7与数据D0~D7的隔离。在ALE的下降沿将P0口输出的地址A0~A7通过锁存器锁存,然后在PO口上出现D0~D7。(2分)
②由于ALE以1/6振荡频率的固定速率输出,因此,可以作为对外输出的时钟或外部定时脉冲,比如ALE信号可以做ADC0809的时钟。(2分)
---------------------------------------------
寄存器 储存器
-----------------------------------------------
3、80C51单片机片内RAM低128个存储单元划分为哪3个主要部分?各部分主要功能是什么? 【答】80C51片内RAM的低128个存储单元划分为3个主要部分:
·寄存器区。共4组寄存器,每组8个存储单元,占用00H~1FH共32个单元地址,用来作为工作寄存器。(2分)
·位寻址区。单元地址为20H~2FH,它可对单元中的每一位进行位操作。寻址区共有16个RAM单元,共计128位,位地址为OOH~7FH,主要用于位操作。(2分)
· 用户RAM区。除去前面两个区,剩下80个单元,单元地址为30H~7FH。可以暂存数据和作为堆栈区。(2分)。
3、什么是堆栈?堆栈有哪些功能? 设计时,为什么还要对SP重新赋值? 堆栈指针SP的作用是什么?
答:堆栈是在片内数据RAM区中,数据按照“先进后出”或“后进先出”原则进行管理的区域。堆栈功能有两个:保护断点和保护数据。在子程序调用和中断操作时这两个功能特别有用。在8031单片机中,堆栈在子程序调用和中断时会把断点地址自动进栈和出栈。进栈和出栈的指令(PUSH、POP)操作可用于保护现场和恢复现场。由于子程序调用和中断都允许嵌套,并可以多级嵌套,而现场的保护也往往使用堆栈,所以一定要注意给堆栈以一定的深度,以免造成堆栈内容的破坏而引起程序执行的“跑飞”。
堆栈指针SP在8031中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。8031单片机的堆栈是向上生成的,即进栈时SP的内容是增加的;出栈时SP的内容是减少的。
系统复位后。8031的SP内容为07H。若不重新定义,则以07H为栈底,压栈的内容从08H单元开始存放。但工作寄存器R0~R7有4组,占有内部RAM地址为00H~1FH,位寻址区占有内部RAM地址为20H~2FH。若程序中使用了工作寄存器1~3组或位寻址区,则必须通过软件对SP的内容重新定义,使堆栈区设定在片内数据RAM区中的某一区域内(如30H),堆栈深度不能超过片内RAM空间。
2、80C51单片机的特殊功能寄存器SFR区有哪些特点? 【答】特殊功能寄存器SFR区是80C51单片机中各功能部件所对应的寄存器区,用来存放相应功能部件的控制命令寄存器、状态寄存器或数据寄存器的区域。这是80C51系列单片机中最有特色的部分(2分)。
80C51系列单片机设有128字节片内数据RAM结构的特殊功能寄存器区。除程序计数器PC和4个通用工作寄存器组外,其余所有的寄存器都在这个地址空间之内。特殊功能寄存器在128字节空间中只分布了很小部分,这为80C51单片机系列功能的增加提供了极大的可能性。所有80C51单片机系列功能部件的增加和扩展几乎都是通过增加特殊功能寄存器来达到的(2分)。
在80C51的21个特殊功能寄存器中,字节地址中低位地址为0H或8H的特殊功能寄存器,除有字节寻址能力外,还有位寻址能力。其中对于P0~P1口4个特殊功能寄存器的位寻址使I/O的控制功能得到了增强(2分)。
5、80C51单片机的片内外最大存储容量可达多大? 【答】80C51单片机存储容量应包括程序存储器和数据存储器两部分。80C51具有16条地址
线,PC指针为16位,因此,程序存储器最大容量为64 KB(2分)。数据指针DPTR为16位,因此,外扩数据存储器最大容量为64 KB(2分),再加上片内具有的256个存储单元(2分),80C51单片机的片内外最大存储容量可达128.256 KB。采用其他地址译码方法,80C51单片机存储容量会得到更大的扩展。
8、80C51单片机片外数据存储器与片内数据存储器地址允许重复,并与程序存储器地址也允许重复,如何区分?
【答】80C5l单片机对片外数据存储器、片内数据存储器及程序存储器采用不同的指令,会产生不同的控制信号。(2分)片外数据存储器有读RD和写WR控制信号,程序存储器有读PSEN控制信号,因此,扩展时虽然数据线和地址线重复,但由不同的控制信号加以区别(2分)。片内数据存储器地址采用MOV指令,不会产生读RD和写WR控制信号。(2分) 1、8051单片机片内数据储存器的数量(1分)、类型(1分)、地址范围(1分)如何设置通用工作寄存器组(2分),如果当在指令中出现20H的地址时,如何判断它是字节地址还是位地址(3分)。
答:有128个字节,是RAM,地址范围是00-7FH,通过对PSW中RS1和RS0的设定,可选中其中1组(R0到R7)作为通用寄存器,其他的都作为一般的RAM。当出现地址20H时,可用两种办法判断,一是,若指令中明显是位控指令,例如SETB,则它是位地址;二是,若指令中的另一地址明显是字节,例如MOV A , 20H ,则它必然是字节地址。 3、说明8051系统中存储器的分类,用什么指令来访问这些存储器(4分),此时那些引脚信号会起作用(4分)?
答:有片内存储器、片外程序存储器和片外数据存储器3 类,常用MOV指令访问片内RAM,用MOVC访问ROM,此时,P0和P2构成16位地址,产生ALE锁存信号,P0分时传递数据,PSEN 引脚作为ROM的读信号;用MOVX访问片外RAM,此时P0和P2构成16位地址,产生ALE锁存信号,P0分时传递数据,P3口产生WR和RD写、读信号。