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

📄 toucher.s

📁 基于PIC单片机
💻 S
📖 第 1 页 / 共 5 页
字号:
L43:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e bank3 _bank3 fV
	.even
_bank3::
	.dbline -1
	.dbline 437
; }
; /*****************故障记录界面第一行显示**************/
; void bank3(void)
; {
	.dbline 438
;   	xszf(0x34,0xd6); //转
	ldi R18,214
	ldi R16,52
	xcall _xszf
	.dbline 439
;   	xszf(0x34,0xd7); //换
	ldi R18,215
	ldi R16,52
	xcall _xszf
	.dbline 440
;   	xszf(0x34,0xd8); //器
	ldi R18,216
	ldi R16,52
	xcall _xszf
	.dbline 441
;   	kong(0x33,0x02);
	ldi R18,2
	ldi R16,51
	xcall _kong
	.dbline 442
;   	xszf(0x34,0x85); //探
	ldi R18,133
	ldi R16,52
	xcall _xszf
	.dbline 443
;   	xszf(0x34,0x86); //测
	ldi R18,134
	ldi R16,52
	xcall _xszf
	.dbline 444
;   	xszf(0x34,0x84); //器
	ldi R18,132
	ldi R16,52
	xcall _xszf
	.dbline 445
;   	kong(0x33,0x02);
	ldi R18,2
	ldi R16,51
	xcall _kong
	.dbline 446
;   	xszf(0x34,0x3b);                 //故
	ldi R18,59
	ldi R16,52
	xcall _xszf
	.dbline 447
;   	xszf(0x34,0x3c);                 //障
	ldi R18,60
	ldi R16,52
	xcall _xszf
	.dbline 448
;   	xszf(0x34,0x53);                 //时
	ldi R18,83
	ldi R16,52
	xcall _xszf
	.dbline 449
;   	xszf(0x34,0x54);                 //间
	ldi R18,84
	ldi R16,52
	xcall _xszf
	.dbline 450
;   	kong(0x33,0x05);
	ldi R18,5
	ldi R16,51
	xcall _kong
	.dbline 451
;   	xszf(0x34,0x3b);                 //故
	ldi R18,59
	ldi R16,52
	xcall _xszf
	.dbline 452
;   	xszf(0x34,0x3c);                 //障
	ldi R18,60
	ldi R16,52
	xcall _xszf
	.dbline 453
;   	xszf(0x34,0x55);                 //类
	ldi R18,85
	ldi R16,52
	xcall _xszf
	.dbline 454
;   	xszf(0x34,0x56);                 //型
	ldi R18,86
	ldi R16,52
	xcall _xszf
	.dbline -2
L44:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e bank4 _bank4 fV
	.even
_bank4::
	.dbline -1
	.dbline 458
; }
; /*****************开关机界面第一行显示*****************/
; void bank4(void)
; {
	.dbline 459
;     xszf(0x34,0x26);                 //编
	ldi R18,38
	ldi R16,52
	xcall _xszf
	.dbline 460
;     xszf(0x34,0x27);                 //号
	ldi R18,39
	ldi R16,52
	xcall _xszf
	.dbline 461
;     kong(0x33,0x02);
	ldi R18,2
	ldi R16,51
	xcall _kong
	.dbline 462
;     xszf(0x34,0x4b);                 //开
	ldi R18,75
	ldi R16,52
	xcall _xszf
	.dbline 463
;     xszf(0x34,0x4d);                 //机
	ldi R18,77
	ldi R16,52
	xcall _xszf
	.dbline 464
;   	xszf(0x34,0x53);                 //时
	ldi R18,83
	ldi R16,52
	xcall _xszf
	.dbline 465
;   	xszf(0x34,0x54);                 //间
	ldi R18,84
	ldi R16,52
	xcall _xszf
	.dbline 466
;   	kong(0x33,0x06);
	ldi R18,6
	ldi R16,51
	xcall _kong
	.dbline 467
;   	xszf(0x34,0x4c);                 //关
	ldi R18,76
	ldi R16,52
	xcall _xszf
	.dbline 468
;   	xszf(0x34,0x4d);                 //机
	ldi R18,77
	ldi R16,52
	xcall _xszf
	.dbline 469
;   	xszf(0x34,0x53);                 //时
	ldi R18,83
	ldi R16,52
	xcall _xszf
	.dbline 470
;   	xszf(0x34,0x54);                 //间
	ldi R18,84
	ldi R16,52
	xcall _xszf
	.dbline -2
L45:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e bank5 _bank5 fV
	.even
_bank5::
	sbiw R28,11
	.dbline -1
	.dbline 474
; }
; /*************控制外部设备第一行显示********************/
; void bank5(void)
; {
	.dbline 475
;     xszf(0x34,0xd6);                 //转
	ldi R18,214
	ldi R16,52
	xcall _xszf
	.dbline 476
;   	xszf(0x34,0xd7);                 //换
	ldi R18,215
	ldi R16,52
	xcall _xszf
	.dbline 477
;   	xszf(0x34,0xd8);                 //器
	ldi R18,216
	ldi R16,52
	xcall _xszf
	.dbline 478
;   	xszf(0x34,0x26);                 //编
	ldi R18,38
	ldi R16,52
	xcall _xszf
	.dbline 479
;   	xszf(0x34,0x27);                 //号
	ldi R18,39
	ldi R16,52
	xcall _xszf
	.dbline 480
;   	juxing(0xf0,0x68,0x04,0x33,0x00,0xa8,0x00,0x49);
	ldi R24,73
	std y+10,R24
	clr R2
	std y+8,R2
	ldi R24,168
	std y+6,R24
	std y+4,R2
	ldi R24,51
	std y+2,R24
	ldi R24,4
	std y+0,R24
	ldi R18,104
	ldi R16,240
	xcall _juxing
	.dbline 481
;   	xtzb(0x00,0xd8,0x00,0x36);
	ldi R24,54
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,216
	clr R16
	xcall _xtzb
	.dbline 482
;   	xszf(0x34,0x47);                 //节
	ldi R18,71
	ldi R16,52
	xcall _xszf
	.dbline 483
;   	xszf(0x34,0x48);                 //点
	ldi R18,72
	ldi R16,52
	xcall _xszf
	.dbline 484
;   	xszf(0x34,0x26);                 //编
	ldi R18,38
	ldi R16,52
	xcall _xszf
	.dbline 485
;   	xszf(0x34,0x27);                 //号
	ldi R18,39
	ldi R16,52
	xcall _xszf
	.dbline 486
;   	juxing(0xf1,0x28,0x04,0x33,0x01,0x68,0x00,0x49);
	ldi R24,73
	std y+10,R24
	clr R2
	std y+8,R2
	ldi R24,104
	std y+6,R24
	ldi R24,1
	std y+4,R24
	ldi R24,51
	std y+2,R24
	ldi R24,4
	std y+0,R24
	ldi R18,40
	ldi R16,241
	xcall _juxing
	.dbline -2
L46:
	adiw R28,11
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e bank6 _bank6 fV
	.even
_bank6::
	.dbline -1
	.dbline 490
; }
; /***************节点设置界面中的第一行****************/
; void bank6(void)
; {
	.dbline 491
;     xszf(0x34,0x26);//编
	ldi R18,38
	ldi R16,52
	xcall _xszf
	.dbline 492
;   	xszf(0x34,0x27);//号
	ldi R18,39
	ldi R16,52
	xcall _xszf
	.dbline 493
;   	kong(0x33,0x03);
	ldi R18,3
	ldi R16,51
	xcall _kong
	.dbline 494
;   	xszf(0x34,0x85);//探
	ldi R18,133
	ldi R16,52
	xcall _xszf
	.dbline 495
;   	xszf(0x34,0x86);//测
	ldi R18,134
	ldi R16,52
	xcall _xszf
	.dbline 496
;   	xszf(0x34,0x84);//器
	ldi R18,132
	ldi R16,52
	xcall _xszf
	.dbline 497
;   	kong(0x33,0x04);
	ldi R18,4
	ldi R16,51
	xcall _kong
	.dbline 498
;   	xszf(0x34,0x87);//联
	ldi R18,135
	ldi R16,52
	xcall _xszf
	.dbline 499
;   	xszf(0x34,0x88);//动
	ldi R18,136
	ldi R16,52
	xcall _xszf
	.dbline 500
;   	kong(0x33,0x04);
	ldi R18,4
	ldi R16,51
	xcall _kong
	.dbline 501
;   	xszf(0x34,0x6f);//不
	ldi R18,111
	ldi R16,52
	xcall _xszf
	.dbline 502
;   	xszf(0x34,0xa7);//使
	ldi R18,167
	ldi R16,52
	xcall _xszf
	.dbline 503
;   	xszf(0x34,0x9c);//用
	ldi R18,156
	ldi R16,52
	xcall _xszf
	.dbline 504
;   	kong(0x33,0x04);
	ldi R18,4
	ldi R16,51
	xcall _kong
	.dbline 505
;   	xszf(0x34,0x34);//状
	ldi R18,52
	ldi R16,52
	xcall _xszf
	.dbline 506
;   	xszf(0x34,0x35);//态
	ldi R18,53
	ldi R16,52
	xcall _xszf
	.dbline -2
L47:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e bank7 _bank7 fV
;     clarm_buff -> y+11
;          temp4 -> R22
;          temp3 -> R10
;          temp2 -> R12
;          temp1 -> y+13
;           temp -> R20,R21
;       addr_gas -> R14,R15
	.even
_bank7::
	xcall push_gset5
	sbiw R28,14
	.dbline -1
	.dbline 510
; }
; /*******************实时界面首报显示****************/
; void bank7()
; {
	.dbline 511
;     uchar temp1=0,temp2=0,temp3=0,temp4=0;
	clr R0
	std y+13,R0
	.dbline 511
	clr R12
	.dbline 511
	clr R10
	.dbline 511
	clr R22
	.dbline 512
; 	uint  temp=0;
	clr R20
	clr R21
	.dbline 513
; 	uint  addr_gas=0;   //外部E2中存放气体类型的初始地址
	clr R14
	clr R15
	.dbline 515
; 	uchar clarm_buff[2];
; 	if(shoubao[1]==0)   //无报警
	lds R2,_shoubao+1
	tst R2
	brne L49
	.dbline 516
; 	    juxing(0xb0,0x00,0x04,0x2d,0x02,0x80,0x00,0x4f);
	ldi R24,79
	std y+10,R24
	clr R2
	std y+8,R2
	ldi R24,128
	std y+6,R24
	ldi R24,2
	std y+4,R24
	ldi R24,45
	std y+2,R24
	ldi R24,4
	std y+0,R24
	clr R18
	ldi R16,176
	xcall _juxing
	xjmp L50
L49:
	.dbline 518
; 	else 
; 	{
	.dbline 519
; 	    xh=0xc0;
	ldi R24,192
	sts _xh,R24
	.dbline 520
; 		xl=0x08;
	ldi R24,8
	sts _xl,R24
	.dbline 521
; 		yh=0x00;
	clr R2
	sts _yh,R2
	.dbline 522
; 		yl=0x36;
	ldi R24,54
	sts _yl,R24
	.dbline 523
; 		addr_gas=0x5c00;
	ldi R24,23552
	ldi R25,92
	movw R14,R24
	.dbline 524
; 		addr_gas=addr_gas+shoubao[0]*32+shoubao[1]-1;
	lds R2,_shoubao
	ldi R24,32
	mul R24,R2
	movw R24,R14
	add R24,R0
	adc R25,R1
	lds R2,_shoubao+1
	clr R3
	add R24,R2
	adc R25,R3
	sbiw R24,1
	movw R14,R24
	.dbline 525
; 	 	clarm_buff[1]= (uchar)((addr_gas>>8)&0x00ff ) ; //FM24C256片内地址高位字节
	mov R24,R25
	clr R25
	andi R25,0
	std y+12,R24
	.dbline 526
; 	 	clarm_buff[2]= (uchar)(addr_gas&0x00ff) ;      //FM24C256片内地址低位字节	
	movw R24,R14
	andi R25,0
	std y+13,R24
	.dbline 527
; 		EIMSK&=~(1<<INT6);
	in R24,0x39
	andi R24,191
	out 0x39,R24
	.dbline 529
; 		//do	  
; 	 	fhz=I2cRead(SLA2_W,SLA2_R, clarm_buff[1],clarm_buff[2],1);
	ldi R24,1
	std y+4,R24
	ldd R2,y+13
	std y+2,R2
	ldd R2,y+12
	std y+0,R2
	ldi R18,163
	ldi R16,162
	xcall _I2cRead
	sts _fhz,R16
	.dbline 532
; 		//while(fhz==1);
; 		
; 	 	gas_type=i2c_rd_buff[0] ;       //将读出的气体类型放入gas_type中
	lds R2,_i2c_rd_buff
	sts _gas_type,R2
	.dbline 533
; 		EIMSK|=(1<<INT6);
	in R24,0x39
	ori R24,64
	out 0x39,R24
	.dbline 534
; 		fdbs(0x04);             
	ldi R16,4
	xcall _fdbs
	.dbline 535
; 		xtzb(xh,xl,yh,yl);
	lds R2,_yl
	std y+2,R2
	lds R2,_yh
	std y+0,R2
	lds R18,_xl
	lds R16,_xh
	xcall _xtzb
	.dbline 536
; 		xszf(0x34,0x70);   //首
	ldi R18,112
	ldi R16,52
	xcall _xszf
	.dbline 537
; 		xszf(0x34,0x3f);   //报
	ldi R18,63
	ldi R16,52
	xcall _xszf
	.dbline 538
; 		kong(0x33,0x02);
	ldi R18,2
	ldi R16,51
	xcall _kong
	.dbline 539
; 		temp1=shoubao[0]/10+0x30;
	ldi R17,10
	lds R16,_shoubao
	xcall div8u
	mov R24,R16
	subi R24,208    ; addi 48
	std y+13,R24
	.dbline 540
; 		temp2=shoubao[0]%10+0x30;
	ldi R17,10
	lds R16,_shoubao
	xcall mod8u
	mov R24,R16
	subi R24,208    ; addi 48
	mov R12,R24
	.dbline 541
; 		temp3=shoubao[1]/10+0x30;       //探测器编号高位
	ldi R17,10
	lds R16,_shoubao+1
	xcall div8u
	mov R24,R16
	subi R24,208    ; addi 48
	mov R10,R24
	.dbline 542
; 	    temp4=shoubao[1]%10+0x30;       //探测器编号低位
	ldi R17,10
	lds R16,_shoubao+1
	xcall mod8u
	mov R22,R16
	subi R22,208    ; addi 48
	.dbline 543
; 		fdbs(0x14);        //放大
	ldi R16,20
	xcall _fdbs
	.dbline 544
; 		zhuanhuan7(0x40,0x00);
	clr R18
	ldi R16,64
	xcall _zhuanhuan7
	.dbline 545
; 	    xtzb(xh,xl,yh,yl); 
	lds R2,_yl
	std y+2,R2
	lds R2,_yh
	std y+0,R2
	lds R18,_xl
	lds R16,_xh
	xcall _xtzb
	.dbline 546
; 	    xszf(0x31,temp1);        //显示转换器编号高位
	ldd R18,y+13
	ldi R16,49
	xcall _xszf
	.dbline 547
; 	    xszf(0x31,temp2);        //显示转换器编号低位
	mov R18,R12
	ldi R16,49
	xcall _xszf
	.dbline 548
; 	    xszf(0x31,0x2f);         //"/"
	ldi R18,47
	ldi R16,49
	xcall _xszf
	.dbline 549
; 	    xszf(0x31,temp3);        //显示探测器编号高位
	mov R18,R10
	ldi R16,49
	xcall _xszf
	.dbline 550
; 	    xszf(0x31,temp4);        //显示探测器编号低位
	mov R18,R22
	ldi R16,49
	xcall _xszf
	.dbline 551
; 	    zhuanhuan7(0x60,0x00);   //横坐标增加0x40,纵坐标不变
	clr R18
	ldi R16,96
	xcall _zhuanhuan7
	.dbline 552
; 	    xtzb(xh,xl,yh,yl);
	lds R2,_yl
	std y+2,R2
	lds R2,_yh
	std y+0,R2
	lds R18,_xl
	lds R16,_xh
	xcall _xtzb
	.dbline 553
; 	    xszf(0x31,0x32);  //2
	ldi R18,50
	ldi R16,49
	xcall _xszf
	.dbline 554
;         xszf(0x31,0x30);  //0
	ldi R18,48
	ldi R16,49
	xcall _xszf
	.dbline 555
; 	    clock_deal(shoubao[2]); //年
	lds R16,_shoubao+2
	xcall _clock_deal
	.dbline 556
; 	    xszf(0x31,0x2f);  //"/"
	ldi R18,47
	ldi R16,49
	xcall _xszf
	.dbline 557
; 	    clock_deal(shoubao[3]); //月
	lds R16,_shoubao+3
	xcall _clock_deal
	.dbline 558
; 	    xszf(0x31,0x2f);  //"/"
	ldi R18,47
	ldi R16,49
	xcall _xszf
	.dbline 559
; 	    clock_deal(shoubao[4]); //日
	lds R16,_shoubao+4
	xcall _clock_deal
	.dbline 560
; 	    kong(0x31,0x01);
	ldi R18,1
	ldi R16,49
	xcall _kong
	.dbline 561
; 	    clock_deal(shoubao[5]); //时
	lds R16,_shoubao+5
	xcall _clock_deal
	.dbline 562
; 	    xszf(0x31,0x3a);  //":"
	ldi R18,58
	ldi R16,49
	xcall _xszf
	.dbline 563
; 	    clock_deal(shoubao[6]); //分
	lds R16,_shoubao+6
	xcall _clock_deal
	.dbline 564
; 	    zhuanhuan7(0x80,0x00);    //横坐标增加0x80,纵坐标不变
	clr R18
	ldi R16,128
	xcall _zhuanhuan7
	.dbline 565
; 	    xtzb(xh,xl,yh,yl);
	lds R2,_yl
	std y+2,R2
	lds R2,_yh
	std y+0,R2
	lds R18,_xl
	lds R16,_xh
	xcall _xtzb
	.dbline 566
; 	    fdbs(0x14);
	ldi R16,20
	xcall _fdbs
	.dbline 567
; 		temp=(uint)(shoubao[7]);
	lds R20,_shoubao+7
	clr R21

⌨️ 快捷键说明

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