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

📄 ze015_1.s

📁 一款完整的家用电器程序,具有控制商用机的功能,应用广泛,有一定的参考价值
💻 S
📖 第 1 页 / 共 5 页
字号:
	.module ZE015_1.c
	.area lit(rom, con, rel)
_TAB50K_10temp::
	.byte 15,16
	.byte 16,17
	.byte 18,19
	.byte 20,21
	.byte 22,23
	.byte 24,25
	.byte 26,27
	.byte 28,29
	.byte 31,32
	.byte 33,34
	.byte 36,37
	.byte 39,40
	.byte 42,43
	.byte 45,46
	.byte 48,50
	.byte 52,53
	.byte 55,57
	.byte 59,61
	.byte 63,'A
	.byte 'C,'E
	.byte 'G,'I
	.byte 'K,'M
	.byte 'O,'Q
	.byte 'T,'V
	.byte 'X,'Z
	.byte 93,95
	.byte 'a,'c
	.byte 'f,'i
	.byte 'j,'l
	.byte 'o,'q
	.byte 'r,'v
	.byte 'x,'z
	.byte 125,127
	.byte 129,131
	.byte 133,135
	.byte 138,140
	.byte 142,144
	.byte 147,149
	.byte 151,153
	.byte 155,157
	.byte 159,161
	.byte 163,164
	.byte 166,168
	.byte 170,172
	.byte 173,175
	.byte 177,179
	.byte 180,182
	.byte 183,185
	.byte 186,188
	.byte 189,190
	.byte 193,194
	.byte 195,196
	.byte 198,199
	.byte 200,201
	.byte 203,204
	.byte 205,206
	.byte 207,208
	.byte 209,210
	.byte 211,212
	.byte 213,214
	.byte 215,216
	.byte 217,218
	.byte 218,219
	.byte 220,221
	.byte 221,222
	.byte 223,224
	.byte 224,225
	.byte 226,226
	.byte 227,227
	.byte 228,229
	.byte 229,230
	.byte 230,231
	.byte 231,232
	.byte 232,232
	.byte 233,234
	.byte 235,236
	.byte 237,238
	.byte 239,240
	.byte 241,242
	.byte 243,244
	.byte 245,246
	.byte 247,248
	.byte 249,250
	.byte 251,252
	.byte 253,254
	.dbfile D:\icc\program\20080515\zv5/jf_atmel.h
	.dbsym e TAB50K_10temp _TAB50K_10temp A[170:170]kc
_TAB50K_15temp::
	.byte 22,23
	.byte 24,25
	.byte 26,27
	.byte 29,30
	.byte 31,33
	.byte 34,35
	.byte 37,38
	.byte 40,42
	.byte 43,45
	.byte 47,48
	.byte 50,52
	.byte 54,56
	.byte 58,60
	.byte 62,64
	.byte 'B,'D
	.byte 'F,'I
	.byte 'K,'M
	.byte 'O,'R
	.byte 'T,'V
	.byte 'Y,91
	.byte 93,96
	.byte 'b,'e
	.byte 'g,'i
	.byte 'l,'n
	.byte 'q,'s
	.byte 'v,'x
	.byte 'z,125
	.byte 127,132
	.byte 132,134
	.byte 137,139
	.byte 140,144
	.byte 146,148
	.byte 150,153
	.byte 155,157
	.byte 159,160
	.byte 163,165
	.byte 167,169
	.byte 171,173
	.byte 175,176
	.byte 178,180
	.byte 182,183
	.byte 185,187
	.byte 188,190
	.byte 191,193
	.byte 194,196
	.byte 197,199
	.byte 200,201
	.byte 203,204
	.byte 205,206
	.byte 207,209
	.byte 210,211
	.byte 212,213
	.byte 214,215
	.byte 216,217
	.byte 218,219
	.byte 219,220
	.byte 221,222
	.byte 223,223
	.byte 224,225
	.byte 226,226
	.byte 227,228
	.byte 228,229
	.byte 230,230
	.byte 231,231
	.byte 232,232
	.byte 233,233
	.byte 234,234
	.byte 235,235
	.byte 236,236
	.byte 237,237
	.byte 237,238
	.byte 238,239
	.byte 239,239
	.byte 240,240
	.byte 240,241
	.dbsym e TAB50K_15temp _TAB50K_15temp A[150:150]kc
