📄 da0832.lst
字号:
A51 MACRO ASSEMBLER DA0832 02/12/03 08:17:49 PAGE 1
DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN DA0832.O
ASSEMBLER INVOKED BY: C:\OMF51\BIN\A51.EXE C:\HKCX\51ASM\DA0832.ASM DB SB XR RB(0) PR(DA0832.LST) OJ(DA0832.O)
LOC OBJ LINE SOURCE
1 ; “验证式” 实验五 D/A转换
2
3 ;利用0832DA转换功能产生正弦波
4
E101 5 OUTBIT equ 0e101h ; 位控制口
E102 6 CLK164 equ 0e102h ; 段控制口(接164时钟位)
E102 7 DAT164 equ 0e102h ; 段控制口(接164数据位)
E103 8 IN equ 0e103h ; 键盘读入口
0040 9 LEDBuf equ 40h ; 显示缓冲
10
0000 11 org 0000h
0000 758160 12 mov sp,#60h
0003 90E100 13 mov dptr,#0e100h ;8155初始化
0006 7403 14 mov a,#03h
0008 F0 15 movx @dptr,a
0009 754000 16 mov 40h,#00h ;显示缓冲区置值
000C 754108 17 mov 41h,#08h
000F 754203 18 mov 42h,#03h
0012 754302 19 mov 43h,#02h
0015 7D00 20 loop1: mov r5,#00h
0017 90B000 21 loop2: mov dptr,#0B000h ;0832DA 从小到大转换
001A ED 22 mov a,r5
001B F0 23 movx @dptr,a
001C F545 24 mov 45h,a ;拆字后送显示缓冲区
001E 7845 25 mov r0,#45h
0020 119D 26 acall ptds
0022 7E15 27 mov r6,#15h
0024 1148 28 dir10: acall display ;调用显示子程序
0026 DEFC 29 djnz r6,dir10
30 ; lcall delay1
0028 0D 31 inc r5
0029 BD00EB 32 cjne r5,#00h,loop2
002C 90B000 33 loop3: mov dptr,#0B000h ;0832DA从大到小转换
002F 1D 34 dec r5
0030 ED 35 mov a,r5
0031 F0 36 movx @dptr,a
0032 7845 37 mov r0,#45h
0034 119D 38 acall ptds
0036 7E15 39 mov r6,#15h
0038 1148 40 dir11: acall display
003A DEFC 41 djnz r6,dir11
42 ; acall delay1
003C BD00ED 43 cjne r5,#00h,loop3
003F 80D4 44 sjmp loop1
0041 45 Delay:
0041 7F00 46 mov r7, #00 ; 延时子程序
47
0043 48 DelayLoop:
0043 DFFE 49 djnz r7, DelayLoop
0045 DEFC 50 djnz r6, DelayLoop
0047 22 51 ret
52
0048 D2D3 53 DISPLAY:setb 0d3h
004A 7840 54 mov r0, #LEDBuf
004C 7906 55 mov r1, #6 ; 共6个八段管
004E 7A20 56 mov r2, #00100000b ; 从左边开始显示
0050 57 Loop:
0050 90E101 58 mov dptr, #OUTBIT
A51 MACRO ASSEMBLER DA0832 02/12/03 08:17:49 PAGE 2
0053 7400 59 mov a, #00h
0055 F0 60 movx @dptr, a ; 关所有八段管
61
0056 E6 62 mov a, @r0
0057 90008D 63 mov dptr,#LEDmap
005A 93 64 movc a,@a+dptr
005B 75F008 65 mov B, #8 ; 送164
005E 66 DLP:
005E 33 67 rlc a
005F FB 68 mov r3, a
0060 92E0 69 mov acc.0, c
0062 54FD 70 anl a,#0fdh
0064 90E102 71 mov dptr, #DAT164
0067 F0 72 movx @dptr, a
0068 90E102 73 mov dptr, #CLK164
006B 4403 74 orl a,#03h
006D F0 75 movx @dptr, a
006E 54FD 76 anl a,#0fDh
0070 F0 77 movx @dptr, a
0071 EB 78 mov a, r3
0072 D5F0E9 79 djnz B, DLP
0075 90E101 80 mov dptr, #OUTBIT
0078 EA 81 mov a, r2
0079 F0 82 movx @dptr, a ; 显示一位八段管
007A 7E02 83 mov r6, #02
007C 1141 84 call Delay
007E EA 85 mov a, r2 ; 显示下一位
007F 03 86 rr a
0080 FA 87 mov r2, a
0081 08 88 inc r0
0082 D9CC 89 djnz r1, Loop
0084 90E101 90 mov dptr, #OUTBIT
0087 7400 91 mov a, #0
0089 F0 92 movx @dptr, a ; 关所有八段管
008A C2D3 93 clr 0d3h
008C 22 94 ret
008D 95 LEDMAP: ; 八段管显示码
008D 3F065B4F 96 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
0091 666D7D07
0095 7F6F777C 97 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
0099 395E7971
009D F9 98 ptds: mov r1,a
009E 11A2 99 acall ptds1
00A0 E9 100 mov a,r1
00A1 C4 101 swap a
00A2 540F 102 ptds1: anl a,#0fh
00A4 F6 103 mov @r0,a
00A5 18 104 dec r0
00A6 22 105 ret
00A7 7F03 106 Delay1: mov r7,#03h
00A9 8098 107 sjmp DelayLoop
108 END
A51 MACRO ASSEMBLER DA0832 02/12/03 08:17:49 PAGE 3
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES / REFERENCES
ACC. . . . . . . . D ADDR 00E0H A 69
B. . . . . . . . . D ADDR 00F0H A 65 79
CLK164 . . . . . . N NUMB E102H A 6# 73
DAT164 . . . . . . N NUMB E102H A 7# 71
DELAY. . . . . . . C ADDR 0041H A 45# 84
DELAY1 . . . . . . C ADDR 00A7H A 106#
DELAYLOOP. . . . . C ADDR 0043H A 48# 49 50 107
DIR10. . . . . . . C ADDR 0024H A 28# 29
DIR11. . . . . . . C ADDR 0038H A 40# 41
DISPLAY. . . . . . C ADDR 0048H A 28 40 53#
DLP. . . . . . . . C ADDR 005EH A 66# 79
IN . . . . . . . . N NUMB E103H A 8#
LEDBUF . . . . . . N NUMB 0040H A 9# 54
LEDMAP . . . . . . C ADDR 008DH A 63 95#
LOOP . . . . . . . C ADDR 0050H A 57# 89
LOOP1. . . . . . . C ADDR 0015H A 20# 44
LOOP2. . . . . . . C ADDR 0017H A 21# 32
LOOP3. . . . . . . C ADDR 002CH A 33# 43
OUTBIT . . . . . . N NUMB E101H A 5# 58 80 90
PTDS . . . . . . . C ADDR 009DH A 26 38 98#
PTDS1. . . . . . . C ADDR 00A2H A 99 102#
SP . . . . . . . . D ADDR 0081H A 12
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -