南昌大学单片机期末考题.docx
《南昌大学单片机期末考题.docx》由会员分享,可在线阅读,更多相关《南昌大学单片机期末考题.docx(10页珍藏版)》请在冰点文库上搜索。
![南昌大学单片机期末考题.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/bc4adb24-486f-47ad-89b0-a654cb664c47/bc4adb24-486f-47ad-89b0-a654cb664c471.gif)
南昌大学单片机期末考题
一、填空题(每空1分,共10分)
1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为__低电平___.
2.P0通常用作__单片机系统的地址/数据总线__
3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为____________.
4.返回地址(或断点)是在程序中断或子程序调用时的程序计数器的内容。
5.中央处理器CPU是单片机的核心,它完成运算和控制功能__
6.单片机的工作过程,实际上就是周而复始地取指令和执行指令的过程
7.所谓中断源即是引起中断的原因(或能发出中断请求的来源)
8.端口(或称口)是_接口电路中已编址并能进行读或写操作的寄存器
9.异步串行近程通信时的传送信号是TTL电平信号
10.若累加器A中的数据为01110010B,则PSW中的P=___.
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共10分)
1.MCS—51单片机的复位信号是(A)有效。
A.高电平B.低电平C.脉冲D.下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过(B)。
A.2μsB.4μsC.8μsD.1ms
3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用(D)指令。
A.PUSHR0B.PUSH@R0
C.PUSH00HD.PUSH08H
4.能够用紫外光擦除ROM中程序的只读存储器称为(C)。
A.掩膜ROMB.PROMC.EPROMD.EEPROM
5.在片外扩展一片2764程序存储器芯片要(B)地址线。
A.8根B.13根C.16根D.20根
6.定时器/计数器工作方式1是(D)。
A.8位计数器结构B.2个8位计数器结构
C.13位计数结构D.16位计数结构
7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(C)
A.2MHzB.1MHzC.500KHzD.250KHz
F
8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为(A)。
A.06HB.F9HC.30HD.CFH
9.下列数据字定义的数表中,(C)是错误的。
A.DW“AA”B.DW“A”
C.DW“OABC”D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是(C)。
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)=_________.
ANLP1,#73H
ORLP1,#38H
2.下列程序段执行后,(A)=_0DH(或13)_,(B)=__11H(或17)__.
MOVA,#0FBH
MOVB,#12H
DIVAB
3.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________.
MOVR0,#7FH
MOV7EH,#0
MOV7FH,#40H
DEC@R0
DECR0
DEC@R0
4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_________,内部RAM(0AH)=_________,(0BH)=_________
PUSHDPL
PUSHDPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间
MOVR3,#100;1
LOOP:
NOP;1
NOP
NOP
DJNZR3,LOOP;2
RET;2
一个机器周期为2μs
执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms
五、编程题(每小题4分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.
3.已知内部RAM30H单元开始存放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转换器DAC0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请
(1)画出单缓冲接口方式电路
(2)编程产生正向锯齿波
答案
一、填空题(每空1分,共10分)
1.低电平
2.单片机系统的地址/数据总线
3.10H~17H
4.在程序中断或子程序调用时
5.运算和控制功能
6.周而复始地取指令和执行指令的过程
7.引起中断的原因(或能发出中断请求的来源)
8.接口电路中已编址并能进行读或写操作的寄存器
9.TTL电平信号
10.0
二、单项选择题(每题1分,共10分)
1.A2.B3.D4.C5.B6.D7.C8.A9.C10.C
三、简答题(每题4分,共20分)
1.
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。
(2)用MOVSP,#STK指令建立堆栈。
(3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。
2.
(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条:
MOVCA,@A+DPTR
MOVCA,@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.先进行与操作,再进行或操作程序如下:
MOVC,ACC.1
ANLC,P2,0
MOV12H,C
MOV,C,ACC.2
ANLC,P2.7
ORLC,12H
MOVP1.5,C
RET
2.MOVR2,#10
MOVDPRT,#TABLE
LOOP:
MOVXA,@DPRT;取一数
ORLA,#80H;最高位置1
MOVX@DPTR,A;写回原地址
1NCDPTR;处理下一单元
DJNZR2,LOOP
RET
3.MOVR0,#30H
MOVR1,#00H
MOVR2,#20H
LOOP:
MOVA,@R0;取数
MOVX@R1,A;存数
1NCR0
1NCR1
DJNZR2,LOOP
RET
4.利用移位指令作除8操作,程序如下:
(4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节))
MOVR2,#3
LOOP:
CLRC
MOVA,R3
RRCA;高字节除以2,末位移入C,高位补0
MOVR3,A;暂存高字节
MOVA,R4
RRCA;低字节除以2,高字节末位移入低字节高位
MOVR4,A
DJNZR2,LOOP
RET
5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等
MOVR0,#42H
MOVR1,#52H
LOOP:
MOVA,@R0
CLRC;不相等,FFH→40H
SUBBA,@R1
JNZLOOP1;相等时,比较下一字节
INCR0
INCR1
DJNZ41H,LOOP
MOV40H,#0;所有字符均相等,则两字串相等。
RET
LOOP1:
MOV40H,#0FFH
RET
六、综合应用题(每题10分,共20分)
1.
(1)逻辑图
(2)地址:
芯片P2.2P2.1P2.0P0.7……P0.0地址范围
27160000…00000H
…
1111…107FFH
61160000…00000H
1111…107FFH
2.
(1)
(2)程序
DASAW:
MOVDPTR,#7FFFH
MOV,A,#0
LOOP:
MOVX@DPRT,A
1NCA
NOP
AJMPLOOP