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

📄 mian1.lis

📁 手操器
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00CE           ;  UCSRA = 0x00;
 00CE 2BB8              out 0xb,R2
 00D0                   .dbline 84
 00D0           ;  UCSRC = BIT(URSEL) | 0x06;
 00D0 86E8              ldi R24,134
 00D2 80BD              out 0x20,R24
 00D4                   .dbline 85
 00D4           ;  UBRRL = 0x33; //set baud rate lo
 00D4 83E3              ldi R24,51
 00D6 89B9              out 0x9,R24
 00D8                   .dbline 86
 00D8           ;  UBRRH = 0x00; //set baud rate hi
 00D8 20BC              out 0x20,R2
 00DA                   .dbline 87
 00DA           ;  UCSRB = 0x90;
 00DA 80E9              ldi R24,144
 00DC 8AB9              out 0xa,R24
 00DE                   .dbline -2
 00DE           L15:
 00DE                   .dbline 0 ; func end
 00DE 0895              ret
 00E0                   .dbend
 00E0                   .dbfunc e spi_init _spi_init fV
                        .even
 00E0           _spi_init::
 00E0                   .dbline -1
 00E0                   .dbline 102
 00E0           ; }
 00E0           ; 
 00E0           ; //-------------------------------------------------------------
 00E0           ; /*
 00E0           ; #pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
 00E0           ; void uart0_rx_isr(void)
 00E0           ; {
 00E0           ;       command= UDR;//uart has received a character in UDR
 00E0           ;       
 00E0           ; }*/
 00E0           ; //-------------------------------------------------------------
 00E0           ; //SPI initialize
 00E0           ; // clock rate: 2000000hz
 00E0           ; void spi_init(void)
 00E0           ; {
 00E0                   .dbline 103
 00E0           ;  SPCR = 0x50; //setup SPI
 00E0 80E5              ldi R24,80
 00E2 8DB9              out 0xd,R24
 00E4                   .dbline 104
 00E4           ;  SPSR = 0x00; //setup SPI
 00E4 2224              clr R2
 00E6 2EB8              out 0xe,R2
 00E8                   .dbline -2
 00E8           L16:
 00E8                   .dbline 0 ; func end
 00E8 0895              ret
 00EA                   .dbend
 00EA                   .dbfunc e init_devices _init_devices fV
                        .even
 00EA           _init_devices::
 00EA                   .dbline -1
 00EA                   .dbline 109
 00EA           ; }
 00EA           ; //call this routine to initialize all peripherals
 00EA           ; //-------------------------------------------------------------
 00EA           ; void init_devices(void)
 00EA           ; {
 00EA                   .dbline 111
 00EA           ;  //stop errant interrupts until set up
 00EA           ;  CLI(); //disable all interrupts
 00EA F894              cli
 00EC                   .dbline 112
 00EC           ;  port_init();
 00EC 89DF              rcall _port_init
 00EE                   .dbline 113
 00EE           ;  timer0_init();
 00EE 94DF              rcall _timer0_init
 00F0                   .dbline 114
 00F0           ;  timer1_init();
 00F0 D5DF              rcall _timer1_init
 00F2                   .dbline 116
 00F2           ;  //uart0_init();
 00F2           ;  spi_init();
 00F2 F6DF              rcall _spi_init
 00F4                   .dbline 118
 00F4           ;  
 00F4           ;  MCUCR = 0x00;
 00F4 2224              clr R2
 00F6 25BE              out 0x35,R2
 00F8                   .dbline 119
 00F8           ;  GICR  = 0x00;
 00F8 2BBE              out 0x3b,R2
 00FA                   .dbline 120
 00FA           ;  TIMSK = 0x01; //timer interrupt sources
 00FA 81E0              ldi R24,1
 00FC 89BF              out 0x39,R24
 00FE                   .dbline 121
 00FE           ;  SEI(); //re-enable interrupts
 00FE 7894              sei
 0100                   .dbline -2
 0100           L17:
 0100                   .dbline 0 ; func end
 0100 0895              ret
 0102                   .dbend
 0102                   .dbfunc e Reset_Meter _Reset_Meter fc
                        .even
 0102           _Reset_Meter::
 0102 2397              sbiw R28,3
 0104                   .dbline -1
 0104                   .dbline 127
 0104           ;  //all peripherals are now initialized
 0104           ; }
 0104           ; 
 0104           ; //-------------------------------------------------------------
 0104           ; u8 Reset_Meter(void)
 0104           ; {
 0104                   .dbline 129
 0104           ;        
 0104           ;       init_devices();
 0104 F2DF              rcall _init_devices
 0106                   .dbline 130
 0106           ;       EEPROMReadBytes(0,(u8 *)(& Cal),6); 
 0106 86E0              ldi R24,6
 0108 90E0              ldi R25,0
 010A 9983              std y+1,R25
 010C 8883              std y+0,R24
 010E 20E0              ldi R18,<_Cal
 0110 30E0              ldi R19,>_Cal
 0112 0027              clr R16
 0114 1127              clr R17
 0116 00D0              rcall _EEPROMReadBytes
 0118                   .dbline 131
 0118           ;       disbuff0=Table[1];
 0118 20900100          lds R2,_Table+1
 011C 20921300          sts _disbuff+7,R2
 0120                   .dbline 132
 0120           ;       disbuff1=Table[2];
 0120 20900200          lds R2,_Table+2
 0124 20921200          sts _disbuff+6,R2
 0128                   .dbline 133
 0128           ;       disbuff2=Table[3];
 0128 20900300          lds R2,_Table+3
 012C 20921100          sts _disbuff+5,R2
 0130                   .dbline 134
 0130           ;       disbuff3=Table[4];
 0130 20900400          lds R2,_Table+4
 0134 20921000          sts _disbuff+4,R2
 0138                   .dbline 135
 0138           ;       disbuff4=Table[5];
 0138 20900500          lds R2,_Table+5
 013C 20920F00          sts _disbuff+3,R2
 0140                   .dbline 136
 0140           ;       disbuff5=Table[6];
 0140 20900600          lds R2,_Table+6
 0144 20920E00          sts _disbuff+2,R2
 0148                   .dbline 137
 0148           ;       disbuff6=Table[7];
 0148 20900700          lds R2,_Table+7
 014C 20920D00          sts _disbuff+1,R2
 0150                   .dbline 138
 0150           ;       disbuff7=Table[8];
 0150 20900800          lds R2,_Table+8
 0154 20920C00          sts _disbuff,R2
 0158                   .dbline 140
 0158           ;       
 0158           ;       Clr_RST();
 0158 82B3              in R24,0x12
 015A 877F              andi R24,247
 015C 82BB              out 0x12,R24
 015E                   .dbline 141
 015E           ;       Delay(4000);
 015E 00EA              ldi R16,160
 0160 1FE0              ldi R17,15
 0162 20E0              ldi R18,0
 0164 30E0              ldi R19,0
 0166 12D5              rcall _Delay
 0168                   .dbline 142
 0168           ;       Set_RST();
 0168 939A              sbi 0x12,3
 016A                   .dbline 143
 016A           ;       CS5460a_Write(SYNC1,SYNC1,SYNC1,SYNC0); 
 016A 8EEF              ldi R24,254
 016C 8A83              std y+2,R24
 016E 8FEF              ldi R24,255
 0170 8883              std y+0,R24
 0172 2FEF              ldi R18,255
 0174 0FEF              ldi R16,255
 0176 00D0              rcall _CS5460a_Write
 0178                   .dbline 144
 0178           ;       CS5460A_REG_WR(0,0x00,0x00,0x71);
 0178 81E7              ldi R24,113
 017A 8A83              std y+2,R24
 017C 2224              clr R2
 017E 2882              std y+0,R2
 0180 2227              clr R18
 0182 0027              clr R16
 0184 00D0              rcall _CS5460A_REG_WR
 0186                   .dbline 145
 0186           ;       CS5460A_REG_WR(15,0xff,0xff,0xff);
 0186 8FEF              ldi R24,255
 0188 8A83              std y+2,R24
 018A 8883              std y+0,R24
 018C 2FEF              ldi R18,255
 018E 0FE0              ldi R16,15
 0190 00D0              rcall _CS5460A_REG_WR
 0192                   .dbline 146
 0192           ;       CS5460A_REG_WR(26,0x80,0x00,0x00);
 0192 2224              clr R2
 0194 2A82              std y+2,R2
 0196 2882              std y+0,R2
 0198 20E8              ldi R18,128
 019A 0AE1              ldi R16,26
 019C 00D0              rcall _CS5460A_REG_WR
 019E                   .dbline 149
 019E           ; 
 019E           ; //    CS5460A_REG_WR(U_GAIN,UK_H,UK_M,UK_L);
 019E           ;       Delay(1000);
 019E 08EE              ldi R16,232
 01A0 13E0              ldi R17,3
 01A2 20E0              ldi R18,0
 01A4 30E0              ldi R19,0
 01A6 F2D4              rcall _Delay
 01A8                   .dbline 151
 01A8           ; //    CS5460A_REG_WR(I_GAIN,IK_H,IK_M,IK_L);
 01A8           ;       Delay(1000);
 01A8 08EE              ldi R16,232
 01AA 13E0              ldi R17,3
 01AC 20E0              ldi R18,0
 01AE 30E0              ldi R19,0
 01B0 EDD4              rcall _Delay
 01B2                   .dbline 152
 01B2           ;       CS5460a_Write_Byte(0xe8);
 01B2 08EE              ldi R16,232
 01B4 00D0              rcall _CS5460a_Write_Byte
 01B6                   .dbline 153
 01B6           ;       CalTemp=0;
 01B6 2224              clr R2
 01B8 3324              clr R3
 01BA 30920400          sts _CalTemp+1,R3
 01BE 20920300          sts _CalTemp,R2
 01C2                   .dbline 154
 01C2           ;       Per=1800;
 01C2 88E0              ldi R24,1800
 01C4 97E0              ldi R25,7
 01C6 90930200          sts _Per+1,R25
 01CA 80930100          sts _Per,R24
 01CE                   .dbline 155
 01CE           ;       return(GOTO_WAIT);       
 01CE 01E0              ldi R16,1
 01D0                   .dbline -2
 01D0           L18:
 01D0                   .dbline 0 ; func end
 01D0 2396              adiw R28,3
 01D2 0895              ret
 01D4                   .dbend
 01D4                   .dbfunc e Wait _Wait fc
 01D4           ;           temp -> y+0
                        .even
 01D4           _Wait::
 01D4 00D0              rcall push_xgsetF000
 01D6 2497              sbiw R28,4
 01D8                   .dbline -1
 01D8                   .dbline 159
 01D8           ; }
 01D8           ; //-------------------------------------------------------------
 01D8           ; u8 Wait(void)
 01D8           ; {     
 01D8                   .dbline 172
 01D8           ;       unsigned long temp;
 01D8           ;       //return(GOTO_WAIT);    
 01D8           ;       //temp= CS5460a_Read(5);
 01D8           ;       /*disbuff3=Table[temp&0xf];
 01D8           ;       temp>>=4;
 01D8           ;       disbuff2=Table[temp&0xf];
 01D8           ;       temp>>=4;
 01D8           ;       disbuff1=Table[temp&0xf];
 01D8           ;       temp>>=4;
 01D8           ;       disbuff0=Table[temp&0xf];
 01D8           ; */
 01D8           ;               
 01D8           ;       if(SetKey==0)
 01D8 B099              sbic 0x16,0
 01DA 2EC0              rjmp L35
 01DC           X3:
 01DC                   .dbline 173
 01DC           ;       {
 01DC                   .dbline 174
 01DC           ;               Delay(10);
 01DC 0AE0              ldi R16,10
 01DE 10E0              ldi R17,0
 01E0 20E0              ldi R18,0
 01E2 30E0              ldi R19,0
 01E4 D3D4              rcall _Delay
 01E6                   .dbline 175
 01E6           ;               if(SetKey==0)
 01E6 B099              sbic 0x16,0
 01E8 27C0              rjmp L37
 01EA           X4:
 01EA                   .dbline 176
 01EA           ;               {
 01EA                   .dbline 177
 01EA           ;                       Cal.OutH=0x325C;
 01EA 8CE5              ldi R24,12892
 01EC 92E3              ldi R25,50
 01EE 90930A00          sts _Cal+4+1,R25
 01F2 80930900          sts _Cal+4,R24
 01F6                   .dbline 178
 01F6           ;                       OCR1B=Cal.OutH; 
 01F6 99BD              out 0x29,R25
 01F8 88BD              out 0x28,R24
 01FA                   .dbline 179
 01FA           ;                       CalTemp=0;
 01FA 2224              clr R2
 01FC 3324              clr R3
 01FE 30920400          sts _CalTemp+1,R3
 0202 20920300          sts _CalTemp,R2
 0206                   .dbline 180
 0206           ;                       disbuff0=Table[20];
 0206 20901400          lds R2,_Table+20
 020A 20921300          sts _disbuff+7,R2
 020E                   .dbline 181
 020E           ;                       disbuff1=Table[18];
 020E 20901200          lds R2,_Table+18
 0212 20921200          sts _disbuff+6,R2
 0216                   .dbline 182
 0216           ;                       disbuff2=Table[19];
 0216 20901300          lds R2,_Table+19
 021A 20921100          sts _disbuff+5,R2
 021E                   .dbline 183
 021E           ;                       disbuff3=Table[22];
 021E 20901600          lds R2,_Table+22
 0222 20921000          sts _disbuff+4,R2
 0226                   .dbline 184
 0226           ;                       Delay(50000);
 0226 00E5              ldi R16,80
 0228 13EC              ldi R17,195
 022A 20E0              ldi R18,0
 022C 30E0              ldi R19,0
 022E AED4              rcall _Delay
 0230           L49:
 0230                   .dbline 185
 0230           ;                       while(SetKey==0);
 0230           L50:
 0230                   .dbline 185
 0230 B09B              sbis 0x16,0

⌨️ 快捷键说明

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