当前位置:文档之家› 单片机试题8(带答案)

单片机试题8(带答案)

试题8一、填空题(35分,每空1分)1、单片机也可称为微控制器或嵌入式控制器。

2、串行口方式2接收到的第9位数据送SCON 寄存器的RB8位中保存。

3.串行口方式3发送的第9位数据要事先写入(SCON )寄存器的(TB8)位。

4、内部RAM中,位地址为50H的位,该位所在字节的字节地址为2AH 。

5、如果(A)=65H,(50H)= 50H,(R1)= 50H,执行指令XCHD A, @R1;结果为:(A) = 50 H ,(50H) = 65 H。

6、当AT89S51执行MOVC A,@A+PC指令时,伴随着PSEN控制信号有效。

7、AT89S51访问片外存储器时,利用LEA 信号锁存来自P0口发出的低8位地址信号。

8、定时器/计数器T0作为计数器使用时,其计数频率不能超过晶振频率fosc的1/24 。

9、AT89S51单片机为8 位单片机。

8.利用81C55可以扩展(3)个并行口,(256)个RAM单元。

9.当单片机复位时PSW=(00 )H,SP=(07H),P0~P3口均为(高)电平。

10、AT89S51单片机有 2 级优先级中断。

11、MCS-51系列单片机的典型芯片分别为8031 、8051 、8751 。

12、当单片机复位时PSW=00 H,这时当前的工作寄存器区是0 区,R6所对应的存储单元地址为06 H。

13、AT89S51单片机指令系统的寻址方式有寄存器寻址、立即寻址、寄存器间接寻址、直接寻找、位寻址、基址寄存器加变址寄存器寻址。

14、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。

32=25 1000/0000/0000/000015、利用82C55可以扩展 3 个并行口,其中8 条口线具有位操作功能。

16、若AT89S51外扩32KB 数据存储器的首地址为0000H,则末地址为7FFF H。

17、由8031组成的单片机系统在工作时,EA引脚应该接0 。

18、AT89S51唯一的一条16位数据传送指令为MOV DPTR data16。

二、判断对错,如对则在()中写“√”,如错则在()中写“×”。

(10分)1、AT89S51单片机可执行指令:MOV 28H,@R2。

( ×)2、判断指令的正误:MOV T0,#3CF0H;(×)3、AT89S51单片机中PC的值是当前正在执行指令的下一条指令的地址。

(√ )4、当AT89S51执行MOVX A,@R1指令时,伴随着WR信号有效。

(×)5、指令中直接给出的操作数的寻址方式称为直接寻址(×)立即寻址6、AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。

(×)7、内部RAM的位寻址区,既能位寻址,又可字节寻址。

(√ )8、特殊功能寄存器SP内装的是栈顶首地址单元的内容。

(×)9、特殊功能寄存器SCON与(TSON)定时器/计数器的控制无关。

(√ )10、逐次比较型A/D转换器与双积分A/D转换器比较,逐次比较型的转换速度比较慢。

(×)快三、简答题1.如果(DPTR)=447BH,(SP)=42H,(40H)=80H,(41H)=70H,(42H)=60H,则执行下列指令后:(4分)POP DPHPOP DPLPOP A则:(DPH)= ;(DPL)= ;(A)= (SP)=;1 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)3.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(4分)中断服务子程序返回指令RETI返回到中断点2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(4分)答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。

五、画出8031单片机利用串行口进行1台主机与3台从机进行多机串行通讯的连线图,其中1台从机的地址号为01H,请叙述主机向01H从机发送一个字节数据的过程。

(10分)式2或3。

从机从机从机从机(2)由主机向4个从机发出一帧地址址信息02H,第9位为1。

从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。

若相同,则清SM2=0,若不同则SM2不变仍为1。

(3)主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。

六、请回答:(共20分)1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分)2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (6分,)3.请编写程序,要求:(1)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(4分)(2)将2# 6264 的前4个单元的内容送入内部RAM 40H~43H中;(4分)2. A15 A!4 A13 地址范围0 1 1 6000H~7FFFH1 0 1 A000H~BFFFH3.(1)程序如下:ORG 0000HRESET:AJMP MAIN ;复位,转主程序ORG 0100HMAIN:MOV DPL,#00H ;初始化DPTRMOV DPH,#60HMOV R0,#30H. ;初始化R0LOOP: MOV A,@R0MOVX @DPTR, AINC R0INC DPTRCJNE R0,#40H,LOOPNOPRET(1)程序如下:ORG 0000HRESET:AJMP MAIN ;转主程序ORG 0100HMAIN:MOV DPL#00H ;初始化DPTRMOV DPH,#0A0HMOV R0,#40H ;初始化R0 LOOP2: MOVX A,@DPTRMOV @R0,AINC DPTRINC R0CJNE R0,#60H,LOOP2NOPRET六、简述一种多外部中断源系统的设计方法。

(给出图和程序)(10分)答:原理电路如图所示程序如下:INT: PUSH PSWPUSHAJNB P1.0, IR0 ;扫描中断请求JNB P1.1 , IR1JNB P1.2, IR2JNB P1.3, IR3INTIR:POPA;返回POPPSWIR0: 中断服务子程序;中断服务AJMP INTIRIR1: 中断服务子程序AJMP INTIRIR2: 中断服务子程序AJMP INTIRIR3: 中断服务子程序AJMP INTIP3.说明AT89S51的外部引脚EA*的作用?(3分)答:EA*是内外程序存储器选择控制信号。

(1分)当EA*=0时,只选择外部程序存储器。

(1分)当EA*=1时,当PC指针≤0FFFH时,只访问片内程序存储器;当PC指针>0FFFH时,则访问外部程序存储器(1分)5.写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6分)答: 外部中断INT0*定时器/计数器中断T0外部中断INT1*定时器/计数器中断T1串行口中断其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。

三、编写程序,将外部数据存储器中的5000H—50FFH单元全部清零(10分)。

答:ORG ****H (1分)MOV DPTR #5000HMOV R0,#00HCLR A (3分)LOOP : MOVX @DPTR,AINC DPTR (3分)DJNZ R0,LOOP (2分)HERE: SJMP HERE (RET或SJMP $ 等)(1分)五、简述行列式扫描键盘的工作原理。

(10分)答:1)首先判断有无键按下:(3分)将列线全部置0,读行线状态,若P1.0~P1.3全为1,则表明无键按下,若出现低电平即0,则有键按下,记录下行号i ;2) 其次,如有键按下,判断具体键号(7分)方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录此时的列号j ,则证明第i行第j列的按键被按下,至此完成键盘的行列式扫描。

3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。

这是因为它们的控制信号不同:(1) 外扩程序存储器是PSEN*信号为其控制信号外扩数据存储器是RD*与WR*信号为其控制信号(2) 指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取5.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?(4分)答:静态:显示期间,锁存器输出的段码不变;亮度大,各位LED的段选分别控制;位数多硬件电路复杂动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单答:1.外部扩展的程序存储器容量为:8KB外部扩展的数据存储器容量为:8KB×2=16kb2. 程序存储器2764地址的高3位:A15 A14 A130 0 0地址范围为:0000H-1FFFH数据存储器1#6264地址高3位:A15 A14 A130 1 1地址范围为:6000H-7FFFH数据存储器2#6264地址范围为:A15 A14 A131 0 1地址范围为:A000H-BFFFH3.编写程序(1)MOV RO, #40HMOV DPTR, #6000H ;设置数据指针为6000HLOOP:MOV A, @RO ;将片内RAM(40-4FH)中的内容送入A中MOVX @DPTR,A ;将A→@DPTR中INC ROINC DPTRCJNE RO,#50H,LOOP ;将此子程序循环执行16次RET(2)MOV RO, #50HMOV DPTR, #0A000H ;设置数据指针为A000H LOOP: MOVX A, @DPTRMOVX @RO,A ;将外部数据存储器内容送入到片内中INC ROINC DPTRCJNE RO,#54H,LOOP ;将此子程序循环执行4次RET。

相关主题