_TAB20K_20temp::
	.byte 24,25
	.byte 27,28
	.byte 30,31
	.byte 33,34
	.byte 36,38
	.byte 39,41
	.byte 43,45
	.byte 47,49
	.byte 51,53
	.byte 55,58
	.byte 60,62
	.byte 'A,'C
	.byte 'F,'H
	.byte 'K,'M
	.byte 'P,'S
	.byte 'V,'X
	.byte 91,94
	.byte 'a,'c
	.byte 'f,'i
	.byte 'l,'o
	.byte 'r,'u
	.byte 'w,'z
	.byte 125,128
	.byte 131,134
	.byte 136,139
	.byte 142,145
	.byte 147,150
	.byte 152,155
	.byte 157,160
	.byte 162,165
	.byte 167,170
	.byte 172,174
	.byte 176,178
	.byte 180,183
	.byte 185,187
	.byte 188,190
	.byte 192,194
	.byte 196,197
	.byte 199,201
	.byte 202,204
	.byte 205,207
	.byte 208,209
	.byte 211,212
	.byte 213,215
	.byte 216,217
	.byte 218,219
	.byte 220,221
	.byte 222,223
	.byte 224,225
	.byte 226,227
	.byte 228,228
	.byte 229,230
	.byte 231,231
	.byte 232,233
	.byte 233,234
	.byte 235,235
	.byte 236,236
	.byte 237,237
	.byte 238,238
	.byte 239,239
	.byte 240,240
	.byte 241,241
	.byte 242,242
	.byte 242,243
	.byte 243,243
	.byte 244,244
	.byte 244,245
	.byte 245,245
	.byte 245,246
	.byte 246,246
	.dbsym e TAB20K_20temp _TAB20K_20temp A[140:140]kc
_TAB_wpose::
	.byte 0,0
	.byte 1,2
	.byte 4,8
	.byte 16,32
	.byte 64,128
	.dbsym e TAB_wpose _TAB_wpose A[10:10]kc
_TAB_wpose2::
	.byte 1,2
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.dbsym e TAB_wpose2 _TAB_wpose2 A[10:10]kc
_TAB_dircode::
	.byte 63,6
	.byte 91,'O
	.byte 'f,'m
	.byte 125,7
	.byte 127,'o
	.byte 247,255
	.byte 185,191
	.byte 249,241
	.dbsym e TAB_dircode _TAB_dircode A[16:16]kc
	.area data(ram, con, rel)
	.dbfile D:\icc\program\20080515\zv5/jf_atmel.h
_lstx::
	.blkb 1
	.area idata
	.byte 1
	.area data(ram, con, rel)
	.dbfile D:\icc\program\20080515\zv5/jf_atmel.h
	.dbfile D:\icc\program\20080515\zv5/jf_valve.h
	.dbsym e lstx _lstx c
_cur_xs::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\icc\program\20080515\zv5/jf_valve.h
	.dbsym e cur_xs _cur_xs c
_m_portdata::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\icc\program\20080515\zv5/jf_valve.h
	.dbsym e m_portdata _m_portdata c
	.area lit(rom, con, rel)
_step::
	.byte 8,12
	.byte 4,6
	.byte 2,3
	.byte 1,9
	.dbsym e step _step A[8:8]kc
