1、单片机理论实践综合试卷(4)答案姓名: 专业年级: 学号: 评阅人: 成绩: 第一部分 理论部分(60 分)一、填空题:(每空 1 分,共 10 分)1在 R7 初值为 00H 的情况下,DJNZ R7,rel 指令将循环执行( 256 )次。2晶振的频率为 6MHz 时,一个机器周期为( 2 )S。3欲使 P1 口的低 4 位输出 0,高 4 位不变,应执行一条( ANL A,#0FH )命令4单片机是把中央处理器, ( 存储器 )以及 I/O 接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。5传输速率是用每秒传送数据位的( 位数 )来表示,把它定义为( 波特率 ) 。6单片机
2、复位时 P0 的值为( 0FFH ) 。7当 PSW4=0,PSW3=1 时,工作寄存器 Rn,工作在第( 1 )区。8当允许定时器 1 工作在方式 1 时,控制字 TMOD 应为( 10H ) 。9当允许定时/计数器 1 溢出中断时 IE 控制字应为( 84H ) 。二、单项选择题(将结果的字母填写在括号内)(每题 1 分,共 10 分)1. JNZ e 指令的寻址方式是(C ) 。(A)立即寻址 (B)寄存器寻址 (C)相对寻址 (D)位寻址2. 执行 LCALL 4000H 指令时,MCS-51 所完成的操作是(D ) 。(A)保护 PC (B)4000H PC(C)保护现场 (D)PC
3、+3 入栈,4000H PC3. 下面哪一条指令产生 信号( D ) 。WR(A)MOVX A,DPTR (B)MOVC A,A+DPTR(C)MOVC A+DPTR,A (D)MOVX DPTR, A4. MOVX A,DPTR 指令中源操作数的地址寻址方式是(B ) 。(A)寄存器寻址 (B)寄存器间接寻址(C)直接寻址 (D)立即寻址5. 工作串行口工作方式的寄存器是(C ) 。(A)TCON (B)PCON (C)SCON (D)TMOD6. 使用 T1 时,有几种管理工作模式( C ) 。(A)1 (B)2 (C)3 (D)47. 执行 PUSH ACC 指令,MCS-51 完成的操
4、作是(A ) 。(A)SP+1 SP (ACC) (SP) (B)(ACC) SP SP1 SP(C) SP1 SP (ACC) (SP) (D) (ACC) (SP) SP+1 SP8. MCS-51 单片机各中断源的优先级别设定是利用寄存器(B )(A)TMOD (B)IP (C)PCON (D)SCON9. 指令 AJMP 的跳转范围是( C ) 。(A)256B (B)1KB (C)2KB (D)64KB10. 执行返回指令时,返回的断点是( C ) 。(A)调用指令的首地址 (B)调用指令的末地址(C)调用指令下一条指令的首地址 (D)返回指令的末地址三、判断题(将判断结果填写在括号
5、内,正确画“”错误画“” ) (10 分)1. 我们所说的单片机系统实质上是单片机的硬件系统和软件系统的总称 -( )2. 单片机的程序存储器只是用来存放程序的。-()3. AT89S52 单片机的 6 个中断源优先级相同。 -( )4. 单片机外扩 I/O 口与外部 RAM 是统一编址的。-( )5. 单片机系统可以没有复位电路。- ( )6. 单片机上电复位时,堆栈指令 SP=00H。- ( )7. 单片机系统中,一个机器周期等于 1.5us。- ( )8. 使用 AT89C52 且 =1 时,仍可外扩 64K 的程序存储器。 -( EA)9. 调用子程序指令及返回指令与堆栈有关但与 PC
6、 无关。 -( )10单片机外部中断 0 的入口地址是 0003H。-( )四、分析说明题(本题 10 分)1. 指出以下程序段每一条指令执行后累加器 A 内的值,已知(R0)30H,CY=0。MOV A,0AAH ;(A)= 0AA H 。CPL A ;(A)= 55H 。RL A ;(A)= 0AAH 。RLC A ;(A)= 54H 。CLR C ;(A)= 54H 。ADDC A,R0 ;(A)= 84H 。2. 已知(SP)=60H,(DPTR)=3456H,在执行下列指令后,(SP)=_62_,内部RAM(61H)=_56H_。PUSH DPHPUSH DPL3. 执行下列程序后,
7、(A)=_40H_,(B)=_00H_。MOV A,#02HMOV B,#20HMUL AB五、程序设计题(本题 20 分)1.片内 RAM30H 开始的单元中有 10B 的二进制数,请编程求它们之和(和256 )解: ADDIO:MOV R0,30HMOV R7,#9MOV A,R0LOOP: INC R0ADD A,R0DJNZ R7,LOOPMOV 30H,ARET2编一个程序,将累加器中的一个字符从串行接口发送出去解: SOUT:MOV SCON,#40H ;设置串行接口为工作方式MOV TMOD,#20H ;定时器 T1 工作于模式MOV TL1,#0E8H; ;设置波特率为 120
8、0b/sMOV TH1,#0E8HSETB TR1MOV SBUF,AJNB T1,$CLR T1RET第二部分 实践部分(40 分)六、实践操作题(本题 40 分)任务:在数码管上循环显示 09 数字,时间间隔 0.2 秒。(fosc=12MHZ)。要求:(1) 根据要求设计硬件连接图。(2) 编写程序。(3) 上机调试并运行,展示结果。参考程序:ORG 0 START: MOV R1,#00HNEXT: MOV A,R1MOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ALCALL DELAYINC R1CJNE R1,#10,NEXTLJMP STARTDELAY:
9、MOV R5,#20D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND一、填空题(25 分,每空 1 分)1. AT89S51 单片机为 8 位单片机2. MCS-51 系列单片机的典型芯片分别为 8031 、 8051 、 8751 。3. AT89S51 的异步通信口为 全双工 (单工/半双工/ 全双工)4. AT89S51 有 2 级中断, 5 个中断源5. AT89S51 内部数据存储器的地址范围是 00H7F
10、H ,位地址空间的字节地址范围是 20H2FH ,对应的位地址范围是 00H7FH ,外部数据存储器的最大可扩展容量是 64K 。6. AT89S51 单片机指令系统的寻址方式有_寄存器寻址_、_直接寻址_、_寄存器间接寻址_、_立即寻址_、 基址寄存器加变址寄存器寻址 。7. 如果(A)=34H,(R7)=0ABH,执行 XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。8. 82C55 可以扩展 3 个并行口,其中 8 条口线具有位操作功能;9. 当单片机复位时 PSW 00 H,这时当前的工作寄存器区是 0 区,R4 所对应的存储单元地址为 04 H。10. 若 A 中
11、的内容为 67H,那么,P 标志位为 1 。11. 74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中 8 片芯片。二、简答题1、 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= _3CH_;(DPL)=_5FH_;(SP)=_50H_;(6 分)2、采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请给出计算过程)(6 分)解:采用 6MHZ 晶振机器周期为 2us(213-X )2 10-6=
12、110-3X=7692(D) =1E0CH=1 1110 0000 1100(B) ,化成方式 0 要求格式为 1111 0000 1100 B即 0F00CH综上可知:TLX=0CH, THX=0F0H3. 分析下列程序的功能(5 分)PUSH ACCPUSH BPOP ACCPOP B解: 该程序的功能是通过累加器 ACC 与寄存器 B 数据交换。三、图为 8 段共阴数码管,请写出如下数值的段码。0_ 3FH_1_06H_2_5BH3_ 4FH_4_ 66H_ 5 6DH_P_73H_ 7_03H_ 8 _7FH_C_39H_四、简述 MCS-51 系列单片机主从结构多机通信原理,设有一台
13、主机与三台从机通信,其中一台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。( 请给出原理图) (10 分)答:原理图如上图所示,假设主机呼叫 01H 从机,首先呼叫:主机发送地址帧 0000 00011(TB8)此时各从机的 SM2 位置 1,且收到的 RB8=1,故激活 RI。各从机将接收到的地址与地机地址比较,结果 1#机被选中,则其 SM2 清零;0#、2#机不变。接着传数;主机发送数据帧, 0 ,此时 1#机 SM2=0, RB8=0 则激活 RI,而0#,2#机 SM2=1,RB8=0 则不激活 RI,然后数据进入 1#机的缓冲区。五、简述一种多外部中断源
14、系统的设计方法。(给出图和程序) (10 分)答:原理电路如图所示程序如下:INT: PUSH PSW PUSH JNB P1.0, IR0 ;扫描中断请求JNB P1.1 , IR1JNB P1.2, IR2JNB P1.3, IR3INTIR:POP ;返回POP SWIR0: 中断服务子程序 ;中断服务AJMP INTIRIR1: 中断服务子程序AJMP INTIRIR2: 中断服务子程序AJMP INTIRIR3: 中断服务子程序AJMP INTIP六、简述行列式扫描键盘的工作原理。(8 分)答: 扫描键盘工作原理(1) 首先 X0X3,始终接高电平 ,Y0Y3 给低电平,扫描 P1.
15、0P1.3 若全为高电平,则没有键按下,若有低电平,则有键按下。(2) 接着 Y0 输出低电平,Y1Y3 输出高平,扫描 P1.0P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。(3) 再 Y1 输出低电平,Y0,Y2,Y3 输出高电平,重复第 2 步骤作.(4) 再 Y2 输出低电平,Y0,Y1,Y3 输出高电平扫描(5) 再 Y3 输出低电平,Y0,Y1,Y2 输出高电平扫描根据据以上扫描,确定以上各键是否按下。七、请回答:(共 20 分)1、下图中外部扩展的数据存储器容量是多少?(2 分)2、三片 6264 的地址范围分别是多少?(地址线未用到的位填 1) (
16、6 分,)3、若外部程序存储器已扩展(未画出) ,请编写程序,要求:(1) 将 30H3FH 中的内容送入 6264 1# 的前 16 个单元中;(6 分)(2) 将 6264 2# 的前 32 个单元的内容送入 40H5FH 中;(6 分)解:1.外部扩展的数据存储器为 3 片 8K 的 RAM,外扩容量为 24 K2. A15 A!4 A13 地址范围0 1 1 6000H7FFFH1 0 1 A000HBFFFH3 (1)程序如下:ORG 0000HRESET: AJMP MAIN ;复位,转主程序ORG 0100HMAIN: MOV DPL,#00H ;初始化 DPTRMOV DPH,
17、#60HMOV R0,#30H. ;初始化 R0LOOP: MOV A,R0MOVX DPTR, AINC R0INC DPTRCJNE R0,#40H,LOOP NOPRET(1) 程序如下:ORG 0000HRESET: AJMP MAIN ;转主程序ORG 0100HMAIN: MOV DPL#00H ;初始化 DPTRMOV DPH,#0A0HMOV R0,#40H ;初始化 R0LOOP2: MOVX A,DPTR MOV R0,AINC DPTRINC R0CJNE R0,#60H,LOOP2 NOPRET 一、填空题(24 分,每空 1分)1AT89S51 单片机是( 8 )位的
18、单片机。2AT89S51 单片机有( 5 )个中断源, ( 2 )级优先级中断。3串行口方式 3 发送的第 9 位数据要事先写入( SCON )寄存器的( TB8 )位。4串行口的方式 0 的波特率为 ( fOSC/12 )。5AT89S51 内部数据存储器的地址范围是(00-7FH ) ,位地址空间的字节地址范围是(20-2FH ) ,对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB ) 。6在内部 RAM 中可位寻址区中,位地址为 40H 的位,该位所在字节的字节地址为( 28H ) 。7如果(A)=58H ,(R1)= 49H,(49H)= 79H,执行指令
19、XCH A, R1 后;结果(A)=( 49 H ) ,(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* )控制信号有效。12AT89S51 访问片外存储器时,利用( ALE )信号锁存来自( P0口 )发出的低 8 位地址信号。13已知 fosc=12MHz, T0 作为定时器使用时,其定
20、时时间间隔为( 1us ) 。14若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为(2FFF)H。二、判断对错,如对则在( )中写“” ,如错则在( )中写“” 。(10 分)1AT89S51 单片机可执行指令:MOV 35H,R3。 ( )28031与8751的区别在于内部是否有程序存储器。 ( )3当向堆栈压入一个字节的数据后,SP 中的内容减 1。 ()4程序计数器 PC 中装的内容是当前正在执行指令的地址。 ()5某特殊功能寄存器的字节地址为 80H,它即能字节寻址,也能位寻址。()6AT89S51 单片机中的 PC 是不可寻址的。 ()7当 AT89S51 执
21、行 MOVX DPTR,A 指令时,伴随着 WR*信号有效。()8AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于 1 个机器周期。 ()9区分外部程序存储器和数据存储器的最可靠的方法是看其是被 WR*还是被PSEN*信号连接。 ()10各中断源发出的中断请求信号,都会标记在 AT89S51 的 TCON 寄存器中。()三、简答题1如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:POP DPHPOP DPLRET则:(PCH) =_34H_
22、;(PCL)=_12H_;(DPH)=_ 80H_;(DPL )=_50H_;(4 分)2AT89S51 采用 6MHz 的晶振,定时 2ms,如用定时器方式 1 时的初值(16进制数)应为多少?(写出计算过程) (6 分)答:机器周期 6106=210-6s=2uS又方式 1 为 16 进制定时器.故(2 16X)210 -6=210-3=216-X=1000=X=65536-1000=64536 即初值=FC18H3AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)答:不发生数据冲突的原因是:AT89S51 中访问程序存储器和数据存储器的指
23、令不一样。选通信号也就不一样,前者为 PSEN,后者为 WR 与 RD。程序存储器访问指令为 MOVC A,DPTR;MOVC A,A+pc。数据存储器访问指令为:MOVX A,DPTR; MOVX A,Ri; MOVX DPTR,A。4说明 AT89S51 的外部引脚 EA*的作用?(4 分)答:当 EA*为高电平时,AT89S51 访问内部程序存储器,但当地址大于 0FFF时,自动转到外部程序存储器;当 EA*为低电平时,AT89S51 只读取外部程序存储器。5写出 AT89S51 的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6 分)
24、答: 外部中断 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”的程序段。 (14 分)abcdefg dp8255APB PCPA来自 AT89S51+5V 82C55