📄 toucher.s
字号:
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 + -