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

📄 164_test.lis

📁 mega使用人少
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0062           ; {
 0062                   .dbline 27
 0062           ;  PORT_CLEAR|=(1<<CLEAR); 
 0062 DB9A              sbi 0x1b,3
 0064                   .dbline -2
 0064           L16:
 0064                   .dbline 0 ; func end
 0064 0895              ret
 0066                   .dbend
 0066                   .dbfunc e write_164 _write_164 fV
 0066           ;              n -> R20
 0066           ;              i -> R16
                        .even
 0066           _write_164::
 0066 4A93              st -y,R20
 0068                   .dbline -1
 0068                   .dbline 31
 0068           ; }
 0068           ; 
 0068           ; void write_164(unsigned char i)
 0068           ; {
 0068                   .dbline 33
 0068           ;   char n;
 0068           ;   for(n=8;n>0;n--) 
 0068 48E0              ldi R20,8
 006A 0BC0              xjmp L21
 006C           L18:
 006C                   .dbline 34
 006C           ;   {
 006C                   .dbline 35
 006C           ;    if(i&0x80) PORT_DATA|=(1<<DATA);
 006C 07FF              sbrs R16,7
 006E 02C0              rjmp L22
 0070           X3:
 0070                   .dbline 35
 0070 DC9A              sbi 0x1b,4
 0072 01C0              xjmp L23
 0074           L22:
 0074                   .dbline 36
 0074           ;    else   PORT_DATA&=~(1<<DATA);
 0074 DC98              cbi 0x1b,4
 0076           L23:
 0076                   .dbline 37
 0076           ;    NOP();
 0076 0000              nop
 0078                   .dbline 38
 0078           ;    PORT_CLK|=(1<<CLK);
 0078 DA9A              sbi 0x1b,2
 007A                   .dbline 39
 007A           ;    NOP();
 007A 0000              nop
 007C                   .dbline 40
 007C           ;    PORT_CLK&=~(1<<CLK);
 007C DA98              cbi 0x1b,2
 007E                   .dbline 41
 007E           ;    i=(i<<1);
 007E 000F              lsl R16
 0080                   .dbline 42
 0080           ;   }   
 0080           L19:
 0080                   .dbline 33
 0080 4A95              dec R20
 0082           L21:
 0082                   .dbline 33
 0082 80E0              ldi R24,0
 0084 8417              cp R24,R20
 0086 90F3              brlo L18
 0088           X4:
 0088                   .dbline -2
 0088           L17:
 0088                   .dbline 0 ; func end
 0088 4991              ld R20,y+
 008A 0895              ret
 008C                   .dbsym r n 20 c
 008C                   .dbsym r i 16 c
 008C                   .dbend
 008C                   .dbfunc e write_LED _write_LED fV
 008C           ;            sel -> R22
 008C           ;              i -> R20
 008C           ;              p -> R10,R11
                        .even
 008C           _write_LED::
 008C 0E940000          xcall push_xgsetF00C
 0090 5801              movw R10,R16
 0092                   .dbline -1
 0092                   .dbline 45
 0092           ; }
 0092           ; void write_LED(unsigned char *p)
 0092           ; {
 0092                   .dbline 46
 0092           ;  unsigned char i,sel=0x04;
 0092 64E0              ldi R22,4
 0094                   .dbline 48
 0094           ;   
 0094           ;  for(i=0;i<4;i++)
 0094 4427              clr R20
 0096 19C0              xjmp L28
 0098           L25:
 0098                   .dbline 49
 0098           ;  {
 0098                   .dbline 50
 0098           ;   write_164(Table[p[i]]);
 0098 E42F              mov R30,R20
 009A FF27              clr R31
 009C EA0D              add R30,R10
 009E FB1D              adc R31,R11
 00A0 E081              ldd R30,z+0
 00A2 FF27              clr R31
 00A4 80E0              ldi R24,<_Table
 00A6 90E0              ldi R25,>_Table
 00A8 E80F              add R30,R24
 00AA F91F              adc R31,R25
 00AC 0081              ldd R16,z+0
 00AE DBDF              xcall _write_164
 00B0                   .dbline 51
 00B0           ;   PORT_SEL&=(~sel);
 00B0 262E              mov R2,R22
 00B2 2094              com R2
 00B4 35B2              in R3,0x15
 00B6 3220              and R3,R2
 00B8 35BA              out 0x15,R3
 00BA                   .dbline 52
 00BA           ;   delay_ms(2);
 00BA 02E0              ldi R16,2
 00BC 10E0              ldi R17,0
 00BE BBDF              xcall _delay_ms
 00C0                   .dbline 53
 00C0           ;   PORT_SEL|=SEL;
 00C0 85B3              in R24,0x15
 00C2 8C63              ori R24,60
 00C4 85BB              out 0x15,R24
 00C6                   .dbline 54
 00C6           ;   sel=sel<<1;
 00C6 660F              lsl R22
 00C8                   .dbline 55
 00C8           ;  } 
 00C8           L26:
 00C8                   .dbline 48
 00C8 4395              inc R20
 00CA           L28:
 00CA                   .dbline 48
 00CA 4430              cpi R20,4
 00CC 28F3              brlo L25
 00CE           X5:
 00CE                   .dbline -2
 00CE           L24:
 00CE                   .dbline 0 ; func end
 00CE 0C940000          xjmp pop_xgsetF00C
 00D2                   .dbsym r sel 22 c
 00D2                   .dbsym r i 20 c
 00D2                   .dbsym r p 10 pc
 00D2                   .dbend
                        .area lit(rom, con, rel)
 0000           L30:
 0000 0102              .byte 1,2
 0002 0304              .byte 3,4
                        .area text(rom, con, rel)
 00D2                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\164\数码管\164.h
 00D2                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\164\数码管\164_test.c
 00D2                   .dbfunc e main _main fV
 00D2           ;           Date -> y+0
                        .even
 00D2           _main::
 00D2 2497              sbiw R28,4
 00D4                   .dbline -1
 00D4                   .dbline 12
 00D4           ; //ICC-AVR application builder : 2008-11-11 16:14:49
 00D4           ; // Target : M16
 00D4           ; // Crystal: 8.0000Mhz
 00D4           ; 
 00D4           ; #include <iom16v.h>
 00D4           ; #include <macros.h>
 00D4           ; 
 00D4           ; #include "delay.h"
 00D4           ; #include "164.h"
 00D4           ; 
 00D4           ; void main(void)
 00D4           ; {
 00D4                   .dbline 13
 00D4           ;  unsigned char Date[4]={1,2,3,4};
 00D4 80E0              ldi R24,<L30
 00D6 90E0              ldi R25,>L30
 00D8 FE01              movw R30,R28
 00DA 04E0              ldi R16,4
 00DC 10E0              ldi R17,0
 00DE FA93              st -y,R31
 00E0 EA93              st -y,R30
 00E2 9A93              st -y,R25
 00E4 8A93              st -y,R24
 00E6 0E940000          xcall asgncblk
 00EA                   .dbline 14
 00EA           ;  delay_ms(20);
 00EA 04E1              ldi R16,20
 00EC 10E0              ldi R17,0
 00EE A3DF              xcall _delay_ms
 00F0                   .dbline 15
 00F0           ;  Init_164();
 00F0 B1DF              xcall _Init_164
 00F2                   .dbline 16
 00F2           ;  Clear_164();
 00F2 B7DF              xcall _Clear_164
 00F4 02C0              xjmp L32
 00F6           L31:
 00F6                   .dbline 18
 00F6           ;  while(1)
 00F6           ;   write_LED(Date);   //显示1234*/
 00F6 8E01              movw R16,R28
 00F8 C9DF              xcall _write_LED
 00FA           L32:
 00FA                   .dbline 17
 00FA FDCF              xjmp L31
 00FC           X6:
 00FC                   .dbline -2
 00FC           L29:
 00FC                   .dbline 0 ; func end
 00FC 2496              adiw R28,4
 00FE 0895              ret
 0100                   .dbsym l Date 0 A[4:4]c
 0100                   .dbend
 0100           ; }

⌨️ 快捷键说明

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