📄 main.lis
字号:
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 + -