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

📄 mainloop.lis

📁 D12固件程序
💻 LIS
字号:
                        .module Mainloop.c
                        .area vector(rom, abs)
                        .org 2
 0002 00C0              rjmp _D12_int
                        .area data(ram, con, rel)
 0000           _o::
 0000                   .blkb 2
                        .area idata
 0000 0100              .word 1
                        .area data(ram, con, rel)
 0002                   .dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
 0002                   .dbsym e o _o I
                        .area text(rom, con, rel)
 0000                   .dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
 0000                   .dbfunc e main _main fV
 0000           ;            xue -> <dead>
 0000           ;              j -> <dead>
 0000           ;              i -> R16
 0000           ;              m -> R16,R17
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 18
 0000           ; #include "io8515v.h"
 0000           ; #include <macros.h>
 0000           ; 
 0000           ; #include "d12head.h"
 0000           ; 
 0000           ; #pragma interrupt_handler D12_int:2
 0000           ; 
 0000           ; int shu[3];
 0000           ; int o=1;
 0000           ; int u;
 0000           ; 
 0000           ; /*薛注释,how to use interrupt in iccavr:
 0000           ; #pragma interrupt_handler timer:4 timer:5
 0000           ; 中断向量4 和5 都指向中断处理函数timer( )
 0000           ; */
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 19
 0000           ;       unsigned char i=0,j,xue;
 0000 0027              clr R16
 0002                   .dbline 20
 0002           ;       int m=0;
 0002 1127              clr R17
 0004                   .dbline 22
 0004           ;       
 0004           ;       SPL = 0x5f;
 0004 8FE5              ldi R24,95
 0006 8DBF              out 0x3d,R24
 0008                   .dbline 23
 0008           ;       SPH = 0x02;
 0008 82E0              ldi R24,2
 000A 8EBF              out 0x3e,R24
 000C                   .dbline 25
 000C           ;       
 000C           ;       PORTC = 0xff;
 000C 8FEF              ldi R24,255
 000E 85BB              out 0x15,R24
 0010                   .dbline 26
 0010           ;       DDRC  = 0xff;//保持状态
 0010 84BB              out 0x14,R24
 0012                   .dbline 33
 0012           ;       
 0012           ;       //先CPLD复位(PD.4),然后FIFO复位(PB.6),接着使能时钟(PB.7),
 0012           ;       //最后开始积分命令(PB.2)!
 0012           ;       ////DDRB = 0xfc;   //11111100
 0012           ;       ////PORTB = 0xbc;     //10111100//FIFO复位//不使能时钟
 0012           ;       
 0012           ;     DDRA  = 0xff; //关闭上拉电阻,使正确读写外部SRAM
 0012 8ABB              out 0x1a,R24
 0014                   .dbline 34
 0014           ;       GIMSK = 0x00;
 0014 2224              clr R2
 0016 2BBE              out 0x3b,R2
 0018                   .dbline 35
 0018           ;       MCUCR = 0xc4;//asm("OUT 0x35,R20"); 1100 0100 中断0设置为低电平触发
 0018 84EC              ldi R24,196
 001A 85BF              out 0x35,R24
 001C                   .dbline 37
 001C           ;       
 001C           ;       UCR  = 0x00;    //设置fifoPD1
 001C 2AB8              out 0xa,R2
 001E                   .dbline 38
 001E           ;       DDRD=0xfb;
 001E 8BEF              ldi R24,251
 0020 81BB              out 0x11,R24
 0022                   .dbline 39
 0022           ;       PORTD=0xdd;
 0022 8DED              ldi R24,221
 0024 82BB              out 0x12,R24
 0026                   .dbline 40
 0026           ;       for(m=0;m<6;m++)
 0026           L8:
 0026                   .dbline 41
 0026 0000              nop
 0028           L9:
 0028                   .dbline 40
 0028 0F5F              subi R16,255  ; offset = 1
 002A 1F4F              sbci R17,255
 002C                   .dbline 40
 002C 0630              cpi R16,6
 002E E0E0              ldi R30,0
 0030 1E07              cpc R17,R30
 0032 CCF3              brlt L8
 0034                   .dbline 41
 0034           ;       cwait1;
 0034 0000              nop
 0036                   .dbline 42
 0036           ;       PORTD=0xdf;
 0036 8FED              ldi R24,223
 0038 82BB              out 0x12,R24
 003A                   .dbline 44
 003A           ;       
 003A           ;       DDRB=0x00;
 003A 2224              clr R2
 003C 27BA              out 0x17,R2
 003E                   .dbline 45
 003E           ;       DDRC  = 0x00;
 003E 24BA              out 0x14,R2
 0040                   .dbline 46
 0040           ;       D12_COMMAND = 0xf3;
 0040 83EF              ldi R24,243
 0042 8093017F          sts 32513,R24
 0046                   .dbline 47
 0046           ;       cwait;
 0046 0000              nop
 0048                   .dbline 48
 0048           ;       D12_DATA = 0x06;//设置模式0
 0048 86E0              ldi R24,6
 004A 8093007F          sts 32512,R24
 004E                   .dbline 49
 004E           ;       cwait;
 004E 0000              nop
 0050                   .dbline 54
 0050           ;       ///D12_COMMAND = 0xd0;
 0050           ;       ///cwait;
 0050           ;       ///D12_DATA = 0x80;//设置地址 0 使能
 0050           ;       ///cwait;
 0050           ;       D12_COMMAND = 0xf3;//连接主机
 0050 83EF              ldi R24,243
 0052 8093017F          sts 32513,R24
 0056                   .dbline 55
 0056           ;       cwait;
 0056 0000              nop
 0058                   .dbline 56
 0058           ;       D12_DATA = 0x16;//16
 0058 86E1              ldi R24,22
 005A 8093007F          sts 32512,R24
 005E                   .dbline 57
 005E           ;       cwait;
 005E 0000              nop
 0060                   .dbline 58
 0060           ;       D12_DATA = 0x05;//初始化频率 8MHz
 0060 85E0              ldi R24,5
 0062 8093007F          sts 32512,R24
 0066                   .dbline 59
 0066           ;       csram;
 0066 609301FC          sts 0xfc01,R22
 006A                   .dbline 59
 006A                   .dbline 61
 006A           ;       
 006A           ;       SREG = 0x80;//全局中断使能
 006A 80E8              ldi R24,128
 006C 8FBF              out 0x3f,R24
 006E                   .dbline 62
 006E           ;       GIMSK = 0x40;
 006E 80E4              ldi R24,64
 0070 8BBF              out 0x3b,R24
 0072                   .dbline 66
 0072           ;       //TCNT0 = 0x85;
 0072           ;       //TIMSK = 0x02; //启动计时器0中断
 0072           ;       
 0072           ;       TCCR1B = 0xc0;//启动ICP上升沿出入捕获
 0072 80EC              ldi R24,192
 0074 8EBD              out 0x2e,R24
 0076           L12:
 0076                   .dbline 77
 0076                   .dbline 101
 0076           L13:
 0076                   .dbline 76
 0076 FFCF              rjmp L12
 0078           X0:
 0078                   .dbline -2
 0078                   .dbline 106
 0078           ;       
 0078           ;       //UCR  = 0x00; //disable while setting baud rate
 0078           ;       //UBRR = 25; //set baud rate 19.2K 波特率
 0078           ;       //UCR  = 0x1d; //enable 0001 1101
 0078           ;       
 0078           ;       
 0078           ;       
 0078           ;               
 0078           ;       
 0078           ;       while(1)
 0078           ;       {
 0078           ; /*            if(bconfig==1)
 0078           ;               {
 0078           ;                       
 0078           ;                       if(o==1)
 0078           ;                       {
 0078           ;                               o=0;
 0078           ;                               D12_COMMAND=0x05;
 0078           ;                               D12_COMMAND=0xf0;
 0078           ;                               D12_DATA=0;
 0078           ;                               D12_DATA=64;
 0078           ;                               D12_DATA=0xaa;
 0078           ;                               D12_DATA=0xcc;
 0078           ;                               D12_DATA=0xee;
 0078           ;                               D12_DATA=0xff;
 0078           ;                               for( u=0;u<60;u++)
 0078           ;                                       D12_DATA=u;
 0078           ;                               D12_COMMAND=0xfa;
 0078           ;                       }
 0078           ;               }
 0078           ;               
 0078           ; */            
 0078           ;               
 0078           ;               
 0078           ;       }       
 0078           ;       
 0078           ;       
 0078           ;       
 0078           ;       
 0078           ; }
 0078           L7:
 0078                   .dbline 0 ; func end
 0078 0895              ret
 007A                   .dbsym l xue 1 c
 007A                   .dbsym l j 1 c
 007A                   .dbsym r i 16 c
 007A                   .dbsym r m 16 I
 007A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
 0000           _u::
 0000                   .blkb 2
 0002                   .dbsym e u _u I
 0002           _shu::
 0002                   .blkb 6
 0008                   .dbsym e shu _shu A[6:3]I

⌨️ 快捷键说明

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