📄 8255.lst
字号:
(0485) SPI_CLK0;
37A 9896 CBI 0x12,6
37B 9543 INC R20
37C 304B CPI R20,0xB
37D F308 BCS 0x035F
(0486) }
(0487) CS_DA1;
37E 9A97 SBI 0x12,7
(0488) SPI_CLK0;
37F 9896 CBI 0x12,6
(0489) for (i=0;i<11;i++);
380 2744 CLR R20
381 C001 RJMP 0x0383
382 9543 INC R20
383 304B CPI R20,0xB
384 F3E8 BCS 0x0382
385 940C 21D4 JMP pop_xgsetF000
_startAD:
CHN1 --> R10
k --> R20
backcode --> R22
i --> R14
CHN --> R12
387 940E 21BA CALL push_xgsetF0FC
389 2EC0 MOV R12,R16
(0490) }
(0491) //TLC2543
(0492) unsigned int startAD(unsigned char CHN)
(0493) {
(0494) unsigned char i,CHN1,k;
(0495) unsigned int backcode=0;
38A 2766 CLR R22
38B 2777 CLR R23
(0496)
(0497) CHN1=CHN;
38C 2CAC MOV R10,R12
(0498) for(k=0;k<50;k++)
38D 2744 CLR R20
38E C068 RJMP 0x03F7
(0499)
(0500) { CHN=CHN1;backcode=0;
38F 2CCA MOV R12,R10
390 2766 CLR R22
391 2777 CLR R23
(0501) CHN <<= 4;
392 2D8C MOV R24,R12
393 708F ANDI R24,0xF
394 9582 SWAP R24
395 2EC8 MOV R12,R24
(0502) tlc2543_cs1;
396 9180 0062 LDS R24,0x0062
398 6088 ORI R24,0x8
399 9380 0062 STS 0x0062,R24
(0503) tlc2543_clk0;
39B 9895 CBI 0x12,5
(0504) tlc2543_cs0;
39C 9180 0062 LDS R24,0x0062
39E 7F87 ANDI R24,0xF7
39F 9380 0062 STS 0x0062,R24
(0505) for(i=0;i<12;i++)
3A1 24EE CLR R14
3A2 C01E RJMP 0x03C1
(0506) {
(0507) if(i < 8)
3A3 2D8E MOV R24,R14
3A4 3088 CPI R24,0x8
3A5 F470 BCC 0x03B4
(0508) {
(0509) if(CHN & 0x80) tlc2543_din1;
3A6 FEC7 SBRS R12,7
3A7 C006 RJMP 0x03AE
3A8 9180 0062 LDS R24,0x0062
3AA 6082 ORI R24,2
3AB 9380 0062 STS 0x0062,R24
3AD C005 RJMP 0x03B3
(0510) else tlc2543_din0;
3AE 9180 0062 LDS R24,0x0062
3B0 7F8D ANDI R24,0xFD
3B1 9380 0062 STS 0x0062,R24
(0511)
(0512) CHN<<=1;
3B3 0CCC LSL R12
(0513) }
(0514) backcode <<= 1;
3B4 0F66 LSL R22
3B5 1F77 ROL R23
(0515) if(tlc2543_dout==0x04)
3B6 B180 IN R24,0x00
3B7 7084 ANDI R24,4
3B8 3084 CPI R24,4
3B9 F411 BNE 0x03BC
(0516) backcode|= 1;
3BA 6061 ORI R22,1
3BB C000 RJMP 0x03BC
(0517) else backcode|= 0;
(0518) tlc2543_clk1;
3BC 9A95 SBI 0x12,5
(0519) asm("nop");
3BD 0000 NOP
(0520) asm("nop");
3BE 0000 NOP
(0521) tlc2543_clk0;
3BF 9895 CBI 0x12,5
3C0 94E3 INC R14
3C1 2D8E MOV R24,R14
3C2 308C CPI R24,0xC
3C3 F2F8 BCS 0x03A3
(0522) }
(0523)
(0524)
(0525) tlc2543_cs1;
3C4 9180 0062 LDS R24,0x0062
3C6 6088 ORI R24,0x8
3C7 9380 0062 STS 0x0062,R24
(0526) date2=(date2*1000+backcode )/1000;
3C9 E204 LDI R16,0x24
3CA E014 LDI R17,4
3CB 940E 2157 CALL elpm32
3CD E18A LDI R24,0x1A
3CE E091 LDI R25,1
3CF 939A ST R25,-Y
3D0 938A ST R24,-Y
3D1 940E 248F CALL fpmule1
3D3 0118 MOVW R2,R16
3D4 0129 MOVW R4,R18
3D5 018B MOVW R16,R22
3D6 940E 22E7 CALL uint2fp
3D8 933A ST R19,-Y
3D9 932A ST R18,-Y
3DA 931A ST R17,-Y
3DB 930A ST R16,-Y
3DC 0181 MOVW R16,R2
3DD 0192 MOVW R18,R4
3DE 940E 22B0 CALL fpadd2
3E0 0118 MOVW R2,R16
3E1 0129 MOVW R4,R18
3E2 E204 LDI R16,0x24
3E3 E014 LDI R17,4
3E4 940E 2157 CALL elpm32
3E6 933A ST R19,-Y
3E7 932A ST R18,-Y
3E8 931A ST R17,-Y
3E9 930A ST R16,-Y
3EA 0181 MOVW R16,R2
3EB 0192 MOVW R18,R4
3EC 940E 2310 CALL fpdiv2
3EE 9310 011B STS date2+1,R17
3F0 9300 011A STS date2,R16
3F2 9330 011D STS date2+3,R19
3F4 9320 011C STS date2+2,R18
3F6 9543 INC R20
3F7 3342 CPI R20,0x32
3F8 F408 BCC 0x03FA
3F9 CF95 RJMP 0x038F
(0527)
(0528) }
(0529)
(0530) date1=(date2/50)*1000; date2=0;
3FA E204 LDI R16,0x24
3FB E014 LDI R17,4
3FC 940E 2157 CALL elpm32
3FE 0118 MOVW R2,R16
3FF 0129 MOVW R4,R18
400 9080 011C LDS R8,date2+2
402 9090 011D LDS R9,date2+3
404 9060 011A LDS R6,date2
406 9070 011B LDS R7,date2+1
408 E200 LDI R16,0x20
409 E014 LDI R17,4
40A 940E 2157 CALL elpm32
40C 933A ST R19,-Y
40D 932A ST R18,-Y
40E 931A ST R17,-Y
40F 930A ST R16,-Y
410 0183 MOVW R16,R6
411 0194 MOVW R18,R8
412 940E 2326 CALL fpdiv2x
414 0181 MOVW R16,R2
415 0192 MOVW R18,R4
416 940E 2499 CALL fpmule2
418 940E 22BB CALL fpint
41A 9310 0121 STS date1+1,R17
41C 9300 0120 STS date1,R16
41E E10C LDI R16,0x1C
41F E014 LDI R17,4
420 940E 2157 CALL elpm32
422 9310 011B STS date2+1,R17
424 9300 011A STS date2,R16
426 9330 011D STS date2+3,R19
428 9320 011C STS date2+2,R18
(0531)
(0532) return(date1) ;
42A 9100 0120 LDS R16,date1
42C 9110 0121 LDS R17,date1+1
42E 940C 21AF JMP pop_xgsetF0FC
_ad9851:
i --> R10
pinlv --> Y,+6
430 940E 2118 CALL push_arg4
432 940E 21D9 CALL push_xgsetF00C
(0533)
(0534) }
(0535) //ad9851
(0536) void ad9851( unsigned long int pinlv)
(0537) { char i;
(0538)
(0539) kongzhi[0]=0x09;
434 E089 LDI R24,0x9
435 9380 0126 STS kongzhi,R24
(0540) kongzhi[1]=12*pinlv/256/256;
437 802E LDD R2,Y+6
438 803F LDD R3,Y+7
439 8448 LDD R4,Y+8
43A 8459 LDD R5,Y+9
43B E04C LDI R20,0xC
43C E050 LDI R21,0
43D E060 LDI R22,0
43E E070 LDI R23,0
43F 925A ST R5,-Y
440 924A ST R4,-Y
441 923A ST R3,-Y
442 922A ST R2,-Y
443 018A MOVW R16,R20
444 019B MOVW R18,R22
445 940E 217B CALL empy32u
447 E088 LDI R24,0x8
448 E090 LDI R25,0
449 938A ST R24,-Y
44A 940E 223C CALL lsr32
44C E088 LDI R24,0x8
44D E090 LDI R25,0
44E 938A ST R24,-Y
44F 940E 223C CALL lsr32
451 9300 0127 STS kongzhi+1,R16
(0541) kongzhi[2]=12*pinlv/256%256;
453 802E LDD R2,Y+6
454 803F LDD R3,Y+7
455 8448 LDD R4,Y+8
456 8459 LDD R5,Y+9
457 E04C LDI R20,0xC
458 E050 LDI R21,0
459 E060 LDI R22,0
45A E070 LDI R23,0
45B 925A ST R5,-Y
45C 924A ST R4,-Y
45D 923A ST R3,-Y
45E 922A ST R2,-Y
45F 018A MOVW R16,R20
460 019B MOVW R18,R22
461 940E 217B CALL empy32u
463 E088 LDI R24,0x8
464 E090 LDI R25,0
465 938A ST R24,-Y
466 940E 223C CALL lsr32
468 0118 MOVW R2,R16
469 0129 MOVW R4,R18
46A EF4F LDI R20,0xFF
46B E050 LDI R21,0
46C E060 LDI R22,0
46D E070 LDI R23,0
46E 2224 AND R2,R20
46F 2235 AND R3,R21
470 2246 AND R4,R22
471 2257 AND R5,R23
472 9220 0128 STS kongzhi+2,R2
(0542) kongzhi[3]=12*pinlv%256;
474 802E LDD R2,Y+6
475 803F LDD R3,Y+7
476 8448 LDD R4,Y+8
477 8459 LDD R5,Y+9
478 E04C LDI R20,0xC
479 E050 LDI R21,0
47A E060 LDI R22,0
47B E070 LDI R23,0
47C 925A ST R5,-Y
47D 924A ST R4,-Y
47E 923A ST R3,-Y
47F 922A ST R2,-Y
480 018A MOVW R16,R20
481 019B MOVW R18,R22
482 940E 217B CALL empy32u
484 EF4F LDI R20,0xFF
485 E050 LDI R21,0
486 E060 LDI R22,0
487 E070 LDI R23,0
488 0118 MOVW R2,R16
489 0129 MOVW R4,R18
48A 2224 AND R2,R20
48B 2235 AND R3,R21
48C 2246 AND R4,R22
48D 2257 AND R5,R23
48E 9220 0129 STS kongzhi+3,R2
(0543) kongzhi[4]=1490*pinlv%256;
490 802E LDD R2,Y+6
491 803F LDD R3,Y+7
492 8448 LDD R4,Y+8
493 8459 LDD R5,Y+9
494 ED42 LDI R20,0xD2
495 E055 LDI R21,5
496 E060 LDI R22,0
497 E070 LDI R23,0
498 925A ST R5,-Y
499 924A ST R4,-Y
49A 923A ST R3,-Y
49B 922A ST R2,-Y
49C 018A MOVW R16,R20
49D 019B MOVW R18,R22
49E 940E 217B CALL empy32u
4A0 EF4F LDI R20,0xFF
4A1 E050 LDI R21,0
4A2 E060 LDI R22,0
4A3 E070 LDI R23,0
4A4 0118 MOVW R2,R16
4A5 0129 MOVW R4,R18
4A6 2224 AND R2,R20
4A7 2235 AND R3,R21
4A8 2246 AND R4,R22
4A9 2257 AND R5,R23
4AA 9220 012A STS 0x012A,R2
(0544) wclk0; fqud0;
4AC 9180 0062 LDS R24,0x0062
4AE 7D8F ANDI R24,0xDF
4AF 9380 0062 STS 0x0062,R24
4B1 9180 0062 LDS R24,0x0062
4B3 7B8F ANDI R24,0xBF
4B4 9380 0062 STS 0x0062,R24
(0545) for (i=0;i<5;i++)
4B6 24AA CLR R10
4B7 C019 RJMP 0x04D1
(0546) {
(0547) ad9851shuju=kongzhi[i];
4B8 E286 LDI R24,0x26
4B9 E091 LDI R25,1
4BA 2DEA MOV R30,R10
4BB 27FF CLR R31
4BC 0FE8 ADD R30,R24
4BD 1FF9 ADC R31,R25
4BE 8020 LDD R2,Z+0
4BF BA2B OUT 0x1B,R2
(0548) delay(1);
4C0 E001 LDI R16,1
4C1 E010 LDI R17,0
4C2 DD81 RCALL _delay
(0549) wclk1;
4C3 9180 0062 LDS R24,0x0062
4C5 6280 ORI R24,0x20
4C6 9380 0062 STS 0x0062,R24
(0550) delay(1);
4C8 E001 LDI R16,1
4C9 E010 LDI R17,0
4CA DD79 RCALL _delay
(0551) wclk0;
4CB 9180 0062 LDS R24,0x0062
4CD 7D8F ANDI R24,0xDF
4CE 9380 0062 STS 0x0062,R24
4D0 94A3 INC R10
4D1 2D8A MOV R24,R10
4D2 3085 CPI R24,5
4D3 F320 BCS 0x04B8
(0552)
(0553)
(0554) }
(0555) fqud1;
4D4 9180 0062 LDS R24,0x0062
4D6 6480 ORI R24,0x40
4D7 9380 0062 STS 0x0062,R24
(0556) delay(1);
4D9 E001 LDI R16,1
4DA E010 LDI R17,0
4DB DD68 RCALL _delay
(0557) fqud0;
4DC 9180 0062 LDS R24,0x0062
4DE 7B8F ANDI R24,0xBF
4DF 9380 0062 STS 0x0062,R24
4E1 940E 21E0 CALL pop_xgsetF00C
4E3 9624 ADIW R28,4
4E4 9508 RET
_startmsg:
nm --> R10
nu --> R20
4E5 940E 21C5 CALL push_xgset300C
4E7 9722 SBIW R28,2
(0558)
(0559) }
(0560)
(0561) //显示部分
(0562) void startmsg()
(0563) {int nu;
(0564) unsigned char nm=0;
4E8 24AA CLR R10
(0565) Clr_Scr();
4E9 DDBF RCALL _Clr_Scr
(0566) LCDCS21;LCDCS10;
4EA 9A1A SBI 0x03,2
4EB 9819 CBI 0x03,1
(0567) disp_hz(0,32, huan);
4EC E88C LDI R24,0x8C
4ED E090 LDI R25,0
4EE 8399 STD Y+1,R25
4EF 8388 STD Y+0,R24
4F0 E220 LDI R18,0x20
4F1 2700 CLR R16
4F2 DE08 RCALL _disp_hz
(0568) delay(3000);
4F3 EB08 LDI R16,0xB8
4F4 E01B LDI R17,0xB
4F5 DD4E RCALL _delay
(0569) disp_hz(0,48, ying);
4F6 EA84 LDI R24,0xA4
4F7 E090 LDI R25,0
4F8 8399 STD Y+1,R25
4F9 8388 STD Y+0,R24
4FA E320 LDI R18,0x30
4FB 2700 CLR R16
4FC DDFE RCALL _disp_hz
(0570) delay(3000);
4FD EB08 LDI R16,0xB8
4FE E01B LDI R17,0xB
4FF DD44 RCALL _delay
(0571) LCDCS20;LCDCS11;
500 981A CBI 0x03,2
501 9A19 SBI 0x03,1
(0572) disp_hz(0,0, shi);
502 EB8C LDI R24,0xBC
503 E090 LDI R25,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -