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

📄 独立按键.lis

📁 avr基础程序大全
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module _独立按键.c
                        .area text(rom, con, rel)
 0000                   .dbfile 独立按键.c
                        .area data(ram, con, rel)
 0000                   .dbfile 独立按键.c
 0000           _table::
 0000                   .blkb 2
                        .area idata
 0000 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0002                   .dbfile 独立按键.c
 0002                   .blkb 2
                        .area idata
 0002 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0004                   .dbfile 独立按键.c
 0004                   .blkb 2
                        .area idata
 0004 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0006                   .dbfile 独立按键.c
 0006                   .blkb 2
                        .area idata
 0006 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0008                   .dbfile 独立按键.c
 0008                   .blkb 2
                        .area idata
 0008 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000A                   .dbfile 独立按键.c
 000A                   .blkb 2
                        .area idata
 000A 777C              .byte 'w,124
                        .area data(ram, con, rel)
 000C                   .dbfile 独立按键.c
 000C                   .blkb 2
                        .area idata
 000C 395E              .byte 57,94
                        .area data(ram, con, rel)
 000E                   .dbfile 独立按键.c
 000E                   .blkb 2
                        .area idata
 000E 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 0010                   .dbfile 独立按键.c
 0010                   .blkb 1
                        .area idata
 0010 00                .byte 0
                        .area data(ram, con, rel)
 0011                   .dbfile 独立按键.c
 0011                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 0011                   .dbsym e table _table A[17:17]c
 0011           _LED_W::
 0011                   .blkb 2
                        .area idata
 0011 0001              .byte 0,1
                        .area data(ram, con, rel)
 0013                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 0013                   .blkb 2
                        .area idata
 0013 0203              .byte 2,3
                        .area data(ram, con, rel)
 0015                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 0015                   .blkb 2
                        .area idata
 0015 0405              .byte 4,5
                        .area data(ram, con, rel)
 0017                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 0017                   .blkb 2
                        .area idata
 0017 0607              .byte 6,7
                        .area data(ram, con, rel)
 0019                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 0019                   .dbsym e LED_W _LED_W A[8:8]c
 0019           _key_valu::
 0019                   .blkb 1
                        .area idata
 0019 00                .byte 0
                        .area data(ram, con, rel)
 001A                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.c
 001A                   .dbsym e key_valu _key_valu c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\AVR自编程序\11实验板\9独立按键\独立按键.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 11
 0004           ; #include <iom16v.h>
 0004           ; #include <macros.h>
 0004           ; #define  uchar unsigned char
 0004           ; #define  uint  unsigned int
 0004           ;  
 0004           ; uchar const  table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
 0004           ;                          0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};
 0004           ; uchar const LED_W[8] = {0,1,2,3,4,5,6,7};     
 0004           ; uchar key_valu=0;                                        
 0004           ; void delay(uint ms)
 0004           ; {
 0004                   .dbline 13
 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 14
 000A           ;          {
 000A                   .dbline 15
 000A           ;          for(j=0;j<1141;j++);
 000A 6627              clr R22
 000C 7727              clr R23
 000E 02C0              xjmp L9
 0010           L6:
 0010                   .dbline 15
 0010           L7:
 0010                   .dbline 15
 0010 6F5F              subi R22,255  ; offset = 1
 0012 7F4F              sbci R23,255
 0014           L9:
 0014                   .dbline 15
 0014 6537              cpi R22,117
 0016 E4E0              ldi R30,4
 0018 7E07              cpc R23,R30
 001A D0F3              brlo L6
 001C           X0:
 001C                   .dbline 16
 001C           ;        }
 001C           L3:
 001C                   .dbline 13
 001C 4F5F              subi R20,255  ; offset = 1
 001E 5F4F              sbci R21,255
 0020           L5:
 0020                   .dbline 13
 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 19
 0032           ; }
 0032           ; void show(uchar j,uchar k)
 0032           ; {
 0032                   .dbline 20
 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 21
 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 23
 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 key_press _key_press fc
 005E           ;              j -> R16
                        .even
 005E           _key_press::
 005E                   .dbline -1
 005E                   .dbline 28
 005E           ;       
 005E           ; }
 005E           ; 
 005E           ; uchar key_press()
 005E           ; {
 005E                   .dbline 30
 005E           ;     uchar j;
 005E           ;     DDRD|=0X1c;
 005E 81B3              in R24,0x11
 0060 8C61              ori R24,28
 0062 81BB              out 0x11,R24
 0064                   .dbline 31
 0064           ;       PORTD|=0X1c;
 0064 82B3              in R24,0x12
 0066 8C61              ori R24,28
 0068 82BB              out 0x12,R24
 006A                   .dbline 33
 006A           ;       
 006A           ;       DDRD&=0Xe3;
 006A 81B3              in R24,0x11
 006C 837E              andi R24,227
 006E 81BB              out 0x11,R24
 0070                   .dbline 35
 0070           ;       
 0070           ;       j=PIND;
 0070 00B3              in R16,0x10
 0072                   .dbline 36
 0072           ;       j=j&0X1c;//00001111
 0072 0C71              andi R16,28
 0074                   .dbline 37
 0074           ;       if(j==0X1c)

⌨️ 快捷键说明

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