1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分?答:时钟周期是单片机最基本的时间单位。
机器周期则是完成某一个规定操作所需的时间。
一个机器周期为 6 个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。
2、MCS-51单片机有几种复位方法?应注意的事项?答:上电复位和开关复位。
上电复位要求接通电源,自动实现复位操作。
开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。
3、MCS-51单片机内部包含哪些主要逻辑功能部件?答:( 1)一个8 位微处理器CPU。
(2)数据存储器RAM和特殊功能寄存器SFR(3)内部程序存储器ROM。
( 4)两个定时/ 计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O (输入/输出)并行端口,每个端口既可做输入,也可做输出。
( 6)一个串行端口,用于数据的串行通信。
4、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大?答:堆栈是一种按照“先进后出”或者“后进先出”规律存取数据的RAM区域由于程序中没有表识,所以要对SP 重新赋值对指针SP重新赋值是因为堆栈空间有限,要给他赋首地址。
要使用两组工作寄存器,SP的值应该设置为10H。
5、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?答:80C51 单片机的4 个I/O 端口在结构上时基本相同的,但又各具特点。
在无片外扩展存储器的系统中,这 4 个端口的每1 位都可以作为I/O 端口使用。
在作为一般的通用I/O 输入时,都必须先向锁存器写入“ 1”,使输出驱动场效应管FET截止,以免误读数据。
在系统扩展片外存储器时,P2 口作为高8位地址,P0 口分时作为低8位地址和双向数据总线。
它们的主要不同点如下:(1)P0 口的每一位可驱动8个LSTTL负载。
P0 口即可作I/O端口使用,也可作地址/数据总线使用。
当它作通用口输出时,只有外接上拉电阻,才有高电平输出,作地址/数据总线时,无需外接电阻,此时不能再作I/O 端口使用。
(2)P1-P3 口输出级接有内部上拉电阻,每位可驱动4个LSTTL负载,能向外提供上拉电流负载,所以不必再外接上拉电阻。
6、简述8051 汇编指令格式。
答:操作码助记符[ 目的操作数] ,[ 原操作数] 。
7、MCS —51 指令集中有无“程序结束”指令?上机调试时怎样实现“程序结束”功能。
答:没有这样的指令。
但实现“程序结束”至少可以借助 4 种办法: (1)用原地踏步指令 SJMP $ 死循环。
(2)在最后一条指令后面设断点,用断点执行方式运行程序。
(3) 用单步方式执行程序。
(4) 在末条指令之后附加一条 LJMP 监控显示器程序首地址或LJMP 0000H,返回监 控状态。
8 80C51有几种寻址方式?各涉及哪些存储器空间?答: 80C51 有七种寻址方式:1、 立即寻址,寻址空间为 ROM ;2、 直接寻址,寻址空间为片内 RAM 勺低128B 和特殊功能寄存器;3、寄存器寻址,寻址空间为 A 、B 、DPTR CY 、通用工作寄存器等;RAM 氐128B 的位寻址区的128个位,其字节地址为 20H~2FH 以及部分可以位寻址勺特殊功能寄存器。
9、 下列程序段经汇编后,从 1000H 开始的各有关存储单元的内容将是什么?ORG 1000H ;程序起始地址。
TAB1 EQU 1234H; TAB1 赋值为 16 位数 1234H,TAB2 EQU 3000H ; TAB2赋值为 16 位数 3000H,DB“START ” ;定义 8位字符串 START ,DW TAB1 , TAB2, 70H ;定义 16位字符(1000H ) =83B ,(1001H ) =84B ,(1002H ) =65B ,( 1003H ) =82B ,(1004H ) =84B , (1005H)=12H ,(1006H ) =34H , ( 1007H ) =30H ,( 1008H ) =00H ,( 1009H ) =00H ,( 1010H ) =70H10、 中断服务子程序与普通子程序有哪些异同之处?相同点:都是让 CPU 从主程序转去执行子程序,执行完毕又返回主程序。
不同点:中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以RETI 结束,而一般子程序以RET 结束。
RETI 除将断点弹回PC 动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。
4、 寄存器间接寻址,片内5、相对寻址,寻址空间为6、 变址寻址,寻址空间为RAM 氐 128B 片外 RAM ROM ; ROM ;7、位寻址,寻址空间为片内11、80C51响应中断的条件是什么?CPL P向应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么?8051有3个内部中断源TO, T1,串行口,2个外部中断源INTO, INT1。
响应中断后CPU 1、置相应的优先级触发器状态为1; 2、执行一个硬件生成子程序调用指令;3、保护断点;4、转入响应的中断服务程序入口;外部中断INTO 低电平有效0003H定时器T0中断OOOBH外部中断INT1低电平有效0013H定时器T1中断001BH串行端口中断0023H12、80C51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求?答:电平触发方式和边沿触发方式,高电平与低电平的持续时间不得少于一个机器周期的时间,低电平还要低于。
13、简述8051单片机的中断响应过程。
答:1)根据响应的中断源的中断优先级,使相应的优先级状态触发器置1;(2)执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈,保护断点,寻找中断源;(3)清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);(4)把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。
(5)中断返回,程序返回断点处继续执行。
14、单片机怎样管理中断?怎样开放和禁止中数?怎么设置优先级?(1)由中断源提出中断,再用中断控制端决定是否中断,再用设置好的中断优先级的顺序响应中断。
同一优先级的中断按:外部中断0,定时中断0,外部中断1,定时中断1,串行中断旳顺序响应中断。
中断后的结果是:脉冲触发,IEI (0)被清0。
电平触发,IEI(0)不被清0,要用软件清0。
(2)它由中断允许寄存器IE控制,如开放中断EA 必须为1,再使要求中断的中断源的中断允许位为1,要禁止中断,EA-O即可。
(3)由IP控制,1为高级,0为低级,PS为串行中断优先级,PTI(O)为定时中断1(0)优先级,PXI(O)外部中断1(0)优先级,想使哪个中断源为优先级,就置哪个优先设定位为1。
15、8051单片机内部设有几个定时器/计数器?它是由哪些特殊功能寄存器组成?答:单片机内部有两个16位的定时器/计数器。
T0由TLO (8位)和THO (8位)组成地址分别是8AH和8CH T1 由TL1 (8位)和TL1 (8位)组成。
16、简述定时器4种工作模式的特点,如何选择设定?答:1)模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。
TL低5位溢出时向TH进位,TH 溢出时向中断标志位TF进位,并申请中断。
定时时间t=(213-初值)X振荡周期X 12;计数长度位213=8192个外部脉冲置TMOD^的M1M0为00(2)模式1:与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。
定时时间t=(216-初值)X振荡周期X 12;计数长度位216=65536个外部脉冲置TMOD^的M1MC为01(3)模式2 :把TLO和TL1配置成一个自动重装载的8位定时器/计数器。
TL用作8位计数器,TH用以保存初值。
TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。
定时时间t=(28-初值)X振荡周期X 12;计数长度位28=256个外部脉冲置TMODN勺M1MC为10(4)模式3 :对T0和T1不大相同若设T0位模式3, TL0和TH0被分为两个相互独立的8位计数器。
TL0为8 位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。
置TMOD^ 的M1MC为1117、简述单片机多机通信的原理。
答:若置SM2=1则允许多机通信。
多机通信协议规定,第9位数据(D8)为1,说明本帧数据为地址帧;若第9位为0,则本帧为数据帧。
当一片89C52(主机)与多片89C5I(从机)通信时,所有从机的SM2位都置I。
主机首先发送的一帧数据为地址,即某从机机号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。
各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。
若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,被寻址的目标从机清除SM2以接收主机发来的一帧数据。
其他从机仍然保持SM2=118、简述串行接口接收和发送数据的过程。
答:串行接口的接收和发送是对同一个地址(99H)两个物理控制的特殊寄存器SBUF进行读与写得,当向SBUF 发写命令时,即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便发送中断标志T仁1,在满足串行口接收中断标志位R1=0的条件下,置允许接收位REN=1就会接收一帧数据进行移位寄存器,并装载和接收到SBUF中,同时使R1=1当发读SBUF命令时(执行MOVA SBUF)便由接收缓冲期SBU啲信息通过内部总线送到CPU。