📄 ze015_1.s
字号:
.byte 250,203
.byte 152,169
.byte 62,15
.byte 92,'m
.byte 134,183
.byte 228,213
.byte 'B,'s
.byte 32,17
.byte 63,14
.byte 93,'l
.byte 251,202
.byte 153,168
.byte 197,244
.byte 167,150
.byte 1,48
.byte 'c,'R
.byte 124,'M
.byte 30,47
.byte 184,137
.byte 218,235
.byte 61,12
.byte 95,'n
.byte 249,200
.byte 155,170
.byte 132,181
.byte 230,215
.byte 64,'q
.byte 34,19
.byte 126,'O
.byte 28,45
.byte 186,139
.byte 216,233
.byte 199,246
.byte 165,148
.byte 3,50
.byte 'a,'P
.byte 187,138
.byte 217,232
.byte 127,'N
.byte 29,44
.byte 2,51
.byte 96,'Q
.byte 198,247
.byte 164,149
.byte 248,201
.byte 154,171
.byte 60,13
.byte 94,'o
.byte 'A,'p
.byte 35,18
.byte 133,180
.byte 231,214
.byte 'z,'K
.byte 24,41
.byte 190,143
.byte 220,237
.byte 195,242
.byte 161,144
.byte 7,54
.byte 'e,'T
.byte 57,8
.byte 91,'j
.byte 253,204
.byte 159,174
.byte 128,177
.byte 226,211
.byte 'D,'u
.byte 38,23
.byte 252,205
.byte 158,175
.byte 56,9
.byte 'Z,'k
.byte 'E,'t
.byte 39,22
.byte 129,176
.byte 227,210
.byte 191,142
.byte 221,236
.byte 123,'J
.byte 25,40
.byte 6,55
.byte 'd,'U
.byte 194,243
.byte 160,145
.byte 'G,'v
.byte 37,20
.byte 131,178
.byte 225,208
.byte 254,207
.byte 156,173
.byte 58,11
.byte 'X,'i
.byte 4,53
.byte 'f,'W
.byte 192,241
.byte 162,147
.byte 189,140
.byte 223,238
.byte 'y,'H
.byte 27,42
.byte 193,240
.byte 163,146
.byte 5,52
.byte 147,'V
.byte 'x,'I
.byte 26,43
.byte 188,141
.byte 222,239
.byte 130,179
.byte 224,209
.byte 'F,'w
.byte 36,21
.byte 59,10
.byte 'Y,'h
.byte 255,206
.byte 157,172
.dbfile D:\icc\program\20080515\zv5/jf_p1.c
.dbsym e CRC8_shf15_TAB _CRC8_shf15_TAB A[256:256]kc
.area text(rom, con, rel)
.dbfile D:\icc\program\20080515\zv5/jf_p1.c
.dbfunc e fun_beep _fun_beep fV
; beep_time_temp -> R16
.even
_fun_beep::
.dbline -1
.dbline 19
.dbline 20
sts _beep_time_ask,R16
.dbline 21
clr R2
sts _beep_time,R2
.dbline 21
.dbline 22
out 0x25,R2
.dbline 23
ldi R24,135
out 0x24,R24
.dbline 24
ldi R24,121
out 0x23,R24
.dbline 25
ldi R24,26
out 0x25,R24
.dbline 26
lds R24,_auto_state
andi R24,247
sts _auto_state,R24
.dbline 27
lds R24,_run_state
ori R24,1
sts _run_state,R24
.dbline -2
L23:
.dbline 0 ; func end
ret
.dbsym r beep_time_temp 16 c
.dbend
.dbfunc e fun_fault_beep _fun_fault_beep fV
.even
_fun_fault_beep::
.dbline -1
.dbline 32
.dbline 33
lds R2,_mode
sbrs R2,3
rjmp L25
.dbline 34
.dbline 34
ldi R16,10
xcall _fun_beep
.dbline 34
clr R2
sts _beep_times,R2
.dbline 34
xjmp L26
L25:
.dbline 36
.dbline 36
ldi R16,10
xcall _fun_beep
.dbline 36
ldi R24,3
sts _beep_times,R24
.dbline 36
ldi R24,90
sts _beep_stop_time_ask,R24
.dbline 36
L26:
.dbline -2
L24:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Fun_ad_20k _Fun_ad_20k fC
; a_d2 -> R12
; a_d1 -> R14
; th_value -> R20
; temp -> R22
; n -> R10
; thAD -> R16
.even
_Fun_ad_20k::
xcall push_gset5
.dbline -1
.dbline 42
.dbline 48
ldi R24,24
cp R24,R16
brlo L28
.dbline 48
.dbline 48
ldi R20,236
.dbline 48
mov R16,R20
xjmp L27
L28:
.dbline 49
cpi R16,246
brlo L30
.dbline 49
.dbline 49
ldi R20,117
.dbline 49
mov R16,R20
xjmp L27
L30:
.dbline 50
ldi R24,167
cp R24,R16
brlo L32
.dbline 51
.dbline 52
cpi R16,86
brlo L34
.dbline 52
ldi R24,45
mov R10,R24
xjmp L33
L34:
.dbline 53
ldi R24,20
mov R10,R24
.dbline 54
xjmp L33
L32:
.dbline 56
.dbline 57
cpi R16,218
brlo L36
.dbline 57
ldi R24,100
mov R10,R24
xjmp L37
L36:
.dbline 58
ldi R24,70
mov R10,R24
L37:
.dbline 59
L33:
.dbline 61
ldi R24,<_TAB20K_20temp
ldi R25,>_TAB20K_20temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 62
cp R16,R22
brne L38
.dbline 62
mov R20,R10
subi R20,20
xjmp L39
L38:
.dbline 64
.dbline 65
cp R22,R16
brsh L40
.dbline 66
L42:
.dbline 68
.dbline 68
inc R10
.dbline 68
ldi R24,<_TAB20K_20temp
ldi R25,>_TAB20K_20temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 68
L43:
.dbline 69
cp R16,R22
brsh L42
.dbline 70
mov R14,R22
sub R14,R16
.dbline 71
dec R10
.dbline 71
ldi R24,<_TAB20K_20temp
ldi R25,>_TAB20K_20temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 71
mov R12,R16
sub R12,R22
.dbline 72
cp R14,R12
brlo L45
.dbline 72
mov R20,R10
subi R20,20
xjmp L41
L45:
.dbline 73
mov R20,R10
subi R20,19
.dbline 74
xjmp L41
L40:
.dbline 76
L47:
.dbline 78
.dbline 78
dec R10
.dbline 78
ldi R24,<_TAB20K_20temp
ldi R25,>_TAB20K_20temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 78
L48:
.dbline 79
cp R22,R16
brsh L47
.dbline 80
mov R14,R16
sub R14,R22
.dbline 81
inc R10
.dbline 81
ldi R24,<_TAB20K_20temp
ldi R25,>_TAB20K_20temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 81
mov R12,R22
sub R12,R16
.dbline 82
cp R14,R12
brlo L50
.dbline 82
mov R20,R10
subi R20,20
xjmp L51
L50:
.dbline 83
mov R20,R10
subi R20,21
L51:
.dbline 84
L41:
.dbline 85
L39:
.dbline 86
mov R16,R20
.dbline -2
L27:
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym r a_d2 12 c
.dbsym r a_d1 14 c
.dbsym r th_value 20 C
.dbsym r temp 22 c
.dbsym r n 10 c
.dbsym r thAD 16 c
.dbend
.dbfunc e Fun_ad_50k _Fun_ad_50k fc
; a_d2 -> R12
; a_d1 -> R14
; th_value -> R20
; temp -> R22
; n -> R10
; thAD -> R16
.even
_Fun_ad_50k::
xcall push_gset5
.dbline -1
.dbline 90
.dbline 96
ldi R24,15
cp R24,R16
brlo L53
.dbline 96
.dbline 96
clr R20
.dbline 96
mov R16,R20
xjmp L52
L53:
.dbline 97
cpi R16,250
brlo L55
.dbline 97
.dbline 97
ldi R20,199
.dbline 97
mov R16,R20
xjmp L52
L55:
.dbline 98
ldi R24,138
cp R24,R16
brlo L57
.dbline 99
.dbline 100
cpi R16,71
brlo L59
.dbline 100
ldi R24,60
mov R10,R24
xjmp L58
L59:
.dbline 101
ldi R24,20
mov R10,R24
.dbline 102
xjmp L58
L57:
.dbline 104
.dbline 105
cpi R16,193
brlo L61
.dbline 105
ldi R24,120
mov R10,R24
xjmp L62
L61:
.dbline 106
ldi R24,80
mov R10,R24
L62:
.dbline 107
L58:
.dbline 109
ldi R24,<_TAB50K_10temp
ldi R25,>_TAB50K_10temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 110
cp R16,R22
brne L63
.dbline 110
mov R20,R10
xjmp L64
L63:
.dbline 112
.dbline 113
cp R22,R16
brsh L65
.dbline 114
L67:
.dbline 116
.dbline 116
inc R10
.dbline 116
ldi R24,<_TAB50K_10temp
ldi R25,>_TAB50K_10temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 116
L68:
.dbline 117
cp R16,R22
brsh L67
.dbline 118
mov R14,R22
sub R14,R16
.dbline 119
dec R10
.dbline 119
ldi R24,<_TAB50K_10temp
ldi R25,>_TAB50K_10temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 119
mov R12,R16
sub R12,R22
.dbline 120
cp R14,R12
brlo L70
.dbline 120
mov R20,R10
xjmp L66
L70:
.dbline 121
mov R20,R10
subi R20,255 ; addi 1
.dbline 122
xjmp L66
L65:
.dbline 124
L72:
.dbline 126
; UDR0 =txd_data0[txd_len0];//每隔1秒写入第1个数据发送
.dbline 126
dec R10
.dbline 126
ldi R24,<_TAB50K_10temp
ldi R25,>_TAB50K_10temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 126
L73:
.dbline 127
; txd_len0++;
cp R22,R16
brsh L72
.dbline 128
; }
mov R14,R16
sub R14,R22
.dbline 129
; }
inc R10
.dbline 129
ldi R24,<_TAB50K_10temp
ldi R25,>_TAB50K_10temp
mov R30,R10
clr R31
add R30,R24
adc R31,R25
lpm R22,Z
.dbline 129
mov R12,R22
sub R12,R16
.dbline 130
; m_32mscountv=m_32mscountv+1;
cp R14,R12
brlo L75
.dbline 130
mov R20,R10
xjmp L76
L75:
.dbline 131
; if (m_32mscountv>=4)
mov R20,R10
subi R20,1
L76:
.dbline 132
; {//32ms时膨胀阀动作20080620
L66:
.dbline 133
; m_32mscountv=0;
L64:
.dbline 134
; jf_valvetotal();
mov R16,R20
.dbline -2
L52:
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym r a_d2 12 c
.dbsym r a_d1 14 c
.dbsym r th_value 20 c
.dbsym r temp 22 c
.dbsym r n 10 c
.dbsym r thAD 16 c
.dbend
.dbfunc e ADStartP _ADStartP fV
.even
_ADStartP::
.dbline -1
.dbline 142
; }
; m_500mscount=m_500mscount+1;
; }
;
; //TIMER1 initialize - prescale:64
; // WGM: 0) Normal, TOP=0xFFFF
; // desired value: 1Hz
; // actual value: 1.000Hz (0.0%)
.dbline 143
; void timer1_init(void)
sbi 0x6,6
xjmp L79
L78:
.dbline 144
wdr
L79:
.dbline 144
; {
sbis 0x6,4
rjmp L78
.dbline 145
; TCCR1B = 0x00; //stop
sbi 0x6,4
.dbline -2
L77:
.dbline 0 ; func end
ret
.dbend
.dbfunc e funADsample _funADsample fV
.even
_funADsample::
.dbline -1
.dbline 155
; TCNT1H = 0x0B; //setup
; TCNT1L = 0xDC;
; OCR1AH = 0xF4;
; OCR1AL = 0x24;
; OCR1BH = 0xF4;
; OCR1BL = 0x24;
; OCR1CH = 0xF4;
; OCR1CL = 0x24;
; ICR1H = 0xF4;
; ICR1L = 0x24;
.dbline 157
; TCCR1A = 0x00;
; TCCR1B = 0x03; //start Timer
ldi R24,134
out 0x6,R24
.dbline 158
; }
ldi R24,66
out 0x7,R24
.dbline 159
;
xcall _delay_20us
.dbline 160
; #pragma interrupt_handler timer1_ovf_isr:15
xcall _ADStartP
.dbline 161
; void timer1_ovf_isr(void)
in R2,0x4
clr R3
lds R4,_i_defrost_sumADL
lds R5,_i_defrost_sumADL+1
add R4,R2
adc R5,R3
sts _i_defrost_sumADL+1,R5
sts _i_defrost_sumADL,R4
.dbline 162
; {//20080201将定时1秒改在定时10MS中,增加快测
in R24,0x5
clr R25
andi R24,3
andi R25,0
lds R2,_i_defrost_sumADH
lds R3,_i_defrost_sumADH+1
add R2,R24
adc R3,R25
sts _i_defrost_sumADH+1,R3
sts _i_defrost_sumADH,R2
.dbline 163
; //TIMER1 has overflowed 1s 1秒定时
nop
.dbline 165
; TCNT1H = 0x0b; //reload counter high value
; TCNT1L = 0xdc; //reload counter low value
ldi R24,65
out 0x7,R24
.dbline 166
; //20080201time_flag |=b_time_1s; //f_1s=1
xcall _delay_20us
.dbline 167
; }
xcall _ADStartP
.dbline 168
; //TIMER2 initialize - prescale:8 中断未用,但用作蜂鸣器驱动2KHZ
in R2,0x4
clr R3
lds R4,_i_evin_sumADL
lds R5,_i_evin_sumADL+1
add R4,R2
adc R5,R3
sts _i_evin_sumADL+1,R5
sts _i_evin_sumADL,R4
.dbline 169
; // WGM: CTC
in R24,0x5
clr R25
andi R24,3
andi R25,0
lds R2,_i_evin_sumADH
lds R3,_i_evin_sumADH+1
add R2,R24
adc R3,R25
sts _i_evin_sumADH+1,R3
sts _i_evin_sumADH,R2
.dbline 170
; // desired value: 4KHz
nop
.dbline 173
; // actual value: 3.992KHz (0.4%)
; void timer2_init(void)
; {
ldi R24,64
out 0x7,R24
.dbline 174
; TCCR2 = 0x00; //stop
xcall _delay_20us
.dbline 175
; TCNT2 = 0x87; //0x86; // 2048 Khz 0x83; //2khz
xcall _ADStartP
.dbline 176
; OCR2 = 0x79; //0x7a; //0x7d;
in R2,0x4
clr R3
lds R4,_i_i_humid_sumADL
lds R5,_i_i_humid_sumADL+1
add R4,R2
adc R5,R3
sts _i_i_humid_sumADL+1,R5
sts _i_i_humid_sumADL,R4
.dbline 177
; }
in R24,0x5
clr R25
andi R24,3
andi R25,0
lds R2,_i_i_humid_sumADH
lds R3,_i_i_humid_sumADH+1
add R2,R24
adc R3,R25
sts _i_i_humid_sumADH+1,R3
sts _i_i_humid_sumADH,R2
.dbline 178
;
nop
.dbline 179
; #pragma interrupt_handler timer2_ovf_isr:11
ldi R24,67
out 0x7,R24
.dbline 180
; void timer2_ovf_isr(void)
xcall _delay_20us
.dbline 181
; {//no use but remain,定时器2用途CTC蜂鸣器驱动
xcall _ADStartP
.dbline 182
; TCNT2 = 0x06; //reload counter value
in R2,0x4
clr R3
lds R4,_i_exghaust_sumADL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -