51单片机期末试题及答案 下载本文

(4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能 3、

指出以下程序段每一条指令执行后累加器A内的值,已知(R0)=30H。(5分) MOV A,#0AAH ;(A)= 0AAH CPL A ;(A)= 55H RL A ;(A)= 0AAH CLR C ;(A)= 0AAH ADDC A,R0 ;(A)= 0DAH

四、下图是四片2K×8位存储器芯片的连线图。(1)确定四片存储器芯片地址范围,要求写出必要的推导过程。(2)编程将片内RAM 30H~4FH单元中的32个字节数据传送到片外RAM 左数第一块芯片的最低端32个字节单元(按地址由低至高存放)。(本题15分)

74LS138真值表G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

答:(1) 设从左至右RAM芯片号为#1,#2,#3,#4 芯片 #1 #2

A15A14 1 0 1 0 1 0 A13A12A11 A10A9A8A7A6A5A4A3A2A1A0 地址范围 0 0 0 0 0 0 0 0 0 0 0 0 0 0 低8000H (1分) 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 高87FFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低8800H (1分) 25

1 0 #3 1 0 1 0 #4 (2)

1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 高8FFFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低9000H (1分) 1 1 1 1 1 1 1 1 1 1 1 高97FFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低9800H (1分) 1 1 1 1 1 1 1 1 1 1 1 高9FFFH (1分) ORG 1000H

MOV DPTR, #8000H ; MOV R0, #20H MOV R1, #30H

LOOP: MOV A, @R1

; ; ; ; ; ; ;

;或AJMP HERE

MOVX @DPTR,A INC INC

DPTR R1

DJNZ R0, LOOP

HERE: RET

五、简述行列式键盘线反转法识别按键的工作原理。(本题6分)

答:

第1步:让行线编程为输入线,列线编程为输出线,使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。(3分) 第2步:再把行线编程为输出线,列线编程为输入线,使输出线输出为全低电平,则列线中电平由高变低的所在列为按键所在列。(3分) 综合上述两步,可确定按键所在行和列。 六、图为8段共阴数码管,请写出如下数值的段码。(本题5分)

26

答:

0 3FH (0.5分) 1 30H(06H) (0.5分) 2 6DH (0.5分) 3 79H (0.5分) 4 72 H (0.5分) 5 5BH (0.5分) P 67H (0.5分) 7 31 H (0.5分) 8 7FH (0.5分) C 0FH (0.5分)

七、回答下列问题并写出简要分析过程。(本题16分)

左下图是DAC0832的应用电路,DA转换时数字量FFH与00H分别对应于模拟量+5V与0V。右下图给出了DAC0832的逻辑结构。(1)将图中空缺的电路补充完整;(2)编写程序,产生图中所示锯齿波。设有一个延时3.905ms的子程序DELAY可以直接调用。

c d h a b c d e f g h b a f g e D0 D1 D2 D3 D4 D5 D6 D7

DAC0832的逻辑结构

答:

(1)共6根线,每根线1分。连线如图,如果WR2*与WR*或XFER*相连也给分。ILE直接接

27

+5V也正确。 (2) ORG 1000H

MOV MOV

R0, #0FEH A, #00H

;(3分) 或:MOV DPTR, #FFFEH ;(1分)

;(1分) 或:MOVX ;(1分) ;(3分) ;(1分)

@DPTR, A

LOOP: MOVX @R0, A

INC

A

LCALL DELAY SIMP LOOP

程序应整体思路正确,若有其他错误,视情况减分

28