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

📄 定时器0.lis

📁 avr基础程序大全
💻 LIS
字号:
                        .module _定时器0.c
                        .area text(rom, con, rel)
 0000                   .dbfile 定时器0.c
                        .area data(ram, con, rel)
 0000                   .dbfile 定时器0.c
 0000           _num::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile 定时器0.c
 0001                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0001                   .dbsym e num _num c
                        .area vector(rom, abs)
                        .org 32
 0020 0C942F00          jmp _miao
                        .area data(ram, con, rel)
 0001                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0001           _table::
 0001                   .blkb 2
                        .area idata
 0001 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0003                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0003                   .blkb 2
                        .area idata
 0003 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0005                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0005                   .blkb 2
                        .area idata
 0005 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0007                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0007                   .blkb 2
                        .area idata
 0007 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0009                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0009                   .blkb 2
                        .area idata
 0009 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000B                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 000B                   .blkb 2
                        .area idata
 000B 777C              .byte 'w,124
                        .area data(ram, con, rel)
 000D                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 000D                   .blkb 2
                        .area idata
 000D 395E              .byte 57,94
                        .area data(ram, con, rel)
 000F                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 000F                   .blkb 2
                        .area idata
 000F 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 0011                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0011                   .dbsym e table _table A[16:16]c
 0011           _LED_W::
 0011                   .blkb 2
                        .area idata
 0011 0001              .byte 0,1
                        .area data(ram, con, rel)
 0013                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0013                   .blkb 2
                        .area idata
 0013 0203              .byte 2,3
                        .area data(ram, con, rel)
 0015                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0015                   .blkb 2
                        .area idata
 0015 0405              .byte 4,5
                        .area data(ram, con, rel)
 0017                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0017                   .blkb 2
                        .area idata
 0017 0607              .byte 6,7
                        .area data(ram, con, rel)
 0019                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0019                   .dbsym e LED_W _LED_W A[8:8]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\AVR自编程序\11实验板\8定时器0\定时器0.c
 0000                   .dbfunc e delay _delay fV
 0000           ;              i -> R20,R21
 0000           ;              j -> R22,R23
 0000           ;             ms -> R16,R17
                        .even
 0000           _delay::
 0000 0E940000          xcall push_xgsetF000
 0004                   .dbline -1
 0004                   .dbline 12
 0004           ; #include <iom16v.h>
 0004           ; #include <macros.h>
 0004           ; #define  uchar unsigned char
 0004           ; #define  uint  unsigned int
 0004           ; uchar num=0;
 0004           ; #pragma interrupt_handler miao:9
 0004           ; 
 0004           ; uchar  const  table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
 0004           ;                          0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
 0004           ; uchar const LED_W[8] = {0,1,2,3,4,5,6,7};
 0004           ; void delay(uint ms)
 0004           ; {
 0004                   .dbline 14
 0004           ;         uint i,j;
 0004           ;       for(i=0;i<ms;i++)
 0004 4427              clr R20
 0006 5527              clr R21
 0008 0BC0              xjmp L5
 000A           L2:
 000A                   .dbline 15
 000A           ;          {
 000A                   .dbline 16
 000A           ;          for(j=0;j<1141;j++);
 000A 6627              clr R22
 000C 7727              clr R23
 000E 02C0              xjmp L9
 0010           L6:
 0010                   .dbline 16
 0010           L7:
 0010                   .dbline 16
 0010 6F5F              subi R22,255  ; offset = 1
 0012 7F4F              sbci R23,255
 0014           L9:
 0014                   .dbline 16
 0014 6537              cpi R22,117
 0016 E4E0              ldi R30,4
 0018 7E07              cpc R23,R30
 001A D0F3              brlo L6
 001C           X0:
 001C                   .dbline 17
 001C           ;        }
 001C           L3:
 001C                   .dbline 14
 001C 4F5F              subi R20,255  ; offset = 1
 001E 5F4F              sbci R21,255
 0020           L5:
 0020                   .dbline 14
 0020 4017              cp R20,R16
 0022 5107              cpc R21,R17
 0024 90F3              brlo L2
 0026           X1:
 0026                   .dbline -2
 0026           L1:
 0026                   .dbline 0 ; func end
 0026 0C940000          xjmp pop_xgsetF000
 002A                   .dbsym r i 20 i
 002A                   .dbsym r j 22 i
 002A                   .dbsym r ms 16 i
 002A                   .dbend
 002A                   .dbfunc e show _show fV
 002A           ;              k -> R10
 002A           ;              j -> R12
                        .even
 002A           _show::
 002A AA92              st -y,R10
 002C CA92              st -y,R12
 002E A22E              mov R10,R18
 0030 C02E              mov R12,R16
 0032                   .dbline -1
 0032                   .dbline 20
 0032           ; }
 0032           ; void show(uchar j,uchar k)
 0032           ; {
 0032                   .dbline 23
 0032           ;       
 0032           ;       
 0032           ;               PORTA = table[j];                // i 值的 个位数
 0032 80E0              ldi R24,<_table
 0034 90E0              ldi R25,>_table
 0036 EC2D              mov R30,R12
 0038 FF27              clr R31
 003A E80F              add R30,R24
 003C F91F              adc R31,R25
 003E 2080              ldd R2,z+0
 0040 2BBA              out 0x1b,R2
 0042                   .dbline 24
 0042           ;               PORTC = LED_W[k];                //点亮第一位数码管
 0042 80E0              ldi R24,<_LED_W
 0044 90E0              ldi R25,>_LED_W
 0046 EA2D              mov R30,R10
 0048 FF27              clr R31
 004A E80F              add R30,R24
 004C F91F              adc R31,R25
 004E 2080              ldd R2,z+0
 0050 25BA              out 0x15,R2
 0052                   .dbline 26
 0052           ;               
 0052           ;               delay(2);
 0052 02E0              ldi R16,2
 0054 10E0              ldi R17,0
 0056 D4DF              xcall _delay
 0058                   .dbline -2
 0058           L10:
 0058                   .dbline 0 ; func end
 0058 C990              ld R12,y+
 005A A990              ld R10,y+
 005C 0895              ret
 005E                   .dbsym r k 10 c
 005E                   .dbsym r j 12 c
 005E                   .dbend
 005E                   .dbfunc e miao _miao fV
                        .even
 005E           _miao::
 005E 2A92              st -y,R2
 0060 8A93              st -y,R24
 0062 9A93              st -y,R25
 0064 2FB6              IN R2,63
 0066 2A92              st -y,R2
 0068                   .dbline -1
 0068                   .dbline 38
 0068           ;       
 0068           ;               /*j++;
 0068           ;               i++;
 0068           ;               if(j == 8)                       //利用 j 值的变化,来控制数码管数值变化间隔的时间
 0068           ;               {
 0068           ;                       j = 0;
 0068           ;                       i = 0;
 0068           ;               }*/
 0068           ;       
 0068           ; }
 0068           ; void miao()
 0068           ; {
 0068                   .dbline 39
 0068           ;     if(num==60)
 0068 80910000          lds R24,_num
 006C 8C33              cpi R24,60
 006E 19F4              brne L12
 0070           X2:
 0070                   .dbline 40
 0070           ;          num=0;
 0070 2224              clr R2
 0072 20920000          sts _num,R2
 0076           L12:
 0076                   .dbline 41
 0076           ;        num++;
 0076 80910000          lds R24,_num
 007A 8F5F              subi R24,255    ; addi 1
 007C 80930000          sts _num,R24
 0080                   .dbline 42
 0080           ;       TCNT1H=0X85;
 0080 85E8              ldi R24,133
 0082 8DBD              out 0x2d,R24
 0084                   .dbline 43
 0084           ;       TCNT1L=0XED;  
 0084 8DEE              ldi R24,237
 0086 8CBD              out 0x2c,R24
 0088                   .dbline -2
 0088           L11:
 0088                   .dbline 0 ; func end
 0088 2990              ld R2,y+
 008A 2FBE              OUT 63,R2
 008C 9991              ld R25,y+
 008E 8991              ld R24,y+
 0090 2990              ld R2,y+
 0092 1895              reti
 0094                   .dbend
 0094                   .dbfunc e main _main fV
                        .even
 0094           _main::
 0094                   .dbline -1
 0094                   .dbline 46
 0094           ; }
 0094           ; void main()
 0094           ; {
 0094                   .dbline 47
 0094           ;     DDRA=0xff;        
 0094 8FEF              ldi R24,255
 0096 8ABB              out 0x1a,R24
 0098                   .dbline 48
 0098           ;       DDRC=0XFF;
 0098 84BB              out 0x14,R24
 009A                   .dbline 50
 009A           ;       
 009A           ;       TCCR1B=0X04;
 009A 84E0              ldi R24,4
 009C 8EBD              out 0x2e,R24
 009E                   .dbline 51
 009E           ;       TCNT1H=0X85;
 009E 85E8              ldi R24,133
 00A0 8DBD              out 0x2d,R24
 00A2                   .dbline 52
 00A2           ;       TCNT1L=0XED;
 00A2 8DEE              ldi R24,237
 00A4 8CBD              out 0x2c,R24
 00A6                   .dbline 53
 00A6           ;       TIMSK|=BIT(2);
 00A6 89B7              in R24,0x39
 00A8 8460              ori R24,4
 00AA 89BF              out 0x39,R24
 00AC                   .dbline 54
 00AC           ;       SREG|=BIT(7);
 00AC 7894              bset 7
 00AE 0EC0              xjmp L16
 00B0           L15:
 00B0                   .dbline 57
 00B0           ;       
 00B0           ;       while(1)
 00B0           ;       {
 00B0                   .dbline 58
 00B0           ;           show(num/10,1);
 00B0 21E0              ldi R18,1
 00B2 1AE0              ldi R17,10
 00B4 00910000          lds R16,_num
 00B8 0E940000          xcall div8u
 00BC B6DF              xcall _show
 00BE                   .dbline 59
 00BE           ;               show(num%10,0);
 00BE 2227              clr R18
 00C0 1AE0              ldi R17,10
 00C2 00910000          lds R16,_num
 00C6 0E940000          xcall mod8u
 00CA AFDF              xcall _show
 00CC                   .dbline 60
 00CC           ;       }
 00CC           L16:
 00CC                   .dbline 56
 00CC F1CF              xjmp L15
 00CE           X3:
 00CE                   .dbline -2
 00CE           L14:
 00CE                   .dbline 0 ; func end
 00CE 0895              ret
 00D0                   .dbend
 00D0           ; }

⌨️ 快捷键说明

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