试题8 参考答案 一、填空 1.执行MOVX@R1,A指令时,伴随着(WR*)控制信号有效。 2.AT89S51单片机复位时,PC指针的内容为(0000H),4个端口寄存器P0~P3中的内容为(FFH)。 3.PSW寄存器中的AC标志位,称为(辅助进位)标志位,是用于(BCD码)运算时,用作(十进位调 整)。 4.AT89S51单片机采用外部时钟电路时,(XTAL2)引脚应悬空。外部振荡器输出的时钟信号接(XTAL1) 引脚。 5.设计一个以AT89S51单片机应用系统,如果仅使用其内部4B闪存作为程序存储器,则其(EA*)引脚 应该接(+5V)。 6.当AT89S51单片机复位后,中断优先级最高的中断源是(外中断0)。 7.己知8段共阳极LED数码管要显示字符“5”(a段为最低位),此时的段码为(6DH)。 8.在R5初值为FF时,DJNZ R7,re1指令将循环执行(255)次。 9.某数据存储器62128芯片的地址线为(14)条,那么它的存储容量为(16KB)。假设62128的起始 地址为6000H,它的末地址为(7FFFH)。 10.当时钟频率为12Mz时,定时器T0方式2下的最大定时时间为(256s)。 11.若(A)中的内容为68H,那么P标志位为(1)。 12.(AT89S52)单片机片内有8K字节的闪烁存储器,有(256)字节的片内RAM单元。 13.以AT89S51为核心的单片机最小系统,除了要有单片机外,还要有(时钟)电路和(复位)电路。 14.当AT89S51执行MOVC A,@A+DPTR指令时,伴随着(PSEN*)控制信号有效。 15.51单片机的跳转指令LJMP的跳转范围是(64KB),AJMP的跳转范围是(2KB)。 16.AT89S51单片机与慢速外设进行数据传输时,最佳的数传方式是采用(中断方式)。 17.单片机从调用的子程序返回时,必须执行的返回指令是(RET)。 18.AT89S51单片机控制LCD显示英文字符或数字字符时,要把欲显示字符的(ASCII)码送给LCD控制模 块。 19.如果定时器的启动和停止要由两个信号TRx(x=0,1)和NTx(x=0,1)来共同控制,此时寄存器TMOD 中的GATEx(x=0,1)位必须为(1)。 20.串行口方式3接收数据时,(SCON)寄存器的(REN)位必须为1,接收到的第9位数据进入到该寄存 器的(RB8)位中。 21.D/A转换器的两个最重要的技术指标为(分辨率)和(建立时间)。 22.某10位A/D转换器的转换电压的范围为0~10V,其分辨率为(9.77)mV。 23.AT89S51单片机访问片外数据存储器的寻址方式是(寄存器间接寻址)。 24.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为(11.0592)Mz。 二、判断,在后面的括号中填入“√”或“X” 1.单片机扩展I/0接口芯片,要占用片外数据存储器的地址资源。(√) 2.单片机的功能侧重于测量和控制,DSP侧重于高速、复杂运算。(√)
试题 8 参考答案 一、填空 1.执行 MOVX @R1,A 指令时,伴随着( WR* )控制信号有效。 2.AT89S51 单片机复位时,PC 指针的内容为( 0000H ),4 个端口寄存器 P0~P3 中的内容为(FFH )。 3.PSW 寄存器中的 AC 标志位,称为( 辅助进位 ) 标志位,是用于(BCD 码)运算时,用作(十进位调 整)。 4.AT89S51 单片机采用外部时钟电路时,( XTAL2 )引脚应悬空。外部振荡器输出的时钟信号接(XTAL1) 引脚。 5.设计一个以 AT89S51 单片机应用系统,如果仅使用其内部 4KB 闪存作为程序存储器,则其( EA* )引脚 应该接(+5V)。 6.当 AT89S51 单片机复位后,中断优先级最高的中断源是(外中断 0)。 7.已知8段共阳极LED数码管要显示字符“5”(a段为最低位),此时的段码为( 6DH )。 8.在 R5 初值为 FF 时,DJNZ R7,rel 指令将循环执行( 255 )次。 9.某数据存储器 62128 芯片的地址线为( 14 )条,那么它的存储容量为( 16 KB )。假设 62128 的起始 地址为 6000H,它的末地址为( 7FFFH )。 10.当时钟频率为 12MHz 时,定时器 T0 方式 2 下的最大定时时间为( 256µs )。 11.若 ( A )中的内容为 68H,那么 P 标志位为( 1 )。 12.(AT89S52)单片机片内有 8K 字节的闪烁存储器,有( 256 )字节的片内 RAM 单元。 13.以 AT89S51 为核心的单片机最小系统,除了要有单片机外,还要有( 时钟 )电路和(复位)电路。 14.当 AT89S51 执行 MOVC A,@A+DPTR 指令时,伴随着(PSEN* )控制信号有效。 15.51 单片机的跳转指令 LJMP 的跳转范围是(64KB ),AJMP 的跳转范围是(2KB )。 16.AT89S51 单片机与慢速外设进行数据传输时,最佳的数传方式是采用(中断方式 )。 17.单片机从调用的子程序返回时,必须执行的返回指令是(RET)。 18.AT89S51单片机控制LCD显示英文字符或数字字符时,要把欲显示字符的( ASCII )码送给LCD控制模 块。 19.如果定时器的启动和停止要由两个信号TRx(x=0,1)和 INT x (x=0,1)来共同控制,此时寄存器TMOD 中的GATEx(x=0,1)位必须为( 1 )。 20.串行口方式 3 接收数据时,(SCON)寄存器的(REN)位必须为 1,接收到的第 9 位数据进入到该寄存 器的(RB8)位中。 21.D/A 转换器的两个最重要的技术指标为( 分辨率 )和( 建立时间 )。 22.某 10 位 A/D 转换器的转换电压的范围为 0∼10V,其分辨率为( 9.77 )mV。 23.AT89S51 单片机访问片外数据存储器的寻址方式是( 寄存器间接寻址 )。 24.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为(11.0592)MHz。 二、判断,在后面的括号中填入“√”或“×” 1.单片机扩展 I/O 接口芯片,要占用片外数据存储器的地址资源。(√ ) 2.单片机的功能侧重于测量和控制,DSP 侧重于高速、复杂运算。(√ )
3.AT89S51单片机进行串行通讯时,定时器方式2能产生比方式1更低的波特率。(×) 4.同为高中断优先级,外部中断0能打断正在执行的外部中断1的中断服务程序。(X) 5.在AT89S51单片机的汇编语言中,操作码是唯一不能空缺的部分。(√) 6.软件延时程序比定时器的定时更精确。(×) 7.中断服务子程序可以直接调用。(×) 8.特殊功能寄存器TCON,仅与定时器/计数器的控制相关。(×) 9.LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。(√) 10.数据指针DPTR只用于访问数据存储器。(X) 11.如果只有一路模拟量输出,DAC0832可以采用单缓冲方式,如果有多路模拟量输出,DAC0832则必须 采用双缓冲方式。(×) 12.AT89S51单片机的P1口如果作为输入端口使用时,必须先向P1口写入FFH。(√) 13.并行接口芯片82C55的方式0是无条件的输入输出方式。(√) 14.指令中直接给出的操作数称为直接寻址。(×) 15.AT89S51片内RAM的位寻址区,只能进行位寻址,不能进行字节寻址。(×) 16.“INCA”和“DECA”指令不影响程序状态字PSW中的任何标志。(×) 三、简答 1.在中断服务程序中为什么需要保护现场和恢复现场? 答:现场是指中断时单片机中某些寄存器和存储器单元中的数据或状态,为了使中断服务的执行不破坏这 些数据和状态,以免在中断返回后影响主程序的运行,因此要把这些数据和状态送入堆栈,进行保护。在 返回主程序时,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有 内容。 2.AT89S51单片机定时器T0的方式2是多少位的定时/计数器?简述其工作过程。 答:定时器工作方式2是一种自动重装初值的8位定时计数器,TL0用于计数,THO保存计数初值。当TL0计 满溢出时,溢出脉冲打开了TL0和THO之间的三态门,使TH0的内容自动装入TL0,重复计数。 四、AT89S51单片机与3位8段共阳极LED相接,静态显示。 1.分别写出显示字符“1.”、“2”、“3”的段码,注:段码的最低位为“a”段,段码的最高位为“dp”段: 2.已知82C55的PA口、PB口和PC口的地址分别为FF7CH、FF7DH、FF7EH,且82C55的这3个端口均已 被编写完毕的初始化程序初始化为方式0输出,请编写出使3位LED共阳极显示器从左至右显示“1.23” 的程序段。 来自AT89S51 82C55 PA PB PC dp +5V
3.AT89S51 单片机进行串行通讯时,定时器方式 2 能产生比方式 1 更低的波特率。( × ) 4.同为高中断优先级,外部中断 0 能打断正在执行的外部中断 1 的中断服务程序。( × ) 5.在 AT89S51 单片机的汇编语言中,操作码是唯一不能空缺的部分。(√ ) 6.软件延时程序比定时器的定时更精确。( × ) 7.中断服务子程序可以直接调用。( × ) 8.特殊功能寄存器 TCON,仅与定时器/计数器的控制相关。( × ) 9.LED 数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。(√ ) 10.数据指针 DPTR 只用于访问数据存储器。( × ) 11.如果只有一路模拟量输出,DAC0832 可以采用单缓冲方式,如果有多路模拟量输出,DAC0832 则必须 采用双缓冲方式。( × ) 12.AT89S51 单片机的 P1 口如果作为输入端口使用时,必须先向 P1 口写入 FFH。(√ ) 13.并行接口芯片 82C55 的方式 0 是无条件的输入输出方式。( √ ) 14.指令中直接给出的操作数称为直接寻址。( × ) 15.AT89S51 片内 RAM 的位寻址区,只能进行位寻址,不能进行字节寻址。( × ) 16.“INC A”和“DEC A”指令不影响程序状态字 PSW 中的任何标志。(× ) 三、简答 1. 在中断服务程序中为什么需要保护现场和恢复现场? 答:现场是指中断时单片机中某些寄存器和存储器单元中的数据或状态,为了使中断服务的执行不破坏这 些数据和状态,以免在中断返回后影响主程序的运行,因此要把这些数据和状态送入堆栈,进行保护。在 返回主程序时,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有 内容。 2.AT89S51单片机定时器T0的方式2是多少位的定时/计数器?简述其工作过程。 答:定时器工作方式2是一种自动重装初值的8位定时计数器,TL0用于计数,TH0保存计数初值。当TL0计 满溢出时,溢出脉冲打开了TL0和TH0之间的三态门,使TH0的内容自动装入TL0,重复计数。 四、AT89S51 单片机与 3 位 8 段共阳极 LED 相接,静态显示。 1.分别写出显示字符“1.”、“2”、“3”的段码,注:段码的最低位为“a”段,段码的最高位为“dp”段; 2.已知 82C55 的 PA 口、PB 口和 PC 口的地址分别为 FF7CH、FF7DH、FF7EH,且 82C55 的这 3 个端口均已 被编写完毕的初始化程序初始化为方式 0 输出,请编写出使 3 位 LED 共阳极显示器从左至右显示“1.23” 的程序段。 a b c d e f g ● dp 82C55 PA PB PC 来自 AT89S51 · · · +5V º
答:(1)“1.”的段码:79H,“2”的段码:A4H,“3”的段码:B0H。 (2) MOV A,#79 MOV DPTR,#OFF7CH MOVX @DPTR,A MOV A,#0A4H MOV DPTR,#OFF7DH MOVX @DPTR,A MOV A,#0BOH MOV DPTR,#OFF7EH MOVX @DPTR,A 五、AT89S51单片机通过ADC0809进行模数转换,采用中断控制方式,请回答: 1.标出图中①、②、③所对应的引脚符号: 2.填写程序或注释中的空白部分af: 3.程序中的“#addr”为模拟输入的端口地址,当单片机分别对“INO”、“IN3”和“IN7”进行模数 转换时,写出对应的“#addr”的取值(注意:地址线未用到的位为1)。 D Q ALE CK Q CLK AT89S51 ADC0809 A7 P0.7 G 74LS373 A2 P0.0 B IN7 A0 A INO DO ① EOC ② START P2.7 ALE ③ OE ORG 0000H AJMP MAIN ORG 0013H :。a的中断入口地址 b :读A/D转换结果 RETI ORG 0100H MAIN: SETB IT1 :c触发方式选择 SETB d :总中断允许 SETB e :允许中断 MOV DPTR,#addr ;指向某一模拟输入通道 f ;启动A/D转换 S.TMP $ ;等待中断 答:1.①为“INT1”,②为“WR*”,③为“RD*”: 2.a填“外部中断1”,b填“MOVX A,eDPTR”,c填“下降沿”,d填“EA”,e填“EX1”,f填“MOVX @DPTR,A”:
答:(1)“1.”的段码:79H,“2”的段码:A4H,“3”的段码:B0H。 (2) MOV A,#79H MOV DPTR,#0FF7CH MOVX @DPTR,A MOV A,#0A4H MOV DPTR,#0FF7DH MOVX @DPTR,A MOV A,#0B0H MOV DPTR,#0FF7EH MOVX @DPTR,A 五、AT89S51 单片机通过 ADC0809 进行模数转换,采用中断控制方式,请回答: 1.标出图中①、②、③所对应的引脚符号; 2.填写程序或注释中的空白部分 a~f ; 3.程序中的“#addr”为模拟输入的端口地址,当单片机分别对“IN0”、“IN3”和“IN7”进行模数 转换时,写出对应的“#addr”的取值(注意:地址线未用到的位为 1)。 ORG 0000H AJMP MAIN ORG 0013H ; a 的中断入口地址 b ;读 A/D 转换结果 RETI ORG 0100H MAIN: SETB IT1 ; c 触发方式选择 SETB d ;总中断允许 SETB e ;允许中断 MOV DPTR,#addr ;指向某一模拟输入通道 f ;启动 A/D 转换 SJMP $ ;等待中断 答:1. ①为“INT1”,②为“WR*”,③为“RD*”; 2. a 填“外部中断 1”,b 填“MOVX A,@DPTR”,c 填“下降沿”,d 填“EA”,e 填“EX1”,f 填“MOVX @DPTR,A”;
3.“IN0”的端口地址为:7FF8H, “IN3”的端口地址为:7FFBH, “IN7”的端口地址为:7FFFH。 六、请回答: 1.下图中单片机外部扩展的程序存储器和数据存储器容量各是多少? 2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位为1) 3. 请编写程序,将内部RAM40H4FH中的内容送入1#6264的前16个单元中: P2.7 P20 DO Q0 D7 Q7 3 A0-A7A8-A12 A0-A7A8-A12 A0-A7A8-A12 74LS373 ALE G OE ce C CE 2764 1#6264 2#6264 +5V AT89S51 +5V CS 8 D0-D7 OE O正顾 OE丽 P0.7 8 8 P0.0 PSEN 函 答: 1.外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB×2=16KB 2.程序存储器2764地址范围为:0000H1FFFH 数据存储器1#6264地址范围为:6000H7FFFH 数据存储器2#6264地址范围为:A00 OH BFFFH 3.编写程序 MOV R0,#40H MOV DPTR,#6000H :设置数据指针为6000旧 LOOP:MOV A,@RO :将片内RAM(40~4FH)中的内容送入A中 MOVX @DPTR,A :将A→@DPTR中 INC RO INC DPTR CJNE R0,#50H,L00P:将此子程序,循环执行16次 RET
3. “IN0”的端口地址为:7FF8H, “IN3”的端口地址为:7FFBH, “IN7”的端口地址为:7FFFH。 六、请回答: 1.下图中单片机外部扩展的程序存储器和数据存储器容量各是多少? 2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位为 1) 3.请编写程序,将内部 RAM 40H~4FH 中的内容送入 1# 6264 的前 16 个单元中; 答: 1.外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB×2=16KB 2.程序存储器 2764 地址范围为:0000H~1FFFH 数据存储器 1#6264 地址范围为:6000H~7FFFH 数据存储器 2#6264 地址范围为:A000H~BFFFH 3.编写程序 MOV R0,#40H MOV DPTR,#6000H ;设置数据指针为 6000H LOOP: MOV A,@R0 ;将片内 RAM(40~4FH)中的内容送入 A 中 MOVX @DPTR,A ;将 A→@DPTR 中 INC R0 INC DPTR CJNE R0,#50H,LOOP ;将此子程序,循环执行 16 次 RET