_temp20kh::
	.word 29
	.word 31
	.word 33
	.word 35
	.word 37
	.word 39
	.word 42
	.word 45
	.word 48
	.word 51
	.word 54
	.word 57
	.word 60
	.word 64
	.word 68
	.word 72
	.word 76
	.word 80
	.word 85
	.word 89
	.word 94
	.word 100
	.word 105
	.word 110
	.word 116
	.word 122
	.word 128
	.word 135
	.word 142
	.word 148
	.word 156
	.word 163
	.word 170
	.word 178
	.word 186
	.word 195
	.word 203
	.word 212
	.word 221
	.word 230
	.word 239
	.word 249
	.word 258
	.word 268
	.word 278
	.word 288
	.word 299
	.word 309
	.word 320
	.word 331
	.word 342
	.word 353
	.word 364
	.word 375
	.word 386
	.word 398
	.word 409
	.word 421
	.word 432
	.word 444
	.word 455
	.word 467
	.word 478
	.word 489
	.word 501
	.word 512
	.word 523
	.word 534
	.word 545
	.word 556
	.word 567
	.word 578
	.word 589
	.word 599
	.word 610
	.word 620
	.word 630
	.word 640
	.word 650
	.word 659
	.word 669
	.word 678
	.word 687
	.word 696
	.word 705
	.word 713
	.word 722
	.word 730
	.word 738
	.word 746
	.word 754
	.word 761
	.word 768
	.word 776
	.word 783
	.word 789
	.word 796
	.word 803
	.word 809
	.word 815
	.word 821
	.word 827
	.word 833
	.word 838
	.word 843
	.word 849
	.word 854
	.word 859
	.word 863
	.word 868
	.word 872
	.word 877
	.word 881
	.word 885
	.word 889
	.word 893
	.word 897
	.word 900
	.word 904
	.word 907
	.word 911
	.word 914
	.word 917
	.word 920
	.word 923
	.word 926
	.word 929
	.word 931
	.word 934
	.word 936
	.word 939
	.word 941
	.word 944
	.word 946
	.word 948
	.word 950
	.word 952
	.word 954
	.word 956
	.word 958
	.word 960
	.word 961
	.word 963
	.word 965
	.word 966
	.word 968
	.dbsym e temp20kh _temp20kh A[292:146]ki
	.area text(rom, con, rel)
	.dbfile D:\icc\program\20080515\zv5/jf_valve.h
	.dbfunc e Fun_ad_20k10 _Fun_ad_20k10 fC
;            yd1 -> R10
;            yd0 -> R12
;      truetemp0 -> R20
;       truetemp -> R22,R23
;           thAD -> R10,R11
	.even
_Fun_ad_20k10::
	xcall push_gset4
	movw R10,R16
	.dbline -1
	.dbline 107
