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

📄 main.s

📁 一款挂面机的自动化控制源程序
💻 S
📖 第 1 页 / 共 5 页
字号:
	.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 + -