📄 main.s
字号:
.dbline 152
; }
L80:
.dbline 153
;
clr R22
xjmp L87
L84:
.dbline 154
; #pragma interrupt_handler timer0_ovf_isr:10
.dbline 155
; void timer0_ovf_isr(void)
ldi R24,104
mov R14,R24
sub R14,R22
.dbline 156
; {
ldd R30,y+11
ldd R31,y+12
ldd R14,z+0
.dbline 157
; unsigned char i;
mov R20,R14
clr R21
cpi R20,98
ldi R30,0
cpc R21,R30
brne X2
xjmp L103
X2:
cpi R20,99
ldi R30,0
cpc R21,R30
brne X3
xjmp L120
X3:
cpi R20,100
ldi R30,0
cpc R21,R30
brne X4
xjmp L105
X4:
cpi R20,104
ldi R30,0
cpc R21,R30
brne X5
xjmp L121
X5:
cpi R20,105
ldi R30,0
cpc R21,R30
brne X6
xjmp L110
X6:
ldi R24,105
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L125
L124:
cpi R20,32
ldi R30,0
cpc R21,R30
brne X7
xjmp L101
X7:
cpi R20,32
ldi R30,0
cpc R21,R30
brge X8
xjmp L88
X8:
L126:
cpi R20,46
ldi R30,0
cpc R21,R30
brge X9
xjmp L88
X9:
ldi R24,85
ldi R25,0
cp R24,R20
cpc R25,R21
brge X10
xjmp L88
X10:
ldi R16,2
ldi R17,0
movw R18,R20
xcall empy16s
movw R30,R16
ldi R24,<L127-92
ldi R25,>L127-92
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
L125:
cpi R20,113
ldi R30,0
cpc R21,R30
brne X11
xjmp L115
X11:
cpi R20,114
ldi R30,0
cpc R21,R30
brne X12
xjmp L116
X12:
cpi R20,116
ldi R30,0
cpc R21,R30
brne X13
xjmp L117
X13:
cpi R20,113
ldi R30,0
cpc R21,R30
brge X14
xjmp L88
X14:
L129:
cpi R20,121
ldi R30,0
cpc R21,R30
brne X15
xjmp L119
X15:
xjmp L88
X1:
.dbline 158
; if (on_scr==1) //如果可控硅触发标志为1,则触发可控硅
L91:
.dbline 159
; {
clr R10
.dbline 159
xjmp L89
L92:
.dbline 160
; TCCR0=0;
clr R10
inc R10
.dbline 160
xjmp L89
L93:
.dbline 161
; PORTC=PORTC | 0b01000000;
ldi R24,2
mov R10,R24
.dbline 161
xjmp L89
L94:
.dbline 162
; for (i=0;i<20;i++) ;
ldi R24,3
mov R10,R24
.dbline 162
xjmp L89
L95:
.dbline 163
; PORTC=PORTC & 0b10111111;
ldi R24,4
mov R10,R24
.dbline 163
xjmp L89
L96:
.dbline 164
; on_scr=0;
ldi R24,5
mov R10,R24
.dbline 164
xjmp L89
L97:
.dbline 165
; }
ldi R24,6
mov R10,R24
.dbline 165
xjmp L89
L98:
.dbline 166
; if (time0_chi>0) //如果计数器0次数大于0,则重新开始(0-255)的计时
ldi R24,7
mov R10,R24
.dbline 166
xjmp L89
L99:
.dbline 167
; {
ldi R24,8
mov R10,R24
.dbline 167
xjmp L89
L100:
.dbline 168
; TCNT0=0;
ldi R24,9
mov R10,R24
.dbline 168
xjmp L89
L101:
.dbline 169
; TCCR0=2;
ldi R24,31
mov R10,R24
.dbline 169
xjmp L89
L102:
.dbline 170
; time0_chi--;
ldi R24,10
mov R10,R24
.dbline 170
xjmp L89
L103:
.dbline 171
; }
ldi R24,11
mov R10,R24
.dbline 171
xjmp L89
L104:
.dbline 172
; else
ldi R24,12
mov R10,R24
.dbline 172
xjmp L89
L105:
.dbline 173
; {
ldi R24,13
mov R10,R24
.dbline 173
xjmp L89
L106:
.dbline 174
; if (time0_fen>0)
ldi R24,14
mov R10,R24
.dbline 174
xjmp L89
L107:
.dbline 175
; {
ldi R24,15
mov R10,R24
.dbline 175
xjmp L89
L108:
.dbline 176
; TCNT0=time0_fen;
ldi R24,16
mov R10,R24
.dbline 176
xjmp L89
L109:
.dbline 177
; TCCR0=2;
ldi R24,17
mov R10,R24
.dbline 177
xjmp L89
L110:
.dbline 178
; time0_fen=0;
ldi R24,18
mov R10,R24
.dbline 178
xjmp L89
L111:
.dbline 179
; }
ldi R24,19
mov R10,R24
.dbline 179
xjmp L89
L112:
.dbline 180
; else
ldi R24,20
mov R10,R24
.dbline 180
xjmp L89
L113:
.dbline 181
; {
ldi R24,21
mov R10,R24
.dbline 181
xjmp L89
L114:
.dbline 182
; TCNT0=time0_yu;
ldi R24,22
mov R10,R24
.dbline 182
xjmp L89
L115:
.dbline 183
; TCCR0=2;
ldi R24,23
mov R10,R24
.dbline 183
xjmp L89
L116:
.dbline 184
; on_scr=1;
ldi R24,24
mov R10,R24
.dbline 184
xjmp L89
L117:
.dbline 185
; }
ldi R24,25
mov R10,R24
.dbline 185
xjmp L89
L118:
.dbline 186
; }
ldi R24,26
mov R10,R24
.dbline 186
xjmp L89
L119:
.dbline 187
;
ldi R24,27
mov R10,R24
.dbline 187
xjmp L89
L120:
.dbline 188
; }
ldi R24,28
mov R10,R24
.dbline 188
xjmp L89
L121:
.dbline 189
;
ldi R24,29
mov R10,R24
.dbline 189
xjmp L89
L122:
.dbline 190
; //TIMER1 initialize - prescale:8
ldi R24,30
mov R10,R24
.dbline 190
xjmp L89
L123:
.dbline 191
; // WGM: 0) Normal, TOP=0xFFFF
ldi R24,128
mov R10,R24
.dbline 191
xjmp L89
L88:
.dbline 192
; // desired value: 1Hz
ldi R24,31
mov R10,R24
.dbline 193
; // actual value: Out of range
L89:
.dbline 195
; void timer1_init(void)
; {
ldd R24,y+11
ldd R25,y+12
adiw R24,1
std y+12,R25
std y+11,R24
.dbline 196
; TCCR1B = 0x00; //stop
movw R30,R24
ldd R12,z+0
.dbline 197
; TCNT1H = 0x00 /*INVALID SETTING*/; //setup
mov R24,R12
cpi R24,46
brne L130
.dbline 198
; TCNT1L = 0x00 /*INVALID SETTING*/;
.dbline 199
; OCR1AH = 0x00 /*INVALID SETTING*/;
mov R24,R10
subi R24,128 ; addi 128
mov R10,R24
.dbline 200
; OCR1AL = 0x00 /*INVALID SETTING*/;
movw R24,R30
adiw R24,1
std y+12,R25
std y+11,R24
.dbline 201
; OCR1BH = 0x00 /*INVALID SETTING*/;
L130:
.dbline 202
mov R18,R10
mov R16,R14
xcall _ZLG7290_SendCmd
.dbline 203
L85:
.dbline 153
inc R22
L87:
.dbline 153
ldd R0,y+0
cp R22,R0
brsh X16
xjmp L84
X16:
.dbline -2
L79:
adiw R28,1
xcall pop_gset5
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r at 20 pc
.dbsym l num 0 c
.dbsym r chr2 12 c
.dbsym r i 22 c
.dbsym r chr 14 c
.dbsym r chr1 10 c
.dbsym l tmp 11 pc
.dbend
.area data(ram, con, rel)
.dbfile C:/icc/include/h_iic.c
_M_state::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:/icc/include/h_iic.c
.dbfile D:\gmj_1\main.c
.dbsym e M_state _M_state c
_step_num::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e step_num _step_num i
_tmp_t1::
.blkb 2
.area idata
.word 64536
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e tmp_t1 _tmp_t1 i
_qidong_num::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e qidong_num _qidong_num c
_dec_speed_bz::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e dec_speed_bz _dec_speed_bz c
_dec_speed_num::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e dec_speed_num _dec_speed_num i
_pidai_yunxing::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e pidai_yunxing _pidai_yunxing c
_dj_jibie::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e dj_jibie _dj_jibie c
_dj_fangxi::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e dj_fangxi _dj_fangxi c
_on_scr::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e on_scr _on_scr c
_pre_jsq::
.blkb 2
.area idata
.word 2000
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e pre_jsq _pre_jsq i
_key::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e key _key c
_on_key::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e on_key _on_key c
_key_num::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e key_num _key_num c
_next_gan::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e next_gan _next_gan c
_guogan::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e guogan _guogan c
_dw_speed::
.blkb 4
.area idata
.word 0x37bd,0x3486
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e dw_speed _dw_speed D
_first_gan::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e first_gan _first_gan c
_qidong::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e qidong _qidong c
_jileigan::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e jileigan _jileigan c
_max_ganshu::
.blkb 1
.area idata
.byte 10
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e max_ganshu _max_ganshu c
_caoshu::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e caoshu _caoshu c
_menu_jb::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e menu_jb _menu_jb c
_menu_gn::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e menu_gn _menu_gn c
_string2::
.blkb 9
.area idata
.byte 32,32,32,32,'P,'A,'S,'S,0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e string2 _string2 A[9:9]c
_cs_num::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\gmj_1\main.c
.dbsym e cs_num _cs_num c
.area text(rom, con, rel)
.dbfile D:\gmj_1\main.c
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 122
.dbline 123
clr R2
out 0x1b,R2
.dbline 124
out 0x1a,R2
.dbline 125
ldi R24,240
out 0x18,R24
.dbline 126
out 0x17,R24
.dbline 127
out 0x15,R2
.dbline 128
ldi R24,192
out 0x14,R24
.dbline 129
out 0x12,R2
.dbline 130
out 0x11,R2
.dbline -2
L132:
.dbline 0 ; func end
ret
.dbend
.dbfunc e read_adc _read_adc fi
; adc_jg -> R20,R21
; adc_L -> R20
; adc_H -> R22
.even
_read_adc::
xcall push_gset2
.dbline -1
.dbline 134
.dbline 137
in R20,0x4
.dbline 138
in R22,0x5
.dbline 139
mov R18,R22
clr R19
ldi R16,256
ldi R17,1
xcall empy16s
movw R2,R16
mov R4,R20
clr R5
add R2,R4
adc R3,R5
movw R20,R2
.dbline 140
movw R16,R2
.dbline -2
L133:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r adc_jg 20 i
.dbsym r adc_L 20 c
.dbsym r adc_H 22 c
.dbend
.dbfunc e timer0_init _timer0_init fV
.even
_timer0_init::
.dbline -1
.dbline 147
.dbline 148
clr R2
out 0x33,R2
.dbline 149
out 0x32,R2
.dbline 150
out 0x3c,R2
.dbline 151
ldi R24,2
out 0x33,R24
.dbline -2
L134:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 36
jmp _timer0_ovf_isr
.area text(rom, con, rel)
.dbfile D:\gmj_1\main.c
.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
; i -> R16
.even
_timer0_ovf_isr::
st -y,R2
st -y,R3
st -y,R16
st -y,R24
in R2,0x3f
st -y,R2
.dbline -1
.dbline 156
.dbline 158
lds R24,_on_scr
cpi R24,1
brne L136
.dbline 159
.dbline 160
clr R2
out 0x33,R2
.dbline 161
sbi 0x15,6
.dbline 162
clr R16
xjmp L141
L138:
.dbline 162
L139:
.dbline 162
inc R16
L141:
.dbline 162
cpi R16,20
brlo L138
.dbline 163
in R24,0x15
andi R24,191
out 0x15,R24
.dbline 164
clr R2
sts _on_scr,R2
.dbline 165
L136:
.dbline 166
clr R2
lds R3,_time0_chi
cp R2,R3
brsh L142
.dbline 167
.dbline 168
out 0x32,R2
.dbline 169
ldi R24,2
out 0x33,R24
.dbline 170
mov R24,R3
subi R24,1
sts _time0_chi,R24
.dbline 171
xjmp L143
L142:
.dbline 173
.dbline 174
clr R2
lds R3,_time0_fen
cp R2,R3
brsh L144
.dbline 175
.dbline 176
out 0x32,R3
.dbline 177
ldi R24,2
out 0x33,R24
.dbline 178
sts _time0_fen,R2
.dbline 179
xjmp L145
L144:
.dbline 181
.dbline 182
lds R2,_time0_yu
out 0x32,R2
.dbline 183
ldi R24,2
out 0x33,R24
.dbline 184
ldi R24,1
sts _on_scr,R24
.dbline 185
L145:
.dbline 186
L143:
.dbline -2
L135:
ld R2,y+
out 0x3f,R2
ld R24,y+
ld R16,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbsym r i 16 c
.dbend
.dbfunc e timer1_init _timer1_init fV
.even
_timer1_init::
.dbline -1
.dbline 195
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -