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

📄 measure.lis

📁 ATmega128单片机对SHT7x温湿度传感器的驱动程序。编译环境:ICC AVR
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02B6 8460              ori R24,4
 02B8 80936200          sts 98,R24
 02BC                   .dbline 183
 02BC           ;       _NOP();                          //clk for SENSI-BUS
 02BC 0000              nop
 02BE                   .dbline 184
 02BE 80B1              in R24,0x0
 02C0 8270              andi R24,2
 02C2 09F0              breq L23
 02C4           X9:
 02C4                   .dbline 184
 02C4           ;     if (PINF&0x02) val=(val | i);        //read bit  
 02C4 A42A              or R10,R20
 02C6           L23:
 02C6                   .dbline 185
 02C6           ;     PORTF &=0xfb;//SCK=0;
 02C6 80916200          lds R24,98
 02CA 8B7F              andi R24,251
 02CC 80936200          sts 98,R24
 02D0                   .dbline 186
 02D0           ;       _NOP();                  
 02D0 0000              nop
 02D2                   .dbline 187
 02D2           ;   }
 02D2                   .dbline 188
 02D2           ;   i=0x40;
 02D2 40E4              ldi R20,64
 02D4                   .dbline 189
 02D4           ;   { PORTF |=0x04;//SCK=1; 
 02D4                   .dbline 189
 02D4 80916200          lds R24,98
 02D8 8460              ori R24,4
 02DA 80936200          sts 98,R24
 02DE                   .dbline 190
 02DE           ;       _NOP();                         //clk for SENSI-BUS
 02DE 0000              nop
 02E0                   .dbline 191
 02E0 80B1              in R24,0x0
 02E2 8270              andi R24,2
 02E4 09F0              breq L25
 02E6           X10:
 02E6                   .dbline 191
 02E6           ;     if (PINF&0x02) val=(val | i);        //read bit  
 02E6 A42A              or R10,R20
 02E8           L25:
 02E8                   .dbline 192
 02E8           ;     PORTF &=0xfb;//SCK=0;  
 02E8 80916200          lds R24,98
 02EC 8B7F              andi R24,251
 02EE 80936200          sts 98,R24
 02F2                   .dbline 193
 02F2           ;     _NOP();                    
 02F2 0000              nop
 02F4                   .dbline 194
 02F4           ;   }
 02F4                   .dbline 195
 02F4           ;   i=0x20;
 02F4 40E2              ldi R20,32
 02F6                   .dbline 196
 02F6           ;   { PORTF |=0x04;//SCK=1; 
 02F6                   .dbline 196
 02F6 80916200          lds R24,98
 02FA 8460              ori R24,4
 02FC 80936200          sts 98,R24
 0300                   .dbline 197
 0300           ;       _NOP();                         //clk for SENSI-BUS
 0300 0000              nop
 0302                   .dbline 198
 0302 80B1              in R24,0x0
 0304 8270              andi R24,2
 0306 09F0              breq L27
 0308           X11:
 0308                   .dbline 198
 0308           ;     if (PINF&0x02) val=(val | i);        //read bit  
 0308 A42A              or R10,R20
 030A           L27:
 030A                   .dbline 199
 030A           ;     PORTF &=0xfb;//SCK=0; 
 030A 80916200          lds R24,98
 030E 8B7F              andi R24,251
 0310 80936200          sts 98,R24
 0314                   .dbline 200
 0314           ;     _NOP();                                    
 0314 0000              nop
 0316                   .dbline 201
 0316           ;   }
 0316                   .dbline 202
 0316           ;   i=0x10;
 0316 40E1              ldi R20,16
 0318                   .dbline 203
 0318           ;   { PORTF |=0x04;//SCK=1;
 0318                   .dbline 203
 0318 80916200          lds R24,98
 031C 8460              ori R24,4
 031E 80936200          sts 98,R24
 0322                   .dbline 204
 0322           ;       _NOP();                          //clk for SENSI-BUS
 0322 0000              nop
 0324                   .dbline 205
 0324 80B1              in R24,0x0
 0326 8270              andi R24,2
 0328 09F0              breq L29
 032A           X12:
 032A                   .dbline 205
 032A           ;     if (PINF&0x02) val=(val | i);        //read bit  
 032A A42A              or R10,R20
 032C           L29:
 032C                   .dbline 206
 032C           ;     PORTF &=0xfb;//SCK=0;
 032C 80916200          lds R24,98
 0330 8B7F              andi R24,251
 0332 80936200          sts 98,R24
 0336                   .dbline 207
 0336           ;     _NOP();                                    
 0336 0000              nop
 0338                   .dbline 208
 0338           ;   }
 0338                   .dbline 209
 0338           ;   i=0x08;
 0338 48E0              ldi R20,8
 033A                   .dbline 210
 033A           ;   { PORTF |=0x04;//SCK=1; 
 033A                   .dbline 210
 033A 80916200          lds R24,98
 033E 8460              ori R24,4
 0340 80936200          sts 98,R24
 0344                   .dbline 211
 0344           ;       _NOP();                         //clk for SENSI-BUS
 0344 0000              nop
 0346                   .dbline 212
 0346 80B1              in R24,0x0
 0348 8270              andi R24,2
 034A 09F0              breq L31
 034C           X13:
 034C                   .dbline 212
 034C           ;     if (PINF&0x02) val=(val | i);        //read bit  
 034C A42A              or R10,R20
 034E           L31:
 034E                   .dbline 213
 034E           ;     PORTF &=0xfb;//SCK=0;
 034E 80916200          lds R24,98
 0352 8B7F              andi R24,251
 0354 80936200          sts 98,R24
 0358                   .dbline 214
 0358           ;     _NOP();                                    
 0358 0000              nop
 035A                   .dbline 215
 035A           ;   }
 035A                   .dbline 216
 035A           ;   i=0x04;
 035A 44E0              ldi R20,4
 035C                   .dbline 217
 035C           ;   { PORTF |=0x04;//SCK=1; 
 035C                   .dbline 217
 035C 80916200          lds R24,98
 0360 8460              ori R24,4
 0362 80936200          sts 98,R24
 0366                   .dbline 218
 0366           ;       _NOP();                         //clk for SENSI-BUS
 0366 0000              nop
 0368                   .dbline 219
 0368 80B1              in R24,0x0
 036A 8270              andi R24,2
 036C 09F0              breq L33
 036E           X14:
 036E                   .dbline 219
 036E           ;     if (PINF&0x02) val=(val | i);        //read bit  
 036E A42A              or R10,R20
 0370           L33:
 0370                   .dbline 220
 0370           ;     PORTF &=0xfb;//SCK=0; 
 0370 80916200          lds R24,98
 0374 8B7F              andi R24,251
 0376 80936200          sts 98,R24
 037A                   .dbline 221
 037A           ;     _NOP();                                    
 037A 0000              nop
 037C                   .dbline 222
 037C           ;   }
 037C                   .dbline 223
 037C           ;   i=0x02;
 037C 42E0              ldi R20,2
 037E                   .dbline 224
 037E           ;   { PORTF |=0x04;//SCK=1; 
 037E                   .dbline 224
 037E 80916200          lds R24,98
 0382 8460              ori R24,4
 0384 80936200          sts 98,R24
 0388                   .dbline 225
 0388           ;       _NOP();                         //clk for SENSI-BUS
 0388 0000              nop
 038A                   .dbline 226
 038A 80B1              in R24,0x0
 038C 8270              andi R24,2
 038E 09F0              breq L35
 0390           X15:
 0390                   .dbline 226
 0390           ;     if (PINF&0x02) val=(val | i);        //read bit  
 0390 A42A              or R10,R20
 0392           L35:
 0392                   .dbline 227
 0392           ;     PORTF &=0xfb;//SCK=0;
 0392 80916200          lds R24,98
 0396 8B7F              andi R24,251
 0398 80936200          sts 98,R24
 039C                   .dbline 228
 039C           ;     _NOP();                                    
 039C 0000              nop
 039E                   .dbline 229
 039E           ;   }
 039E                   .dbline 230
 039E           ;   i=0x01;
 039E 41E0              ldi R20,1
 03A0                   .dbline 231
 03A0           ;   { PORTF |=0x04;//SCK=1;
 03A0                   .dbline 231
 03A0 80916200          lds R24,98
 03A4 8460              ori R24,4
 03A6 80936200          sts 98,R24
 03AA                   .dbline 232
 03AA           ;       _NOP();                         //clk for SENSI-BUS
 03AA 0000              nop
 03AC                   .dbline 233
 03AC 80B1              in R24,0x0
 03AE 8270              andi R24,2
 03B0 09F0              breq L37
 03B2           X16:
 03B2                   .dbline 233
 03B2           ;     if (PINF&0x02) val=(val | i);        //read bit  
 03B2 A42A              or R10,R20
 03B4           L37:
 03B4                   .dbline 234
 03B4           ;     PORTF &=0xfb;//SCK=0;
 03B4 80916200          lds R24,98
 03B8 8B7F              andi R24,251
 03BA 80936200          sts 98,R24
 03BE                   .dbline 235
 03BE           ;     _NOP();                                    
 03BE 0000              nop
 03C0                   .dbline 236
 03C0           ;   }
 03C0                   .dbline 237
 03C0           ;   DDRF |=0x02;
 03C0 80916100          lds R24,97
 03C4 8260              ori R24,2
 03C6 80936100          sts 97,R24
 03CA                   .dbline 238
 03CA           ;   if(ack==0)
 03CA 0023              tst R16
 03CC 39F4              brne L39
 03CE           X17:
 03CE                   .dbline 239
 03CE           ;   {PORTF |=0x02;
 03CE                   .dbline 239
 03CE 80916200          lds R24,98
 03D2 8260              ori R24,2
 03D4 80936200          sts 98,R24
 03D8                   .dbline 240
 03D8           ;   _NOP();
 03D8 0000              nop
 03DA                   .dbline 241
 03DA           ; }
 03DA 06C0              xjmp L40
 03DC           L39:
 03DC                   .dbline 243
 03DC           ;   else
 03DC           ;   {PORTF &=0xfd;
 03DC                   .dbline 243
 03DC 80916200          lds R24,98
 03E0 8D7F              andi R24,253
 03E2 80936200          sts 98,R24
 03E6                   .dbline 244
 03E6           ;   _NOP();
 03E6 0000              nop
 03E8                   .dbline 245
 03E8           ; }
 03E8           L40:
 03E8                   .dbline 247
 03E8           ;   //DATA=!ack;                        //in case of "ack==1" pull down DATA-Line
 03E8           ;   PORTF |=0x04;//SCK=1;                            //clk #9 for ack
 03E8 80916200          lds R24,98
 03EC 8460              ori R24,4
 03EE 80936200          sts 98,R24
 03F2                   .dbline 248
 03F2           ;    _NOP();_NOP();_NOP();
 03F2 0000              nop
 03F4                   .dbline 248
 03F4 0000              nop
 03F6                   .dbline 248
 03F6 0000              nop
 03F8                   .dbline 250
 03F8           ;             //pulswith approx. 5 us 
 03F8           ;   PORTF &=0xfb;//SCK=0;       
 03F8 80916200          lds R24,98
 03FC 8B7F              andi R24,251
 03FE 80936200          sts 98,R24
 0402                   .dbline 251
 0402           ;   _NOP();_NOP();_NOP();
 0402 0000              nop
 0404                   .dbline 251
 0404 0000              nop
 0406                   .dbline 251
 0406 0000              nop
 0408                   .dbline 253
 0408           ;                                           
 0408           ;   PORTF |=0x02;//DATA=1; 
 0408 80916200          lds R24,98
 040C 8260              ori R24,2
 040E 80936200          sts 98,R24
 0412                   .dbline 254
 0412           ;   DDRF &=0xfd; 
 0412 80916100          lds R24,97
 0416 8D7F              andi R24,253
 0418 80936100          sts 97,R24
 041C                   .dbline 255
 041C           ;   _NOP();                      //release DATA-line
 041C 0000              nop
 041E                   .dbline 256
 041E           ;   return val;
 041E 0A2D              mov R16,R10
 0420                   .dbline -2
 0420           L22:
 0420 0E940000          xcall pop_xgsetx
 0424                   .dbline 0 ; func end
 0424 0895              ret
 0426                   .dbsym r val 10 c
 0426                   .dbsym r i 20 c
 0426                   .dbsym r ack 16 c
 0426                   .dbend
 0426                   .dbfunc e s_transstart _s_transstart fV
                        .even
 0426           _s_transstart::

⌨️ 快捷键说明

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