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

📄 洗衣机.lis

📁 自己做的AVR洗衣机模型程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module _洗衣机.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\AVR洗衣机\洗衣机主机\洗衣机.c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\AVR洗衣机\洗衣机主机\洗衣机.c
 0000           _wat_lv::
 0000                   .blkb 1
                        .area idata
 0000 02                .byte 2
                        .area data(ram, con, rel)
 0001                   .dbfile F:\AVR洗衣机\洗衣机主机\洗衣机.c
 0001                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0001                   .dbsym e wat_lv _wat_lv c
 0001           _cycle::
 0001                   .blkb 1
                        .area idata
 0001 03                .byte 3
                        .area data(ram, con, rel)
 0002                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0002                   .dbsym e cycle _cycle c
 0002           _replay::
 0002                   .blkb 1
                        .area idata
 0002 02                .byte 2
                        .area data(ram, con, rel)
 0003                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0003                   .dbsym e replay _replay c
 0003           _health::
 0003                   .blkb 1
                        .area idata
 0003 02                .byte 2
                        .area data(ram, con, rel)
 0004                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0004                   .dbsym e health _health c
 0004           _flag_start::
 0004                   .blkb 1
                        .area idata
 0004 00                .byte 0
                        .area data(ram, con, rel)
 0005                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0005                   .dbsym e flag_start _flag_start c
 0005           _nn::
 0005                   .blkb 1
                        .area idata
 0005 00                .byte 0
                        .area data(ram, con, rel)
 0006                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0006                   .dbsym e nn _nn c
 0006           _t_1s::
 0006                   .blkb 1
                        .area idata
 0006 32                .byte 50
                        .area data(ram, con, rel)
 0007                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0007                   .dbsym e t_1s _t_1s c
 0007           _tt::
 0007                   .blkb 1
                        .area idata
 0007 00                .byte 0
                        .area data(ram, con, rel)
 0008                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0008                   .dbsym e tt _tt c
 0008           _tt_2::
 0008                   .blkb 1
                        .area idata
 0008 00                .byte 0
                        .area data(ram, con, rel)
 0009                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0009                   .dbsym e tt_2 _tt_2 c
 0009           _count::
 0009                   .blkb 1
                        .area idata
 0009 00                .byte 0
                        .area data(ram, con, rel)
 000A                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 000A                   .dbsym e count _count c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\AVR洗衣机\洗衣机主机\define.h
 0000                   .dbfile F:\AVR洗衣机\洗衣机主机\LCD_Driver.h
 0000                   .dbfunc e Char_Set_XY _Char_Set_XY fV
 0000           ;              i -> R10
 0000           ;              p -> R12,R13
 0000           ;              y -> R10
 0000           ;              x -> R20
                        .even
 0000           _Char_Set_XY::
 0000 0E940000          xcall push_xgsetF03C
 0004 A22E              mov R10,R18
 0006 402F              mov R20,R16
 0008 2197              sbiw R28,1
 000A C984              ldd R12,y+9
 000C DA84              ldd R13,y+10
 000E                   .dbline -1
 000E                   .dbline 66
 000E           ; #include <iom16v.h>
 000E           ; #include <macros.h>
 000E           ; 
 000E           ; #define nop()  NOP()
 000E           ; 
 000E           ; 
 000E           ; #define Set_CS() DDRA |= (1<<0);PORTA |= (1<<0)
 000E           ; #define Set_SID() DDRA |= (1<<1);PORTA |= (1<<1)
 000E           ; #define Set_SCLK() DDRA |= (1<<2);PORTA |= (1<<2)
 000E           ; 
 000E           ; #define Clr_CS() DDRA |= (1<<0);PORTA &=~(1<<0)
 000E           ; #define Clr_SID() DDRA |= (1<<1);PORTA &=~(1<<1)
 000E           ; #define Clr_SCLK() DDRA |= (1<<2);PORTA &=~(1<<2)
 000E           ; #define cls  W_1byte(0,0,0x01)//清屏
 000E           ; 
 000E           ;  
 000E           ; //====================================================================
 000E           ; //函数声明
 000E           ; void Delay(uint ms);      //延时子程序
 000E           ; void W_1byte(uchar RW, uchar RS, uchar W_data);
 000E           ; void Write_8bits(uint W_bits);
 000E           ; void LCD_Init(void);
 000E           ; /********************************************************************
 000E           ; ********************************************************************/ 
 000E           ; //===================================================================
 000E           ; 
 000E           ; /********************************************************************
 000E           ; 09.5.10
 000E           ; 影龙   未完成
 000E           ; 在(x,y)点写句子,能实现换行功能
 000E           ; ********************************************************************/
 000E           ; /*
 000E           ; void Set_XY_str(uchar x, uchar y, uchar *p) 
 000E           ; {
 000E           ; uchar counter; 
 000E           ; counter=x*2-1;//把X值赋给COUNTER
 000E           ; x--;
 000E           ; switch (y)
 000E           ; {
 000E           ; case 1:W_1byte(0,0,(0x80+x));
 000E           ; case 2:W_1byte(0,0,(0x90+x));
 000E           ; case 3:W_1byte(0,0,(0x88+x));
 000E           ; case 4:W_1byte(0,0,(0x98+x));
 000E           ; }
 000E           ; 
 000E           ;       while(*p != 0)
 000E           ;       {counter++;
 000E           ;           if(counter==16)//假如定时器等于8且为单数行
 000E           ;                {y++;
 000E           ;                 counter=1;
 000E           ;                switch (y)
 000E           ;                 {
 000E           ;                 case 1:W_1byte(0,0,0x80);counter=0;break;
 000E           ;                 case 2:W_1byte(0,0,0x90);counter=0;break;
 000E           ;                 case 3:W_1byte(0,0,0x88);counter=0;break;
 000E           ;                 case 4:W_1byte(0,0,0x98);counter=0;break;
 000E           ;                 default:break;
 000E           ;                 }
 000E           ;                }                
 000E           ;               W_1byte(0,1,*p++);//写字节数据
 000E           ;       }
 000E           ; }
 000E           ; */
 000E           ; 
 000E           ; void Char_Set_XY(uchar x, uchar y, uchar *p) 
 000E           ; {
 000E                   .dbline 69
 000E           ; uchar i;
 000E           ;  
 000E           ; switch (y)
 000E 6A2D              mov R22,R10
 0010 7727              clr R23
 0012 6030              cpi R22,0
 0014 6707              cpc R22,R23
 0016 69F0              breq L5
 0018           X0:
 0018 6130              cpi R22,1
 001A E0E0              ldi R30,0
 001C 7E07              cpc R23,R30
 001E 81F0              breq L6
 0020           X1:
 0020 6230              cpi R22,2
 0022 E0E0              ldi R30,0
 0024 7E07              cpc R23,R30
 0026 99F0              breq L7
 0028           X2:
 0028 6330              cpi R22,3
 002A E0E0              ldi R30,0
 002C 7E07              cpc R23,R30
 002E B1F0              breq L8
 0030           X3:
 0030 1BC0              xjmp L3
 0032           L5:
 0032                   .dbline 71
 0032           ; {
 0032           ; case 0:W_1byte(0,0,(0x80+x));break;
 0032 842F              mov R24,R20
 0034 8058              subi R24,128    ; addi 128
 0036 8883              std y+0,R24
 0038 2227              clr R18
 003A 0027              clr R16
 003C 9AD0              xcall _W_1byte
 003E                   .dbline 71
 003E 14C0              xjmp L3
 0040           L6:
 0040                   .dbline 72
 0040           ; case 1:W_1byte(0,0,(0x90+x));break;
 0040 842F              mov R24,R20
 0042 8057              subi R24,112    ; addi 144
 0044 8883              std y+0,R24
 0046 2227              clr R18
 0048 0027              clr R16
 004A 93D0              xcall _W_1byte
 004C                   .dbline 72
 004C 0DC0              xjmp L3
 004E           L7:
 004E                   .dbline 73
 004E           ; case 2:W_1byte(0,0,(0x88+x));break;
 004E 842F              mov R24,R20
 0050 8857              subi R24,120    ; addi 136
 0052 8883              std y+0,R24
 0054 2227              clr R18
 0056 0027              clr R16
 0058 8CD0              xcall _W_1byte
 005A                   .dbline 73
 005A 06C0              xjmp L3
 005C           L8:
 005C                   .dbline 74
 005C           ; case 3:W_1byte(0,0,(0x98+x));break;
 005C 842F              mov R24,R20
 005E 8856              subi R24,104    ; addi 152
 0060 8883              std y+0,R24
 0062 2227              clr R18
 0064 0027              clr R16
 0066 85D0              xcall _W_1byte
 0068                   .dbline 74
 0068                   .dbline 75
 0068           ; default:break;
 0068           L3:
 0068                   .dbline 77
 0068           ; }
 0068           ;   nop();
 0068 0000              nop
 006A                   .dbline 78
 006A           ;   for(i=0;p[i]!='\0';i++)
 006A AA24              clr R10
 006C 0BC0              xjmp L12
 006E           L9:
 006E                   .dbline 79
 006E           ;   {
 006E                   .dbline 80
 006E           ;    W_1byte(0,1,p[i]);
 006E EA2D              mov R30,R10
 0070 FF27              clr R31
 0072 EC0D              add R30,R12
 0074 FD1D              adc R31,R13
 0076 2080              ldd R2,z+0
 0078 2882              std y+0,R2
 007A 21E0              ldi R18,1
 007C 0027              clr R16
 007E 79D0              xcall _W_1byte
 0080                   .dbline 81
 0080           ;      nop();
 0080 0000              nop
 0082                   .dbline 82
 0082           ;   }
 0082           L10:
 0082                   .dbline 78
 0082 A394              inc R10
 0084           L12:
 0084                   .dbline 78
 0084 EA2D              mov R30,R10
 0086 FF27              clr R31
 0088 EC0D              add R30,R12
 008A FD1D              adc R31,R13
 008C 2080              ldd R2,z+0
 008E 2220              tst R2
 0090 71F7              brne L9
 0092           X4:
 0092                   .dbline 83
 0092           ;   nop();
 0092 0000              nop
 0094                   .dbline -2
 0094           L1:
 0094                   .dbline 0 ; func end
 0094 2196              adiw R28,1
 0096 0C940000          xjmp pop_xgsetF03C
 009A                   .dbsym r i 10 c
 009A                   .dbsym r p 12 pc
 009A                   .dbsym r y 10 c
 009A                   .dbsym r x 20 c
 009A                   .dbend
 009A                   .dbfunc e Set_XY _Set_XY fV
 009A           ;              y -> R10
 009A           ;              x -> R20
                        .even
 009A           _Set_XY::
 009A 0E940000          xcall push_xgsetF00C
 009E A22E              mov R10,R18
 00A0 402F              mov R20,R16
 00A2 2197              sbiw R28,1
 00A4                   .dbline -1
 00A4                   .dbline 87
 00A4           ; }
 00A4           ; 
 00A4           ; void Set_XY(uchar x,uchar y)
 00A4           ; {
 00A4                   .dbline 88
 00A4           ; nop();
 00A4 0000              nop
 00A6                   .dbline 89
 00A6           ; switch (y)
 00A6 6A2D              mov R22,R10
 00A8 7727              clr R23
 00AA 6030              cpi R22,0
 00AC 6707              cpc R22,R23
 00AE 69F0              breq L17
 00B0           X5:
 00B0 6130              cpi R22,1
 00B2 E0E0              ldi R30,0
 00B4 7E07              cpc R23,R30
 00B6 81F0              breq L18
 00B8           X6:
 00B8 6230              cpi R22,2
 00BA E0E0              ldi R30,0
 00BC 7E07              cpc R23,R30
 00BE 99F0              breq L19
 00C0           X7:
 00C0 6330              cpi R22,3
 00C2 E0E0              ldi R30,0
 00C4 7E07              cpc R23,R30
 00C6 B1F0              breq L20
 00C8           X8:
 00C8 1BC0              xjmp L15
 00CA           L17:
 00CA                   .dbline 91
 00CA           ; {
 00CA           ; case 0:W_1byte(0,0,(0x80+x));break;
 00CA 842F              mov R24,R20
 00CC 8058              subi R24,128    ; addi 128
 00CE 8883              std y+0,R24
 00D0 2227              clr R18
 00D2 0027              clr R16
 00D4 4ED0              xcall _W_1byte
 00D6                   .dbline 91
 00D6 14C0              xjmp L15
 00D8           L18:
 00D8                   .dbline 92
 00D8           ; case 1:W_1byte(0,0,(0x90+x));break;
 00D8 842F              mov R24,R20

⌨️ 快捷键说明

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