📄 lesson10.lst
字号:
A51 MACRO ASSEMBLER LESSON10 05/03/2008 02:49:57 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN lesson10.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE lesson10.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
CFA0 1 PORT EQU 0CFA0H
---- 2 CSEG AT 4000H
4000 024100 3 LJMP START
---- 4 CSEG AT 4100H
4100 7902 5 START: MOV R1,#02H ;置计数初值于R1
4102 310F 6 ACALL PRG1 ;显示锯齿波
4104 7901 7 MOV R1,#01H ;置计数初值于R1
4106 3129 8 ACALL PRG2 ;显示三角波
4108 7901 9 MOV R1,#01H ;置计数初值于R1
410A 314C 10 ACALL PRG3 ;显示正弦波
410C 024100 11 LJMP START ;转START循环显示
410F 90CFA1 12 PRG1: MOV DPTR,#PORT+1 ;DAC寄存器端口地址送DPTR
4112 7400 13 MOV A,#00H ;初值送ACC
4114 75F0FF 14 LOOP: MOV B,#0FFH
4117 90CFA0 15 LOOP1: MOV DPTR,#PORT ;DAC输入寄存器端口地址
411A F0 16 MOVX @DPTR,A ;送出数据
411B A3 17 INC DPTR ;加一,为DAC寄存器端口地址
411C F0 18 MOVX @DPTR,A ;启动转换
411D 04 19 INC A ;数据加一
411E B4FFF6 20 CJNE A,#0FFH,LOOP1
4121 7400 21 MOV A,#00H
4123 D5F0F1 22 DJNZ B,LOOP1
4126 D9EC 23 DJNZ R1,LOOP ;计数值减到40H了吗?没有则继续
4128 22 24 RET ;产生锯齿波
4129 90CFA1 25 PRG2: MOV DPTR,#PORT+1
412C 7400 26 MOV A,#00H
412E 75F0FF 27 LP0: MOV B,#0FFH
4131 90CFA0 28 LP1: MOV DPTR,#PORT ;LP1循环产生三角波前半周期
4134 F0 29 MOVX @DPTR,A
4135 A3 30 INC DPTR
4136 F0 31 MOVX @DPTR,A
4137 04 32 INC A
4138 B4FFF6 33 CJNE A,#0FFH,LP1 ;数据为FFH吗?不等则转LP1
413B 7AFE 34 MOV R2,#0FEH
413D 90CFA0 35 LP2: MOV DPTR,#PORT ;LP2循环产生三角波后半周期
4140 EA 36 MOV A,R2
4141 F0 37 MOVX @DPTR,A
4142 A3 38 INC DPTR
4143 F0 39 MOVX @DPTR,A
4144 DAF7 40 DJNZ R2,LP2
4146 D5F0E8 41 DJNZ B,LP1
4149 D9E3 42 DJNZ R1,LP0 ;计数值到80H则退出执行下一步
414B 22 43 RET
414C 75F000 44 PRG3: MOV B,#00H
414F 90416C 45 LP3: MOV DPTR,#DATA0
4152 7CFF 46 MOV R4,#0FFH ;FFH为DATA0表中的数据个数
4154 E0 47 LP4: MOVX A,@DPTR ;从表中取数据
4155 AB83 48 MOV R3,DPH
4157 AD82 49 MOV R5,DPL
4159 90CFA0 50 MOV DPTR,#PORT
415C F0 51 MOVX @DPTR,A
415D A3 52 INC DPTR
415E F0 53 MOVX @DPTR,A
415F 8B83 54 MOV DPH,R3
4161 8D82 55 MOV DPL,R5
4163 A3 56 INC DPTR ;地址下移
4164 DCEE 57 DJNZ R4,LP4
4166 D5F0E6 58 DJNZ B,LP3
A51 MACRO ASSEMBLER LESSON10 05/03/2008 02:49:57 PAGE 2
4169 D9E1 59 DJNZ R1,PRG3
416B 22 60 RET
416C 80838689 61 DATA0: DB 80H,83H,86H,89H,8DH,90H,93H,96H
4170 8D909396
4174 999C9FA2 62 DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
4178 A5A8ABAE
417C B1B4B7BA 63 DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
4180 BCBFC2C5
4184 C7CACCCF 64 DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
4188 D1D4D6D8
418C DADDDFE1 65 DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
4190 E3E5E7E9
4194 EAECEEEF 66 DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
4198 F1F2F4F5
419C F6F7F8F9 67 DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH
41A0 FAFBFCFD
41A4 FDFEFFFF 68 DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
41A8 FFFFFFFF
41AC FFFFFFFF 69 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH
41B0 FFFFFEFD
41B4 FDFCFBFA 70 DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
41B8 F9F8F7F6
41BC F5F4F2F1 71 DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
41C0 EFEEECEA
41C4 E9E7E5E3 72 DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
41C8 E1DEDDDA
41CC D8D6D4D1 73 DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
41D0 CFCCCAC7
41D4 C5C2BFBC 74 DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
41D8 BAB7B4B1
41DC AEABA8A5 75 DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H
41E0 A29F9C99
41E4 9693908D 76 DB 96H,93H,90H,8DH,89H,86H,83H,80H
41E8 89868380
41EC 807C7976 77 DB 80H,7CH,79H,76H,72H,6FH,6CH,69H
41F0 726F6C69
41F4 6663605D 78 DB 66H,63H,60H,5DH,5AH,57H,55H,51H
41F8 5A575551
41FC 4E4C4845 79 DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH
4200 43403D3A
4204 38353330 80 DB 38H,35H,33H,30H,2EH,2BH,29H,27H
4208 2E2B2927
420C 2522201E 81 DB 25H,22H,20H,1EH,1CH,1AH,18H,16H
4210 1C1A1816
4214 15131110 82 DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH
4218 0E0D0B0A
421C 09080706 83 DB 09H,8H,7H,6H,5H,4H,3H,2H
4220 05040302
4224 02010000 84 DB 02H,1H,0H,0H,0H,0H,0H,0H
4228 00000000
422C 00000000 85 DB 00H,0H,0H,0H,0H,0H,1H,2H
4230 00000102
4234 02030405 86 DB 02H,3H,4H,5H,6H,7H,8H,9H
4238 06070809
423C 0A0B0D0E 87 DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H
4240 10111315
4244 16181A1C 88 DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
4248 1E202225
424C 27292B2E 89 DB 27H,29H,2BH,2EH,30H,33H,35H,38H
4250 30333538
4254 3A3D4043 90 DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
4258 45484C4E
425C 51515557 91 DB 51H,51H,55H,57H,5AH,5DH,60H,63H
4260 5A5D6063
4264 696C6F72 92 DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
4268 76797C80
A51 MACRO ASSEMBLER LESSON10 05/03/2008 02:49:57 PAGE 3
93 END
A51 MACRO ASSEMBLER LESSON10 05/03/2008 02:49:57 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
B. . . . . . . . . D ADDR 00F0H A
DATA0. . . . . . . C ADDR 416CH A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
LOOP . . . . . . . C ADDR 4114H A
LOOP1. . . . . . . C ADDR 4117H A
LP0. . . . . . . . C ADDR 412EH A
LP1. . . . . . . . C ADDR 4131H A
LP2. . . . . . . . C ADDR 413DH A
LP3. . . . . . . . C ADDR 414FH A
LP4. . . . . . . . C ADDR 4154H A
PORT . . . . . . . N NUMB CFA0H A
PRG1 . . . . . . . C ADDR 410FH A
PRG2 . . . . . . . C ADDR 4129H A
PRG3 . . . . . . . C ADDR 414CH A
START. . . . . . . C ADDR 4100H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -