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

📄 main01.lis

📁 前段时间做的一个东西,用的24位高精度AD转换芯片CS5532和12DA转换器max531的AVR驱动.芯片用的是ATMEGA8515,开发环境ICCAVR.CS5532的内部寄存器太多,设置有些复杂
💻 LIS
字号:
                         .module main01.c
                         .area text(rom, con, rel)
 0000                   .dbfile C:\icc\project\cs5532\main01.c
 0000                   .dbfunc s main _main fI
                       ;       main_int -> <dead>
                       ;         main_i -> R20
                       ;         main_j -> R22
                       ;         main_k -> R10
                         .even
 0000                 _main::
 0000                   .dbline -1
 0000                   .dbline 27
                       ; #include<io8515.h> 
                       ; //**************************************
                       ; //**************************************************
                       ; //PC1-CS5522_CS  PC0-CS5522_SCLK   PB4-CS5522_SDO  
                       ; //PB3-CS5522_SDI
                       ; //****************************************************
                       ; #define cs    0b00000010
                       ; #define sclk  0b00000001
                       ; #define sdi   0b00001000
                       ; #define sdo   0b00010000
                       ; //************************************
                       ; #define unch    unsigned char
                       ; //*************************************
                       ; 
                       ; extern unsigned char data[3];  //receive cs5522's number;
                       ; void Cacu_Display(unsigned char tempCaH,unsigned char tempCaL);
                       ; void ADC(unsigned char ADCtemp);
                       ; void F_Word(unch write1,unch write2,unch write3,unch write4);
                       ; void ReceiveData(void);
                       ; 
                       ;  void prosses(void);
                       ; 
                       ; 
                       ; void DAconvter(unsigned char DA_hight,unsigned char DA_low);
                       ; void InitCs(void);
                       ;  main()
                       ;      {  
 0000                   .dbline 32
                       ;          unsigned char main_i,main_j,main_k;
                       ;          unsigned int main_int;
                       ;          //DAconvter(0b00000000,0b10101111);
                       ;                     
                       ;          main_i=70;
 0000 46E4              ldi R20,70
 0002 0CC0              rjmp L3
 0004                 L2:
 0004                   .dbline 34
                       ;          while(main_i)
                       ;                {   main_j=0xff;
 0004                   .dbline 34
 0004 6FEF              ldi R22,255
 0006 07C0              rjmp L6
 0008                 L5:
 0008                   .dbline 36
                       ;                    while(main_j)
                       ;                         {
 0008                   .dbline 37
                       ;                            main_k=0xff;
 0008 8FEF              ldi R24,255
 000A A82E              mov R10,R24
 000C 01C0              rjmp L9
 000E                 L8:
 000E                   .dbline 39
 000E                   .dbline 40
 000E AA94              dec R10
 0010                   .dbline 41
 0010                 L9:
 0010                   .dbline 38
 0010 AA20              tst R10
 0012 E9F7              brne L8
 0014                   .dbline 42
 0014 6A95              dec R22
 0016                   .dbline 43
 0016                 L6:
 0016                   .dbline 35
 0016 6623              tst R22
 0018 B9F7              brne L5
 001A                   .dbline 44
 001A 4A95              dec R20
 001C                   .dbline 45
 001C                 L3:
 001C                   .dbline 33
 001C 4423              tst R20
 001E 91F7              brne L2
 0020                   .dbline 46
                       ;                            while(main_k)
                       ;                                {
                       ;                                  main_k--;
                       ;                                }
                       ;                            main_j--;
                       ;                         }
                       ;                     main_i--;
                       ;                }    
                       ;         DAconvter(0b00001100,0b10101111);           
 0020 2FEA              ldi R18,175
 0022 0CE0              ldi R16,12
 0024 00D0              rcall _DAconvter
 0026                   .dbline 47
                       ;         InitCs();   //cs5522初始化 
 0026 00D0              rcall _InitCs
 0028 18C0              rjmp L12
 002A                 L11:
 002A                   .dbline 51
                       ;         
                       ;         
                       ;         while(1)
                       ;         {
 002A                   .dbline 53
                       ;         
                       ;          ADC(0x80);      
 002A 00E8              ldi R16,128
 002C 00D0              rcall _ADC
 002E                   .dbline 54
                       ;          ReceiveData();//接收数据   
 002E 00D0              rcall _ReceiveData
 0030                   .dbline 56
                       ;         // prosses();        
                       ;          Cacu_Display(data[2],data[1]);
 0030 20910100          lds R18,_data+1
 0034 00910200          lds R16,_data+2
 0038 00D0              rcall _Cacu_Display
 003A                   .dbline 58
                       ;          //--------------------------
                       ;          main_i=10;
 003A 4AE0              ldi R20,10
 003C 0CC0              rjmp L17
 003E                 L16:
 003E                   .dbline 60
                       ;          while(main_i)
                       ;                {   main_j=0xff;
 003E                   .dbline 60
 003E 6FEF              ldi R22,255
 0040 07C0              rjmp L20
 0042                 L19:
 0042                   .dbline 62
                       ;                    while(main_j)
                       ;                         {
 0042                   .dbline 63
                       ;                            main_k=0xff;
 0042 8FEF              ldi R24,255
 0044 A82E              mov R10,R24
 0046 01C0              rjmp L23
 0048                 L22:
 0048                   .dbline 65
 0048                   .dbline 66
 0048 AA94              dec R10
 004A                   .dbline 67
 004A                 L23:
 004A                   .dbline 64
 004A AA20              tst R10
 004C E9F7              brne L22
 004E                   .dbline 68
 004E 6A95              dec R22
 0050                   .dbline 69
 0050                 L20:
 0050                   .dbline 61
 0050 6623              tst R22
 0052 B9F7              brne L19
 0054                   .dbline 70
 0054 4A95              dec R20
 0056                   .dbline 71
 0056                 L17:
 0056                   .dbline 59
 0056 4423              tst R20
 0058 91F7              brne L16
 005A                   .dbline 73
 005A                 L12:
 005A                   .dbline 50
 005A E7CF              rjmp L11
 005C                 X0:
 005C                   .dbline -2
 005C                   .dbline 81
                       ;                            while(main_k)
                       ;                                {
                       ;                                  main_k--;
                       ;                                }
                       ;                            main_j--;
                       ;                         }
                       ;                     main_i--;
                       ;                }    
                       ;          //-------------------------
                       ;          }
                       ;          
                       ; //----------------------------------
                       ;         
                       ; //___________________________________________                    
                       ;          
                       ;         
                       ; //*****************************************
                       ;        }
 005C                 L1:
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbsym l main_int 1 i
 005E                   .dbsym r main_i 20 c
 005E                   .dbsym r main_j 22 c
 005E                   .dbsym r main_k 10 c

⌨️ 快捷键说明

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