RET
DB 00,01,
04, 09, 16
TAB:
DB 25,36, 49, 64, 81
这个子程序的功能是: 。
4、已知一片DAC0832接成单缓冲方式,其地址为4000H,其控制程序如下:
MOV MOV
DPTR, #4000H R0, #00H
WAIT: MOV
A,R0
MOVX @DPTR,A
INC R0
NOP SJMP WAIT
读程序执行后,DAC0832输出的波形为波。 5.已知 (R3)=05H,程序运行后,结果为(50H )=。
MAIN:MOV A,R3 MOV DPTR, #TAB MOVC A,@A+DPTR MOV 50H,A RET TAB: DB 00,01, 04, 09, 16 DB 25,36, 49, 64, 81
这个子程序的功能是 。
6.该段程序执行后,(A)=,(CY)=。
MOV A, #56H MOV R4,#95H ADD A, R4 DA A
7. 下面该段程序的功能是。
MOV DPTR, #1000H MOV R0, #20H MOV A, #0FFH
LOOP: MOVX @DPTR, A INC DPTR DJNZ R0, LOOP
8.下列程序段执行后,(A)=_________,(B)=_________。
MOV A,#0FBH MOV B,#12H DIV AB
9. 下面该段程序的功能是 。 CLR A
LOOP: HERE: MOV R0, A MOV R2, #09H ADD A, R0 INC R0 DJNZ R2, LOOP MOV R3, A SJMP HERE
三、分析程序,写出结果(答)
1. 0CBH 2. 7EH, 0FFH
3. 25, 查表求A中所放数的平方值
4. 锯齿波
5. 25(或19H),查表求0~9数字的平均值 6. 51H, 1
7. 将外部RAM中从1000H单元开始的20H个单元的值置成0FFH。 8. 13(0DH), 17(11H)
9. 完成0~8之间自然数的求和。
四、编程题:
1、编程将外部RAM 从1200H单元开始的100个单元清零。
2、(25分)P1口连接有8个LED (LED0~LED7),编写程序使每次亮4个LED,即开始时偶数码的灯亮,下一个时刻奇数码的灯亮,如此循环。灯亮持续时间为2s。 (1)画出单片机89C51扩展8个灯的电路图;(10分) (2)编写程序实现该功能。(15分) 3、(10分)编程将外部RAM 从1000H单元开始的100个单元清零。
4、变量X的值存放在内部RAM的30H单元中,编程求解下列函数式,将求得的函数值y
存入内部RAM的40H单元。(15分)
?1?y??0??1?x?0??x?0? x?0??5、用查表法将累加器A拆为两个ASCII码,存入内部RAM的20H和21H单元中。(10分)
四、编程题:(答)
1.
ORG MOV MOV
1000H
R5, #20 DPTR, #1200H
MOV
LOOP:
MOVX
R0,#40H A, @DPTR
MOV @R0, A INC DPTR INC R0 DJNZ R5, LOOP
2.(1)
END
5V
R1 R2 R3 R4 R5 R6 R7 R8 P1
89C51
(2) ORG 1000H
LJMP MAIN ORG 001BH LJMP T0INT ORG 1000H MAIN: MOV P1, #0FFH MOV A,#55H MOV R2,#00H MOV TMOD, #01H
MOV TH0, #0B1H MOV TL0, #0E0H SETB EA SETB ET0
LED5 LED4 LED0 LED1 LED2 LED3 LED7 LED6 T0INT: QUIT: 3、
SETB TR0 SJMP $ MOV TH0, #0B1H MOV TL0, #0E0H INC R2 CJNE R2, #100, QUIT MOV R2,#00H CPL A MOV RET END
P1,A
ORG MOV MOV MOV
1000H R5, #20
DPTR, #1200H R0,#40H A, @DPTR @R0, A DPTR R0 R5, LOOP
LOOP:
MOVX MOV INC INC DJNZ
END
ORG 2000H MOV A,30H JZ DONE
JB ACC.7.LOOP MOV A,#01H SJMP DONE MOV A,#0FFH MOV 40H,A SJMP $ END
4、
LOOP: DONE:
5、 ORG 1000H MOV DPTR, #1000H MOV R4, #20 LOOP: MOVX A,@DPTR ORL A, #80H MOVX @DPTR, A
INC DPTR DJNZ R4, LOOP END
ORG 1000H
MOV A, #0 MOV DPTR, #8000H MOVX @DPTR, A JB P3.2, $ MOVX A, @DPTR MOV 40H, A INC DPTR MOVX @DPTR, A JB P3.2, $ MOVX A, @DPTR ADD A, 40H RR A MOV 40H,A END
ORG 1000H MOV A, R0 MOV DPTR, #TABLE MOVC A, @A+DPTR MOV P1, A DB 0C0H, 0F9H,0A4H, 0B0H,99H, 92H, 82H, 0F8H, 80H, 90H DB 88H, 83H, 0C6H, 0A1H, 86H, 8EH END
6. 7. TABLE: