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

📄 +_-

📁 avr单片机icc写的密码锁
💻
📖 第 1 页 / 共 5 页
字号:
 02A2           X19:
 02A2                   .dbline 140
 02A2           ;      return keycode;
 02A2                   .dbline -2
 02A2           L63:
 02A2                   .dbline 0 ; func end
 02A2 A990              ld R10,y+
 02A4 0895              ret
 02A6                   .dbsym l temp 1 c
 02A6                   .dbsym r keycode 16 c
 02A6                   .dbsym r j 10 c
 02A6                   .dbsym r com 16 c
 02A6                   .dbsym r i 18 c
 02A6                   .dbend
 02A6                   .dbfunc e ch451_init _ch451_init fV
                        .even
 02A6           _ch451_init::
 02A6                   .dbline -1
 02A6                   .dbline 143
 02A6           ; }
 02A6           ; void ch451_init()
 02A6           ; {
 02A6                   .dbline 144
 02A6           ;    ch451din0;
 02A6 C098              cbi 0x18,0
 02A8                   .dbline 145
 02A8           ;    ch451din1;
 02A8 C09A              sbi 0x18,0
 02AA                   .dbline -2
 02AA           L76:
 02AA                   .dbline 0 ; func end
 02AA 0895              ret
 02AC                   .dbend
 02AC                   .dbfunc e int0_init _int0_init fV
                        .even
 02AC           _int0_init::
 02AC                   .dbline -1
 02AC                   .dbline 149
 02AC           ; }
 02AC           ; //中断初始化
 02AC           ; void int0_init()
 02AC           ; {
 02AC                   .dbline 150
 02AC           ;    PORTD|=BIT(2);
 02AC 929A              sbi 0x12,2
 02AE                   .dbline 151
 02AE           ;    DDRD&=~BIT(2);
 02AE 8A98              cbi 0x11,2
 02B0                   .dbline 152
 02B0           ;    MCUCR|=0X00;
 02B0 25B6              in R2,0x35
 02B2 25BE              out 0x35,R2
 02B4                   .dbline 153
 02B4           ;    MCUCSR|=0X00;
 02B4 24B6              in R2,0x34
 02B6 24BE              out 0x34,R2
 02B8                   .dbline 154
 02B8           ;    GICR|=0X40;
 02B8 8BB7              in R24,0x3b
 02BA 8064              ori R24,64
 02BC 8BBF              out 0x3b,R24
 02BE                   .dbline 155
 02BE           ;    SREG|=BIT(7);
 02BE 7894              bset 7
 02C0                   .dbline -2
 02C0           L77:
 02C0                   .dbline 0 ; func end
 02C0 0895              ret
 02C2                   .dbend
 02C2                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\eeprom.c
 02C2                   .dbfunc e write_eep _write_eep fV
 02C2           ;           data -> R18,R19
 02C2           ;            add -> R16,R17
                        .even
 02C2           _write_eep::
 02C2                   .dbline -1
 02C2                   .dbline 4
 02C2           ; //写EEPROM
 02C2           ; /***************************************/
 02C2           ; void write_eep(unsigned int add,unsigned int data)
 02C2           ; { //data为待写数据,add为某单元地址
 02C2           L79:
 02C2                   .dbline 5
 02C2           ; while(EECR&(1<<EEWE)); //等待前一次写操作完成
 02C2           L80:
 02C2                   .dbline 5
 02C2 E199              sbic 0x1c,1
 02C4 FECF              rjmp L79
 02C6           X20:
 02C6                   .dbline 6
 02C6           ; EEAR=add; //设定单元地址
 02C6 1FBB              out 0x1f,R17
 02C8 0EBB              out 0x1e,R16
 02CA                   .dbline 7
 02CA           ; EEDR=data; //将数据写入EEDR
 02CA 2DBB              out 0x1d,R18
 02CC                   .dbline 8
 02CC           ; EECR|=(1<<EEMWE); //允许EEPROM操作
 02CC E29A              sbi 0x1c,2
 02CE                   .dbline 9
 02CE           ; EECR|=(1<<EEWE); //开始EEPROM操作
 02CE E19A              sbi 0x1c,1
 02D0                   .dbline -2
 02D0           L78:
 02D0                   .dbline 0 ; func end
 02D0 0895              ret
 02D2                   .dbsym r data 18 i
 02D2                   .dbsym r add 16 i
 02D2                   .dbend
 02D2                   .dbfunc e read_eep _read_eep fc
 02D2           ;            add -> R16,R17
                        .even
 02D2           _read_eep::
 02D2                   .dbline -1
 02D2                   .dbline 15
 02D2           ; }
 02D2           ; /***************************************
 02D2           ; 读EEPROM
 02D2           ; ***************************************/
 02D2           ; unsigned char read_eep(unsigned int add)
 02D2           ; { //add为某单元地址
 02D2           L83:
 02D2                   .dbline 16
 02D2           ; while(EECR&(1<<EEWE));//等待前一次写操作完成
 02D2           L84:
 02D2                   .dbline 16
 02D2 E199              sbic 0x1c,1
 02D4 FECF              rjmp L83
 02D6           X21:
 02D6                   .dbline 17
 02D6           ; EEAR=add; //设定单元地址
 02D6 1FBB              out 0x1f,R17
 02D8 0EBB              out 0x1e,R16
 02DA                   .dbline 18
 02DA           ; EECR|=(1<<EERE); //开始EEPROM写操作
 02DA E09A              sbi 0x1c,0
 02DC                   .dbline 19
 02DC           ; return EEDR; //返回读出的数据
 02DC 0DB3              in R16,0x1d
 02DE                   .dbline -2
 02DE           L82:
 02DE                   .dbline 0 ; func end
 02DE 0895              ret
 02E0                   .dbsym r add 16 i
 02E0                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\eeprom.c
 0000           _j::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\eeprom.c
 0001                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0001                   .dbsym e j _j c
 0001           _g::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0002                   .dbsym e g _g c
 0002           _aa::
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0003                   .dbsym e aa _aa c
 0003           _xg::
 0003                   .blkb 2
                        .area idata
 0003 0000              .word 0
                        .area data(ram, con, rel)
 0005                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0005                   .dbsym e xg _xg i
 0005           _suo::
 0005                   .blkb 2
                        .area idata
 0005 0000              .word 0
                        .area data(ram, con, rel)
 0007                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0007                   .dbsym e suo _suo i
 0007           _mimas::
 0007                   .blkb 2
                        .area idata
 0007 0000              .byte 0,0
                        .area data(ram, con, rel)
 0009                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0009                   .blkb 2
                        .area idata
 0009 0000              .byte 0,0
                        .area data(ram, con, rel)
 000B                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 000B                   .blkb 2
                        .area idata
 000B 0000              .byte 0,0
                        .area data(ram, con, rel)
 000D                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 000D                   .dbsym e mimas _mimas A[6:6]c
 000D           _mimac::
 000D                   .blkb 2
                        .area idata
 000D 0202              .byte 2,2
                        .area data(ram, con, rel)
 000F                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 000F                   .blkb 2
                        .area idata
 000F 0202              .byte 2,2
                        .area data(ram, con, rel)
 0011                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0011                   .blkb 2
                        .area idata
 0011 0202              .byte 2,2
                        .area data(ram, con, rel)
 0013                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0013                   .dbsym e mimac _mimac A[6:6]c
 0013           _mima_xg::
 0013                   .blkb 2
                        .area idata
 0013 0000              .byte 0,0
                        .area data(ram, con, rel)
 0015                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0015                   .blkb 2
                        .area idata
 0015 0000              .byte 0,0
                        .area data(ram, con, rel)
 0017                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0017                   .blkb 2
                        .area idata
 0017 0000              .byte 0,0
                        .area data(ram, con, rel)
 0019                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 0019                   .dbsym e mima_xg _mima_xg A[6:6]c
                        .area text(rom, con, rel)
 02E0                   .dbfile C:\Users\Think\Desktop\新建文件夹\密码输入2\main.c
 02E0                   .dbfunc e miao2 _miao2 fV
 02E0           ;              q -> R10
                        .even
 02E0           _miao2::
 02E0 0A92              st -y,R0
 02E2 1A92              st -y,R1
 02E4 2A92              st -y,R2
 02E6 3A92              st -y,R3
 02E8 4A92              st -y,R4
 02EA 5A92              st -y,R5
 02EC 6A92              st -y,R6
 02EE 7A92              st -y,R7
 02F0 8A92              st -y,R8
 02F2 9A92              st -y,R9
 02F4 0A93              st -y,R16
 02F6 1A93              st -y,R17
 02F8 2A93              st -y,R18
 02FA 3A93              st -y,R19
 02FC 8A93              st -y,R24
 02FE 9A93              st -y,R25
 0300 AA93              st -y,R26
 0302 BA93              st -y,R27
 0304 EA93              st -y,R30
 0306 FA93              st -y,R31
 0308 0FB6              IN R0,63
 030A 0A92              st -y,R0
 030C 0E940000          xcall push_xgset300C
 0310                   .dbline -1
 0310                   .dbline 14
 0310           ; #include <iom16v.h>
 0310           ; #include <macros.h>
 0310           ; #define  uchar unsigned char
 0310           ; #define  uint  unsigned int
 0310           ; #define  ulong unsigned long
 0310           ; #pragma  interrupt_handler  miao2:2
 0310           ; #include "yejing.c"
 0310           ; #include "451.c"
 0310           ; #include "eeprom.c"
 0310           ; uchar j=0,g=0,aa=0;
 0310           ; uint xg=0,suo=0;
 0310           ; uchar mimas[]={0,0,0,0,0,0},mimac[]={2,2,2,2,2,2},mima_xg[]={0,0,0,0,0,0}; //xianzai mima 999999
 0310           ;  void miao2()
 0310           ; {uchar q;
 0310                   .dbline 15
 0310           ;   q=ch451_read();
 0310 AADF              xcall _ch451_read
 0312 A02E              mov R10,R16
 0314                   .dbline 16
 0314           ;   switch(q)
 0314 4A2D              mov R20,R10
 0316 5527              clr R21
 0318 4534              cpi R20,69
 031A E0E0              ldi R30,0
 031C 5E07              cpc R21,R30
 031E A9F1              breq L90
 0320           X22:
 0320 4634              cpi R20,70
 0322 E0E0              ldi R30,0
 0324 5E07              cpc R21,R30
 0326 09F4              brne X40
 0328 3CC0              xjmp L93
 032A           X40:
 032A           X23:
 032A 4734              cpi R20,71
 032C E0E0              ldi R30,0
 032E 5E07              cpc R21,R30
 0330 09F4              brne X41
 0332 43C0              xjmp L96
 0334           X41:
 0334           X24:
 0334 4D34              cpi R20,77
 0336 E0E0              ldi R30,0
 0338 5E07              cpc R21,R30
 033A 59F1              breq L91
 033C           X25:
 033C 4E34              cpi R20,78
 033E E0E0              ldi R30,0
 0340 5E07              cpc R21,R30
 0342 99F1              breq L94
 0344           X26:
 0344 4F34              cpi R20,79
 0346 E0E0              ldi R30,0
 0348 5E07              cpc R21,R30
 034A 09F4              brne X42
 034C 3AC0              xjmp L97
 034E           X42:
 034E           X27:
 034E 4534              cpi R20,69
 0350 E0E0              ldi R30,0
 0352 5E07              cpc R21,R30
 0354 0CF4              brge X43
 0356 48C0              xjmp L87
 0358           X43:
 0358           X28:
 0358           L102:
 0358 4535              cpi R20,85
 035A E0E0              ldi R30,0
 035C 5E07              cpc R21,R30
 035E E9F0              breq L92
 0360           X29:
 0360 4635              cpi R20,86
 0362 E0E0              ldi R30,0
 0364 5E07              cpc R21,R30
 0366 29F1              breq L95

⌨️ 快捷键说明

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