1、MCS-8051系列单片机字长是 8 位,有 40 根引脚,96系列字长是 16 位。单片机的特点有 体积小、价格低、功能全 。
2、8051单片机的存储器的最大特点是 指令存储器与数据存储器分开编址 ,Px并行口的地址是与 数据 存储器统一编址的,或者说属于该存储器。
3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 。P3常需复用作 串行通信、外部中断、外部计数脉冲 和读写控制信号。 4、ALE信号的作用是 低8位地址锁存 。
5、8051复位后,PC= 0 H。若希望从片内存储器开始执行,EA脚应接 高 电平,PC值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行。 6、8051的C/T是 加 (加或减)计数的。
7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H。 8、MOV A,40H 指令对于源超作数的寻址方式是 直接 寻址。
9、指令JB 0A7H,ABC的作用是 若P2口的第7位为1则跳转到ABC 。(0A7H是P2.7的地址)
10、将CY与A的第0位的非求或的指令是 ORL C,/ACC.0 ,若原A=0,执行后A= 0 。 2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共 5 分) [解答] OV:0、CY:1、AC:1、P:1 A:-95
3、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。画出连接示意图,写出完整的程序。(共 15 分)
A机程序 ORG 0000H AJMP START ORG 4100H START:MOV P1,#0FFH MOV SCON,#80H AGAIN1:MOV SBUF,P1 B机程序 ORG 0000H AJMP START ORG 4100H START:MOV SCON,#90H AGAIN1:JNB RI,$ MOV P1,SBUF JNB TI,$ CLR TI SJMP AGAIN1 END CLR RI SJMP AGAIN1 END 4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器。请画出连接示意图。要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE。最后写出各片的地址范围。(共 12 分)
数据线8根从P1直接到2716的O、两片6264的D;
地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,
0-4五位直接到两片6264内P2.5接一片6264的CE,经非门后接另一片6264;
ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE。
2716:0-7FFH,6264:0-1FFFH,2000H-3FFFH
5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。(共10分)
6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环。一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环。画出连接示意图,写出完整的程序。(软件延时用循环5*126*200次控制)(共10分)
五、SUBP:MOV R1,A ANL A, #0F0H SWAP A CJNE A, #10, NEXT1 NEXT1:JNC ERROR MOV B, #10 MUL AB XCH A, R1 ANL A, #0FH CJNE A, #10,NEXT2 NEXT2:JNC ERROR ADD A, R1 RET ERROR:MOV A,#255 RET 六、 ORG 0000H LJMP START ORG 3H LJMP INT00 START:SETB EA SETB EX0 CLR IT0 MOV A, #1 AGAIN:MOV P1,A ACALL DELAY RL A SJMP AGAIN DELAY:MOV R1,#5 LOOP1:MOV R2,#200 LOOP2:MOV R3,#126 DJNZ R3,$ DJNZ R2,LOOP2 DJNZ R1,LOOP1 RET INT00:PUSH ACC PUSH 1 PUSH 2 PUSH 3 MOV R4,#5 AGAIN:MOV P1,#0FFH ACALL DELAY MOV P1,#0 ACALL DELAY DJNZ R4,AGAIN POP 3 POP 2 POP 1 POP ACC RETI END 7、简单叙述8051的C/T0的四种工作模式和串行通信的四种工作模式。(共 8 分) C/T0的模式 0:13位计数器; 1:16位计数器; 2:8位循环计数器; 3:2个独立的8位计数器 串行通信模式 0:同步移位寄存器; 1:波特率可变的8位两机异步通信; 2:波特率固定的9位可多机的异步通信; 3:波特率可变的9位可多机的异步通信。 一、 填空与说明题
1、8051单片机的内部硬件结构包括了: 、 、 、
以及片内数据储存器、片内程序储存器、并行I/O 位出力器等部件,这些部件通过 相连接。 2、MCS-51单片机的PO-P4口,其中的PO口和P2口除了可以进行数据的输入、输出外,通常还用来构件系统的 和 在PO~P4口中, 位真正的双向口, 为准双向口。 3、请说明MCS-51单片机程序状态字PSW中的各位的含义。 CY AC FO RS1 RS0 OV / P CY: AC: FO:
RS1、RS0: OV: P:
4、单片机系统中经常采用的地址择码技术包括 方法和 方法。
5、INTEL8279是一种专用于 和 芯片。当8279的引脚AO为“1”时,CPU对8279写入的数据为 ,读出的数据为 。
6、MCS-96单片机的最大寻址空间是 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 。
二、简答题(12分)
1、 MCS-51系列单片机具有几个中断源?分别是如何定义的?其中哪些中断源可以被定义为高优先级中断?如何定义?
2、 各中断源对应的中断服务程序的入口地址是否能任意设定?
3、 如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置?请举例加以说明。
三、参数计算题(12分)
已知亿MCS-51单片机系统是拥10MHZ的外部晶体振荡器,请问: 1、 该片机系统的状态周期与机器周期各为多少?
2、 该单片机的定时器O(TO)工作在方式2时,TO的最大定时时间为多少?
3、 当单片机的定时器O(TO)工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少? 四、改错题(10分)
请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1、CLR A
2、MUL R0,R1
3、MOV DPTR,1050H 4、 MOV A,@R7 5、 ADD 30H,20H 6、 MOV R1,C
7、 JMP @RO+DPTR 8、 MOV A,#3000H
9、 MOVC @A+DPTR,A 10、 MOVX A,@A+DPTR 五、程序分析题(8分)
设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?请填入给定的各个寄存器及片内单元中。 MOV RO,#20H MOV A,@RO MOV R1,A MOV B,@R1 MOV @R1,R1 MOV P3,P1
(A)= (B)= (R0)= (R1)= (P1)= (P3)= (20H)= (22H)=
六、编程题(20分,其中编程14分,表中每一空1分,共6分) 已知一MCS-51单片机系统的片外 RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中。
CY A DPTR 片外31H 片外30H 片外8000H
程序:
七、判读电路题(12分)
下图为MCS-51单片机系统中扩展程序储存器2764、以及外部扩展接口的部分连接电路图。 试分析电路图并会下列问题:
1、 请给出2764所占用的单片机程序存储空间的地址范围。
2、 在这种电路连接下,74LS244(5)是作为输入接口使用还是作为输出接口使用,为什
么?它所占用的单片机数据存储空间的地址范围是多少?
3、 在这种电路连接下,74LS373(U6)是作为输入接口使用还是作为输出接口使用,为什么?它所占用的单片机数据存储空间的地址范围是多少?
一、1、MCU的基本含义是:在一块芯片上集成了 中央处理单元(CPU) 、 存储器(RAM/ROM等) 、定时器/计数器及 输入输出(I/O) 接口的比较完整的数字处理系统。 2、CPU08可寻址 64K 地址空间,所以它的地址范围是 $0000~$FFFF 。
3、HC08 CPU中共有270条指令,其中无条件跳转、调子程序和子程序返回指令分别是 JMP 、 JSR 、 RTS 。
4、在08C语言中操作寄存器及I/O口时,通常预先在头文件中使用宏定义,其定义方法如下:
#define 寄存器名 *(volatile unsigned char *) 寄存器地址 #define I/O口名 *(volatile unsigned char *) I/O口地址 。
在08编译器伪指令中定义RAM存储区伪指令为 RMB ,定义程序区中(Flash存储器区)字节常数的伪指令为 FCB ,定义程序或数据区的起始地址的伪指令为 ORG 。
6、MC68HC908GP32单片机有5个普通I/O口,分别是A口、B口、C口、D口、E口。它们中的大部分具有双功能,其中可以分别作为AD转换、键盘中断和串口用的是 B 、 A 、 E 。
7、重键就是有两个及两个以上按键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有 连锁法 与 巡回法 。
二、1、PWM:PWM产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为PWM信号,也叫脉宽调制波。
2、DSP:数字信号处理(Digital Signal Processing,DSP)的芯片类型,相对于MCU来说,DSP偏重于信号处理与运算,而MCU偏重于控制。 3、ARM:高级精简指令系统计算机。
4、嵌入式系统:面向测控对象,嵌入到实际应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统
5、伪指令:由于编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令,因此这些指令被称为伪指令(Pseudo Instruction)。
三、1、简述MCU选型的基本原则。① MCU是否含有所需的I/O端口数目。② MCU是否含有所需的外围端口部件。
③ MCU的CPU是否有合适的吞吐量。④ MCU的极限性能是否满足要求: 简述汇编中的伪指令的作用。
编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令。
3、如果A/D采样的位数为10位,参考电压为5V,则其能检测到的模拟变化量是多少? 5V/210=0.0048V
1、内部RAM中的位寻址区定义的位是给( B )。
A).位操作准备的 B).移位操作准备的 C).控制转移操作准备的 D).以上都对 2、对程序计数器PC的操作( A )。
A).是自动进行的 B).是通过传送进行的
C).是通过加1指令进行的 D).是通过减 1 指令进行的
3、假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进行堆栈保护后,SP的值为( D )。
A).36H B). 37H C).38H D).39H
4、在MCS-51单片机的运算电路中,不能为 ALU 提供数据的是( D )。 A).累加器A B).暂存器 C).通用寄存器B D).状态条件寄存器PSW 5、边沿触发方式的外部中断信号是( A )有效。 A).下降沿 B).上升沿 C).高电平 D).低电平
6、MCS-51响应中断时,下面哪一个条件不是必须的( B )。 A).当前指令执行完毕 B).中断是开放的 C).没有同级或高级中断服务 D).必须有RETI指令 7、确定定时器/计数器工作方式的寄存器是( B )。 A).TCON B).TMOD C).SCON D).PCON 8、异步串行通信中,收发双方必须保持( B )。
A).收发时钟相同 B).停止位相同 C).数据格式和波特率相同 D).以上都正确
9、使累加器的最高位置1,其余位不变,可以用下面的( A )指令实现。 A). ORL A, #80H B). ANL A, #80H C). XRL A, #80H D). MOV A, #80H
10、在MCS-51单片机外扩展存储器芯片时,4个I/O口中用作地址总线的是( B )。 A). P0口 B). P0和P2口 C).P2和P3口 D).P2口 11、访问外部数据存储器时,不起作用的信号是( C )。 A).RD B).WR C).PSEN D).ALE 12、以下指令中,属于单纯读引脚的指令是( C )。 A). MOV P1, A B). ORL P1, #0FH C). DJNZ P1, LAB D). MOV C, P1.5
13、对程序存储器的读操作,只能使用( C )指令。
A). MOVX B).PUSH C). MOVC D).MOV
14、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先相应( B ) A).INT1 B).INT0 C).T1 D).T0
15、当MCS-51进行多机通讯时,串行接口的工作方式应选为(D ) A).方式0 B).方式1 C).方式2 D).方式2或方式3
1、PSW中RS1 RS0=10H时,R2的地址是 12H 。
2、单片机经加电复位后,执行第一条指令的地址是 0000H 。
3、在串行通信中,数据传送方向有 单工 、 半双工 、全双工三种方式。 4、一个机器周期= 6 个状态周期=12个振荡周期。
5、设DPTR=2000H,(A)=A0H,则MOVC A,@A+DPTR操作数的实际操作地址为 20A0H 。
6、若8051单片机的引脚EA接地,表示 只能访问片外程序存储器 。
7、在 MCS-51 单片机系统中,采用的编址方式是 统一编址 。
8、在查询和中断两种数据输入输出方式中,效率较高的是 中断 。
9、指令LCALL 37B0H,首地址在2000H,所完成的操作是 2003H 入栈,PC= 37B0H 。
10、外部中断INT1入口地址为 0013H 。
11、ANL A, #0F0H是将A的高四位保持不变,而低4位 取反 。
12、8051单片机定时器/计数器作定时和计数用时,其计数脉冲分别由 8051片内脉冲 和 P3.4或P3.5引脚端的外 部脉冲 提供。
判断下列叙述的正误,对的打“”√,错的打“×”,并对错误的叙述进行改正。 1、复位是单片机的初始化操作。 ( √ )
2、内部 RAM 的位寻址区,只能供位寻址使用而不能供字节寻址使用。 ( × ) 可以字节寻址
3、在相对寻址方式中,寻址的结果体现在DPTR中。 ( × ) PC 4、PC存放的是当前正在执行的指令的地址。 ( × )下一条令地址 5、MOV 28H, @R4 ( × )MOV 28H,@R0或MOV 28H,@R1
1、(4分)简述单片机对中断优先级的处理原则。
答:1)先处理优先等级高的中断,再处理优先等级低的中断
2)若这些中断属于同一优先等级,则按中断硬件查询顺序进行排队,依次处理
3)若当前正在处理的是低优先级的中断,在CPU开中断的前提下,它能被另一个高优先级的中断申请中断,形成中断嵌套。
4)若当前正在处理的是高优先级中断,则暂不响应其他中断。 2、(6分)8051单片机有哪几种寻址方式?每种寻址方式各涉及哪些寄存器和存储器空间。请说明。 答: 寻址方式 直接寻址 寄存器寻址 寄存器间接寻址 立即数寻址 基寄存器加变址寄存器间接寻址 相对寻址 位寻址 涉及的寄存器
R0~R7,A,B,Cy,DPTR R0,R1,DPTR
A,PC,DPTR PC Cy
使用的存储空间 片内RAM低128位字节 片内RAM
片内RAM,片外RAM与I/O口 程序存储器 程序存储器 程序存储器
片内RAM的20H~2FH,部分SFR
1、(5分)编程实现下列运算:设Di为片内RAM 22H单元中对应位,运算结果存入进位位
CY中。
MOV C,22H.0 ANL C,22H.1
MOV 22H.2,C ;D0.D1->D2 CPL 22H.1 MOV C,22H.0
ANL C,22H.1 ;D0.D1_->C
ORL C,22H.2 ;D0.D1+D0.D1_->C CPL C
MOV 22H.2,C MOV C,22H.7 CPL C
ANL C,22H.5 ;D5.D7_->C ORL C,22H.2
2、(5分)试编写延时2S的子程序,并给出2S时间的得出算式。 ORG 000BH ;T0中断入口
AJMP BRT0 ;跳转到BRT0执行中断服务程序
DELAY: MOV TMOD,#01H ;设置T0用于定时,模式1方式 MOV TH0,#3CH ;装入定时初值 MOV TL0,#0B0H
MOV IE,#82H ;T0允许中断 SETB TR0 ;启动T0计数
MOV R0,#14H ;软件计数器R0赋初值 LOOP: SJMP $ ;等待中断
BRT0: DJNZ R0,NEXT ;若未到1s,则转到NEXT RET ;本延时子程序返回
NEXT: MOV TH0,#3CH ;重装定时器初值 MOV TL0,#0B0H RETI
1、(9分)利用SRAM芯片6264扩展8KB数据存储器(提示:6264上有两个片选信号CE1、CE2)。试①确定地址译码范围,写出所有可能地址范围;②画出系统结构图。 答:(1)由于使CE1(低电平有效)接地,CE2(高电平有效)用作片选,接P2.7,所以其地址范围为1xx0 0000 0000 0000B~1xx1 1111 1111 1111B
可能地址译码范围: 8000H~9FFFH,A000H~BFFFH,C000H~DFFFH,E000H~FFFFH 2、(16分)MCS-51与ADC0809的连接如下图所示,A/D转换结果依次存放在片外数据存储器40H~47H单元,单片机和A/D转换器的数据传送间址寄存器采用DPTR。①试确定通道地址;②试用中断方式编写A/D转换接口程序并写出注释。 (1)78H~7FH (2)ORG 0000H
START: AJMP MAIN ORG 0003H AJMP EXINT0
ORG 0030H ;表示主程序从0030H地址开始 MAIN: MOV R0,#40H ;采样数据存放的首地址 MOV R1,#78H ;IN0通道地地址 MOV R2,#08H ;模拟量通道数 MOVX @R1,A ;启动A/D转换
SETB IT0 ;外部中断0为边沿触发方式 SETB EX0 ;允许外部中断0中断 SETB EA ;开放CPU中断
HERE: SJMP HERE
EXINF0: PUSH PSW 保护现场 CLR RS0 CLSR RS1
MOVX A,@R1 ;读取转换结果 MOV @R0,A ;存放结果 INC R0 INC R1
DJNZ R2,NEXT ;8通道未完,则采取下一通道 CLR EX0 ;采集完毕,则停止中断 SJMP DONE
NEXT: MOVX @R1,A ;启动下一通道A/D转换 DONE: POP PSW RETI END
单片机应用基础 试卷1
一、是非题(每题 1 分,共计 15 分)
1? 8031 片内含 EPROM , 8751 片内不含 EPROM 。( ) 2? MCS-51 单片机是依靠低电平复位的。( )
3? MCS-51 单片机的数据空间与程序空间是独立编址的。( ) 4? MCS-51 单片机的四组工作寄存器区具有相同的地址。( ) 5? 8051 片内 RAM 的任何一个单元均可进行位操作。( ) 6? 执行 CLR 30H 指令后, 30H 字节单元被清 0 。( ) 7? CPU 取指令时,完全由程序计数器 PC 控制。( ) 8? 多个中断源不可以同时申请中断。( )
9? CPU 在响应 INT0 中断时,其中断申请标志 IE0 用软件清除是多余的。( ) 10? 串行口的发送中断与接收中断各自有自己的中断入口地址。( ) 11? 波特率反映了串行通讯的速率。( )
12? 只要中断允许寄存器 IE 中的 EA=1 ,那么中断请求就一定能够得到响应。( ) 13? 中断服务程序执行的最后一条指令必须是 RETI 。( )
14? 在微机的输入 / 输出方式中,中断请求方式比查询方式的效率高。( ) 15? 执行 LCALL 指令时,栈指针 SP 的内容不会发生变化。( ) 二、选择题(每题 2 分,共计 30 分)
1? MCS — 51 单片机复位后,从下列那个单元开始取指令:( ) ① 0003H ② 000BH ③ 0000H
2? 对片外数据 RAM 单元读写数据须用:( ) ① MOV 指令 ② MOVX 指令 ③ MOVC 指令
3? MCS-51 的无条件转移指令中,其转移范围最大的是:( ) ① LJMP ② AJMP ③ SJMP
4? 执行 MOV SP , #30H 指令后,压栈从片内 RAM 哪单元开始:( ) ① 2FH ② 30H ③ 31H
5? 以下指令中,哪条指令执行后使标志位 CY 清 0 :( ) ① MOV A , #00H ② CLR A ③ ADD A , #00H 6? 对 8031 而言,可作为普通 I/O 口使用的是:( )
① P0 、 P2 口 ② P1 、 P3 口 ③ P0 、 P1 、 P2 、 P3 口 7? 下面那一段程序能准确地读取 P1 口引脚信号:( ) ① MOV A , #00H ;MOV P1,A ;MOV A, P1
② MOV A , #0FFH ;MOV P1 , A ;MOV A , P1 ③ MOV A , #0FFH ;MOV A , P1 ④ MOV A , #0FFH ;MOV A , P1
8? MCS — 51 单片机的四个并行 I/O 中,其驱动能力最强的是:( ) ① P0 口 ② P1 口 ③ P2 口 ④ P3 口
9? 定时器 / 计数器工作于模式 2 ,在计数溢出时:( ) ①计数从零重新开始 ②计数从初值重新开始 ③计数停止
10? T0 设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的:( ) ① 1/12 ② 1/24 ③ 1/48
11? 当 晶振频率是 12MHz 时, MCS — 51 单片机的机器周期是:( ) ① 1μs ② 1ms ③ 2μs ④ 2ms
12? 外部中断 INT0 的触发方式控制位 IT0 置 1 后,其有效的中断触发信号是: ( ) ①高电平 ②低电平 ③上升沿 ④下降沿
13? 按键的机械抖动时间参数通常是: ( ) ① 0 ② 5~10μs ③ 5~10ms ④ 1s 以上
14? N 位 LED 显示器采用动态显示方式时,需要提供的 I/O 线总数是: ( ) ① 8+N ② 8 × N ③ N
15? 一字节补码所表示的数值范围是:( )
① -128 ~ +127 ② -127 ~ +128 ③ -128 ~ +128
三、试叙述 MCS-51 汇编语言程序的上机过程( 10 分) 四、程序分析(共 15 分) 1 .已知:( 30H ) = X 7 X 6 X 5 X 4 X 3 X 2 X 1 X 0 B ,( 31H ) =Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 B ,请给出下列每条指令执行后注释中的结果。( 7 分) MOV 32H , 30H ; ( 32H ) = ANL 32H , #0FH ; ( 32H ) = MOV A , 31H ; ( A ) = SWAP A ; ( A ) = RL A ; ( A ) =
ANL A , #0F0H ; ( A ) = ORL 32H , A ; ( 32H ) =
2 .执行下列程序后,问( A ) = ?、( R0 ) = ?、( R1 ) = ?。( 8 分) ORG 0000H LJMP MAIN ORG 0030H
MAIN : MOV SP , #50H LCALL SBRUT SJMP $
SBRUT : MOV R0 , #00H
MOV R1 , #0AH MOV A , #00H
MOV DPTR , #DATA LOOP : MOV A , R0 MOVC A , @A+DPTR
CJNE A , #0FFH , LOOP1 SJMP EXIT
LOOP1 : INC R0 DJNZ R1 , LOOP EXIT : RET
DATA : DB 00H , 11H , 22H , 33H , 44H DB 55H , 66H , 77H , 88H , 99H END
五、程序设计( 15 分) 已知晶振频率为 12MH Z ,请用 T0 的工作模式 1 定时及溢出中断方式编程,实现从 P1.0 引脚输出如下方波。要求先确定定时时间并给出定时初值的计算步骤,然后写程序。 .....10ms...10ms
单片机应用基础 试卷1答案
一、是非题(每题 1 分,共计 15 分) 1. × 2. × 3. √ 4. × 5. × 6. × 7. √ 8. × 9. √ 10. × 11. √ 12. × 13. √ 14. √ 15. ×
二、选择题(每题 2 分,共计 30 分)
1. ③ 2. ② 3. ① 4. ③ 5. ③ 6. ② 7. ② 8. ① 9. ② 10. ② 11. ① 12. ④ 13. ③ 14. ① 15. ①
三、 试叙述 MCS-51 汇编语言程序的上机过程( 10 分) 源程序输入与编辑 ( 3 分) →源程序汇编 ( 3 分) →目标程序下载 ( 2 分) →程序运行与调试。 ( 2 分) 四、程序分析(共 15 分)
1 . MOV 32H , 30H ;( 32H ) = X 7 X 6 X 5 X 4 X 3 X 2 X 1 X 0 ( 7 分) .....ANL 32H , #0FH ;( 32H ) = 0000 X 3 X 2 X 1 X 0
.....MOV A , 31H ;( A ) = Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 .....SWAP A ;( A ) = Y 3 Y 2 Y 1 Y 0 Y 7 Y 6 Y 5 Y 4 ....RL A ;( A ) = Y 2 Y 1 Y 0 Y 7 Y 6 Y 5 Y 4 Y 3 ....ANL A , #0F0H ;( A ) = Y 2 Y 1 Y 0 Y 7 0000
....ORL 32H , A ;( 32H ) = Y 2 Y 1 Y 0 Y 7 X 3 X 2 X 1 X 0
2 .( A ) =99H ,( R0 ) =0AH ,( R1 ) =00H 。 ( 8 分) 五、程序设计( 15 分)
1? 定时时间 10ms ,设 T0 的初值为 X 。 则 ( 2 16 - X )× 1μs =10 × 10 3 μs
X = 65536 - 10000 =55536 =D8F0H ( 5 分) 2 .编程 ORG 0000H ( 10 分) LJMP MAIN ORG 000BH LJPM CTC0 ORG 0030H
MAIN : MOV TMOD , #01H MOV TL0 , #0F0H MOV TH0 , #0D8H SETB EA SETB ET0 SETB TR0 SJMP $
CTC0 : MOV TL0 , #0F0H MOV TH0 , #0D8H CPL P1.0 RETI END
单片机期末考试试题库及答案
01、单片机是将微处理器、一定容量的 RAM 和ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。
2、单片机89C51片内集成了 4 KB的FLASH ROM,共有 5 个中断源。
3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51是以下哪个公司的产品?( C ) A、INTEL B、AMD C、ATMEL D、PHILIPS
5、在89C51中,只有当EA引脚接 高 电平时,CPU才访问片内的Flash ROM。
6、是非题:当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。T
7、是非题:当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。F
8、当CPU访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O口中, P0 口在接LED时,必须提供上拉电阻, P3 口具有第二功能。
10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。F
11、是非题:是读端口还是读锁存器是用指令来区别的。T
12、是非题:在89C51的片内RAM区中,位地址和部分字节地址是冲突的。F 13、是非题:中断的矢量地址位于RAM区中。F
14、MCS-51系列单片机是属于( B )体系结构。
A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵
15、89C51具有 64 KB的字节寻址能力。
16、是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。T
17、在89C51中,片内RAM分为地址为 00H~7FH 的真正RAM区,和地址为80H~FFH的 特殊功能寄存器(SFR) 区两个部分。
18、在89C51中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当CPU复位时,第 0 组寄存器为当前的工作寄存器。 19、是非题:工作寄存器区不允许做普通的RAM单元来使用。F
20、是非题:工作寄存器组是通过置位PSW中的RS0和RS1来切换的。T 21、是非题:特殊功能寄存器可以当作普通的RAM单元来使用。F
22、是非题:访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。T
23、是非题:堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。F
24、数据指针DPTR是一个 16 位的 特殊功能寄存器 寄存器。 25、是非题:DPTR只能当作一个16位的特殊功能寄存器来使用。F
26、是非题:程序计数器PC是一个可以寻址的特殊功能寄存器。F
27、在89C51中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和 4周期 指令。 28、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一
个 高 电平并维持 2 个机器周期,可将系统复位。
29、是非题:单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。T
30、单片机89C51复位后,其I/O口锁存器的值为 0FFH ,堆栈指针的值为 07H ,SBUF的值为 不定 ,内部RAM的值不受复位的影响,而其余寄存器的值全部为 0H 。
31、是非题:单片机系统上电后,其内部RAM的值是不确定的。T
32、以下哪一个为51系列单片机的上电自动复位电路(假设RST端内部无下拉电阻)(P39图2-16(a))。
33、在89C51中,有两种方式可使单片机退出空闲模式,其一是 任何的中断请求被响应 ,其二是 硬件复位 ;而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式。
34、请用下图说明89C51单片机读端口锁存器的必要性。
读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。
35、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么? 解:
因为LED导通时,电压降是固定的(0.6V)。为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。
36、以下哪一条指令的写法是错误的( C )。
A、MOV DPTR,#3F98H B、MOV R0,#0FEH C、MOV 50H,#0FC3DH D、INC R0
37、以下哪一条指令的写法是错误的( D )。
A、INC DPTR B、MOV R0,#0FEH C、DEC A D、PUSH A
38、以下哪一条指令的写法是错误的( B )。
A、MOVC A,@A+DPTR B、MOV R0,#FEH C、CPL A D、PUSH ACC
39、是非题:在51系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器A的参与才能完成。T
40、以下哪一条是位操作指令( B )。
A、MOV P0,#0FFH B、CLR P1.0 C、CPL A D、POP PSW
41、以下哪一条是位操作指令( B )。
A、MOV P1,#0FFH B、MOV C,ACC.1 C、CPL A D、POP PSW
42、以下哪一条是位操作指令( B )。
A、MOV P0,#0FFH B、SETB TR0 C、CPL R0 D、PUSH PSW
43、简述89C51单片机中断的概念。
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。 44、什么是保护现场,什么是恢复现场?
保护现场:当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;
恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。
45、单片机89C51有哪些中断源,对其中断请求如何进行控制? 89C51中断系统有5个中断源:
●INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。 ●INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。 ●T0:定时器/计数器0溢出中断请求。 ●T1:定时器/计数器1溢出中断请求。
●TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。
46、单片机89C51的5个中断源分别
为 INT0 、 INT1 、 T0 、
T1 以及 TXD/RXD 。
47、单片机89C51的中断要用到4个特殊功能寄存器,它们是 TCON 、SCON、 IE 以及IP。
48、在89C51中,外部中断由IT0(1)位来控制其两种触发方式,分别是 电平 触发方式和 边沿 触发方式。
49、简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。 中断源(控制
位) 自然优先级
外部中断0
(PX0) 最 高 定时器/计数器0溢出中断(PT0) 外部中断1(PX1)
定时器/计数器1溢出中断(PT1)
串行口中断
(PS) 最 低
若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。 50、是非题:在89C51中,当产生中断响应时,所有中断请求标志位都由硬件自动清零。F
51、中断处理过程分为3个阶段,即 中断响应 、中断处理以及 中断返回 。
52、简述51系列单片机中断响应的条件。 ●有中断源发出中断请求;
●中断总允许位EA=1,即CPU开中断;
●申请中断的中断源的中断允许位为1,即中断没有屏蔽; ●无同级或更高级中断正在被服务; ●当前的指令周期已经结束;
●若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。
53、是非题:在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。T
54、在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?
因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。
55、为什么一般都把主程序的起始地址放在0030H之后?
因为0000H~0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。
56、是非题:在执行子程序调用或执行中断服务程序时都将产生压栈的动作。T 57、单片机89C51片内有两个 16 位的定时/计数器,即T0和T1,它们都有 定时 和 事件计数 的功能。
58、是非题:定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。T
59、是非题:定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。T 60、是非题:定时/计数器在工作时需要消耗CPU的时间。F
61、是非题:定时/计数器的工作模式寄存器TMOD可以进行位寻址。F
62、是非题:定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。F 63、简述定时/计数器4种工作模式的特点。 模式1:是16位的定时器/计数器;
模式2:把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器; 模式3:对T0和T1大不相同。
若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。定时器T1无工作模式3状态。
模式0:与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。
64、如何运用两个定时/计数器相串联来产生一秒的时钟基准信号。试画出必要的电路部分,并写出程序。(设晶振频率为12MHz,用LED显示秒信号。注:计数器输入端为P3.4(T0)、P3.5(T1)。) ORG 0000H LJMP MAIN ORG 000BH LJMP ONE ORG 001BH LJMP COU ORG 0030H
MAIN: MOV P1,0FFH
MOV SP,#60H MOV TMOD,#01100001B MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0F6H MOV SETB SETB SETB SETB SETB SJMP ONE: PUSH MOV MOV CPL POP POP RETI
COU: PUSH CPL POP TR0 TR1 ET0 ET1 EA $
PUSH ACC P1.1 ACC PSW PUSH ACC P1.0 ACC
TH1,#0F6H PSW TL0,#0B0H TH0,#3CH PSW POP PSW RETI END
65、是非题:在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。F
66、用一个定时/计数器加软件计数器的方式,实现一秒的时钟基准信号,试写出程序。(设晶振频率为12MHz,由P1.0口输出秒信号。)
(本程序使用定时器T0,工作模式1。由于晶振频率为12MHz,因此利用定时器T0计时50ms,其初值为3CB0H。利用工作寄存器R7作软件计数器,计数20次。每计时满一秒,就将P1.0口输出信号取反,以输出秒信号。) ORG 0000H LJMP MAIN ORG 000BH LJMP ONE ORG 0030H
MAIN: MOV P1,0FFH MOV SP,#60H MOV R7,#20 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 SETB ET0 SETB EA SJMP $
ONE: PUSH PSW PUSH ACC MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,LOOP CPL P1.0 MOV R7,#20
LOOP: POP ACC POP PSW RETI END
67、单片机89C51的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为 FE0CH 。 68、是非题:单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。T
69、单片机89C51具有 并行 通信和 串行 通信两种通信方式。
70、是非题:并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。T
71、是非题:串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。T
72 、串行通信有 同步 通信和 异步 通信两种通信方式。
73、在异步通信中,数据的帧格式定义一个字符由4部分组成,即: 起始位 、数据位、 奇偶校验位 和停止位。 74、是非题:异步通信中,在线路上不传送字符时保持高电平。T
75、是非题:在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。T
76、是非题:异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。T
77、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是
通信双方必须采用统一的编码方式 ,二是 通信双方必须能产生相同的传送速率 。
78、是非题:在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。T
79、单片机89C51中的串行通信共有 4 种方式,其中方式 0 是用作同步移位寄存器来扩展I/O口的。
80、是非题:在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。F
81、是非题:在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。T
82、是非题:单片机89C51一般使用非整数的晶振是为了获得精确的波特率。T 83、是非题:单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。T
84、设89C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为 F4H 。
85、简述89C51串口通信的四种方式及其特点。
方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。
方式1:用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率由定时器T1的溢出率与SMOD值同时决定。
方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为 的1/64;当SMOD=1时,波特率为 的1/32。 方式3:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。帧格式与方式2相同,波特率与方式1相同。 86、以下哪种方式的接口总线最少?( C ) A、SPI B、I2C C、单总线 D、并行通信
87、是非题:89C51单片机没有SPI接口,只能依靠软件来模拟SPI的操作。T 88、是非题:89C51单片机没有I2C接口,只能依靠软件来模拟I2C的操作。T 89、是非题:在89C51中,当用某两根口线来实现I2C总线的功能时,这两根口线必须接上拉电阻。T
90、是非题:在I2C总线的时序中,首先是起始信号,接着传送的是地址和数据字节,传送完毕后以终止信号结尾。F
91、是非题:在单总线测温器件DS18S20中,每个器件都具有一个唯一的序号。T
92、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。 键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。
93、键盘可分为 独立连接 式和 行列(矩阵) 式两类。
键盘可分为 编码 式和 非编码 式两类。 94、LED数码管有 静态 显示和 动态 显示两种方式。
95、简述LED数码管动态扫描的原理及其实现方式。
动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。逐位轮流点亮各个LED,每一位保持1ms,在10~20ms之内再一次点亮,重复不止,就可以实现动态扫描。
96、是非题:在A/D转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。T
97、是非题:A/D转换的精度不仅取决于量化位数,还取决于参考电压。T 98、以下哪个是属于单片机系统前向通道的器件?( A ) A、A/D转换 B、D/A转换 C、LED数码管 D、继电器
99、能否把继电器直接接在89C51的某一口线上来用?为什么? 不能。
因为89C51的I/O所提供的电压不足于驱动继电器,必须加一个三极管。 100、简述看门狗的基本原理。
看门狗是通过软件和硬件的方式在一定的周期内监控弹片机的运行状况,如果在规定时间内没有收到来自单片机的清除信号,也就是我们通常说的没有及时喂狗,则系统会强制复位,以保证系统在受干扰时仍然能够维持正常的工作状态 101、简述软件陷阱技术的原理。
软件陷阱就是用一条引导指令强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序,以使程序按既定目标执行。
单片机基础试题
一、填空题(每空1分,共10分)
1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_________. 2.P0通常用作_________.
3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________. 4.返回地址(或断点)是_________的程序计数器的内容。 5.中央处理器CPU是单片机的核心,它完成_________. 6.单片机的工作过程,实际上就是_________. 7.所谓中断源即是_________. 8.端口(或称口)是_________.
9.异步串行近程通信时的传送信号是_________.
10.若累加器A中的数据为01110010B,则PSW中的P=_________.
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.MCS—51单片机的复位信号是( )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( )。 A.2μs B.4μs C.8μs D.1ms
3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( )指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H
4.能够用紫外光擦除ROM中程序的只读存储器称为( )。 A.掩膜ROM B.PROM C.EPROM D.EEPROM
5.在片外扩展一片2764程序存储器芯片要( )地址线。 A.8根 B.13根 C.16根 D.20根 6.定时器/计数器工作方式1是( )。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构
7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为( )
A.2MHz B.1MHz C.500KHz D.250KHz
8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( )。
A.06H B.F9H C.30H D.CFH
9.下列数据字定义的数表中,( )是错误的。 A.DW“AA” B.DW“A”
C.DW“OABC” D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是( )。 A.接收中断请求标志位 B.发送中断请求标志位 C.串行口允许接收位 D.地址/数据位 三、简答题(每小题4分,共20分) 1.简述堆栈。
2.简述变址寻址方式并举例说明。 3.简述中断响应的主要内容。
4.简述汇编语言中的标号有什么规定 5.A/D转换器转换数据的传送有几种方式 四、读程序(每小题4分,共20分)
1.执行下列程序段中第一条指令后,(1)(P1.7)=____ (P1.3)=_____, (P1.2)=_________;执行第二条指令后,(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________.
ANL P1,#73H ORL P1,#38H
2.下列程序段执行后,(A)=_________,(B)=_________. MOV A,#0FBH MOV B,#12H DIV AB
3.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________. MOV R0,#7FH MOV 7EH,#0 MOV 7FH,#40H
DEC @R0 DEC R0 DEC @R0
4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_________,内部RAM(0AH)=_________,(0BH)=_________ PUSH DPL PUSH DPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间 MOV R3,#100;1 LOOP:NOP ;1 NOP NOP
DJNZ R3,LOOP ;2 RET ; 2
五、编程题(每小题4分,共20分)
1.请使用位操作指令,实现下列逻辑操作: P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.
3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。
六、综合应用题(每小题10分,共20分)
1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请: (1)画出逻辑电路图 (2)说明其存储空间
2.已知D/A转换器DAC 0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请
(1)画出单缓冲接口方式电路 (2)编程产生正向锯齿波
浙江省2001年10月高等教育自学考试 单片机基础试题参考答案 课程代码:07036
一、填空题(每空1分,共10分) 1.低电平
2.单片机系统的地址/数据总线 3.10H~17H
4.在程序中断或子程序调用时
5.运算和控制功能
6.周而复始地取指令和执行指令的过程
7.引起中断的原因(或能发出中断请求的来源) 8.接口电路中已编址并能进行读或写操作的寄存器 9.TTL电平信号 10.0
二、单项选择题(每题1分,共10分) 1.A 2.B 3.D 4.C 5.B 6.D 7.C 8.A 9.C 10.C
三、简答题(每题4分,共20分)
1.(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。
(2)用MOV SP,#STK指令建立堆栈。 (3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。
2.(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR
前二条为查表指令,后一条为无条件转移指令
3.由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为: (1)将程序计数器PC的内容(断点)压栈
(2)将中断入口地址装入PC,转去执行中断服务程序 4.(1)标号由1—8字符组成,头一个字符必须是字母。 (2)不能使用汇编语言已定义的符号。 (3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
5.(1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。
(2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。
(3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
四、读程序(每题4分,共20分)
1.(1)(P1,7)=0,,(P1.3)=0,(P1.2)=0 (2)(P1.5)=1,(P1.4)=1,(P1.3)=1 2.(A)=0DH(或13) (B)=11H(或17)
3.(R0)=7EH,(7EH)=FFH,(7FH)=3FH 4.(SP)=0BH (0AH)=67H (0BH)=45H
5.一个机器周期为2μs
执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms 五、编程题(每题4分,共20分)
1.先进行与操作,再进行或操作程序如下: MOV C,ACC.1 ANL C,P2,0 MOV 12H,C
MOV,C,A CC.2 ANL C,P2.7 ORL C,12H MOV P1.5,C RET
2. MOV R2,#10 MOV DPRT,#TABLE
LOOP: MOV X A,@DPRT;取一数 ORL A,#80H;最高位置1
MOV X @DPTR,A;写回原地址 1NC DPTR;处理下一单元 DJNZ R2,LOOP RET
3. MOV R0,#30H MOV R1,#00H MOV R2,#20H
LOOP: MOV A,@R0;取数 MOV X @R1,A;存数 1NC R0 1NC R1
DJNZ R2,LOOP RET
4.利用移位指令作除8操作,程序如下: MOV R2,#3 LOOP:CLR C MOV A,R3
RRC A ;高字节除以2,末位移入C,高位补0 MOV R3,A ;暂存高字节 MOV A,R4
RRC A ;低字节除以2,高字节末位移入低字节高位 MOV R3,A DJNZ R2,LOOP RET
5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV R0,#42H MOV R1,#52H
LOOP:MOV A,@R0
CLR C ;不相等,FFH→40H SUBB A,@R1
JNZ LOOP1 ;相等时,比较下一字节 INC R0 INC R1
DJNZ 41H,LOOP
MOV 40H,#0 ;所有字符均相等,则两字串相等。 RET
LOOP1:MOV 40H,#0FFH RET
六、综合应用题(每题10分,共20分) 1.(1)逻辑图 (2)地址:
芯片 P2.2 P2.1 P2.0 P0.7 …… P0.0 地址范围 2716 0 0 0 0 … 0 0000H
1 1 1 1 … 1 07FFH
6116 0 0 0 0 … 0 0000H 1 1 1 1 … 1 07FFH 2.(1) (2)程序
DASAW:MOV DPTR,#7FFFH MOV,A,#0
LOOP:MOVX @DPRT,A 1NC A NOP
AJMP LOOP
因篇幅问题不能全部显示,请点此查看更多更全内容