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

📄 main.lis

📁 基于AVR单片机的AD9852的驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\RJ\Project\AVR\AD9852/AD9852.h
 0000                   .dbfunc e AD9852_ByteSend _AD9852_ByteSend fV
 0000           ;              i -> R20
 0000           ;            dat -> R16
                        .even
 0000           _AD9852_ByteSend::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 37
 0004           ; #include <iom16v.h>
 0004           ; #include "AD9852.h"
 0004           ; 
 0004           ; //送入9852的数据缓冲区,初始化为控制寄存器值,使能PLL,5倍频,外部刷新
 0004           ; unsigned char AD9852_Data[]={0x10,0x45,0x00,0x60,0x00,0x00};  
 0004           ; 
 0004           ; void delay_us(unsigned int us)
 0004           ; {
 0004           ;       while (--us);
 0004           ;       {
 0004           ;               us++;
 0004           ;               us--;
 0004           ;       }
 0004           ; }
 0004           ; 
 0004           ; void AD9852_DataPost(unsigned char Addr, unsigned char *pDat, unsigned char DataLen)
 0004           ; {
 0004           ;       unsigned char i=0;
 0004           ;       
 0004           ;       AD9852_Set_IORESET();
 0004           ;       asm("nop");
 0004           ;       AD9852_Clr_IORESET();
 0004           ;       
 0004           ;       i=Addr;
 0004           ;       AD9852_ByteSend(i);
 0004           ; 
 0004           ;       for (i=0;i<DataLen;i++)
 0004           ;       {
 0004           ;               AD9852_ByteSend(pDat[i]);
 0004           ;       }
 0004           ;       
 0004           ;       AD9852_Set_IOUD();
 0004           ;       asm("nop");
 0004           ;       AD9852_Clr_IOUD();
 0004           ; }
 0004           ; 
 0004           ; void AD9852_Init()
 0004                   .dbline 39
 0004           ; {
 0004           ;       
 0004 4427              clr R20
 0006 0FC0              xjmp L5
 0008           L2:
 0008                   .dbline 40
 0008           ;       AD9852_CTRL_DDR |= ((0x01<<AD9852_IORESET)|(0x01<<AD9852_SCLK)|(0x01<<AD9852_MasterReset)|(0x01<<AD9852_CLKPOWER)|(0x01<<AD9852_IOUD)|(0x01<<AD9852_SDIO));
 0008                   .dbline 41
 0008           ;       
 0008 BB9A              sbi 0x17,3
 000A                   .dbline 41
 000A C398              cbi 0x18,3
 000C                   .dbline 42
 000C           ;       AD9852_CTRL_PORT &= (~((0x01<<AD9852_CLKPOWER)|(0x01<<AD9852_IOUD)));
 000C 0000              nop
 000E                   .dbline 43
 000E           ;       AD9852_CTRL_PORT |= ((0x01<<AD9852_IORESET)|(0x01<<AD9852_SCLK)|(0x01<<AD9852_MasterReset));
 000E 07FF              sbrs R16,7
 0010 03C0              rjmp L6
 0012                   .dbline 44
 0012           ;       
 0012                   .dbline 45
 0012           ;       delay_us(500);
 0012 BE9A              sbi 0x17,6
 0014                   .dbline 45
 0014 C69A              sbi 0x18,6
 0016                   .dbline 46
 0016           ;       
 0016 02C0              xjmp L7
 0018           L6:
 0018                   .dbline 48
 0018           ;       AD9852_Clr_MasterReset();               //AD9852复位
 0018           ;       asm("nop");
 0018                   .dbline 49
 0018           ;       AD9852_Set_MasterReset();
 0018 BE9A              sbi 0x17,6
 001A                   .dbline 49
 001A C698              cbi 0x18,6
 001C                   .dbline 50
 001C           ;       asm("nop");
 001C           L7:
 001C                   .dbline 51
 001C 0000              nop
 001E                   .dbline 52
 001E BB9A              sbi 0x17,3
 0020                   .dbline 52
 0020 C39A              sbi 0x18,3
 0022                   .dbline 53
 0022 000F              lsl R16
 0024                   .dbline 54
 0024           L3:
 0024                   .dbline 39
 0024 4395              inc R20
 0026           L5:
 0026                   .dbline 39
 0026 4830              cpi R20,8
 0028 78F3              brlo L2
 002A                   .dbline -2
 002A           L1:
 002A 0E940000          xcall pop_gset1
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbsym r i 20 c
 0030                   .dbsym r dat 16 c
 0030                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\RJ\Project\AVR\AD9852/AD9852.h
 0000           _AD9852_Data::
 0000                   .blkb 2
                        .area idata
 0000 1045              .byte 16,'E
                        .area data(ram, con, rel)
 0002                   .dbfile D:\RJ\Project\AVR\AD9852/AD9852.h
 0002                   .blkb 2
                        .area idata
 0002 0060              .byte 0,96
                        .area data(ram, con, rel)
 0004                   .dbfile D:\RJ\Project\AVR\AD9852/AD9852.h
 0004                   .blkb 2
                        .area idata
 0004 0000              .byte 0,0
                        .area data(ram, con, rel)
 0006                   .dbfile D:\RJ\Project\AVR\AD9852/AD9852.h
 0006                   .dbfile D:\RJ\Project\AVR\AD9852\main.c
 0006                   .dbsym e AD9852_Data _AD9852_Data A[6:6]c
                        .area text(rom, con, rel)
 0030                   .dbfile D:\RJ\Project\AVR\AD9852\main.c
 0030                   .dbfunc e delay_us _delay_us fV
 0030           ;             us -> R16,R17
                        .even
 0030           _delay_us::
 0030                   .dbline -1
 0030                   .dbline 8
 0030           L9:
 0030                   .dbline 9
 0030           L10:
 0030                   .dbline 9
 0030 C801              movw R24,R16
 0032 0197              sbiw R24,1
 0034 8C01              movw R16,R24
 0036 0030              cpi R16,0
 0038 0107              cpc R16,R17
 003A D1F7              brne L9
 003C           X0:
 003C                   .dbline 10
 003C                   .dbline 11
 003C 0F5F              subi R16,255  ; offset = 1
 003E 1F4F              sbci R17,255
 0040                   .dbline 12
 0040 0150              subi R16,1
 0042 1040              sbci R17,0
 0044                   .dbline 13
 0044                   .dbline -2
 0044           L8:
 0044                   .dbline 0 ; func end
 0044 0895              ret
 0046                   .dbsym r us 16 i
 0046                   .dbend
 0046                   .dbfunc e AD9852_DataPost _AD9852_DataPost fV
 0046           ;              i -> R20
 0046           ;        DataLen -> R22
 0046           ;           pDat -> R10,R11
 0046           ;           Addr -> R12
                        .even
 0046           _AD9852_DataPost::
 0046 0E940000          xcall push_gset4
 004A 5901              movw R10,R18
 004C C02E              mov R12,R16
 004E 6885              ldd R22,y+8
 0050                   .dbline -1
 0050                   .dbline 17
 0050                   .dbline 18
 0050 4427              clr R20
 0052                   .dbline 20
 0052 BD9A              sbi 0x17,5
 0054                   .dbline 20
 0054 C59A              sbi 0x18,5
 0056                   .dbline 21
 0056 0000              nop
 0058                   .dbline 22
 0058 BD9A              sbi 0x17,5
 005A                   .dbline 22
 005A C598              cbi 0x18,5
 005C                   .dbline 24
 005C 4C2D              mov R20,R12
 005E                   .dbline 25
 005E 042F              mov R16,R20
 0060 CFDF              xcall _AD9852_ByteSend
 0062                   .dbline 27
 0062 4427              clr R20
 0064 07C0              xjmp L16
 0066           L13:
 0066                   .dbline 28
 0066                   .dbline 29
 0066 E42F              mov R30,R20
 0068 FF27              clr R31
 006A EA0D              add R30,R10
 006C FB1D              adc R31,R11
 006E 0081              ldd R16,z+0
 0070 C7DF              xcall _AD9852_ByteSend
 0072                   .dbline 30
 0072           L14:
 0072                   .dbline 27

⌨️ 快捷键说明

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