第四章 41填空 1.MCS-51的Po口作为输出端口时,每位能驱动 8 _个SL型TL负载 2.MCS-51有4个并行0口,其中P0-P3是准双向口,所以由输出转输入时必须先写 入"1” 3.设计8031系统时,P0、P2口不能用作一般I0口. 4.MCS-51串行接口有4种工作方式这可在初始化程序中用软件填写特殊功能寄存器 防装」 加以选抖 中断 6当定时器To工作在方式3时,要占定时器T1的TR1和TF1两个控制位. 7.MCS51有5个中断源有2个中断优先级,优先级由软件填写特殊功能寄存器P加 以选择 8.用串口扩并口时,串行接口工作方式应选为方式0 9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式 10.外部中断入口地址为0013H 42判断 1.MCS-51的5个中断源优先级相同。 ×) 2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。 3MCS-51上电复位时,SBUF-OL 4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器P加以选择.(×) 5.用串口扩并口时,串行接口工作方式应选为方式1.(×) 6.外部中断INT0入口地址为0013H(×) 7MC8.51外部中断0的入口地址是0003H。 8.TMOD中的GATE=时,表示由两个信号控制定时器的启停。 9.使用8751且=1时,仍可外扩64KB的程序存储器。(×) 10.PC存放的是当前执行的指令。(×) 11.MCS-51的特殊功能寄存器分布在60H80H地址范围内。(× 12.MCS-51有4个并行0口,其中P0-P3是准双向口,所以由输出转输入时必须先写入"0 43选择 1在中断服务程序中,至少应有一条(D) (A)传送指令(B)转移指令(C)加法指法(D)中断返回指令 2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容 应是《A (A)98H (B)84H (C)42 (D)22H 3.DMCS-51在响应中断时,下列哪种操作不会发生(D). (A)保护现场(B)保护PC(C)找到中断入口 (D)保护PC转入中断入口 4.用MCS-51串行接口扩展并行IO口时,串行接口工作方式应选择(C) (A)方式0 (B)方式1(C)方式2 (D)方式3 5.MCS-51有中断源( (A)5个 (B)2个 (C)3个 (D)6个 6.MCS-51响应中断时,下面哪一个条件不是必须的() (A)当前指令执行完毕(B)中断是开放的确 (C)没有同级或高级中断服务须(D)必须有RET1指令
第四章 4-1 填空 1.MCS-51 的 Po 口作为输出端口时,每位能驱动 8 个 SL 型 TTL 负载. 2.MCS-51 有 4 个并行 I\O 口,其中 P0~P3 是准双向口,所以由输出转输入时必须先写 入"1" 3.设计 8031 系统时,_P0、P2 口不能用作一般 I\O 口. 4.MCS-51 串行接口有 4 种工作方式,这可在初始化程序中用软件填写特殊功能寄存器 __SCON _加以选择. 5.当使用慢速外设时,最佳的传输方式是 中 断 . 6.当定时器 To 工作在方式 3 时,要占定时器 T1 的 TR1 和 TF1_两个控制位. 7.MCS-51 有 5 个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加 以选择.. 8.用串口扩并口时,串行接口工作方式应选为方式 0 . 9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式. 10.外部中断 入口地址为_ 0013H 4-2 判断 1.MCS-51 的 5 个中断源优先级相同。 ( × ) 2.要进行多机通信,MCS-51 串行接口的工作方式应为方式 1。 ( × ) 3.MCS-51 上电复位时,SBUF=00H。 ( × )。 4.MCS-51 有 3 个中断源,优先级由软件填写特殊功能寄存器 IP 加以选择.. ( × ) 5.用串口扩并口时,串行接口工作方式应选为方式 1. ( × ) 6.外部中断 INTO 入口地址为_0013H( × ) 7.MCS-51 外部中断 0 的入口地址是 0003H。 (√ ). 8.TMOD 中的 GATE=1 时,表示由两个信号控制定时器的启停。 ( √ )。 9.使用 8751 且 =1 时,仍可外扩 64KB 的程序存储器。( × ) 10.PC 存放的是当前执行的指令。( × ) 11.MCS-51 的特殊功能寄存器分布在 60H~80H 地址范围内。(× ) 12.MCS-51 有 4 个并行 I\O 口,其中 P0~P3 是准双向口,所以由输出转输入时必须先写入"0" ( × ) 4-3 选择 1.在中断服务程序中,至少应有一条( D ) (A)传送指令(B)转移指令(C)加法指法(D)中断返回指令 2.要使 MCS-51 能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容 应是( A ) (A)98H (B)84H (C)42 (D)22H 3.D MCS-51 在响应中断时,下列哪种操作不会发生( D ). (A)保护现场 (B)保护 PC (C)找到中断入口 (D)保护 PC 转入中断入口 4.用 MCS-51 串行接口扩展并行 I\O 口时,串行接口工作方式应选择( C ) (A)方式 0 (B)方式 1 (C)方式 2 (D)方式 3 5.MCS-51 有中断源( A ) (A)5 个 (B)2 个 (C)3 个 (D)6 个 6.MCS-51 响应中断时,下面哪一个条件不是必须的( ) (A)当前指令执行完毕 (B)中断是开放的确 (C)没有同级或高级中断服务须 (D)必须有 RET1 指令
7.使用定时器T1时,有几种工作模式(C) (A)1种 (B)2种 (C)3种 (D)4种 8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是(B) (A)由CPU自动完成 (B)在中断响应中元成 (C)应由中断服务程序完成(D)在主程序中完成 9.下面哪一种传送方式适用于处理外部事件C (ADMA(B)无条件传递进(C中断 (D)条件传递 1、2、4章的编程 1.8225A控制字地址为300FH请按:A口方式0输入B口方式1输出,C口高位输出,C 口低位输入,确定8225A控制字并编初始化程序. 解:控制字为10010101=95H 初始化程序:MOV DPTR,#30OFH MOV A.#95H MOVX @DPTR.A 2.编定一个软件延时1S和1min的子程序.设fosc=6z,则一个机器周期1μs。 解:(1)1S=2US*5*100000 5*100000=250*200*10 (2) ORG 1000H TIME:MOV R7,#10 T3:MOVR6,#200 T2:MOV R6,#250 TI DINZ R5 TI DJNZ R6,T2 DJNZ R7,T3 RET (2)1min-60,调用上面1s子程序60次 ORG 0030H MOV RO #60 LOOP:LCALL TIME DJNZ RO,LOOF RET 3.请编制串行通信的数据发送程序,发送片内RAM50HSFH的16B数据,串行接口 设定为方式2,采用偶校验方式。设晶振频率为6MHz 解:查询方式发送程序如下 MOV SCON.#8OH M OV PCON.#80H MOV RO.#50H MOV R7.#16H LOOP MOV A,@R0 MOV C.P MOV TB8.C MOV SBUF,A JNB TI,S
7.使用定时器 T1 时,有几种工作模式( C ) (A)1种 (B)2种 (C)3种 (D)4种 8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是 ( B ) (A)由 CPU 自动完成 (B)在中断响应中完成 (C)应由中断服务程序完成 (D)在主程序中完成 9.下面哪一种传送方式适用于处理外部事件( C ) (A)DMA (B)无条件传递进 (C)中断 (D)条件传递 1、2、4 章的编程 1. 8225A 控制字地址为 300FH,请按:A 口方式 0 输入,B 口方式 1 输出,C 口高位输出,C 口低位输入,确定 8225A 控制字并编初始化程序. 解:控制字为 10010101=95H 初始化程序:MOV DPTR ,#300FH MOV A, #95H MOVX @DPTR, A 2. 编定一个软件延时 1S 和 1min的子程序.设fosc=6Hz,则一个机器周期 1μs。 解:(1)1S=2US*5*100000 5*100000=250*200*10 (2) ORG 1000H TIME: MOV R7, #10 T3: MOV R6, #200 T2: MOV R6, #250 T1: DJNZ R5, T1 DJNZ R6, T2 DJNZ R7, T3 RET (2)1min=60,调用上面 1s 子程序 60 次 ORG 0030H MOV R0, #60 LOOP: LCALL TIME DJNZ R0, LOOP RET 3. 请编制串行通信的数据发送程序,发送片内 RAM50H~5FH 的 16B 数据,串行接口 设定为方式 2,采用偶校验方式。设晶振频率为 6MHz。 解:查询方式发送程序如下 MOV SCON, #8OH M OV PCON, #80H MOV R0, #50H MOV R7, #16H LOOP: MOV A,@R0 MOV C, P MOV TB8, C MOV SBUF, A JNB T1, $
CLR TI INC RO DJNZ R7,LOOF RET 4.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已 知单片机的品振频率为6MHZ。 请(1)计算时间常数X,应用公式X=26-t(f/12) (2)写出程序清单 解:X=2“-t(F/12 =26-1*10*6*105/12 =0FEOCH 0RG3000H START:MOV TMOD,#01H MOV TLO,#0CH MOV THO,#OFEH SETB TRO LOOP:JBC TFO,DONE SIMP LOOP DONE:MOV TLO,#OCH MOV THO,#OFEH CPL P1.0 SJMP LOOP 5.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,己 知单片机的晶振频率为6MZ。 请(1)计算时间常数X,应用公式X=216-t(f/12) (2)写出程序清单 解:解:X=26-t(F/12) =218-0.5*103*6*10f/12 =f下06H 0RG3000H START:MOV TMOD,#01H
CLR T1 INC R0 DJNZ R7, LOOP RET 4.应用单片机内部定时器 T0 工作在方式 1 下,从 P1.0 输出周期为 2ms 的方波脉冲信号,已 知单片机的晶振频率为 6MHZ。 请(1)计算时间常数 X,应用公式 X=216-t(f/12) (2)写出程序清单 解:X=216 -t(F/12) =216 -1*10-3 *6*106 /12 =OFEOCH ORG 3000H START: MOV TMOD, #01H MOV TL0, #OCH MOV THO, #OFEH SETB TR0 LOOP: JBC TFO, DONE SJMP LOOP DONE: MOV TL0, #OCH MOV THO, #OFEH CPL P1.0 SJMP LOOP 5.应用单片机内部定时器 T0 工作在方式 1 下,从 P1.0 输出周期为 1ms 的方波脉冲信号,已 知单片机的晶振频率为 6MHZ。 请(1)计算时间常数X,应用公式 X=216-t(f/12) (2)写出程序清单 解:解:X=216 -t(F/12) =216 -0.5*10-3 *6*106 /12 =FF06H ORG 3000H START: MOV TMOD, #01H
MOV TLO,#06H MOV THO,#FF刚 SETB TRO LOOP:JBC TFO,DONE SJMP LOOP DONE:MOV TLO,#06H MOV THO,#FFH CPL P1.0 SIMP LOOP 6、用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。 编出汇编语言程序。 解:ORG0100H ABC:SETB P1.0 SETB P1.7 Pl.7.S JNB P1.7.$ CLR PLO MOV R2.#0 DAY:NOP NOP DINZ R2.DAY SJMPABC 7、设计一个4位数码显示电路,并用汇编语言编程使"8"从右到左显示一遍 解: ORG 0100H MOV A,#08H MOV R2,#01H MOV DPTR,#TAB movc a@A+dPTR MOV PI,A NEXE MOVA,R2 MOV P3,A ACALL DAY JB ACC.4,LPD RI A MOV R2,A AJMP NEXT LPD:RET TAB:DB END
MOV TL0, #06H MOV THO, #FFH SETB TR0 LOOP: JBC TFO, DONE SJMP LOOP DONE: MOV TL0, #06H MOV THO, #FFH CPL P1.0 SJMP LOOP 6、 用 89C51 的 P1 口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。 编出汇编语言程序。 解: ORG 0100H ABC: SETB P1.0 SETB P1.7 JB PI.7, $ JNB P1.7, $ CLR P1.0 MOV R2, #0 DAY: NOP NOP DJNZ R2, DAY SJMP ABC 7、设计一个 4 位数码显示电路,并用汇编语言编程使"8"从右到左显示一遍。 解: ORG 0100H MOV A, #08H MOV R2, #01H MOV DPTR, #TAB MOVC A,@A+DPTR MOV P1, A NEXT: MOV A, R2 MOV P3, A ACALL DAY JB ACC.4, LPD RL A MOV R2, A AJMP NEXT LPD: RET TAB: DB END
7.编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转 到下一个闪烁10次,循环不止。画出电路图 解 MOV A,#01H SHIFT:LCALL FLASH RR SJMPSHIFT FLAH MOV R2.#0AH FLAHI: MOV PI,A LCALL DELAY MOV P.#00H LCALL DELAY DINZ R2,FLASHI RET 9.在8051单片机的INTO引脚外接脉冲信号,要求每送来一个脉冲,把30H单元值加1, 若30H单元记满划进位31H单元。试利用中断结构,编制一个歌冲计数程序。 解: ORG 0000H AJMP MAIN ORG 0003H AJMP SUBG MAIN:MOV A,#OOH MOV 30H,A MOV 31H.A MOV SP.#70H SETB INTO SETB EA SETB EXO AJMPS ORG 0200H SUBG:PUSHACC 30H MOVA,30H JNZ BACK INC 31H BACK:POP RETI 10.利用89C51的P1口挖制8个发光俄二极管LED。相邻的4个LED为一组,使2组每隔 0.5S交替发亮一次,周尔复始。试编写程序。 解: ORG 0100H MOV A,#0FH ABC:MOV PI.A ACALL DOS SWAP A SJMP ABC D05:MOVR6.250
7. 编制一个循环闪烁的程序。有 8 个发光二极管,每次其中某个灯闪烁点亮 10 次后,转 到下一个闪烁 10 次,循环不止。画出电路图。 解: MOV A,#01H SHIFT: LCALL FLASH RR SJMP SHIFT FLAH: MOV R2, #0AH FLAH1: MOV P1, A LCALL DELAY MOV P, #00H LCALL DELAY DJNZ R2, FLASH1 RET 9.在 8051 单片机的 INTO 引脚外接脉冲信号,要求每送来一个脉冲,把 30H 单元值加 1, 若 30H 单元记满则进位 31H 单元。试利用中断结构,编制一个脉冲计数程序。 解: ORG 0000H AJMP MAIN ORG 0003H AJMP SUBG MAIN: MOV A, #OOH MOV 30H, A MOV 31H, A MOV SP, #70H SETB INT0 SETB EA SETB EX0 AJMP $ ORG 0200H SUBG: PUSH ACC INC 30H MOV A, 30H JNZ BACK INC 31H BACK: POP RET1 10.利用 89C51 的 P1 口控制 8 个发光俄二极管 LED。相邻的 4 个 LED 为一组,使 2 组每隔 0。5S 交替发亮一次,周尔复始。试编写程序。 解: ORG 0100H MOV A, #0FH ABC: MOV P1, A ACALL D05 SWAP A SJMP ABC D05: MOV R6, 250
DY:MOV R7,250 DAY:NOP DJNZ R6,DAY DINZ R7.DAY RET END 11,设计89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H-59H 单元,细出电路图,编出: (1)延时方式: (2)查询方式: ORG 0100H MOVR7.#0A日 MOV RO.#50H MOV DPTR,#7FFAH NEXT:MOVX @DPTR.A P1.0,S MOVX A,@DPTR MOV @RO,A INC RO DJNZNEXT SJMPS
DY: MOV R7, 250 DAY: NOP NOP DJNZ R6, DAY DJNZ R7, DAY RET END 11.设计 89C51 和 ADC0809 的接口,采集 2 通道 10 个数据,存入内部 RAM 的 50H~59H 单元,画出电路图,编出: (1)延时方式; (2)查询方式; (3)中断方式中的一种程序。 解:IN2 的地址为 7FFAH,P1.0 查询转换结束信号,查询程序如下: ORG 0100H MOV R7, #0AH MOV R0, #50H MOV DPTR, #7FFAH NEXT: MOVX @DPTR, A JB P1.0, $ MOVX A,@DPTR MOV @R0, A INC R0 DJNZ NEXT SJMP $