试题9参考答案 一、填空 1.AT89S51单片机的CPU由( 运算器)和( 控制器)组成。 2.AT89S51单片机中,程序计数器PC、DPTR和定时器/计数器都是16位的功能部件,其中,对 PC )不能进行直接的访问,对( 定时器/计数器 )的访问只能对其高8位和 低8位分别进行读写,对( DPTR )则可以进行16位的读写。 3.设(A)=0A3H,(R3)=2CH,(Cy)=1,执行指令ADDC A,R3后,(Cy)=(0 ),(Ac)= (1),(P)=(1)。 4.74LS138是具有3个输入的译码器芯片,其输出常作片选信号,可选中( )片芯片中的任一芯 片,并且只有1路输出为(低)电平,其它输出均为(高)电平。 5.AT89S51单片机有(5)个中断源,(6)个中断标志,(2)中断优先级。 6.定时器/计数器T0工作在方式3下时,会占用T1的两个控制位:即( 计数运行控制位或TR1) 和(中断标志位或计数溢出标志位或T℉1 )。 7.AT89S51单片机串行口的4种工作方式中,(方式1)和( 方式3 )的波特率是可调的, 与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。 8.DAC0832的单缓冲方式,适用于只有(1)路模拟输出,或者(多 )路但不要求同步 输出的场合。 9.AT89S51单片机的堆栈采用先进(后)出的原则,指针SP始终指示(栈顶 )的地址 10.AT89S51单片机通过ADC08O9进行模数转换时,需要通过指令(MOVX@DPTR,A或MOVX@Ri,A) 启动转换,转换结束后需通过指令(MOVX A,DPTR或MOVX A,Ri)将转换结果保存在A中。 11.己知8段共阴极LED显示字符“H”的段码为76,则8段共阳极LED显示该字符的段码为(89H)。 12.常用的单片机编程语言有汇编和C51,其中(C51 )编程效率高,(汇编语言)执行 效率高。 13.若单片机的时钟频率为fc,则定时器/计数器T1工作在方式2时,最小的波特率为(f/98304), 最大的波特率为(f。e/12或f/192)。 14.单片机的晶振为6Mz,若利用定时器/计数器T1的方式1定时2ms,则(TH1)=(FCH),(TL1) =(18H)。 15.从同步方式的角度讲,82C55的基本输入/输出方式属于(同步 )通讯,选通输入/输出和双 向传送方式属于(异步)通讯
试题 9 参考答案 一、填空 1.AT89S51 单片机的 CPU 由( 运算器 )和( 控制器 )组成。 2.AT89S51 单片机中,程序计数器 PC、DPTR 和定时器/计数器都是 16 位的功能部件,其中,对 ( PC )不能进行直接的访问,对( 定时器/计数器 )的访问只能对其高 8 位和 低 8 位分别进行读写,对( DPTR )则可以进行 16 位的读写。 3.设(A)=0A3 H,(R3)=2CH,(Cy)=1,执行指令 ADDC A,R3 后,(Cy)=( 0 ),(Ac)= ( 1 ),(P)=( 1 )。 4.74LS138 是具有 3 个输入的译码器芯片,其输出常作片选信号,可选中( 8 )片芯片中的任一芯 片,并且只有 1 路输出为( 低 )电平,其它输出均为( 高 )电平。 5.AT89S51单片机有( 5 )个中断源,( 6 )个中断标志,( 2 )中断优先级。 6.定时器/计数器 T0 工作在方式 3 下时,会占用 T1 的两个控制位:即( 计数运行控制位或 TR1 ) 和( 中断标志位或计数溢出标志位或 TF1 )。 7.AT89S51单片机串行口的4种工作方式中,( 方式1 )和( 方式3 )的波特率是可调的, 与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。 8.DAC0832 的单缓冲方式,适用于只有( 1 )路模拟输出,或者( 多 )路但不要求同步 输出的场合。 9.AT89S51 单片机的堆栈采用先进( 后 )出的原则,指针 SP 始终指示( 栈顶 )的地址。 10.AT89S51 单片机通过 ADC0809 进行模数转换时,需要通过指令( MOVX @DPTR,A 或 MOVX @Ri,A ) 启动转换,转换结束后需通过指令( MOVX A,@DPTR 或 MOVX A,@Ri )将转换结果保存在 A 中。 11.已知8段共阴极LED显示字符“H”的段码为76H,则8段共阳极LED显示该字符的段码为( 89H )。 12.常用的单片机编程语言有汇编和 C51,其中( C51 )编程效率高,( 汇编语言 )执行 效率高。 13.若单片机的时钟频率为 fosc,则定时器/计数器 T1 工作在方式 2 时,最小的波特率为( fosc/98304 ), 最大的波特率为( fo sc/12 或 fosc/192 )。 14.单片机的晶振为 6MHz,若利用定时器/计数器 T1 的方式 1 定时 2ms,则(TH1)=( FCH ),(TL1) =( 18H )。 15.从同步方式的角度讲,82C55 的基本输入/输出方式属于( 同步 )通讯,选通输入/输出和双 向传送方式属于( 异步 )通讯
16.使用并行接口方式连接键盘,对独立式键盘而言,8根I/0口线可以接(8)个按键,而对矩阵 式键盘而言,8根I/0口线最多可以接(16)个按键。 二、判断(每题1分,共15分,在后面的括号中填入“√”或“×”) 1.AT89S51单片机的I/0口与外数据存储器统一编址,因此扩展I/0口占用片外数据存储器的地址。 (√) 2.在开中断的前提下,只要中断源发出中断请求,CPU就会立刻响应中断。(X) 3.AT89S51单片机的EA*管脚接低电平时,只使用片外ROM,接高电平时,则只使用片内ROM。(X) 4.当定时器/计数器T0工作在方式3时,TL0具有定时和计数功能,而TH0则只有定时功能,没有计数功 能。(√) 5.自然优先级高的中断,可以打断自然优先级低的中断。(×) 6.单片机系统扩展时使用的锁存器,是用于锁存低8位地址。(√) 7.占字节数多的指令,执行时间不一定长,但是书写越长的指令,占用的字节数越多。(×) 8.单片机的时钟频率越高,则在A/D或D/A变换时的速度越快。(X) 9.汇编指令在汇编过程中都会产生与之相对应的机器码。(×) 10.AT89S51单片机的SBUF虽然只有一个地址,但是对应两个物理单元。(√”) 11.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入计数脉冲的高电平和低电平的持续时间均 要大于1个机器周期。(√) 12.动态显示的数码管,任一时刻只有一个LED处于点亮状态,是LD的余辉与人眼的“视觉暂留”造成 数码管同时显示的“假象”。(√) 13.在ROM或者RAM的多片扩展中,若要保证各片地址连续,应该采用线选法。(×) 14.若定时器/计数器T1不作波特率发生器,则串行口无法进行串行通讯。(×) 15.汇编指令主要是由操作码和操作数组成的,但是有些指令只有操作码。(√) 三、单项选择题 1.访问片外数据存储器的寻址方式是(C)。 A、立即寻址 B、寄存器寻址 C、寄存器间接寻址D、直接寻址 2.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是(B)。 A、PC B、PSW C、A D、SP 3.用AT89S51的串行口扩展并行I/0口时,串口需工作在(A)下。 A、方式0B、方式1C、方式2 D、方式3 4.如果(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后: POP DPH
16.使用并行接口方式连接键盘,对独立式键盘而言,8 根 I/O 口线可以接( 8 )个按键,而对矩阵 式键盘而言,8 根 I/O 口线最多可以接( 16 )个按键。 二、判断(每题 1 分,共 15 分,在后面的括号中填入“ √ ”或“ × ”) 1.AT89S51 单片机的 I/O 口与外数据存储器统一编址,因此扩展 I/O 口占用片外数据存储器的地址。 ( √ ) 2.在开中断的前提下,只要中断源发出中断请求,CPU 就会立刻响应中断。( × ) 3.AT89S51 单片机的 EA*管脚接低电平时,只使用片外 ROM,接高电平时,则只使用片内 ROM。( × ) 4.当定时器/计数器 T0 工作在方式 3 时,TL0 具有定时和计数功能,而 TH0 则只有定时功能,没有计数功 能。( √ ) 5.自然优先级高的中断,可以打断自然优先级低的中断。( × ) 6.单片机系统扩展时使用的锁存器,是用于锁存低 8 位地址。( √ ) 7.占字节数多的指令,执行时间不一定长,但是书写越长的指令,占用的字节数越多。( × ) 8.单片机的时钟频率越高,则在 A/D 或 D/A 变换时的速度越快。( × ) 9.汇编指令在汇编过程中都会产生与之相对应的机器码。( × ) 10.AT89S51 单片机的 SBUF 虽然只有一个地址,但是对应两个物理单元。( √ ) 11.AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入计数脉冲的高电平和低电平的持续时间均 要大于 1 个机器周期。( √ ) 12.动态显示的数码管,任一时刻只有一个 LED 处于点亮状态,是 LED 的余辉与人眼的“视觉暂留”造成 数码管同时显示的“假象”。( √ ) 13.在 ROM 或者 RAM 的多片扩展中,若要保证各片地址连续,应该采用线选法。( × ) 14.若定时器/计数器 T1 不作波特率发生器,则串行口无法进行串行通讯。( × ) 15.汇编指令主要是由操作码和操作数组成的,但是有些指令只有操作码。( √ ) 三、单项选择题 1.访问片外数据存储器的寻址方式是( C )。 A、立即寻址 B、寄存器寻址 C、寄存器间接寻址 D、直接寻址 2.在 CPU 内部,反映程序运行状态或反映运算结果的特征寄存器是( B )。 A、PC B、PSW C、A D、SP 3.用 AT89S51 的串行口扩展并行 I/O 口时,串口需工作在( A )下。 A、方式 0 B、方式 1 C、方式 2 D、方式 3 4.如果(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后: POP DPH
POP DPL RET (PCH)=(C)。 A、80H B、50H C、34组 D、12H 5.以下指令中,错误的是( B )。 A、PUSH Acc B、CINE A,RO,rel C、MUL AB D、JMP @A+DPTR 6.执行子程序返回或中断子程序返回指令时,返回的断点是(C)。 A、调用指令的首地址 B、调用指令的末地址 C、调用指令下一条指令的首地址 D、返回指令的末地址 7.以下指令中,不属于对引脚“读-修改-写”指令的是(D)。 A、INCP1 B、ORLP1,#OFH C、DJNZ P1,LOOP D、MOVC,P1.3 8.AT89S51和AT89S52单片机的主要区别是(A 30 A、内部数据存储器和程序存储器的数目 B、I/0口的数目 C、内部数据存储器和程序存储的类别 D、芯片引脚的数目 9.若要同时扩展4片2KB的RAM和4片4KB的ROM,则最少需要( C )根地址线。 A、12 B、13 C、14 D、15 10.以下中断,只能通过软件清除中断请求的是(C)。 A、外部中断 B、定时器/计数器中断 C、串行中断 D、所有中断 四、简答 1.简述AT89S51单片机的寄存器间接寻址方式,针对片内和片外RAM,分别介绍寻址范围。 答: (1)该寻址方式在寄存器中存放的不是操作数,而是操作数的地址,操作数是通过寄存器中的地址间 接得到的。 (2)寻址范围 内部RAM:128B,00H-7FH,形式为@Ri(i=0,1)。 外部RAM:64KB,O0OOH-FFFFH,形式为@DPTR。 2.AT89S51单片机的外部程序存储器和数据存储器共用地址线,为何不会发生冲突? 答:
POP DPL RET (PCH) =( C )。 A、80H B、50H C、34H D、12H 5.以下指令中,错误的是( B )。 A、PUSH Acc B、CJNE A,R0,rel C、MUL AB D、JMP @A+DPTR 6.执行子程序返回或中断子程序返回指令时,返回的断点是( C )。 A、调用指令的首地址 B、调用指令的末地址 C、调用指令下一条指令的首地址 D、返回指令的末地址 7.以下指令中,不属于对引脚“读-修改-写”指令的是( D )。 A、INC P1 B、ORL P1,#0FH C、DJNZ P1,LOOP D、MOV C,P1.3 8.AT89S51 和 AT89S52 单片机的主要区别是( A )。 A、内部数据存储器和程序存储器的数目 B、I/O 口的数目 C、内部数据存储器和程序存储的类别 D、芯片引脚的数目 9.若要同时扩展 4 片 2KB 的 RAM 和 4 片 4KB 的 ROM,则最少需要( C )根地址线。 A、12 B、13 C、14 D、15 10.以下中断,只能通过软件清除中断请求的是( C )。 A、外部中断 B、定时器/计数器中断 C、串行中断 D、所有中断 四、简答 1.简述 AT89S51 单片机的寄存器间接寻址方式,针对片内和片外 RAM,分别介绍寻址范围。 答: (1)该寻址方式在寄存器中存放的不是操作数,而是操作数的地址,操作数是通过寄存器中的地址间 接得到的。 (2) 寻址范围 内部 RAM:128B,00H-7FH,形式为@Ri(i=0,1)。 外部 RAM:64KB,0000H-FFFFH,形式为@DPTR。 2.AT89S51 单片机的外部程序存储器和数据存储器共用地址线,为何不会发生冲突? 答:
因为控制信号线不同,外扩的RAM芯片的控制信号线为AT89S51单片机的RD*和WR*引脚。外扩的ROM 芯片的控制信号线为AT89S51单片机的PSEN*引脚。对不同控制信号线的选择,通过不同指令,访 问外部RAM需执行MOVX指令,访问外部ROM则需执行MOVC指令,故虽然外部RAM和外部ROM共用 地址线,但不会产生冲突。 3.AT89S51各中断源的入口地址是否能任意设定?如果想将中断服务程序放置在程序存储器中的任意区 域,在程序中应该作何种设置?请举例说明。 答: (1)各中断源的入口地址已经被定义了,不能任意设定。 (2)如果要将中断服务程序放置在程序存储器中的任意区域,要在该中断的入口地址处设置跳转指 令,才可实现对中断服务程序的执行。 例如:外部中断0的中断服务程序INTPO放置在程序存储区的任意区域,此时,需通过以下方式访 问中断服务程序。 0RG0003H LJMP INTPO 4.I/0接口和I/0端口有什么区别?I/0接口的功能是什么? 答: (1)I/0端口简称I/0口,是指I/0接口电路中具有端口地址的寄存器或缓冲器。 I/0接口是指单片机与外设间的I/0接口电路或芯片。 (2)I/0接口功能:①、实现单片机与不同外设的速度匹配:②、输出数据锁存:③、输入数据三态 缓冲。 五、利用AT89S51单片机和DAC0832制作波形发生器,数模转换时数字量FFH和OOH分别对应模拟量+5V 和OV。设有一个延时3.900ms的子程序DELAY可供直接调用。 1.将图a中空缺的电路补充完整: 2.编写汇编程序,产生图b中所示锯齿波
因为控制信号线不同,外扩的 RAM 芯片的控制信号线为 AT89S51 单片机的 RD*和 WR*引脚。外扩的 ROM 芯片的控制信号线为 AT89S51 单片机的 PSEN*引脚。对不同控制信号线的选择,通过不同指令,访 问外部 RAM 需执行 MOVX 指令,访问外部 ROM 则需执行 MOVC 指令,故虽然外部 RAM 和外部 ROM 共用 地址线,但不会产生冲突。 3.AT89S51 各中断源的入口地址是否能任意设定?如果想将中断服务程序放置在程序存储器中的任意区 域,在程序中应该作何种设置?请举例说明。 答: (1)各中断源的入口地址已经被定义了,不能任意设定。 (2)如果要将中断服务程序放置在程序存储器中的任意区域,要在该中断的入口地址处设置跳转指 令,才可实现对中断服务程序的执行。 例如:外部中断 0 的中断服务程序 INTP0 放置在程序存储区的任意区域,此时,需通过以下方式访 问中断服务程序。 ORG 0003H LJMP INTP0 4.I/O 接口和 I/O 端口有什么区别?I/O 接口的功能是什么? 答: (1)I/O 端口简称 I/O 口,是指 I/O 接口电路中具有端口地址的寄存器或缓冲器。 I/O 接口是指单片机与外设间的 I/O 接口电路或芯片。 (2)I/O 接口功能:①、实现单片机与不同外设的速度匹配;②、输出数据锁存;③、输入数据三态 缓冲。 五、利用 AT89S51 单片机和 DAC0832 制作波形发生器,数模转换时数字量 FFH 和 00H 分别对应模拟量+5V 和 0V。设有一个延时 3.900ms 的子程序 DELAY 可供直接调用。 1.将图 a 中空缺的电路补充完整; 2.编写汇编程序,产生图 b 中所示锯齿波
P0.0 …m Q ALE 1G WR AT89551 WRI WR2 十5 XFER DI7 图a 图b 答: 1,连线如下图,WR2*接地也正确。ILE直接接+5V也可以。 P0.0 8 8 DO Q0 P0.7 D7 .5373 Q7 ALE G O正 WR WRI WR2 AT89S51 DIO CS 8 XFER DI7 DAC RFB ILE 爱 VoUT +5V VREF Vcc 2. ORG 0100H MOV RO,#OFEH MOV A,#00H LOOP:MOVX @RO, A INC LCALL DELAY LCALL DELAY SJMP LOOP 六、请回答: 1.下图中外部扩展的程序存储器和数据存储器容量各是多少?地址范围分别是什么?没用到的地址线设 为1。 2.编写汇编程序,将ROM中以D300H为首的16个表格数据送入2#6264的前16个单元中。己知特殊功 能寄存器AUXR1的最低有效位可用于选择DPTRO和DPTR1
P0.0 ... P0.7 ALE WR AT89S51 D0 Q0 . . . . . . D7 Q7 G OE 74LS373 DAC 0832 DI0 ... DI7 ILE VREF VCC WR1 WR2 CS XFER RFB IOUT1 IOUT2 +5V VOUT 8 8 8 +5V 0V 2s 图 a 图 b 答: 1.连线如下图,WR2*接地也正确。ILE 直接接+5V 也可以。 P0.0 ... P0.7 ALE WR AT89S51 D0 Q0 . . . . . . D7 Q7 G OE 74LS373 DAC 0832 DI0 ... DI7 ILE VREF VCC WR1 WR2 CS XFER RFB IOUT1 IOUT2 +5V VOUT 8 8 8 2. ORG 0100H MOV R0, #0FEH MOV A, #00H LOOP: MOVX @R0, A INC A LCALL DELAY LCALL DELAY SJMP LOOP 六、请回答: 1.下图中外部扩展的程序存储器和数据存储器容量各是多少?地址范围分别是什么?没用到的地址线设 为 1。 2.编写汇编程序,将 ROM 中以 D300H 为首的 16 个表格数据送入 2# 6264 的前 16 个单元中。已知特殊功 能寄存器 AUXR1 的最低有效位可用于选择 DPTR0 和 DPTR1
P2.6 P2.5 P2.4 P2.0 DO Q0 8 8 D7 Q7 A0-A7A8-A12 A0-A7A8-A12 A0-A7A8-A12 74LS373 ALE G OE CE CE CE 2764 1#6264 2#6264 +5V cs AT89S51 8 D0-D7 OE DO-D7 OE WE DO-D7 OE WE P0.7 8 8 8 8 P0.0 PSEN RD WR EA 答: 1.外扩1片程序存储器2764,容量为8KB,地址范围是:C000 H DFFFH。 外扩2片数据存储器6264,容量为16KB,地址范围是: 1#6264:C000 H DFFFH,2#6264:A000 H BFFFH. 2. MOV AUXR1,#00H MOV DPTR,#0D300H MOV AUXR1,#01H MOV DPTR,#0AO00H MOV R3,#10H LOOP: MOV AUXR1,#00H MOVC A,@A+DPTR INC DPTR MOV AUXR1,#01H MOVX @DPTR,A INC DPTR DINZ R3,LOOP 或 MOV R3,#10H MOV R0,#30H MOV DPTR,#0D300H LOOP: MOVC A,@A+DPTR INC DPTR MOV @R0,A INC RO
答: 1.外扩 1 片程序存储器 2764,容量为 8KB,地址范围是:C000H~DFFFH。 外扩 2 片数据存储器 6264,容量为 16KB,地址范围是: 1# 6264:C000H~DFFFH,2# 6264:A000H~BFFFH。 2. MOV AUXR1,#00H MOV DPTR, #0D300H MOV AUXR1,#01H MOV DPTR, #0A000H MOV R3,#10H LOOP: MOV AUXR1,#00H MOVC A, @A+DPTR INC DPTR MOV AUXR1,#01H MOVX @DPTR, A INC DPTR DJNZ R3,LOOP 或 MOV R3,#10H MOV R0,#30H MOV DPTR, #0D300H LOOP: MOVC A, @A+DPTR INC DPTR MOV @R0,A INC R0 PSEN CE WR P2.6 P2.5 P2.4 P2.0 . . . AT89S51 D0-D7 OE D0-D7 OE 2764 CE A0-A7 A8-A12 OE 74LS373 Q0 Q7 D0 D7 . . . . . . ALE G P0.7 P0.0 . . . 8 8 8 8 8 5 5 5 8 8 +5V WE 2# 6264 CS CE A0-A7 A8-A12 +5V WE CS A0-A7 A8-A12 OE OE 1# 6264 RD 5 8 ● ● ● ● ● ● ● ● ● ● EA D0-D7 D0-D7
DINZ R3,LOOP MOV R3,#10H MOV R0,#30H MOV DPTR,#0A000H LOOP1:MOV A,@RO MOVX @DPTR,A INC DPTR INC RO DINZ R3,LOOP1
DJNZ R3,LOOP MOV R3,#10H MOV R0,#30H MOV DPTR, #0A000H LOOP1: MOV A, @R0 MOVX @DPTR, A INC DPTR INC R0 DJNZ R3,LOOP1