; //ICC-AVR application builder : 2007-4-11 16:34:42
; // Target : M64
; // Crystal: 4.0000Mhz
; 
; #include <iom64v.h>
; #include <macros.h>
; #include <math.h>
; #include  "jf_atmel.h"
; #include  "jf_valve.h"
; #include  "jf_p1.c"
; #include  "jf_act.c"
; #include  "jf_valve.c"
; 
; 
; 
; void port_init(void)
; {
;  PORTA = 0x00;
;  DDRA  = 0x0F;//0x0b;		//sck PA0-CD4052A,PA1-CD4052B
;  PORTB = 0x00;
;  DDRB  = 0xF0;
;  PORTC = 0x00; //m103 output only
;  DDRC  = 0x01;
;  PORTD = 0x00;
;  DDRD  = 0xFB;
;  PORTE = 0x00;
;  DDRE  = 0xC6;
;  PORTF = 0x00;
;  DDRF  = 0x00;
;  PORTG = 0x00;
;  DDRG  = 0x1B;
; }
; 
; //Watchdog initialize
; // prescale: 16K 
; void watchdog_init(void)
; {
; WDR(); //this prevents a timout on enabling
;  WDTCR |= 0x18;	//允许修改watchdog
;  //WDTCR = 0x0d; //WATCHDOG ENABLED - 101--0.45s
;  WDTCR = 0x0e; //WATCHDOG ENABLED - 110--1s
; }
; 
; //20080612由10ms改为膨胀阀8ms定时
; //TIMER0 initialize - prescale:256
; // WGM: Normal
; // desired value: 8mSec
; // actual value:  8.000mSec (0.0%)
; void timer0_init(void)
; {
;  TCCR0 = 0x00; //stop
;  ASSR  = 0x00; //set async mode
;  TCNT0 = 0x83;  //4MHZ-8ms set count
;  OCR0  = 0x7D;
;  TCCR0 = 0x06; //start timer
; }
; 
; #pragma interrupt_handler timer0_ovf_isr:17
; void timer0_ovf_isr(void)
; {
;  TCNT0 = 0x83;//64; //reload counter value
;  time_flag |=b_time_10ms;	//f_10ms=1
;   t_10ms_times++;  //10ms时间计时 	     
;  if (t_10ms_times>=12)
;  	{
;  		time_flag |=b_time_100ms; //f_100ms=1
;  		t_10ms_times=0;
;  	}
;  if (mode & b_fast_test)time_flag |=b_time_1s;	//快测f_1s=1
;  else
;  {//正常时计数100时置1秒
;  	t_1s_times++;	//10ms的计时1秒
;  	if (t_1s_times>=125)
;  	{
;  		time_flag |=b_time_1s; //f_1s=1
;  		t_1s_times=0;
;  	}
;  }
;  if (run_state &b_beep_onask)	//01-beep_on
;     {	//蜂鸣器要求响时,时间进行计数,计数到则关T2的CTC
; 	 	if (beep_time >=beep_time_ask) 
; 		 {//蜂鸣器响时间到时停止TIMER2,如次数未到则启动间隔计时
; 		 	PORTB &=~b_beep;	//beep=0 PB5时间到则关蜂鸣器
; 		 	TCCR2 = 0x00; //stop T2 CTC
; 		 	run_state &=~b_beep_onask;	//清除蜂鸣器响标志
; 		 	if (beep_times >=1)  //如果要求响的次数大于1
; 		 	  {
; 		 		beep_times--;	// 蜂鸣器响的次数-1
; 		 		auto_state |=b_beep_stop;	//开始蜂鸣器停止的间隔计时
; 		 		beep_stop_time =0;	//间隔计时清0
; 		 	  }  
; 		 	  
; 		  }
; 		else beep_time++;//蜂鸣器响时间未到时接着响,蜂鸣器响时间+1
; 	} 	
;   else if (auto_state &b_beep_stop)
;   	{//蜂鸣器间隔计时,计时到时启动TIMER2为CTC
;   		beep_stop_time ++;	//间隔计时+1
;   		if (beep_stop_time >=beep_stop_time_ask)
;   			{//蜂鸣器间隔计时到时启动TIMER2
;   				TCCR2 = 0x00; //stop
; 				 TCNT2 = 0x87; //0x86; // 2048 Khz    0x83; //2khz
; 				 OCR2  = 0x79; //0x7a; //0x7d;
; 				 TCCR2 = 0x1A; //start
;   				beep_time=0; //蜂鸣器响时间=0
;   				auto_state &=~b_beep_stop;	//清间隔计时标志
;   				run_state |=b_beep_onask;	//蜂鸣器响标志
	.dbline 111
;   			}
;   	}
;   else	
;   {//无蜂鸣器响或间隔要求时关T2,输出0
	movw R24,R10
	cpi R24,143
	ldi R30,3
	cpc R25,R30
	brlo L2
	.dbline 111
	ldi R22,120
	ldi R23,0
	xjmp L17
L2:
	.dbline 112
;   	TCCR2 = 0x00; //stop T2 CTC
	movw R24,R10
	cpi R24,242
	ldi R30,2
	cpc R25,R30
	brlo L4
	.dbline 112
	ldi R22,90
	ldi R23,0
	xjmp L17
L4:
	.dbline 113
;   	PORTB &=~b_beep;	//beep=0 PB5时间到则关蜂鸣器
	movw R24,R10
	cpi R24,55
	ldi R30,2
	cpc R25,R30
	brlo L6
	.dbline 113
	ldi R22,70
	ldi R23,0
	xjmp L17
L6:
	.dbline 114
;   }
	movw R24,R10
	cpi R24,86
	ldi R30,1
	cpc R25,R30
	brlo L8
	.dbline 114
	ldi R22,50
	ldi R23,0
	xjmp L17
L8:
	.dbline 115
; //uart0 与主模块板通讯,等待主模块,接收正确后延时40MS发送应答,发送完成后立即转接收
	movw R24,R10
	cpi R24,239
	ldi R30,0
	cpc R25,R30
	brlo L10
	.dbline 115
	ldi R22,40
	ldi R23,0
	xjmp L17
L10:
	.dbline 116
;  if (txd_state0 &rxd_txdstart0)	//rxd_txdstart=1
	movw R24,R10
	cpi R24,94
	ldi R30,0
	cpc R25,R30
	brlo L12
	.dbline 116
	ldi R22,20
	ldi R23,0
	xjmp L17
L12:
	.dbline 117
;  	{
	clr R22
	clr R23
	.dbline 118
	xjmp L17
L14:
	.dbline 118
L15:
	.dbline 118
	subi R22,255  ; offset = 1
	sbci R23,255
L17:
	.dbline 118
; 	txd_rxd_delaytime0++;
	ldi R16,2
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R30,R16
	ldi R24,<_temp20kh
	ldi R25,>_temp20kh
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cp R30,R10
	cpc R31,R11
	brlo L14
	.dbline 119
; 	if (txd_rxd_delaytime0>=5)	//接收完成转发送时延时40ms
	ldi R16,2
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R30,R16
	ldi R24,<_temp20kh
	ldi R25,>_temp20kh
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cp R10,R30
	cpc R11,R31
	brne L18
	.dbline 119
	.dbline 119
	mov R20,R22
	subi R20,40
	sbci R21,0
	.dbline 119
	mov R16,R20
	xjmp L1
L18:
	.dbline 121
; 	   {
; 		PORTE |= b_con4850;	//pe2为uart0-485控制端=1 txd
	.dbline 122
;  		UCSR0B = 0x48;	// uart0_txd_on允许发送完成中断及发送
	ldi R16,2
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R30,R16
	ldi R24,<_temp20kh
	ldi R25,>_temp20kh
	add R30,R24
	adc R31,R25
	lpm R12,Z
	sub R12,R10
	sbc R13,R11
	.dbline 123
; 		txd_state0 &= ~rxd_txdstart0;	//rxd_txdstart=0
	ldi R16,2
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R30,R16
	ldi R24,<_temp20kh-2
	ldi R25,>_temp20kh-2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	sub R10,R30
	sbc R11,R31
	.dbline 124
; 		txd_rxd_delaytime0=0;
	cp R10,R12
	brlo L21
	.dbline 124
	.dbline 124
	mov R20,R22
	subi R20,40
	sbci R21,0
	.dbline 124
	mov R16,R20
	xjmp L1
L21:
	.dbline 125
; 		txd_len0=0;
	.dbline 125
	mov R20,R22
	subi R20,41
	sbci R21,0
	.dbline 125
	mov R16,R20
	.dbline -2
L1:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r yd1 10 c
	.dbsym r yd0 12 c
	.dbsym r truetemp0 20 C
	.dbsym r truetemp 22 I
	.dbsym r thAD 10 i
	.dbend
	.area lit(rom, con, rel)
_CRC8_shf15_TAB::
	.byte 0,49
	.byte 'b,'S
	.byte 196,245
	.byte 166,151
	.byte 185,136
	.byte 219,234
	.byte 125,'L
	.byte 31,46
	.byte 'C,'r
	.byte 33,16
	.byte 135,182
	.byte 229,212

⌨️ 快捷键说明

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