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

📄 rfidsys.lis

📁 读写器与射频卡通信的设计采用RC522射频读写芯片与射频卡进行通信
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module RFIDsys.C
                        .area text(rom, con, rel)
 0000                   .dbfile D:\Headers\Software.H
 0000                   .dbfunc e speaData _speaData fV
 0000           ;              y -> y+4
 0000           ;              j -> y+0
 0000           ;              i -> R10
 0000           ;            len -> R12
 0000           ;            dat -> y+16
                        .even
 0000           _speaData::
 0000 0E940000          xcall push_arg4
 0004 0E940000          xcall push_gset4
 0008 2897              sbiw R28,8
 000A CC88              ldd R12,y+20
 000C                   .dbline -1
 000C                   .dbline 116
 000C           ; /*********************************************************************
 000C           ;              
 000C           ; 目    的:   建立操作LCD12864_ST7920液晶的示例程序
 000C           ; 
 000C           ; 目标系统:   基于任何AVR单片机
 000C           ;                                                                               
 000C           ; 应用软件:   ICCAVR
 000C           ;                                                                               
 000C           ; 版    本:   Version 1.0                                                          
 000C           ;                                                                               
 000C           ; 圆版时间:   2008-05-28
 000C           ;       
 000C           ; 开发人员:   hky
 000C           ; 
 000C           ; 说    明:   若用于商业用途,请保留此段文字或注明代码来源
 000C           ; 
 000C           ; *********************************************************************/
 000C           ; 
 000C           ; /*01010101010101010101010101010101010101010101010101010101010101010101
 000C           ; ----------------------------------------------------------------------
 000C           ; 版本更新记录:
 000C           ; 
 000C           ; ----------------------------------------------------------------------
 000C           ; 实验内容:
 000C           ; 初始化、读写Lcd12864_ST7920。
 000C           ; ----------------------------------------------------------------------
 000C           ; 硬件连接:
 000C           ; LCD12864_ST7920                       ATmega16
 000C           ; 4.RS(CS)      --------        VCC
 000C           ; 5.R/W(SID)    --------        MOSI/PB5
 000C           ; 6.E(SCLK)     --------        SCK/PB7
 000C           ; 15.PSB                --------        GND
 000C           ; ----------------------------------------------------------------------
 000C           ; 10101010101010101010101010101010101010101010101010101010101010101010*/
 000C           ; 
 000C           ; #include <iom16v.h>
 000C           ; #include "D:\Headers\LCD12864_ST7920.H"
 000C           ; //#include "PCF8563.h"
 000C           ; #include "D:\Headers\Hardware.H"
 000C           ; //#include "D:\ICC_H\I2C.H"
 000C           ; //#include "delay1.h"
 000C           ; /*--------------------------------------------------------------------
 000C           ; 函数名称:
 000C           ; 函数功能:
 000C           ; 注意事项:
 000C           ; 提示说明:
 000C           ; 输    入:
 000C           ; 返    回:
 000C           ; --------------------------------------------------------------------*/
 000C           ; void init_device()
 000C           ; {
 000C           ; // Input/Output Ports initialization
 000C           ; // Port A initialization
 000C           ; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
 000C           ; // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
 000C           ; PORTA=0x00;
 000C           ; DDRA=0x00;
 000C           ; 
 000C           ; // Port B initialization
 000C           ; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
 000C           ; // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
 000C           ; PORTB=0x00;
 000C           ; DDRB=0x00;
 000C           ; 
 000C           ; // Port C initialization
 000C           ; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
 000C           ; // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
 000C           ; PORTC=0x00;
 000C           ; DDRC=0x00;
 000C           ; 
 000C           ; // Port D initialization
 000C           ; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
 000C           ; // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
 000C           ; PORTD=0x00;
 000C           ; DDRD=0x00;
 000C           ; 
 000C           ; // Timer/Counter 0 initialization
 000C           ; // Clock source: System Clock
 000C           ; // Clock value: Timer 0 Stopped
 000C           ; // Mode: Normal top=FFh
 000C           ; // OC0 output: Disconnected
 000C           ; TCCR0=0x00;
 000C           ; TCNT0=0x00;
 000C           ; OCR0=0x00;
 000C           ; 
 000C           ; // Timer/Counter 1 initialization
 000C           ; // Clock source: System Clock
 000C           ; // Clock value: Timer 1 Stopped
 000C           ; // Mode: Normal top=FFFFh
 000C           ; // OC1A output: Discon.
 000C           ; // OC1B output: Discon.
 000C           ; // Noise Canceler: Off
 000C           ; // Input Capture on Falling Edge
 000C           ; // Timer 1 Overflow Interrupt: Off
 000C           ; // Input Capture Interrupt: Off
 000C           ; // Compare A Match Interrupt: Off
 000C           ; // Compare B Match Interrupt: Off
 000C           ; TCCR1A=0x00;
 000C           ; TCCR1B=0x00;
 000C           ; TCNT1H=0x00;
 000C           ; TCNT1L=0x00;
 000C           ; ICR1H=0x00;
 000C           ; ICR1L=0x00;
 000C           ; OCR1AH=0x00;
 000C           ; OCR1AL=0x00;
 000C           ; OCR1BH=0x00;
 000C           ; OCR1BL=0x00;
 000C           ; 
 000C           ; // Timer/Counter 2 initialization
 000C           ; // Clock source: System Clock
 000C           ; // Clock value: Timer 2 Stopped
 000C           ; // Mode: Normal top=FFh
 000C           ; // OC2 output: Disconnected
 000C           ; ASSR=0x00;
 000C           ; TCCR2=0x00;
 000C           ; TCNT2=0x00;
 000C                   .dbline 119
 000C           ; OCR2=0x00;
 000C           ; 
 000C           ; // External Interrupt(s) initialization
 000C AA24              clr R10
 000E 41E0              ldi R20,1
 0010 50E0              ldi R21,0
 0012 60E0              ldi R22,0
 0014 70E0              ldi R23,0
 0016 FE01              movw R30,R28
 0018 4083              std z+0,R20
 001A 5183              std z+1,R21
 001C 6283              std z+2,R22
 001E 7383              std z+3,R23
 0020 46C0              xjmp L5
 0022           L2:
 0022                   .dbline 120
 0022                   .dbline 121
 0022 FE01              movw R30,R28
 0024 2080              ldd R2,z+0
 0026 3180              ldd R3,z+1
 0028 4280              ldd R4,z+2
 002A 5380              ldd R5,z+3
 002C FE01              movw R30,R28
 002E 6088              ldd R6,z+16
 0030 7188              ldd R7,z+17
 0032 8288              ldd R8,z+18
 0034 9388              ldd R9,z+19
 0036 5A92              st -y,R5
 0038 4A92              st -y,R4
 003A 3A92              st -y,R3
 003C 2A92              st -y,R2
 003E 8301              movw R16,R6
 0040 9401              movw R18,R8
 0042 0E940000          xcall div32u
 0046 FE01              movw R30,R28
 0048 0483              std z+4,R16
 004A 1583              std z+5,R17
 004C 2683              std z+6,R18
 004E 3783              std z+7,R19
 0050                   .dbline 122
 0050 4AE0              ldi R20,10
 0052 50E0              ldi R21,0
 0054 60E0              ldi R22,0
 0056 70E0              ldi R23,0
 0058 FE01              movw R30,R28
 005A 2480              ldd R2,z+4
 005C 3580              ldd R3,z+5
 005E 4680              ldd R4,z+6
 0060 5780              ldd R5,z+7
 0062 7A93              st -y,R23
 0064 6A93              st -y,R22
 0066 5A93              st -y,R21
 0068 4A93              st -y,R20
 006A 8101              movw R16,R2
 006C 9201              movw R18,R4
 006E 0E940000          xcall mod32u
 0072 80E0              ldi R24,<_dataElem
 0074 90E0              ldi R25,>_dataElem
 0076 EA2D              mov R30,R10
 0078 FF27              clr R31
 007A E80F              add R30,R24
 007C F91F              adc R31,R25
 007E 0083              std z+0,R16
 0080                   .dbline 123
 0080 FE01              movw R30,R28
 0082 2080              ldd R2,z+0
 0084 3180              ldd R3,z+1
 0086 4280              ldd R4,z+2
 0088 5380              ldd R5,z+3
 008A 4AE0              ldi R20,10
 008C 50E0              ldi R21,0
 008E 60E0              ldi R22,0
 0090 70E0              ldi R23,0
 0092 5A92              st -y,R5
 0094 4A92              st -y,R4
 0096 3A92              st -y,R3
 0098 2A92              st -y,R2
 009A 8A01              movw R16,R20
 009C 9B01              movw R18,R22
 009E 0E940000          xcall empy32u
 00A2 FE01              movw R30,R28
 00A4 0083              std z+0,R16
 00A6 1183              std z+1,R17
 00A8 2283              std z+2,R18
 00AA 3383              std z+3,R19
 00AC                   .dbline 124
 00AC           L3:
 00AC                   .dbline 119
 00AC A394              inc R10
 00AE           L5:
 00AE                   .dbline 119
 00AE AC14              cp R10,R12
 00B0 08F4              brsh X0
 00B2 B7CF              xjmp L2
 00B4           X0:
 00B4                   .dbline -2
 00B4           L1:
 00B4 2896              adiw R28,8
 00B6 0E940000          xcall pop_gset4
 00BA 2496              adiw R28,4
 00BC                   .dbline 0 ; func end
 00BC 0895              ret
 00BE                   .dbsym l y 4 l
 00BE                   .dbsym l j 0 l
 00BE                   .dbsym r i 10 c
 00BE                   .dbsym r len 12 C
 00BE                   .dbsym l dat 16 l
 00BE                   .dbend
 00BE                   .dbfile D:\Headers\I2C.H
 00BE                   .dbfunc e I2C_Start _I2C_Start fc
                        .even
 00BE           _I2C_Start::
 00BE                   .dbline -1
 00BE                   .dbline 128
 00BE           ; // INT0: Off
 00BE           ; // INT1: Off
 00BE           ; // INT2: Off
 00BE           ; MCUCR=0x00;
 00BE           ; MCUCSR=0x00;
 00BE           ; 
 00BE           ; // Timer(s)/Counter(s) Interrupt(s) initialization
 00BE           ; TIMSK=0x00;
 00BE           ; 
 00BE                   .dbline 129
 00BE           ; // Analog Comparator initialization
 00BE 84EA              ldi R24,164
 00C0 86BF              out 0x36,R24
 00C2                   .dbline 130
 00C2           L7:
 00C2                   .dbline 130
 00C2           L8:
 00C2                   .dbline 130
 00C2           ; // Analog Comparator: Off
 00C2 26B6              in R2,0x36
 00C4 27FE              sbrs R2,7
 00C6 FDCF              rjmp L7
 00C8                   .dbline 130
 00C8                   .dbline 130
 00C8                   .dbline 131
 00C8           ; // Analog Comparator Input Capture by Timer/Counter 1: Off
 00C8 81B1              in R24,0x1
 00CA 887F              andi R24,248
 00CC 8830              cpi R24,8
 00CE 11F0              breq L10
 00D0                   .dbline 132
 00D0           ; ACSR=0x80;
 00D0 0027              clr R16
 00D2 01C0              xjmp L6
 00D4           L10:
 00D4                   .dbline 133
 00D4           ; SFIOR=0x00;
 00D4 01E0              ldi R16,1
 00D6                   .dbline -2
 00D6           L6:
 00D6                   .dbline 0 ; func end
 00D6 0895              ret
 00D8                   .dbend
 00D8                   .dbfunc e I2C_Restart _I2C_Restart fc
                        .even
 00D8           _I2C_Restart::
 00D8                   .dbline -1
 00D8                   .dbline 144
 00D8           ; 
 00D8           ; }
 00D8           ; void main()
 00D8           ; {   
 00D8           ;   unsigned char a=0;
 00D8           ;   init_device();        
 00D8           ;   PORTB|=0x02;
 00D8           ; 
 00D8           ;     //DDRA|=0x09;
 00D8           ;     //PORTA=0xFE;
 00D8           ;   DDRA|=0x01;
 00D8                   .dbline 145
 00D8           ;   PORTA&=0xFE;
 00D8 84EA              ldi R24,164
 00DA 86BF              out 0x36,R24
 00DC                   .dbline 146
 00DC           L13:
 00DC                   .dbline 146
 00DC           L14:
 00DC                   .dbline 146
 00DC           ;       //DDRA|=0x04;
 00DC 26B6              in R2,0x36
 00DE 27FE              sbrs R2,7
 00E0 FDCF              rjmp L13
 00E2                   .dbline 146
 00E2                   .dbline 146
 00E2                   .dbline 147
 00E2           ;    // PORTA|=0x04;
 00E2 81B1              in R24,0x1
 00E4 887F              andi R24,248
 00E6 8031              cpi R24,16
 00E8 11F0              breq L16
 00EA                   .dbline 148
 00EA           ;       
 00EA 0027              clr R16
 00EC 01C0              xjmp L12
 00EE           L16:
 00EE                   .dbline 149
 00EE           ;       SEI();
 00EE 01E0              ldi R16,1
 00F0                   .dbline -2
 00F0           L12:
 00F0                   .dbline 0 ; func end
 00F0 0895              ret
 00F2                   .dbend
 00F2                   .dbfunc e I2C_SendWrDAdr _I2C_SendWrDAdr fc
 00F2           ;         wrDAdr -> R16
                        .even
 00F2           _I2C_SendWrDAdr::
 00F2                   .dbline -1
 00F2                   .dbline 160
 00F2           ;       lcd_init();     
 00F2           ;       lcd_puts(2,1,"    启动中 -");
 00F2           ;     PORTB|=0x04;
 00F2           ;     delay50ms(2); 
 00F2           ;       lcd_puts(2,1,"    启动中 \\");
 00F2           ;       delay50ms(2);
 00F2           ;       lcd_puts(2,1,"    启动中 /");
 00F2           ;       delay50ms(2);  
 00F2           ;       lcd_puts(2,1,"    启动中 -");
 00F2           ;     PORTB&=0xFB;
 00F2           ;     delay50ms(2);
 00F2                   .dbline 161
 00F2           ;       lcd_puts(2,1,"    启动中 \\");
 00F2                   .dbline 161
 00F2 03B9              out 0x3,R16

⌨️ 快捷键说明

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