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

📄 111.lis

📁 温度测量ds18b20.rar
💻 LIS
字号:
                        .module _111.c
                        .area text(rom, con, rel)
 0000                   .dbfile ..\..\..\..\PROTEU~2\5.avr\19.温度测量ds18b20\3.开搞ds18b20\111.c
 0000                   .dbfile D:\教程及心得\Proteus\PROTEU~2\5.avr\19.温度测量ds18b20\3.开搞ds18b20\111.c
 0000                   .dbfunc e delay1s _delay1s fV
 0000           ;              i -> R16
 0000           ;              j -> R18
 0000           ;              k -> R20
                        .even
 0000           _delay1s::
 0000 4A93              st -y,R20
 0002                   .dbline -1
 0002                   .dbline 11
 0002           ; //ICC-AVR application builder : 2008/11/19 20:51:44
 0002           ; // Target : M8
 0002           ; // Crystal: 8.0000Mhz
 0002           ; 
 0002           ; #include <iom8v.h>
 0002           ; #include <macros.h>
 0002           ; #include "mydelay.h"
 0002           ; #include "ds18b20.h"
 0002           ; 
 0002           ; void delay1s(void)
 0002           ; {
 0002                   .dbline 13
 0002           ;  unsigned char i,j,k;
 0002           ;  for (i=100;i>0;i--)
 0002 04E6              ldi R16,100
 0004 0DC0              rjmp L5
 0006           L2:
 0006                   .dbline 14
 0006           ;   for (j=100;j>0;j--)
 0006 24E6              ldi R18,100
 0008 07C0              rjmp L9
 000A           L6:
 000A                   .dbline 15
 000A           ;    for (k=20;k>0;k--)
 000A 44E1              ldi R20,20
 000C 01C0              rjmp L13
 000E           L10:
 000E                   .dbline 16
 000E           ;     ;
 000E           L11:
 000E                   .dbline 15
 000E 4A95              dec R20
 0010           L13:
 0010                   .dbline 15
 0010 80E0              ldi R24,0
 0012 8417              cp R24,R20
 0014 E0F3              brlo L10
 0016           X0:
 0016           L7:
 0016                   .dbline 14
 0016 2A95              dec R18
 0018           L9:
 0018                   .dbline 14
 0018 80E0              ldi R24,0
 001A 8217              cp R24,R18
 001C B0F3              brlo L6
 001E           X1:
 001E           L3:
 001E                   .dbline 13
 001E 0A95              dec R16
 0020           L5:
 0020                   .dbline 13
 0020 80E0              ldi R24,0
 0022 8017              cp R24,R16
 0024 80F3              brlo L2
 0026           X2:
 0026                   .dbline -2
 0026           L1:
 0026                   .dbline 0 ; func end
 0026 4991              ld R20,y+
 0028 0895              ret
 002A                   .dbsym r i 16 c
 002A                   .dbsym r j 18 c
 002A                   .dbsym r k 20 c
 002A                   .dbend
 002A                   .dbfunc e port_init _port_init fV
                        .even
 002A           _port_init::
 002A                   .dbline -1
 002A                   .dbline 19
 002A           ; }
 002A           ; void port_init(void)
 002A           ; {
 002A                   .dbline 20
 002A           ;  PORTB = 0x00;
 002A 2224              clr R2
 002C 28BA              out 0x18,R2
 002E                   .dbline 21
 002E           ;  DDRB  = 0xff;
 002E 8FEF              ldi R24,255
 0030 87BB              out 0x17,R24
 0032                   .dbline 22
 0032           ;  PORTC = 0x00; //m103 output only
 0032 25BA              out 0x15,R2
 0034                   .dbline 23
 0034           ;  DDRC  = 0x00;
 0034 24BA              out 0x14,R2
 0036                   .dbline 24
 0036           ;  PORTD = 0x00;
 0036 22BA              out 0x12,R2
 0038                   .dbline 25
 0038           ;  DDRD  = 0xff;
 0038 81BB              out 0x11,R24
 003A                   .dbline -2
 003A           L14:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbend
 003C                   .dbfunc e init_devices _init_devices fV
                        .even
 003C           _init_devices::
 003C                   .dbline -1
 003C                   .dbline 30
 003C           ; }
 003C           ; 
 003C           ; //call this routine to initialize all peripherals
 003C           ; void init_devices(void)
 003C           ; {
 003C                   .dbline 32
 003C           ;  //stop errant interrupts until set up
 003C           ;  CLI(); //disable all interrupts
 003C F894              cli
 003E                   .dbline 33
 003E           ;  port_init();
 003E F5DF              rcall _port_init
 0040                   .dbline 35
 0040           ; 
 0040           ;  MCUCR = 0x00;
 0040 2224              clr R2
 0042 25BE              out 0x35,R2
 0044                   .dbline 36
 0044           ;  GICR  = 0x00;
 0044 2BBE              out 0x3b,R2
 0046                   .dbline 37
 0046           ;  TIMSK = 0x00; //timer interrupt sources
 0046 29BE              out 0x39,R2
 0048                   .dbline 38
 0048           ;  SEI(); //re-enable interrupts
 0048 7894              sei
 004A                   .dbline -2
 004A           L15:
 004A                   .dbline 0 ; func end
 004A 0895              ret
 004C                   .dbend
 004C                   .dbfunc e main _main fV
 004C           ;          dataH -> R10
 004C           ;          dataL -> R12
 004C           ;           data -> R10,R11
                        .even
 004C           _main::
 004C                   .dbline -1
 004C                   .dbline 43
 004C           ;  //all peripherals are now initialized
 004C           ; }
 004C           ; 
 004C           ; void main(void)
 004C           ; {
 004C                   .dbline 46
 004C           ;  unsigned int data;
 004C           ;  unsigned char dataL,dataH;
 004C           ;  init_devices(); 
 004C F7DF              rcall _init_devices
 004E 07C0              rjmp L18
 0050           L17:
 0050                   .dbline 48
 0050           ;  while(1)
 0050           ;  {
 0050                   .dbline 49
 0050           ;    convert();
 0050 00D0              rcall _convert
 0052                   .dbline 50
 0052           ;    data=rdtemp();
 0052 00D0              rcall _rdtemp
 0054 5801              movw R10,R16
 0056                   .dbline 51
 0056           ;    dataL=data;
 0056 CA2C              mov R12,R10
 0058                   .dbline 52
 0058           ;    dataH=data>>8;
 0058 AB2C              mov R10,R11
 005A BB24              clr R11
 005C                   .dbline 53
 005C           ;  delay1s();
 005C D1DF              rcall _delay1s
 005E                   .dbline 54
 005E           ;  }
 005E           L18:
 005E                   .dbline 47
 005E F8CF              rjmp L17
 0060           X3:
 0060                   .dbline -2
 0060           L16:
 0060                   .dbline 0 ; func end
 0060 0895              ret
 0062                   .dbsym r dataH 10 c
 0062                   .dbsym r dataL 12 c
 0062                   .dbsym r data 10 i
 0062                   .dbend
 0062           ; }

⌨️ 快捷键说明

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