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

📄 main.lis

📁 程序控制TFT全彩LCD显示屏
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00AE 2A92              st -y,R2
 00B0                   .dbline -1
 00B0                   .dbline 103
 00B0                   .dbline 105
 00B0 84E5              ldi R24,84
 00B2 82BF              out 0x32,R24
 00B4                   .dbline 108
 00B4 8EE9              ldi R24,1950
 00B6 97E0              ldi R25,7
 00B8 20900000          lds R2,_commtimer
 00BC 30900100          lds R3,_commtimer+1
 00C0 8215              cp R24,R2
 00C2 9305              cpc R25,R3
 00C4 30F4              brsh L32
 00C6                   .dbline 109
 00C6                   .dbline 110
 00C6 2224              clr R2
 00C8 3324              clr R3
 00CA 30920100          sts _commtimer+1,R3
 00CE 20920000          sts _commtimer,R2
 00D2                   .dbline 112
 00D2           L32:
 00D2                   .dbline -2
 00D2           L31:
 00D2 2990              ld R2,y+
 00D4 2FBE              out 0x3f,R2
 00D6 9991              ld R25,y+
 00D8 8991              ld R24,y+
 00DA 3990              ld R3,y+
 00DC 2990              ld R2,y+
 00DE                   .dbline 0 ; func end
 00DE 1895              reti
 00E0                   .dbend
 00E0                   .dbfunc e beep _beep fV
 00E0           ;         second -> R16
                        .even
 00E0           _beep::
 00E0                   .dbline -1
 00E0                   .dbline 115
 00E0           ; }
 00E0           ; 
 00E0           ; #pragma interrupt_handler timer0_ovf_isr:17
 00E0           ; void timer0_ovf_isr(void)
 00E0           ; {
 00E0           ; //     unsigned char oop;
 00E0           ;        TCNT0 = 0x54;                 //1ms
 00E0           ; //     commtimer++;
 00E0           ; 
 00E0           ;        if(commtimer>1950)
 00E0           ;        {
 00E0           ;               commtimer=0;
 00E0           ; //            WDR();
 00E0           ;        }
 00E0           ; }
 00E0           ; void beep(unsigned char second)
 00E0           ; {
 00E0                   .dbline 116
 00E0           ;        beep_second=second;
 00E0 202E              mov R2,R16
 00E2 3324              clr R3
 00E4 3092BE02          sts _beep_second+1,R3
 00E8 2092BD02          sts _beep_second,R2
 00EC                   .dbline 117
 00EC           ;        beep_flag=1;
 00EC 81E0              ldi R24,1
 00EE 8093BC02          sts _beep_flag,R24
 00F2                   .dbline 120
 00F2           ; ///    CLEAR_BELL();
 00F2           ; //     CLEAR_LED0();
 00F2           ;        timer=0;
 00F2 2224              clr R2
 00F4 30920100          sts _timer+1,R3
 00F8 20920000          sts _timer,R2
 00FC                   .dbline -2
 00FC           L34:
 00FC                   .dbline 0 ; func end
 00FC 0895              ret
 00FE                   .dbsym r second 16 c
 00FE                   .dbend
                        .area vector(rom, abs)
                        .org 56
 0038 0C947F00          jmp _timer1_ovf_isr
                        .area text(rom, con, rel)
 00FE                   .dbfile F:\yinhui\avr_tft\soft\main.c
 00FE                   .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
                        .even
 00FE           _timer1_ovf_isr::
 00FE 8A93              st -y,R24
 0100 9A93              st -y,R25
 0102 8FB7              in R24,0x3f
 0104 8A93              st -y,R24
 0106                   .dbline -1
 0106                   .dbline 125
 0106           ; }
 0106           ; 
 0106           ; #pragma interrupt_handler timer1_ovf_isr:15
 0106           ; void timer1_ovf_isr(void)
 0106           ; {
 0106                   .dbline 127
 0106           ;        //TIMER1 has overflowed
 0106           ;        TCNT1H = 0xFD;   //reload counter high value  50ms
 0106 8DEF              ldi R24,253
 0108 8DBD              out 0x2d,R24
 010A                   .dbline 128
 010A           ;        TCNT1L = 0xE5;   //reload counter low value    50ms
 010A 85EE              ldi R24,229
 010C 8CBD              out 0x2c,R24
 010E                   .dbline 129
 010E           ;        timecounter++;
 010E 8091A802          lds R24,_timecounter
 0112 9091A902          lds R25,_timecounter+1
 0116 0196              adiw R24,1
 0118 9093A902          sts _timecounter+1,R25
 011C 8093A802          sts _timecounter,R24
 0120                   .dbline 130
 0120           ;        timer++;
 0120 80910000          lds R24,_timer
 0124 90910100          lds R25,_timer+1
 0128 0196              adiw R24,1
 012A 90930100          sts _timer+1,R25
 012E 80930000          sts _timer,R24
 0132                   .dbline -2
 0132           L35:
 0132 8991              ld R24,y+
 0134 8FBF              out 0x3f,R24
 0136 9991              ld R25,y+
 0138 8991              ld R24,y+
 013A                   .dbline 0 ; func end
 013A 1895              reti
 013C                   .dbend
 013C                   .dbfunc e writec _writec fV
 013C           ;              a -> R16
                        .even
 013C           _writec::
 013C                   .dbline -1
 013C                   .dbline 134
 013C           ; }
 013C           ; //////////////////////////////////////////
 013C           ; void writec(unsigned char a)
 013C           ; {
 013C                   .dbline 135
 013C           ;        DDRF= ~a;                   //P1=a;                     
 013C 202E              mov R2,R16
 013E 2094              com R2
 0140 20926100          sts 97,R2
 0144                   .dbline 136
 0144           ;        CLEAR_RS();                             //rs=0;
 0144 129A              sbi 0x2,2
 0146                   .dbline 137
 0146           ;        SET_RD();                                       //rd=1;
 0146 80916400          lds R24,100
 014A 8D7F              andi R24,253
 014C 80936400          sts 100,R24
 0150                   .dbline 138
 0150           ;        CLEAR_CS();                             //cs=0;
 0150 149A              sbi 0x2,4
 0152                   .dbline 139
 0152           ;        CLEAR_WR();                             //wr=0;
 0152 80916400          lds R24,100
 0156 8160              ori R24,1
 0158 80936400          sts 100,R24
 015C                   .dbline 140
 015C           ;        SET_WR();                                       //wr=1;
 015C 80916400          lds R24,100
 0160 8E7F              andi R24,254
 0162 80936400          sts 100,R24
 0166                   .dbline 141
 0166           ;        SET_CS();                                       //cs=1;
 0166 1498              cbi 0x2,4
 0168                   .dbline -2
 0168           L36:
 0168                   .dbline 0 ; func end
 0168 0895              ret
 016A                   .dbsym r a 16 c
 016A                   .dbend
 016A                   .dbfunc e writed _writed fV
 016A           ;              a -> R16
                        .even
 016A           _writed::
 016A                   .dbline -1
 016A                   .dbline 145
 016A           ;  }
 016A           ; /*************写数据的子程序**************************/
 016A           ; void writed(unsigned char a)
 016A           ; { 
 016A                   .dbline 146
 016A           ;   DDRF= ~a;                                                           //P1=a;                                                                                                                                                                                                                                                                                                                                                    
 016A 202E              mov R2,R16
 016C 2094              com R2
 016E 20926100          sts 97,R2
 0172                   .dbline 147
 0172           ;   SET_RS();                                                           //rs=1;
 0172 1298              cbi 0x2,2
 0174                   .dbline 148
 0174           ;   SET_RD();                                                           //rd=1;
 0174 80916400          lds R24,100
 0178 8D7F              andi R24,253
 017A 80936400          sts 100,R24
 017E                   .dbline 149
 017E           ;   CLEAR_CS();                                                         //cs=0;
 017E 149A              sbi 0x2,4
 0180                   .dbline 150
 0180           ;   CLEAR_WR();                           //wr=0;             
 0180 80916400          lds R24,100
 0184 8160              ori R24,1
 0186 80936400          sts 100,R24
 018A                   .dbline 151
 018A           ;   SET_WR();                                                   //wr=1;
 018A 80916400          lds R24,100
 018E 8E7F              andi R24,254
 0190 80936400          sts 100,R24
 0194                   .dbline 152
 0194           ;   SET_CS();                                                   //cs=1;
 0194 1498              cbi 0x2,4
 0196                   .dbline -2
 0196           L37:
 0196                   .dbline 0 ; func end
 0196 0895              ret
 0198                   .dbsym r a 16 c
 0198                   .dbend
 0198                   .dbfunc e inits6d0144 _inits6d0144 fV
                        .even
 0198           _inits6d0144::
 0198                   .dbline -1
 0198                   .dbline 157
 0198           ; 
 0198           ; }
 0198           ; /*********IC s6d0144 的初始化*****ok**************/
 0198           ; void inits6d0144(void)
 0198           ; { writec(0x00);
 0198                   .dbline 157
 0198 0027              clr R16
 019A D0DF              xcall _writec
 019C                   .dbline 158
 019C           ;   writec(0x07);
 019C 07E0              ldi R16,7
 019E CEDF              xcall _writec
 01A0                   .dbline 159
 01A0           ;   writed(0x00);
 01A0 0027              clr R16
 01A2 E3DF              xcall _writed
 01A4                   .dbline 160
 01A4           ;   writed(0x00);//display control
 01A4 0027              clr R16
 01A6 E1DF              xcall _writed
 01A8                   .dbline 162
 01A8           ; 
 01A8           ;   writec(0x00);
 01A8 0027              clr R16
 01AA C8DF              xcall _writec
 01AC                   .dbline 163
 01AC           ;   writec(0x61);
 01AC 01E6              ldi R16,97
 01AE C6DF              xcall _writec
 01B0                   .dbline 164
 01B0           ;   writed(0x00);
 01B0 0027              clr R16
 01B2 DBDF              xcall _writed
 01B4                   .dbline 165
 01B4           ;   writed(0x1a);//ossilator control
 01B4 0AE1              ldi R16,26
 01B6 D9DF              xcall _writed
 01B8                   .dbline 167
 01B8           ; 
 01B8           ;   writec(0x00);
 01B8 0027              clr R16
 01BA C0DF              xcall _writec
 01BC                   .dbline 168
 01BC           ;   writec(0x0b);
 01BC 0BE0              ldi R16,11
 01BE BEDF              xcall _writec
 01C0                   .dbline 169
 01C0           ;   writed(0x00);
 01C0 0027              clr R16
 01C2 D3DF              xcall _writed
 01C4                   .dbline 170
 01C4           ;   writed(0x00);//frame cycle control
 01C4 0027              clr R16
 01C6 D1DF              xcall _writed
 01C8                   .dbline 171
 01C8           ;   delay(100);
 01C8 04E6              ldi R16,100
 01CA 10E0              ldi R17,0
 01CC 9DD1              xcall _delay
 01CE                   .dbline 173
 01CE           ; 
 01CE           ;   writec(0x00);
 01CE 0027              clr R16
 01D0 B5DF              xcall _writec
 01D2                   .dbline 174
 01D2           ;   writec(0xb4);
 01D2 04EB              ldi R16,180
 01D4 B3DF              xcall _writec
 01D6                   .dbline 175
 01D6           ;   writed(0x00);
 01D6 0027              clr R16
 01D8 C8DF              xcall _writed
 01DA                   .dbline 176
 01DA           ;   writed(0x00);//MTP control
 01DA 0027              clr R16
 01DC C6DF              xcall _writed
 01DE                   .dbline 178
 01DE           ; 
 01DE           ;   writec(0x00);
 01DE 0027              clr R16
 01E0 ADDF              xcall _writec
 01E2                   .dbline 179
 01E2           ;   writec(0x12);
 01E2 02E1              ldi R16,18
 01E4 ABDF              xcall _writec
 01E6                   .dbline 180
 01E6           ;   writed(0x00);
 01E6 0027              clr R16
 01E8 C0DF              xcall _writed
 01EA                   .dbline 181
 01EA           ;   writec(0xb3);//power control 2 set VREFS=2.879V
 01EA 03EB              ldi R16,179
 01EC A7DF              xcall _writec
 01EE                   .dbline 183
 01EE           ; 
 01EE           ;   writec(0x00);
 01EE 0027              clr R16
 01F0 A5DF              xcall _writec
 01F2                   .dbline 184
 01F2           ;   writec(0x13);
 01F2 03E1              ldi R16,19
 01F4 A3DF              xcall _writec
 01F6                   .dbline 185
 01F6           ;   writed(0x08);
 01F6 08E0              ldi R16,8
 01F8 B8DF              xcall _writed
 01FA                   .dbline 186
 01FA           ;   writed(0x0d);//power control 3
 01FA 0DE0              ldi R16,13
 01FC B6DF              xcall _writed
 01FE                   .dbline 188
 01FE           ; 
 01FE           ;   writec(0x00);
 01FE 0027              clr R16
 0200 9DDF              xcall _writec
 0202                   .dbline 189
 0202           ;   writec(0x14);
 0202 04E1              ldi R16,20

⌨️ 快捷键说明

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