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

📄 m16_eeprom.lis

📁 我最近使用的一些程序代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module M16_EEPROM.C
                        .area data(ram, con, rel)
 0000           _Table::
 0000                   .blkb 2
                        .area idata
 0000 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0008                   .blkb 2
                        .area idata
 0008 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000A                   .blkb 2
                        .area idata
 000A 777C              .byte 'w,124
                        .area data(ram, con, rel)
 000C                   .blkb 2
                        .area idata
 000C 395E              .byte 57,94
                        .area data(ram, con, rel)
 000E                   .blkb 2
                        .area idata
 000E 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 0010                   .dbfile F:\myavr\temp\M16_EEPROM\M16_EEPROM.C
 0010                   .dbsym e Table _Table A[16:16]c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\myavr\temp\M16_EEPROM\M16_EEPROM.C
 0000                   .dbfunc e DelayMs _DelayMs fV
 0000           ;              j -> R20,R21
 0000           ;              i -> R16,R17
                        .even
 0000           _DelayMs::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 15
 0004           ; //***************FileName:Capature.C***************//
 0004           ; //***************ICCAVR V6.30编译*****************//
 0004           ; 
 0004           ; #include <iom16v.h>                 
 0004           ; #define uchar unsigned char
 0004           ; #define uint  unsigned int
 0004           ; 
 0004           ; //数码管字型表,对应0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F//
 0004           ; uchar Table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
 0004           ;                  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
 0004           ; uchar Read_Data[4];            //定义读出数据
 0004           ; uchar *p1;
 0004           ; 
 0004           ; void DelayMs(uint i)           //Ms级延时,参数i为延时时间
 0004           ; {uint j;
 0004                   .dbline 16
 0004           ;  for(;i!=0;i--)
 0004 0AC0              xjmp L5
 0006           L2:
 0006                   .dbline 17
 0006                   .dbline 17
 0006 4AEF              ldi R20,250
 0008 50E0              ldi R21,0
 000A 02C0              xjmp L9
 000C           L6:
 000C                   .dbline 17
 000C                   .dbline 17
 000C                   .dbline 17
 000C           L7:
 000C                   .dbline 17
 000C 4150              subi R20,1
 000E 5040              sbci R21,0
 0010           L9:
 0010                   .dbline 17
 0010 4030              cpi R20,0
 0012 4507              cpc R20,R21
 0014 D9F7              brne L6
 0016           X0:
 0016                   .dbline 17
 0016           L3:
 0016                   .dbline 16
 0016 0150              subi R16,1
 0018 1040              sbci R17,0
 001A           L5:
 001A                   .dbline 16
 001A 0030              cpi R16,0
 001C 0107              cpc R16,R17
 001E 99F7              brne L2
 0020           X1:
 0020                   .dbline -2
 0020                   .dbline 18
 0020           ;   {for(j=250;j!=0;j--) {;}}
 0020           ; }
 0020           L1:
 0020 0E940000          xcall pop_gset1
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbsym r j 20 i
 0026                   .dbsym r i 16 i
 0026                   .dbend
 0026                   .dbfunc e Display _Display fV
 0026           ;            sel -> R20
 0026           ;              i -> R22
 0026           ;              p -> R10,R11
                        .even
 0026           _Display::
 0026 0E940000          xcall push_gset3
 002A 5801              movw R10,R16
 002C                   .dbline -1
 002C                   .dbline 21
 002C           ; 
 002C           ; void Display(uchar *p)         //动态显示函数,参数p为待显示的数组名
 002C           ; {uchar i,sel=0x01;           
 002C                   .dbline 21
 002C 41E0              ldi R20,1
 002E                   .dbline 22
 002E           ;  for(i=0;i<4;i++)
 002E 6627              clr R22
 0030 17C0              xjmp L14
 0032           L11:
 0032                   .dbline 23
 0032                   .dbline 23
 0032 45BB              out 0x15,R20
 0034                   .dbline 24
 0034 E62F              mov R30,R22
 0036 FF27              clr R31
 0038 EA0D              add R30,R10
 003A FB1D              adc R31,R11
 003C E081              ldd R30,z+0
 003E FF27              clr R31
 0040 80E0              ldi R24,<_Table
 0042 90E0              ldi R25,>_Table
 0044 E80F              add R30,R24
 0046 F91F              adc R31,R25
 0048 2080              ldd R2,z+0
 004A 3324              clr R3
 004C 8FEF              ldi R24,255
 004E 90E0              ldi R25,0
 0050 8219              sub R24,R2
 0052 9309              sbc R25,R3
 0054 8BBB              out 0x1b,R24
 0056                   .dbline 25
 0056 02E0              ldi R16,2
 0058 10E0              ldi R17,0
 005A D2DF              xcall _DelayMs
 005C                   .dbline 26
 005C 440F              lsl R20
 005E                   .dbline 27
 005E           L12:
 005E                   .dbline 22
 005E 6395              inc R22
 0060           L14:
 0060                   .dbline 22
 0060 6430              cpi R22,4
 0062 38F3              brlo L11
 0064                   .dbline -2
 0064                   .dbline 28
 0064           ;   {PORTC=sel;                  //选通最右边的数码管
 0064           ;    PORTA=0xff-Table[p[i]];     //送字型码
 0064           ;    DelayMs(2);                 //显示延时    
 0064           ;    sel=sel<<1;                 //移位以显示前一位
 0064           ;   }
 0064           ; }
 0064           L10:
 0064 0E940000          xcall pop_gset3
 0068                   .dbline 0 ; func end
 0068 0895              ret
 006A                   .dbsym r sel 20 c
 006A                   .dbsym r i 22 c
 006A                   .dbsym r p 10 pc
 006A                   .dbend
 006A                   .dbfunc e Init_IO _Init_IO fV
                        .even
 006A           _Init_IO::
 006A                   .dbline -1
 006A                   .dbline 31
 006A           ; 
 006A           ; void Init_IO(void)             //初始化I/O口
 006A           ; {DDRA=0xff;                    //设置A口为推挽1输出
 006A                   .dbline 31
 006A 8FEF              ldi R24,255
 006C 8ABB              out 0x1a,R24
 006E                   .dbline 32
 006E           ;  PORTA=0xff;
 006E 8BBB              out 0x1b,R24
 0070                   .dbline 33
 0070           ;  DDRC=0xff;                    //设置C口为推挽1输出             
 0070 84BB              out 0x14,R24
 0072                   .dbline 34
 0072           ;  PORTC=0xff;
 0072 85BB              out 0x15,R24
 0074                   .dbline -2
 0074                   .dbline 35
 0074           ; }
 0074           L15:
 0074                   .dbline 0 ; func end
 0074 0895              ret
 0076                   .dbend
 0076                   .dbfunc e Write_EEPROM _Write_EEPROM fV
 0076           ;        Address -> R22,R23
 0076           ;           Data -> R20
                        .even
 0076           _Write_EEPROM::
 0076 0E940000          xcall push_gset2
 007A B901              movw R22,R18
 007C 402F              mov R20,R16
 007E                   .dbline -1
 007E                   .dbline 38
 007E           ; 
 007E           ; void Write_EEPROM(uchar Data,uint Address)
 007E           ; {if(EECR&0x20) DelayMs(4);
 007E                   .dbline 38

⌨️ 快捷键说明

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