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

📄 26l.lis

📁 接触式IC卡的读写函数
💻 LIS
📖 第 1 页 / 共 4 页
字号:
                        .module _26L.C
                        .area data(ram, con, rel)
 0000           _com1::
 0000                   .blkb 1
                        .area idata
 0000 06                .byte 6
                        .area data(ram, con, rel)
 0001                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0001                   .dbsym e com1 _com1 c
 0001           _com2::
 0001                   .blkb 1
                        .area idata
 0001 05                .byte 5
                        .area data(ram, con, rel)
 0002                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0002                   .dbsym e com2 _com2 c
 0002           _cnt1::
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0003                   .dbsym e cnt1 _cnt1 c
 0003           _temp::
 0003                   .blkb 2
                        .area idata
 0003 0000              .word 0
                        .area data(ram, con, rel)
 0005                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0005                   .dbsym e temp _temp i
 0005           _qiangdu::
 0005                   .blkb 2
                        .area idata
 0005 7001              .word 368
                        .area data(ram, con, rel)
 0007                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0007                   .dbsym e qiangdu _qiangdu i
 0007           _disp::
 0007                   .blkb 2
                        .area idata
 0007 C0F9              .byte 192,249
                        .area data(ram, con, rel)
 0009                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0009                   .blkb 2
                        .area idata
 0009 A4B0              .byte 164,176
                        .area data(ram, con, rel)
 000B                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 000B                   .blkb 2
                        .area idata
 000B 9992              .byte 153,146
                        .area data(ram, con, rel)
 000D                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 000D                   .blkb 2
                        .area idata
 000D 82F8              .byte 130,248
                        .area data(ram, con, rel)
 000F                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 000F                   .blkb 2
                        .area idata
 000F 8090              .byte 128,144
                        .area data(ram, con, rel)
 0011                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0011                   .dbsym e disp _disp A[10:10]c
 0011           _kashu::
 0011                   .blkb 2
                        .area idata
 0011 0300              .byte 3,0
                        .area data(ram, con, rel)
 0013                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0013                   .dbsym e kashu _kashu A[2:2]C
 0013           _kawei::
 0013                   .blkb 1
                        .area idata
 0013 01                .byte 1
                        .area data(ram, con, rel)
 0014                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0014                   .dbsym e kawei _kawei c
 0014           _jianshu::
 0014                   .blkb 1
                        .area idata
 0014 00                .byte 0
                        .area data(ram, con, rel)
 0015                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0015                   .dbsym e jianshu _jianshu c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\AVR\AVR实例程序\实例源文件\read26\26L.C
 0000                   .dbfunc e delayus _delayus fV
 0000           ;              a -> R16,R17
                        .even
 0000           _delayus::
 0000                   .dbline -1
 0000                   .dbline 41
 0000           ; #include "iot26v.h"
 0000           ; #include "macros.h"
 0000           ; 
 0000           ; #define uchar unsigned char
 0000           ; #define uint unsigned int
 0000           ; 
 0000           ; #define anjianweikai DDRA|=(1<<7);PORTA&=~(1<<7);
 0000           ; #define anjianweiguan DDRA&=~(1<<7);
 0000           ; 
 0000           ; #define fengmingkai PORTB|=(1<<6);PORTB|=(1<<7);
 0000           ; #define fengmingguan PORTB&=~(1<<6);PORTB&=~(1<<7);
 0000           ; 
 0000           ; #define rst0 PORTB&=~(1<<5) 
 0000           ; #define rst1 PORTB|=(1<<5) 
 0000           ; #define sda0 DDRB|=(1<<0);PORTB&=~(1<<0); 
 0000           ; #define sda1 DDRB|=(1<<0);PORTB|=(1<<0); 
 0000           ; #define scl0 DDRB|=(1<<2);PORTB&=~(1<<2); 
 0000           ; #define scl1 DDRB|=(1<<2);PORTB|=(1<<2); 
 0000           ; #define sdawei DDRB&=~(1<<0);PORTB|=(1<<0);
 0000           ; 
 0000           ; 
 0000           ; unsigned char com1=6,com2=5,cnt1=0;
 0000           ; unsigned int temp=0,qiangdu=368;
 0000           ; 
 0000           ; unsigned char disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
 0000           ; signed char kashu[2]={3,0};
 0000           ; unsigned char kawei=1,jianshu=0;
 0000           ; 
 0000           ; uchar x24c02_read(uchar address);  //从24c02的地址address中读取一个字节数据
 0000           ; void x24c02_write(uchar address,uchar info);//向24c02的address地址中写入一字节数据info
 0000           ; void x24c02_init(void);   //24c02初始化子程序
 0000           ; void delay1(uchar x);
 0000           ; void x24c01_init(void);
 0000           ; void start(void);
 0000           ; void stop(void);
 0000           ; void writex(uchar j);
 0000           ; unsigned char readx(void);
 0000           ; void clock(void);
 0000           ; /*延时函数*/
 0000           ; void delayus(int a)             //微秒级
 0000           ; {
 0000           L2:
 0000                   .dbline 43
 0000           ;   do
 0000           ;   a--; 
 0000 0150              subi R16,1
 0002 1040              sbci R17,0
 0004           L3:
 0004                   .dbline 44
 0004           ;  while(a>1);
 0004 81E0              ldi R24,1
 0006 90E0              ldi R25,0
 0008 8017              cp R24,R16
 000A 9107              cpc R25,R17
 000C CCF3              brlt L2
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r a 16 I
 0010                   .dbend
 0010                   .dbfunc e delayms _delayms fV
 0010           ;              a -> R20,R21
                        .even
 0010           _delayms::
 0010 00D0              rcall push_gset1
 0012 402F              mov R20,R16
 0014 512F              mov R21,R17
 0016                   .dbline -1
 0016                   .dbline 49
 0016           ;  //WDR();
 0016           ; }
 0016           ; 
 0016           ; void delayms(unsigned int a)        //毫秒级
 0016           ; {
 0016 05C0              rjmp L7
 0018           L6:
 0018                   .dbline 51
 0018                   .dbline 52
 0018 0AEF              ldi R16,250
 001A 10E0              ldi R17,0
 001C F1DF              rcall _delayus
 001E                   .dbline 53
 001E 4150              subi R20,1
 0020 5040              sbci R21,0
 0022                   .dbline 54
 0022           L7:
 0022                   .dbline 50
 0022           ;  while(a!=0)
 0022 4030              cpi R20,0
 0024 4507              cpc R20,R21
 0026 C1F7              brne L6
 0028           X0:
 0028                   .dbline -2
 0028           L5:
 0028 00D0              rcall pop_gset1
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r a 20 i
 002C                   .dbend
 002C                   .dbfunc e fengming _fengming fV
 002C           ;              a -> R20
                        .even
 002C           _fengming::
 002C 00D0              rcall push_gset1
 002E 402F              mov R20,R16
 0030                   .dbline -1
 0030                   .dbline 58
 0030           ;  {
 0030           ;   delayus(250);
 0030           ;   a--;
 0030           ;  }
 0030           ; }
 0030           ; 
 0030           ; void fengming(unsigned char a)             ////蜂鸣器
 0030           ; {
 0030                   .dbline 59
 0030           ;     fengmingkai;
 0030 C69A              sbi 0x18,6
 0032                   .dbline 59
 0032 C79A              sbi 0x18,7
 0034                   .dbline 59
 0034 04C0              rjmp L11
 0036           L10:
 0036                   .dbline 61
 0036                   .dbline 62
 0036 4A95              dec R20
 0038                   .dbline 63
 0038 01E0              ldi R16,1
 003A 10E0              ldi R17,0
 003C E9DF              rcall _delayms
 003E                   .dbline 64
 003E           L11:
 003E                   .dbline 60
 003E           ;       while(a>1)
 003E 81E0              ldi R24,1
 0040 8417              cp R24,R20
 0042 C8F3              brlo L10
 0044                   .dbline 65
 0044           ;       {
 0044           ;       a--;
 0044           ;       delayms(1);
 0044           ;       }
 0044           ;       fengmingguan;
 0044 C698              cbi 0x18,6
 0046                   .dbline 65
 0046 C798              cbi 0x18,7
 0048                   .dbline 65
 0048                   .dbline -2
 0048           L9:
 0048 00D0              rcall pop_gset1
 004A                   .dbline 0 ; func end
 004A 0895              ret
 004C                   .dbsym r a 20 c
 004C                   .dbend
 004C                   .dbfunc e x24c02_init _x24c02_init fV
                        .even
 004C           _x24c02_init::
 004C                   .dbline -1
 004C                   .dbline 69
 004C           ; }     
 004C           ; 
 004C           ; void x24c02_init(void)
 004C           ; {
 004C                   .dbline 70
 004C           ;    scl1; delayus(1); sda1; delayus(1);
 004C BA9A              sbi 0x17,2
 004E                   .dbline 70
 004E C29A              sbi 0x18,2
 0050                   .dbline 70
 0050                   .dbline 70
 0050 01E0              ldi R16,1
 0052 10E0              ldi R17,0
 0054 D5DF              rcall _delayus
 0056                   .dbline 70
 0056 B89A              sbi 0x17,0
 0058                   .dbline 70
 0058 C09A              sbi 0x18,0
 005A                   .dbline 70
 005A                   .dbline 70
 005A 01E0              ldi R16,1
 005C 10E0              ldi R17,0
 005E D0DF              rcall _delayus
 0060                   .dbline -2
 0060           L13:
 0060                   .dbline 0 ; func end
 0060 0895              ret
 0062                   .dbend
 0062                   .dbfunc e start _start fV
                        .even
 0062           _start::
 0062                   .dbline -1
 0062                   .dbline 73
 0062           ; }
 0062           ; void start(void)
 0062           ; {
 0062                   .dbline 74
 0062           ;    sda1; delayus(1); scl1;delayus(1); sda0; delayus(1); scl0; delayus(1);
 0062 B89A              sbi 0x17,0
 0064                   .dbline 74
 0064 C09A              sbi 0x18,0
 0066                   .dbline 74
 0066                   .dbline 74
 0066 01E0              ldi R16,1
 0068 10E0              ldi R17,0
 006A CADF              rcall _delayus
 006C                   .dbline 74
 006C BA9A              sbi 0x17,2
 006E                   .dbline 74
 006E C29A              sbi 0x18,2
 0070                   .dbline 74
 0070                   .dbline 74
 0070 01E0              ldi R16,1
 0072 10E0              ldi R17,0
 0074 C5DF              rcall _delayus
 0076                   .dbline 74
 0076 B89A              sbi 0x17,0
 0078                   .dbline 74
 0078 C098              cbi 0x18,0
 007A                   .dbline 74
 007A                   .dbline 74
 007A 01E0              ldi R16,1
 007C 10E0              ldi R17,0
 007E C0DF              rcall _delayus
 0080                   .dbline 74
 0080 BA9A              sbi 0x17,2
 0082                   .dbline 74
 0082 C298              cbi 0x18,2
 0084                   .dbline 74
 0084                   .dbline 74
 0084 01E0              ldi R16,1
 0086 10E0              ldi R17,0
 0088 BBDF              rcall _delayus
 008A                   .dbline -2
 008A           L14:
 008A                   .dbline 0 ; func end
 008A 0895              ret
 008C                   .dbend
 008C                   .dbfunc e stop _stop fV
                        .even
 008C           _stop::
 008C                   .dbline -1
 008C                   .dbline 77
 008C           ; }
 008C           ; void stop(void)
 008C           ; {
 008C                   .dbline 78
 008C           ;    sda0; delayus(1); scl1; delayus(1); sda1; delayus(1);
 008C B89A              sbi 0x17,0
 008E                   .dbline 78
 008E C098              cbi 0x18,0
 0090                   .dbline 78
 0090                   .dbline 78
 0090 01E0              ldi R16,1

⌨️ 快捷键说明

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