⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dac8512.lst

📁 DA
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  DAC8512                                                              08/23/2007 14:50:59 PAGE     1


MACRO ASSEMBLER A51 V6.23
OBJECT MODULE PLACED IN DAC8512.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE DAC8512.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;Writed by LinXiwei,on 2006.06.15
                       2     
                       3             ;*******ZLG7289 PARAMETERS*******
  0030                 4             ZLG_BIT_CNT     EQU     30H     ;The number of data sended
  0031                 5             ZLG_REC_BUF     EQU     31H     ;The buffer of data sended
  0032                 6             ZLG_SEND_BUF    EQU     32H     ;The buffer of data received
                       7     
  003F                 8             DAC_NUMBER      EQU     3FH     ;The nuber to D/A
                       9     
  0040                10             ZLG_HUNDRED     EQU     40H     ;The digit of hundred
  0041                11             ZLG_DECIMAL     EQU     41H     ;The digit of decimal
  0042                12             ZLG_ONE         EQu     42H     ;The digit of one
                      13     
  0090                14             ZLG_CS          EQU     P1.0    ;/CS  of ZLG7289
  0091                15             ZLG_CLK         EQU     P1.1    ;CLK  of ZLG7289
  0092                16             ZLG_DATA        EQU     P1.2    ;DIO  of ZLG7289
  0093                17             ZLG_KEY         EQU     P1.3    ;/KEY of ZLG7289
                      18     
  0084                19             DAC8512_DATA    EQU     P0.4    ;SCLK of DAC8512
  0085                20             DAC8512_SCLK    EQU     P0.5    ;/CS  of DAC8512
  0086                21             DAC8512_LD      EQU     P0.6    ;LD   OF DAC8512
  0087                22             DAC8512_CS      EQU     P0.7    ;DOUT of DAC8512
                      23     
                      24             ;*******DELAY PARAMETERS*******
  0071                25             VAR_DELAY       EQU     71H     ;The variable for delay function
  0072                26             VAR_DELAY_2     EQU     72H     ;The variable for delay function
                      27     ;*****************************************************************
0000                  28             org     0000H
0000 020030           29             ljmp    MAIN
                      30     ;*****************************************************************
0030                  31             org     0030H
0030                  32     MAIN:
0030 120061           33             lcall   sys_initialize
                      34     
0033 1200BB           35             lcall   func_display
0036 12008A           36             lcall   DASUB           ;Start D/A change 
                      37     
0039                  38     MAIN_LOOP:
0039 2093FD           39             jb      ZLG_KEY,$               ;Wait for keyboard
                      40     
003C 753215           41             mov     ZLG_SEND_BUF,#00010101B         ;Send the command of reading keyboard
003F 1200FB           42             lcall   zlg_send
0042 12011E           43             lcall   zlg_receive                     ;Read the data of keyboard
0045 D290             44             setb    ZLG_CS                          ;Set standby mode
                      45     
0047 AE31             46             mov     r6,ZLG_REC_BUF
                      47             ;Inc 
0049 BE0F04           48             cjne    r6,#15,KEY_DEC
004C 053F             49             inc     DAC_NUMBER
004E 8005             50             jmp     MAIN_LOOP_NEXT
                      51     
0050                  52     KEY_DEC:
                      53             ;Dec
0050 BE0702           54             cjne    r6,#7,MAIN_LOOP_NEXT
0053 153F             55             dec     DAC_NUMBER
                      56             ;Display the number
                      57             
0055                  58     MAIN_LOOP_NEXT:
A51 MACRO ASSEMBLER  DAC8512                                                              08/23/2007 14:50:59 PAGE     2

0055 1200BB           59             lcall   func_display
0058 12008A           60             lcall   DASUB                   ;Start D/A change 
005B 3093FD           61             jnb     ZLG_KEY,$               ;Wait the key to pop
005E 0139             62             ajmp    MAIN_LOOP
                      63             
0060 22               64             ret                             ;main return
                      65     ;*****************************************************************
0061                  66     sys_initialize:
                      67             ;Initialize TLC5615
0061 D287             68             SETB    DAC8512_CS
0063 D284             69             SETB    DAC8512_DATA
0065 D285             70             SETB    DAC8512_SCLK
0067 D286             71             SETB    DAC8512_LD
                      72     
                      73             ;***Initialize ZLG7289***
0069 D290             74             setb    ZLG_CS
006B D293             75             setb    ZLG_KEY
006D D292             76             setb    ZLG_DATA
                      77     
006F 12014C           78             lcall   delay_50
                      79     
0072 7532A4           80             mov     ZLG_SEND_BUF,#10100100B         
0075 1200FB           81             lcall   zlg_send
0078 D290             82             setb    ZLG_CS                          ;Set standby mode
                      83     
                      84             
007A 753F00           85             mov     DAC_NUMBER,#00H
007D 754000           86             mov     ZLG_HUNDRED,#00H
0080 754100           87             mov     ZLG_DECIMAL,#00H
0083 754200           88             mov     ZLG_ONE,#00H
                      89             
0086 12013F           90             lcall   delay_125ms
0089 22               91     ret
                      92     ;*****************************************************************
                      93     ;Send DA number to TLC5615
008A                  94     DASUB:
008A C0D0             95             PUSH    PSW
008C C0E0             96             PUSH    ACC
                      97     
008E 7B0F             98             MOV     R3,#0FH
0090 7AFF             99             MOV     R2,#0FFH
0092 7F04            100             MOV     R7,#04H
0094                 101     DASUB0:
0094 C3              102             CLR     C 
0095 EA              103             MOV     A,R2
0096 33              104             RLC     A
0097 FA              105             MOV     R2,A
0098 EB              106             MOV     A,R3
0099 33              107             RLC     A
009A FB              108             MOV     R3,A
009B DFF7            109             DJNZ    R7,DASUB0
009D 7F0C            110             MOV     R7,#0CH
009F                 111     DASUB1:
009F C287            112             CLR     DAC8512_CS
00A1 00              113             NOP
00A2 EA              114             MOV     A,R2
00A3 33              115             RLC     A
00A4 FA              116             MOV     R2,A
00A5 EB              117             MOV     A,R3
00A6 33              118             RLC     A
00A7 FB              119             MOV     R3,A
00A8 9284            120             MOV     DAC8512_DATA,C
00AA C285            121             CLR     DAC8512_SCLK
00AC 00              122             NOP
00AD D285            123             SETB    DAC8512_SCLK
00AF DFEE            124             DJNZ    R7,DASUB1
A51 MACRO ASSEMBLER  DAC8512                                                              08/23/2007 14:50:59 PAGE     3

00B1 C286            125             CLR     DAC8512_LD
00B3 00              126             NOP
00B4 D286            127             SETB    DAC8512_LD
00B6 D0E0            128             POP     ACC
00B8 D0D0            129             POP     PSW
00BA 22              130             RET
                     131     ;*****************************************************************
                     132     ;Display then DA number
                     133     ;Using  a,b
00BB                 134     func_display:
                     135             
00BB 853FE0          136             mov     acc,DAC_NUMBER
00BE 75F064          137             mov     b,#100
00C1 84              138             div     ab
00C2 F540            139             mov     ZLG_HUNDRED,a
                     140     
                     141             
00C4 85F0E0          142             mov     acc,b
00C7 75F00A          143             mov     b,#10

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -