试题2参考答案 一、填空题 1.AT89S51单片机是(8)位的单片机. 2.AT89S51单片机有(5)个中断源,(2)级优先级中断。 3.串行口方式3发送的第9位数据要事先写入(SC0N)寄存器的(TB8)位。 4.串行口的方式0的波特率为(fsc/12)。 5.AT89S51内部数据存储器的地址范围是(00-7FH),位地址空间的字节地址范围是 (20-2FH),对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB)。 6.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为(28H)。 7.如果(A)=58H,(R1)=49H,(49H)=79H,执行指令XCHA,@R1后;结果(A)=(79H), (49H)=(58H)。 8.利用81C55可以扩展(3)个并行口,(256)个RAM单元。 9.当单片机复位时PSW=(00)H,SP=(07H),P0P3口均为(高)电平。 10.若A中的内容为88H,那么,P标志位为(0)。 11.当AT89S51执行MOVC A,@A+DPTR指令时,伴随着(PSEN*)控制信号有效。 12.AT89S51访问片外存储器时,利用(ALE)信号锁存来自(P0口)发出的低8位 地址信号。 13.已知fosc=12MHz,T0作为定时器使用时,其定时时间间隔为(1us)。 14.若AT89S51外扩8KB程序存储器的首地址若为1000H,则末地址为(2FFF)H。 二、判断对错,如对则在()中写“√”,如错则在()中写“X”。 1.AT89S51单片机可执行指令:M0V35H,@R3。(×) 2.8031与8751的区别在于内部是否有程序存储器。(√) 3.当向堆栈压入一个字节的数据后,SP中的内容减1。(X) 4.程序计数器P℃中装的内容是当前正在执行指令的地址。(×) 5.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√) 6.AT89S51单片机中的PC是不可寻址的。(√) 7.当AT89S51执行MOVX@DPTR,A指令时,伴随着WR*信号有效。(√) 8.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电 平的持续时间不小于1个机器周期。(×) 9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被WR*还是被PSEN*信号连接。 (√) 10.各中断源发出的中断请求信号,都会标记在AT89S51的TC0N寄存器中。(×) 三、简答题
1 试题 2 参考答案 一、填空题 1.AT89S51 单片机是( 8 )位的单片机。 2.AT89S51 单片机有( 5 )个中断源,( 2 )级优先级中断。 3.串行口方式 3 发送的第 9 位数据要事先写入( SCON )寄存器的( TB8 )位。 4.串行口的方式 0 的波特率为 ( fOSC/12 )。 5.AT89S51 内部数据存储器的地址范围是(00-7FH ),位地址空间的字节地址范围是 (20-2FH ),对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB )。 6.在内部 RAM 中可位寻址区中,位地址为 40H 的位,该位所在字节的字节地址为( 28H )。 7.如果(A)=58H,(R1)= 49H,(49H)= 79H,执行指令 XCH A, @R1 后;结果(A)=( 79 H ) , (49H)=( 58H )。 8.利用 81C55 可以扩展( 3 )个并行口,(256)个 RAM 单元。 9.当单片机复位时 PSW= ( 00 )H,SP=( 07H ),P0~P3 口均为( 高 )电平。 10.若 A 中的内容为 88H,那么,P 标志位为( 0 )。 11.当 AT89S51 执行 MOVC A,@A+ DPTR 指令时,伴随着( PSEN* )控制信号有效。 12.AT89S51 访问片外存储器时,利用( ALE )信号锁存来自( P0 口 )发出的低 8 位 地址信号。 13.已知 fosc=12MHz, T0 作为定时器使用时,其定时时间间隔为( 1us )。 14.若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为(2FFF)H。 二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。 1.AT89S51 单片机可执行指令:MOV 35H,@R3。( × ) 2.8031与8751的区别在于内部是否有程序存储器。( √ ) 3.当向堆栈压入一个字节的数据后,SP 中的内容减 1。(×) 4.程序计数器 PC 中装的内容是当前正在执行指令的地址。(×) 5.某特殊功能寄存器的字节地址为 80H,它即能字节寻址,也能位寻址。(√) 6.AT89S51 单片机中的 PC 是不可寻址的。(√) 7.当 AT89S51 执行 MOVX @DPTR,A 指令时,伴随着 WR*信号有效。(√) 8.AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电 平的持续时间不小于 1 个机器周期。(×) 9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被 WR*还是被 PSEN*信号连接。 (√) 10.各中断源发出的中断请求信号,都会标记在 AT89S51 的 TCON 寄存器中。(×) 三、简答题
1.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执 行下列指令后: POP DPH POP DPL RET 则:(PCH)=34H;(PCL)=12H;(DPH)=80H_;(DPL)=50H; 2.AT89S51采用6Mz的晶振,定时2ms,如用定时器方式1时的初值(16进制数)应为多 少?(写出计算过程) 答:机器周期6×10=2×10s=2uS 又方式1为16进制定时器.故 (26-X)×2×10=2×103=>26-X=1000 =>X=65536-1000=64536即初值=FC181 3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突, 为什么? 答:不发生数据冲突的原因是:AT89S51中访问程序存储器和数据存储器的指令不一样。 选通信号也就不一样,前者为PSEN,后者为WR与RD。 程序存储器访问指令为MOVC A,@DPTR;MOVC A,@A+pc。 数据存储器访问指令为:MOVX A,@DPTR: MOVX A,@Ri;MOVX @DPTR,A. 4.说明AT89S51的外部引脚EA*的作用? 答:当EA*为高电平时,AT89S51访问内部程序存储器,但当地址大于0FF℉时,自动转到外 部程序存储器:当EA*为低电平时,AT89S51只读取外部程序存储器。 5.写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除, 哪些中断源必须用软件清除,为什么? 答:外部中断INTO* 定时器/计数器中断T0 外部中断INT1* 定时器/计数器中断T1 串行口中断 其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为 RI,故用软件清“0”。 四、下图为某AT89S51应用系统的3位LED8段共阳极静态显示器的接口电路,(1)该静态 显示器电路与动态扫描的显示器电路相比有哪些优缺点?(2)写出显示字符“3”、“8”、“5” 的段码,注意:段码的最低位为“a”段,段码的最高位为“dp”段(3)已知8255A的PA 口、PB口和PC口的地址分别为FF7CH、FF7DH、FF7EH,且8255A的这3个端口均已被编写完 毕的初始化程序初始化为方式0输出,请编写出使3位LED共阳极显示器从左至右显示 “3.85”的程序段
2 1.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则执 行下列指令后: POP DPH POP DPL RET 则:(PCH) =_34H_;(PCL)=_12H__;(DPH)=__80H__;(DPL)=__50H__; 2.AT89S51 采用 6MHz 的晶振,定时 2ms,如用定时器方式 1 时的初值(16 进制数)应为多 少?(写出计算过程) 答:机器周期 6×106 =2×10-6 s=2uS 又方式 1 为 16 进制定时器.故 (2 16—X)×2×10-6 =2×10-3 =>216 -X=1000 =>X=65536-1000=64536 即初值=FC18H 3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突, 为什么? 答:不发生数据冲突的原因是:AT89S51 中访问程序存储器和数据存储器的指令不一样。 选通信号也就不一样,前者为 PSEN,后者为 WR 与 RD。 程序存储器访问指令为 MOVC A,@DPTR;MOVC A,@A+pc。 数据存储器访问指令为:MOVX A,@DPTR; MOVX A,@Ri; MOVX @DPTR,A。 4.说明 AT89S51 的外部引脚 EA*的作用? 答:当 EA*为高电平时,AT89S51 访问内部程序存储器,但当地址大于 0FFF 时,自动转到外 部程序存储器;当 EA*为低电平时,AT89S51 只读取外部程序存储器。 5.写出 AT89S51 的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除, 哪些中断源必须用软件清除,为什么? 答: 外部中断 INT0* 定时器/计数器中断 T0 外部中断 INT1* 定时器/计数器中断 T1 串行口中断 其中串行口中断 TI 与 RI 必须用软件清“0”,因为串口中断的输出中断为 TI,输入中断为 RI,故用软件清“0”。 四、下图为某 AT89S51 应用系统的 3 位 LED 8 段共阳极静态显示器的接口电路,(1)该静态 显示器电路与动态扫描的显示器电路相比有哪些优缺点?(2)写出显示字符“3”、“8”、“5” 的段码,注意:段码的最低位为“a” 段,段码的最高位为“dp” 段(3)已知 8255A 的 PA 口、PB 口和 PC 口的地址分别为 FF7CH、FF7DH、FF7EH,且 8255A 的这 3 个端口均已被编写完 毕的初始化程序初始化为方式 0 输出,请编写出使 3 位 LED 共阳极显示器从左至右显示 “3.85”的程序段
来自AT89S51 0 82C55 ●dp +5V 解:(1)优点是:亮度高,字符不闪烁,占用CPU资源少。 缺点是:占用的1/0口太多,当需要的LED数目较多时,需要外扩展的I/0口。 (2)3.:→B0H 8:→80H 5:→92H (3) MOV DPTR,#OFF7CH MOV A,#30H MOVX @DPTR,A MOV DPTR,#OFF7DH MOV A,#80H MOVX @DPTR,A MVOX DPTR,#OFF7EH MOV A,#92H MOVX @DPTR,A RET 五、画出AT89S51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其 中1台从机通讯地址号为02H,请叙述主机向02从机发送一个字节数据的过程 TXD RXⅫ TDRXⅫ TX①RX① TXD RX① TXⅫRX① AT89S51 00H 01H 02H 03H 从机 从机 从机 从机 答:主机发送数据过程如下: (1)将从机0003H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。 (2)由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发生
3 解:(1) 优点是:亮度高,字符不闪烁,占用 CPU 资源少。 缺点是:占用的 I/O 口太多,当需要的 LED 数目较多时,需要外扩展的 I/0 口。 (2) 3.:→B0H 8:→80H 5:→92H (3) MOV DPTR,#0FF7CH MOV A,#30H MOVX @DPTR,A MOV DPTR,#0FF7DH MOV A ,#80H MOVX @DPTR,A MVOX DPTR,#0FF7EH MOV A,#92H MOVX @DPTR,A RET 五、画出 AT89S51 系列单片机利用串行口进行 1 台主机与 4 台从机多机串行通讯连线图,其 中 1 台从机通讯地址号为 02H,请叙述主机向 02H 从机发送一个字节数据的过程 答:主机发送数据过程如下: (1)将从机 00~03H 的 REN 置 1,SM2=1,并使它们工作在串行口工作方式 2 或 3。 (2)由主机向 4 个从机发出一帧地址址信息 02H,第 9 位为 1。从机接到信息后均发生 a b c d e f g ● dp 8255A PA PB PC 来自 AT89S51 +5V · · · º 82C55
中断,执行中断服务程序,将02H与自身地址做比较。若相同,则清SM2=O,若不同则 SM2不变仍为1. (3)主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中 断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H 从机发送一个字节数据的功能。 六、请回答: 1.下图中外部扩展的程序存储器和数据存储器容量各是多少? 2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) 3.请编写程序,要求: (1)将内部RAM30H3FH中的内容送入1#6264的前16个单元中: (2)将2#6264的前4个单元的内容送入40H43中: P2.7 膙 P2.0 5 5 DO Q0 8 8 D7 Q7 AT89S51 A0-A7A8-A12 A0-A7A8-A12 A0-A7A8-A12 74LS373 ALE OE CE CE CE 2764 1#6264 2#6264 +5M CS +5☑ 8 D0-D7 OE OE WR OE WR P0.7 8 8 8 P0.0 PSEN RD WR 解: 1.外扩程序存储器的容量是8K,外扩数据存储器的容量是16K 2.2764范围: COOOH DFFFH 1#范围: AOOOH BFFFH 2#范围: 6000H 7FFFH 3.请编写程序 (1) MOV R1,#10H MOV DPTR,#0AOOOH MOV R0,#30H 100P: MOV A,@R0 MOVX @DPTR,A
4 中断,执行中断服务程序,将 02H 与自身地址做比较。若相同,则清 SM2=0,若不同则 SM2 不变仍为 1。 (3)主机发送一帧数据信息,第 9 位为 0,从机接到信息后,只有 SM2=0 的从机发生中 断,将数据信息收取,其余 SM2=1 的从机不放出中断,信息丢失,从而实现主机向 02H 从机发送一个字节数据的功能。 六、请回答: 1.下图中外部扩展的程序存储器和数据存储器容量各是多少? 2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填 1) 3.请编写程序,要求: (1)将内部 RAM 30H~3FH 中的内容送入 1# 6264 的前 16 个单元中; (2)将 2# 6264 的前 4 个单元的内容送入 40H~43 中; 解: 1. 外扩程序存储器的容量是 8K,外扩数据存储器的容量是 16K 2. 2764 范围: C000H~DFFFH 1#范围: A000H~BFFFH 2#范围: 6000H~7FFFH 3.请编写程序 (1) MOV R1 ,#10H MOV DPTR, #0A000H MOV R0,#30H LOOP: MOV A,@R0 MOVX @DPTR,A PSEN CE WR P2.7 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 WR 2# 6264 CS CE A0-A7 A8-A12 +5V WR CS A0-A7 A8-A12 OE OE 1# 6264 RD 5 8 ● ● ● ● ● ● ● ● ●
INC DPTR INC RO DJNZ R1,LOOP RET (2) MOV R1,#04H MOV DPTR,#6000H MOV R0,#40H LOOP:MOVX A,@DPTR MOV @R0,A INC DPTR INC RO DJNZ R1,LOOP RET 5
5 INC DPTR INC R0 DJNZ R1,LOOP RET (2) MOV R1,#04H MOV DPTR,#6000H MOV R0 ,#40H LOOP:MOVX A ,@DPTR MOV @R0 ,A INC DPTR INC R0 DJNZ R1,LOOP RET