单片机问答题答案(个人搜集,仅供参考)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.89C51单片机的控制总线信号有哪些?各有何作用?

P0口为地址/数据线复用,分时传送数据和低8位地址信息。在接口电路中,通常配置地址锁存器,用ALE信号锁存低8位地址A0~A7,以分离地址信息和数据信息。

P2接口为高8位地址线,扩展外部存储器是传送高8位地址A8~A15。

PSEN为地址程序存储器的控制信号,RD(p3.7)WR(p3.6)为数据存储器和I/O口的读写控制信号,他们是在执行不同指令是由硬件产生不同控制信号

2.80C51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求?

下降沿触发和低电平触发,低于0.8v即可触发中断

3.开机复位后,CPU使用的是那组工作寄存器?他们的地址是设呢么?CPU如何确定和改变当前工作寄存器组?

开机复位后,cpu使用第0组工作寄存器,地址是00H~07H,可通过对PSW状态字寄存器中的RS1和RS0两位的设置来确定和改变CPU当前使用的工作寄存器组

4.具有8位分辨率的AD转换器,当输入0v~8v电压时,起最大量化误差是多少?

因为A/D转换器的输入是连续信号,而输出是离散信号(数字量)。当输入的模拟信号变化很微小时,输出的数字量却不敏感,仍然保持不变。

对于8位A/D转换器,实际满量程电压变5V,则其量化单位(LSB)为5/255≈0.0196v,考虑到A/D转换时会进行4舍5入处理,所以最大量化误差为±1/2LSB,即0.0098V或9.8mV。

5..89C51单片机的时钟周期机器周期指令周期是如何定义的?当主频为6MHz的时候,一个机器周期是多长时间?执行一条最短指令需要多长时间?

时钟周期:晶振的的振荡周期,为最小的时序单位

机器周期:1个机器周期由12个时钟周期组成。它是计算机执行一种基本操作的时间单位指令周期,执行一条指令所需要的时间,1个指令周期由1~4个机器周期组成

12/6=2μs,指令周期最短为2μs

6.中断服务子程序跟普通子程序的异同?

相同点:都是要主程序跳转到子程序运行,执行完之后继续到主程序

不同:中断服务子程序是随机的,而普通子程序是预先安排的,中断服务子程序以RETI结束,一般子程序以RET结束,RETI出了将断点弹回PC之外,还要清除对应中断优先标志。

7.89C51单片机的CPU是如何判别中断源是否有中断请求发生的?

CPU是通过测试TCON和SCON中各标志位来确定是否有中断请求的发生以及是哪一个中断源的请求

8.89C51串行接口有几种工作方式?有几种帧格式?求各个工作方式的波特率如何确定?

有四种工作方式,可有8位,10位和11位帧格式,由SCON中的SMO、SM1二位选择决定方式0,用作串行口扩展,具有固定的波特率,为Fosf/12。

方式1,波特率由指令设定,由T1的溢出率决定。

方式2和方式3,波特率在方式2时为固定FOSC/32或FOSC/64,由SMOD位决定,当SMOD=1时,波特率为FOSC/32;当SMOD=0时,波特率为FOSC/64。方式3的溢出率由T1的溢出率决定。

9.51系列单片机的PSW程序状态字中无0标志位,怎样判断内部数据存储单元的内容是否为0?

ACC中为0,JZ指令就会转移;

ACC中不为0,JNZ指令就会转移

10.为什么定时器T1用作串行口波特率发生器时,采用工作方式2?若已知系统波特率为6MHz采用方式1通信,波特率为4800,定时器初值为多少?

波特率发生器需要在计数值溢出后自动重新赋值,再次开始计数,所以选模式2。

否则溢出后要程序响应中断重新赋值。

11.位地址7CH和字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?

字节地址7CH是片内数据存储器中的一个地址单元,该地址单元中可以存放8位二进制数,位地址7CH是内部数据存储器中位寻址区中的一位,该地址单元中可以存放1位二进制数。位地址7CH具体在片内数据存储器字节地址为2FH 中的第4位(2FH.4)。

12.程序状态寄存器PSW的作用是什么?常用状态有哪些?作用是什么?

PSW是一个8位特殊功能寄存器,用于存放程序的状态和指令的执行状态,供程序查询和判别用。PSW字节地址为D0H,其每一位还有位地址,各位位置如下:

各位说明如下:

CY:进位标志位。在执行加、减法指令时,如果运算结果的最高位(D7位)有进位或借位,CY位被置“1”,否则清“0”。

AC:半进位标志位。在执行加、减法指令时,其低半字节向高半字节有进位或借位时(D3位向D4位),AC位被置“1”,否则清“0”。AC位主要被用于BCD码加法调整,详见DA指令。

F0:用户自定义标志位。用户根据自己的需要对F0赋以一定含义,由用户置位、复位,作为软件标志。

RS1和RS0:工作寄存器组选择位。它们的0、1组合状态用来确定当前工作寄存器组,前

已详述。

OV:溢出标志位。在补码运算,当运算结果超出-128~+127的范围时(溢出),OV位被置“1”,无溢出,OV位为“0”。

P:奇偶校验标志位。每条指令执行完毕,A中有奇数个1,则P=1,否则P=0。该标志位用在串行通信中,常用奇偶校验的方法检验数据传输的可靠性。

13.在89C51单片机系统中,外接程序存储器和数据存储器和数据存储器共用16位地址线和8位数据线,会不会发生冲突,并说明为什么

不会,因为控制信号线的不同:

外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与51的RD和WR引脚相连。

外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与51单片机的PSEN相连

14.51系单片机的存储器课划分为几个空间?各自的地址范围和容量是多少?在使用上有什么不同?

MCS-51的存储器空间可以划分为以下4种,分别是:程序存储器;内部数据存储器;内部特殊功能寄存器;外部数据存储器;对89S51来说,程序存储器分为片内程序存储器和片外程序存储器,片内程序存储器地址范围为0000H-0FFFH4KB;片外程序存储器地址范围0000H~FFFFH,64KB。内部程序存储器与外部程序存储器统一编址,当EA为高电平时,从内部程序存储器开始读取程序,达到4KB后跳到片外程序存储器的1000H开始读取程序;当EA 为低电平时,直接从片外程序存储器的0000H开始处读取程序。内部数据存储器地址范围为00H~7FH,128B,在程序中做通用存储器使用。内部特殊功能寄存器地址范围80H~FFH,128B,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。外部数据存储器地址范围0000H~FFFFH,64KB,又称为外部数据RAM,当单片机内部128个字节的数据RAM不能满足系统工作的需要时,可以通过它的外部总线扩展外部数据存储器。

15.串行缓冲寄存器SBUF有什么作用?简述串行口接收和发送数据的过程

串行缓冲寄存器SBUF有两个:一个是串行发送缓冲寄存器,另一个是串行接收缓冲寄存器,用同一个特殊功能寄存器名SBUF和同一单元地址99H。接收缓冲寄存器还具有双重缓冲结构,以避免在数据接收过程中出现帧重叠错误。

在完成串行初始化后,发送时只需将发送数据输入SBUF,CPU将自动启动和完成串行数据的发送:接收时CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读取接收数据。

16.MSC-51采用12MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?

MC=12/12=1μs

1ms/1μs=1000/1=1000=3E8H

相关文档
最新文档