题库(单片机本科 - 题库)

MOVX A, @DPTR ADD A, B INC DPTR

MOVX @DPTR, A END 91、用循环程序设计将外部RAM2000H-200FH单元中的内容分别加1,结果送回到该单元中。 解答:ORG 0000H

START: MOV DPTR, #2000H MOV R1, #0FH

LOOP1: MOVX A, @DPTR INC A

MOVX @DPTR, A INC DPTR

DJNZ R1, LOOP1 END 92、用分支程序设计法根据R1内容(00H;01H;02H;03H)将外部RAM1000H单元置成10H;20H;30H;40H。 解答:ORG 0000H

START: MOV DPTR, #0008H MOV R1, #00H MOV A, R1 RL A

JMP @A+DPTR AJMP A1 AJMP A2 AJMP A3 AJMP A4 A1: MOV A, #10H AJMP L1 A2: MOV A, #20H AJMP L1 A3: MOV A, #30H AJMP L1 A4: MOV A, #40H

L1: MOV DPTR, #1000H MOVX @DPTR, A END

93、若内部RAM20H单元的最高位为1,将累加器置成FFH,若为零则将累加器置成00H。 解答: ORG 0000H

START: JB 20H.7 TB1 MOV A, #00H AJMP TB2 TB1: MOV A, #0FFH TB2: RET

END

94、编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)。 解: ORG 0000H

MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址送DPTR MOV A,#0EH ;将PC7置0 MOVX @DPTR,A

MOV A,#09H ;将PC4置1 MOVX @DPTR,A END

95、假设8155H的TIMERIN引脚输入的脉冲频率为1MHz,请编写出在8155H的TIMEROUT引脚上输出周期为10ms的方波的程序。

解:START: MOV DPTR,#7F04H ;指针指向定时器低8位 MOV A,#64H ;送初值给A

MOVX @DPTR,A ;初值送给低8位 INC DPTR ;指向高8位 MOV A,#40H ;定时器方波输出 MOVX @DPTE,A

MOV DPTR,#7F00H ;指向命令/状态口 MOV A,#0C2H ;设定控制字 MOVX @DPTE,A ;启动定时器 END

六、系统扩展题

96、画出8031和2764的连接图,要求用线选法,基本地址范围为4000H~5FFFH。 (1)请画出具体的连接线地址线、数据线和控制线;

(2)根据连接图,指出图中2764的基本地址,有无重叠地址?为什么?若有重叠地址,请写出重叠地址;

(3)请编程将外部ROM地址为4050H单元中的内容传送到内部RAM地址为20H单元中。 74LS

. 373

8051

2764

8031

(1)

A7 P2.0 Q0 D0 .. 2764 : .. 74LS .. A0 . Q7 373 P2.4 D7 A8

G … P2.6

A12 O0 P0.0 .. : O7 P0.7 ALE PSEN OE CE

(2)有。因为有引脚悬空。重叠地址为:6000H~7FFFH, C000H~DFFFH, E000H~FFFFH (3) MOV A, #00H

MOV DPTR, #0050H

MOVC A, @A+DPTR MOV 20H, A 97、以下是8255和8031电路图。 求:

(1)8255PA、PB、PC口及控制字寄存器的地址。 (2)PA口作输出,PB口作输入时的控制字。 (3)将PB口内容送PA口。 D0-D7 8031 373 8255 D0-D 7 A0 P0 Q0-Q A1 ALE /CS P2.7 (1) PA口的地址:8000H; PB口的地址:8001H PC口的地址:8002H; 状态字的地址:8003H (2) 10000010B或82H (3) MOV DPTR,#8003H

MOV A, #82H MOVX,@DPTR,A

MOV DPTR, #8001H MOVX A, @DPTR

MOV DPTR,#8000H MOVX @DPTR,A END

98、1单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:

(1)画出硬件电路连线图,并标注主要引脚; (1) 电路图如下所示:

803129PSEN16WR17RD2764127VPP22PGM20OECEHM61162120WE18OECS2827262524232221U4HM61162120WE18OECS1922231234567819222312345678A10A9A8A7A6A5A4A3A2A1A0U5D7D6D5D4D3D2D1D0171615141311109P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALE/P3111G74LS373OC1(2)2764的地址为C000H-DFFFH; 第一个6116的地址为A000H-A7FFH; 第二个6116的地址为6000H-67FFH; 99、

现有一片8031,扩展了一片8255A,若把8255A的B口用做输入,B口的每一位接一个开关,A口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写出B口某一位接高电

3233343536373839D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7O7O6O5O4O3O2O1O0347813141718256912151619223212425345678910A12A11A10A9A8A7A6A5A4A3A2A1A0U31918171615131211A10A9A8A7A6A5A4A3A2A1A0U6D7D6D5D4D3D2D1D017161514131110930EA/VPU2P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0

平时,A口相应位发光二极管被点亮的程序。

解:A口每一位接二极管的正极,二极管的负极接低。B口每一位接一开关,开关直接接地。这样只需要将读到的B口的值送给A口就可以满足题目要求了。

ORG MIAN:

0000H MOV MOV MOVX MOV MOVX MOV MOVX END

A,#10000010B DPTR,#0FF7FH @DPTR,A DPTR,#0FF7DH A,@DPTR DPTR,#0FF7CH @DPTR,A ;A口出,B口入 ;控制地址送DPTR ;送方式控制字 ;B口地址送DPTR ;读开关信息 ;A口地址送DPTR

;将信息反溃到二极管

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4