单片机题库简答题
- 格式:doc
- 大小:104.00 KB
- 文档页数:7
1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分?(分值:4 分)答案:时钟周期是单片机最基本的时间单位。
机器周期则是完成某一个规定操作所需的时间。
一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。
2、MCS-51内部四个并行I/O口各有什么异同?作用是什么?(分值:4 分)答案:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。
但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O 功能外,还具有第二功能。
3、简述MCS-51单片机的中断响应过程。
(分值:4 分)答案:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。
一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。
对于有些中断源,CPU在响应中断后会自动清除4、A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么?(分值:4 分)答案:A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路。
5、什么是堆栈?(分值:7 分)答案:堆栈是由ROM中专门开辟出来的一个区域,数据的存取时以“后进先出”的结构方式处理的,实质上,堆栈是一个按照“后进先出”原则组织的一段内存区域。
6、定时器的四种工作模式如何选择?其定时时间与哪些因素有关?(分值:7 分) 答案:TMOD中M0和M1的不同组合来确定。
与初值和晶振频率有关。
7、什么是中断?其主要功能是什么?(分值:7 分)答案:中断就是对外界异步发生的事件作出及时的处理。
功能:分时操作;实时处理;故障处理。
8、什么是机器语言?什么是汇编语言?(分值:7 分)答案:机器语言是计算机能识别的二进制语言。
汇编语言是一种用指令的助记符、符号地址、标号等编写程序的语言。
9、8051定时器的门控制信号GATE设置为1时,定时器如何启动?(分值:7 分) 答案:当GATE为1时,引脚受到信号的影响。
当为1时且使TR0为1时,定时器才能起动。
10、编写一程序将片外数据存储器中7000H~70FFH单元全部清零。
(分值:6 分) 答案:ORG 1000HMOV DPTR,#7000HCLR AMOV R0,ALOOP:MOVX @DPTR,ADJNZ R0,LOOPSJMP $11、片外RAM 2000H开始的单元中有5B的数据,编程将它们传送到片内RAM20H开始的单元中去。
(分值:13 分)答案:MAIN: MOV DPTR, #2000HMOV R1, #20HMOV R0, #05HLOOP: MOVX A, @DPTRMOV @R1, AINC DPTRINC R1DJNZ R0, LOOPRET12、设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出执行下列程序后上述各单元内容的变化。
MOV A, @R0MOV @R0, 40HMOV 40H, AMOV R0, #35H (分值:13 分)答案:(R0)=35H, (A)=80H, (32H)=08H, (40H)=80H13、在8051片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令及按顺序执行每条指令后的结果。
MOV A, 40H ; ( )MOV R0,A ; ( )MOV P1, #FOH ; ( )MOV @R0, 30H ; ( )MOV DPTR, #3848H ;()MOV 40H, 38H ;()MOV R0, 30H ; ()MOV P0, R0 ; ()MOV 18H, #30H ; ()MOV A, @R0;()MOV P2, P1 ; ( ) (分值:15 分)答案:直接寻址,(A)=48H寄存器寻址,(R0)=48H立即数寻址,(P1)=FOH直接寻址,(48H)=38H立即数寻址,(DPTR)=3848H直接寻址,(40H)=40H直接寻址,(R0)=38H立即数寻址,(18H)=30H寄存器寻址,(A)=40H(P2)=FOH14、C51 的data、bdata、idata 表明数据的什么特征?有什么区别?(分值:4 分)答案:data、bdata、idata是表明数据的存储类型,data是指片内RAM的低128字节,可在一个周期内直接寻址;bdata是指片内RAM的位寻址区,16字节;idata是指片内RAM的256字节,必须采用间接寻址。
15、简述行列式扫描键盘的工作原理。
(分值:6 分)答案:扫描键盘工作原理(1) 首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平, 则没有键按下,若有低电平,则有键按下。
(2) 接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。
(3) 再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.(4) 再Y2输出低电平,Y0,Y1,Y3输出高电平扫描(5) 再Y3输出低电平,Y0,Y1,Y2输出高电平扫描16、MCS-51采用6MHz的晶振,定时2ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)(分值:6 分)答案:机器周期6×10^6=2×10^-6s=2uS又方式1为16进制定时器.故(2^16—X)×2×10^-6=2×10^-3=>2^16-X=1000=>X=65536-1000=64536即初值=FC18H17、设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出执行下列程序后上述各单元内容的变化。
MOV A, @R0MOV @R0, 40HMOV 40H, AMOV R0, #35H (分值:4 分)答案:A=80H,(R0)=35H (32H)=08H (40H)=80H18、什么是中断?其主要功能是什么?(分值:4 分)答案:中断就是对外界异步发生的事件作出及时的处理。
功能:分时操作;实时处理;故障处理。
19、片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 )。
(分值:6 分)答案:ADDIO:MOV R0,30HMOV R7,#9MOV A,@R0LOOP: INC R0ADD A,@R0DJNZ R7,LOOPMOV 30H,ARET20、MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(分值:4 分)答案:因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。
读外部数据存储器时,RD*信号有效。
写外部数据存储器时,WR*信号有效。
而读外部程序存储器时,PSEN*信号有效。
由于发出的控制信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据冲突。
21、编写一程序将片外数据存储器中7000H~70FFH单元全部清零。
(分值:6 分) 答案:ORG 1000HMOV DPTR,#7000HCLR AMOV R0,ALOOP: MOVX @DPTR,ADJNZ R0,LOOPSJMP $22、试比较中断与子程序调用有什么异同。
(分值:4 分)答案:同:都是中止当前主程序转去执行另一段子程序或中断服务子程序,执行完后都要返回到主程序异:中断是在初始化中断后,自动完成中断的响应和处理子程序调用是用户在程序中用指令主动调用,断点位置由用户决定23、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?MOV R0,#30H ;MOV A,@R0 ;MOV R1,A;MOV B,R1;MOV @R1,P1;MOV A,P1;MOV 40H,#20H;MOV 30H,40H; (分值:4 分)答案:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。
24、按照给定的数据类型和存储类型,写出下列变量的说明形式:(1)在xdata 区定义无符号字符型数组val3[4]。
(2)在xdata区定义一个指向char类型的指针px。
(3)定义可位寻址变量flag。
(4)定义特殊功能寄存器变量P3。
(分值:4 分)答案:(1)unsigned char xdata val3[4];(2)char xdata *px;(3)bit flag; (4)Sfr P3=0xB0;25、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?(分值:6 分)答案:在有串行通信时,定时器/计数器1的作用是串行口发生器。
串行口的波特率根据串行口的工作方式具有不同的计算方式:方式0的波特率固定为晶体振荡器的十二分之一;方式1的波特率=2SMOD.(定时器1的溢出率)/32;方式2波特率=2SMOD.(fosc/64);方式3波特率同方式1(定时器l作波特率发生器)。
26、简述累加器的ACC的作用。
(分值:3 分)答案:(1)8位专用寄存器,运算时存放一个操作数。
运算后存放运算结果,所以称它为累加器。
(2)变址寄存器(3)数据输入输出的中转站27、采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少?(请给出计算过程)(分值:6 分)答案:∵采用6MHZ晶振∴机器周期为2us(2^13-X)×2×10^-6=1×10^-3∴X=7692(D)=1E0CH=1 1110 0000 1100(B),化成方式0要求格式为 1111 0000 1100 B即0F00CH综上可知:TLX=0CH, THX=0F0H28、分析下列程序的功能PUSH ACCPUSH BPOP ACCPOP B (分值:2 分)答案:该程序的功能是通过累加器ACC与寄存器B数据交换。