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

📄 main.lis

📁 学习AVR单片机的基础实验程序 适合初学者学习提高
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\AVR\我的程序\开门狗实验/cfg.h
 0000                   .dbfunc e delay_ms _delay_ms fV
 0000           ;              i -> R20,R21
 0000           ;           time -> R16,R17
                        .even
 0000           _delay_ms::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 10
 0004           ; /*************************************************
 0004           ; *实验目的:熟悉开门狗编程
 0004           ; *设    计:萧联珠
 0004           ; *日    期:2007-11-23
 0004           ; *说    明:如果不及时喂狗,那么导致单片机不停复位。
 0004           ; **************************************************/
 0004           ; #include <iom16v.h>
 0004           ; #include "cfg.h"
 0004           ; #include <macros.h>
 0004           ; 
 0004                   .dbline 12
 0004           ; void main()
 0004           ; {
 0004 0AC0              xjmp L5
 0006           L2:
 0006                   .dbline 13
 0006 4427              clr R20
 0008 5527              clr R21
 000A           L6:
 000A                   .dbline 13
 000A           L7:
 000A                   .dbline 13
 000A 4F5F              subi R20,255  ; offset = 1
 000C 5F4F              sbci R21,255
 000E                   .dbline 13
 000E 483E              cpi R20,232
 0010 E3E0              ldi R30,3
 0012 5E07              cpc R21,R30
 0014 D4F3              brlt L6
 0016           L3:
 0016                   .dbline 12
 0016 0150              subi R16,1
 0018 1040              sbci R17,0
 001A           L5:
 001A                   .dbline 12
 001A 2224              clr R2
 001C 3324              clr R3
 001E 2016              cp R2,R16
 0020 3106              cpc R3,R17
 0022 8CF3              brlt L2
 0024                   .dbline -2
 0024           L1:
 0024 0E940000          xcall pop_gset1
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbsym r i 20 I
 002A                   .dbsym r time 16 I
 002A                   .dbend
 002A                   .dbfunc e port_init _port_init fV
                        .even
 002A           _port_init::
 002A                   .dbline -1
 002A                   .dbline 18
 002A           ;   port_init();
 002A           ;   WDTCR|=(1<<WDTOE)|(1<<WDE);          /* 置位 WDTOE 和 WDE*/
 002A           ;   WDTCR=(1<<WDE)|(1<<WDP2)|(1<<WDP1);  /*设定周期为1S*/
 002A           ;   
 002A           ;   display();
 002A           ;   
 002A                   .dbline 19
 002A           ;   while(1)
 002A 8FEF              ldi R24,255
 002C 87BB              out 0x17,R24
 002E                   .dbline 20
 002E           ;   {
 002E 88BB              out 0x18,R24
 0030                   .dbline -2
 0030           L10:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbend
 0032                   .dbfunc e display _display fV
 0032           ;          index -> R20,R21
                        .even
 0032           _display::
 0032 0E940000          xcall push_gset1
 0036                   .dbline -1
 0036                   .dbline 25
 0036           ;    
 0036           ;    PORTB=0xFE;
 0036           ;    WDR();         /*喂狗,通过注释这句可以区别是否喂狗的区别*/
 0036           ;    delay_ms(50);
 0036           ;    PORTB=0xFF;
 0036                   .dbline 27
 0036           ;    delay_ms(50);
 0036           ;   }
 0036 4427              clr R20
 0038 5527              clr R21
 003A           L12:
 003A                   .dbline 28
 003A                   .dbline 29
 003A 01E0              ldi R16,1
 003C 10E0              ldi R17,0
 003E 9A01              movw R18,R20
 0040 0E940000          xcall lsl16
 0044 1801              movw R2,R16
 0046 2094              com R2
 0048 3094              com R3
 004A 28BA              out 0x18,R2
 004C                   .dbline 30
 004C 0AE0              ldi R16,10
 004E 10E0              ldi R17,0
 0050 D7DF              xcall _delay_ms
 0052                   .dbline 31
 0052           L13:
 0052                   .dbline 27
 0052 4F5F              subi R20,255  ; offset = 1
 0054 5F4F              sbci R21,255
 0056                   .dbline 27
 0056 4830              cpi R20,8
 0058 E0E0              ldi R30,0
 005A 5E07              cpc R21,R30
 005C 74F3              brlt L12
 005E                   .dbline -2
 005E           L11:
 005E 0E940000          xcall pop_gset1
 0062                   .dbline 0 ; func end
 0062 0895              ret
 0064                   .dbsym r index 20 I
 0064                   .dbend
 0064                   .dbfile D:\AVR\我的程序\开门狗实验\main.c
 0064                   .dbfunc e main _main fV
                        .even
 0064           _main::
 0064                   .dbline -1
 0064                   .dbline 12
 0064                   .dbline 13
 0064 E2DF              xcall _port_init
 0066                   .dbline 14
 0066 81B5              in R24,0x21
 0068 8861              ori R24,24
 006A 81BD              out 0x21,R24
 006C                   .dbline 15
 006C 8EE0              ldi R24,14
 006E 81BD              out 0x21,R24
 0070                   .dbline 17
 0070 E0DF              xcall _display
 0072 0BC0              xjmp L18
 0074           L17:
 0074                   .dbline 20
 0074                   .dbline 22
 0074 8EEF              ldi R24,254
 0076 88BB              out 0x18,R24
 0078                   .dbline 23
 0078 A895              wdr
 007A                   .dbline 24
 007A 02E3              ldi R16,50
 007C 10E0              ldi R17,0
 007E C0DF              xcall _delay_ms
 0080                   .dbline 25
 0080 8FEF              ldi R24,255
 0082 88BB              out 0x18,R24
 0084                   .dbline 26
 0084 02E3              ldi R16,50
 0086 10E0              ldi R17,0
 0088 BBDF              xcall _delay_ms
 008A                   .dbline 27
 008A           L18:
 008A                   .dbline 19
 008A F4CF              xjmp L17
 008C           X0:
 008C                   .dbline -2
 008C           L16:
 008C                   .dbline 0 ; func end
 008C 0895              ret
 008E                   .dbend

⌨️ 快捷键说明

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