您好,欢迎访问三七文档
1、89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)(4)程序存储器:4KB(或者这样写:4KB的片内FlashROM。可寻址64KB程序存储器和64KB外部数据存储器;)(3)片内RAM:128B(或者写:片内256BRAM/SFR;)(4)特殊功能寄存器(SFR):21个(5)并行I/O口:8位,4个,P0~P3(共32位I/O线);(6)串行接口:一个全双工uart的异步串行I/O口(7)定时器/计数器:16位,2个(8)内部时钟发生器:1个2、89C51的存储器分哪几个空间?如何区别不同空间的寻址?答:片内外统一编址64KBROM(采用16位地址)用MOVC指令访问64KB片外RAM(采用16位地址)用MOVX指令访问256B片内RAM(采用8位地址)用MOV指令访问3、89C51内部RAM低128字节单元划分为哪3个主要部分?各部分地址范围,寻址方式,主要功能是什么?答:(l)工作寄存器组(00H~lFH)可用寄存器直接寻址的区域,内部数据RAM区的00H~lFH,共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7。(2)可位寻址RAM区(20H~2FH)从内部数据RAM区的20H~2FH的16个字节单元,共包含128位,是可位寻址的RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。(3)通用RAM区(30~7FH)从内部数据RAM区的30H~7FH,共80个字节单元,用于设置堆栈、存储数据。可以采用间接字节寻址的方法访问。4、89C51单片机RAM中,哪些单元可以进行位寻址?位单元45H处于何字节单元的何位?答:片内RAM低128字节中的20—2F单元,SFR中的字节地址能够被8整除的单元均可进行位寻址。位单元45H处于字节地址为28H的第5位。5、访问特殊功能寄存器(SFR)只允许使用直接寻址方式。访问片内RAM低128字节单元用直接寻址和间接寻址。6、89C5单片机的EA引脚功能是什么?若系统使用8031单片机,其中EA引脚应如何连接?答:EA引脚为外部程序存储器地址允许输入端:当引脚接高电平时,CPU访问片内EPROM/ROM并执行片内程序存储器中的指令,当PC超过0FFFH(片内RAM为4KB)时,将自动转向执行片外ROM中的程序。当该引脚接低电平时,CPU访问片外EPROM/ROM并执行外部程序存储器中的程序。若系统使用8031单片机,其EA引脚应连接至低电平。7、什么是振荡周期、状态时钟周期、机器周期和指令周期?(它们之间有什么关系?)答:振荡周期:晶振的振荡周期。(为最小的时序单位)状态周期(又称时钟周期):振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。(一个状态周期=2个振荡周期)机器周期:CPU访问存储器一次(如取指令、读存储器、写存储器等)所需要的时间。(一个机器周期由6个状态周期即12个振荡周期组成。是单片机执行一种基本操作的时间单位)指令周期是指单片机执行一条指令所占用的时间。一个指令周期由1~4个机器周期组成。(根据指令的不同,可包含有1、2、4等机器周期的倍数。)【单片机是按一定的时序进行工作的,而时序是通过XTAL1和XTAL2引脚跨接振荡器与内部振荡电路共同产生固定频率的波形。我们把振荡频率的倒数称振荡周期。】8、89C51有多少根I/O口线?它们与单片机对外的地址线、数据线和控制线有什么关系?89C51单片机有4个8位并行I/O口,对应32根I/O线。它们与单片机对外的地址线、数据线和控制线关系为:P0口的8位I/O线分时复用8位数据线和低8位地址线;P1口作数据总线;P2口作高8位地址线;P3口具有第二功能作控制线9、I/O接口和I/O端口有什么区别?I/O接口的功能是什么?答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O接口芯片。I/O接口功能:一.实现和不同外设的速度匹配;二.输出数据缓存;三.输入数据三态缓冲。10、89C51有哪些复位方式?单片机复位后相关寄存器的状态如何?单片机复位作用?答:有上电自动复位和手动按键复位两种方式。单片机复位后PC的值为0000H,SP的值为07H,P0~P3的值为FFH,SBUF为不定值,其它寄存器除系统保留位处均为0(如PSW00H;DPTR0000H).复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。(了解:内部RAM状态不受复位的影响,在系统上电时,RAM的内容是不定的,说清零是不对的)11、89C51单片机有哪几个中断源?各中断源中断矢量地址(或中断入口地址)分别是多少?答:有5个中断源,分别是:INT0(外部中断0)、T0(定时器T0中断)、INT1(外部中断1)、T1(定时器T1中断)和串行口中断请求TX/RX,它们的中断矢量地址分别为:03H、0BH、13H、1BH、23H(或者写:CPU响应中断时,中断入口地址:外部中断0为0003H、定时器T0中断为000BH、外部中断1为0013H、定时器T1中断为001BH、串行口中断为0023H)12、89C51在什么条件下可响应中断?答:(1)有中断源发出中断请求(2)中断中允许位EA=1.即CPU开中断(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽(4)无同级或更高级中断正在服务(5)当前指令周期已经结束(6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完13、什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是CPU相应中断的先后顺序。原则:(1)先响应优先级高的中断请求,再响应优先级低的(2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3)如果同级的多个请求同时出现,则CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求,查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断14、简述89C51单片机的中断响应过程。答:CPU在每个机器周期S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,89C51首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。15、89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?答:89C51单片机内有两个16位定时器/计数器,即T0和T1。T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。【与之相关的特殊功能寄存器:工作模式寄存器TMOD,控制寄存器TCON;用来设置T0、T1的操作模式和控制功能】16、89C51单片机有几个定时/计数器?它们有几种工作方式和工作模式?每种模式分别是多少位的定时/计数器?各有什么特点?答:有两个16位定时/计数器,它们有定时和计数两种工作方式,有0、1、2、3四种工作模式,模式0为13位;模式1为16位定时/计数器;模式2为具有自动重装载功能的8为定时/计数器。T0有模式3,分为两个独立的8位定时/计数器,其启动控制和中断标志均占用T1的相应控制位,T1没有模式3,在T0工作于模式3时,T1可工作于其它3种模式,作为串口的波特率发生器使用。17、判断下列两种中断优先级顺序在89C51单片机中断系统中能否实现?不能实现请说明原因,若能实现,说明寄存器IP的值等于多少?⑴定时器0,定时器1,外中断0,外中断1,串行口中断。可以,MOVIP,#0AH(2)外中断0,定时器1,定时器0,外中断1,串行口中断。可以,MOVIP,#09H【了解类似分析:(3)串行口中断,外中断0,定时器0,外中断1,定时器1。可以,MOVIP,#10H(4)外中断0,定时器1,外中断1,定时器0,串行口中断。不可以,只能设置一级高级优先级,如果将INT0,T1设置为高级,则优先级顺序为INT0T1T0INT1串行口中断,若将INT0,T1,INT1设置为高级,则优先顺序为INT0INT1T1T0串行口中断。(5)外中断0,外中断1,串行口中断,定时器0,定时器1。可以,MOVIP,#15H(6)串行口中断,定时器0,外中断0,外中断1,定时器1。不可以,若设置串行口中断、T0为高优先级,则优先级顺序为T0串行口中断INT0INT1T1(7)外中断0,外中断1,定时器0,串行口中断,定时器1。不可以,若设置INT0、INT1为高优先级,则优先级顺序为INT0INT1T0T1串行口中断,若设置INT0、INT1、T0、串行口中断为高级,则优先顺序为INT0T0INT1串行口中断T1】18、89C51单片机寻址方式?各种寻址方式分别访问那类存储器(或寻址空间)?答:有7种寻址方式,分别为:立即数寻址,访问:程序存储器ROM(例子:MOVA,#55H;)直接寻址,访问:片内RAM低128字节,特殊功能寄存器SFR(例子:MOVA,40H;)寄存器寻址,访问:工作寄存器组R0~R7,A,B,C,DPTR(例子:MOV55H,R3)寄存器间接寻址,访问:片内低128字节,片外RAM(例子:MOVA,@R0;MOVXA,@DPTR)变址寻址,访问:程序存储器(@A+PC,@A+DPTR)(例子:MOVCA,@+DPTR)相对寻址,访问:程序存储器256字节范围(PC+偏移量)(例子:SJMP55H)位寻址,访问:片内RAM的20H~2FH,部分特殊功能寄存器(例子:CLRC;SETB00H)【注意:B寄存器仅在乘除法指令中为寄存器寻址,其他指令为直接寻址方式MOVB,R0R0为寄存器寻址,B为直接寻址方式;MULAB;A,B为寄存器寻址】19简述汇编语言中的标号有什么规定?(1)标号由以英文字母开始的1~8个字母或数字串组成(2)不能使用汇编语言已定义的符号。(3)标号后必须跟冒号:(4)同一标号在一个程序中只能定义一次。19、简述单片机通信的原理(或者简述89C51串行口多机通信的原理和过程。)答:当一片89C51(主机)与多片89C51(从机)通信时,所有从机的SM2位都置1.主机首先发送的一帧数据为地址,即从机机号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。各从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,被寻址的目标从机清除其SM2(SM2=0),以接收主机发来的数据帧。其他从机仍然保持SM2=1,直到在以后的地址帧中被选中为止,被访问的从机在接收完数据后再次将其SM2置1.20、常见的串行总线接口有哪些?它们分别有哪些信号?答:有SPI总线接口和CI2总线接口。前者的信号线有:SCK(串行时钟线)、MISO(主机输入/从机输出数据线)、MOSI(主机输出/从机输入数据线)、CS(或者SS)(从机选择线);后者的信号线有:SDA(串行数据线)、SCL(串行时钟线)。(了解:SPI总线是Freescale(原Motorola)公司推出的的一种同步串行外设接口,CI2总线是由NEX公司推出的串行总线)21、简述串行口接收和发送数据的过程。答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。当向SBUF发“写”命令时(执行“MOVSBUF
本文标题:单片机简答汇总
链接地址:https://www.777doc.com/doc-4470415 .html