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

📄 uart.lis

📁 cc1020 串口通讯
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 047E 5D9B              sbis 0xb,5
 0480 FECF              rjmp L80
 0482           ;       UDR=0xaa;  
 0482 8AEA              ldi R24,170
 0484 8CB9              out 0xc,R24
 0486           ;       xx0=xx0^0xaa;
 0486 9927              clr R25
 0488 20902900          lds R2,_xx0
 048C 3324              clr R3
 048E 2826              eor R2,R24
 0490 3926              eor R3,R25
 0492 20922900          sts _xx0,R2
 0496           ;       xx1+=0xaa;
 0496 80912800          lds R24,_xx1
 049A 8655              subi R24,86    ; addi 170
 049C 80932800          sts _xx1,R24
 04A0           L83:
 04A0           L84:
 04A0           ; 	while (!(UCSRA&(1<<UDRE)));
 04A0 5D9B              sbis 0xb,5
 04A2 FECF              rjmp L83
 04A4           ;       UDR=addressper;
 04A4 80E1              ldi R24,16
 04A6 8CB9              out 0xc,R24
 04A8           ;       xx0=xx0^addressper;
 04A8 20902900          lds R2,_xx0
 04AC 2826              eor R2,R24
 04AE 20922900          sts _xx0,R2
 04B2           ;       xx1+=addressper;
 04B2 80912800          lds R24,_xx1
 04B6 805F              subi R24,240    ; addi 16
 04B8 80932800          sts _xx1,R24
 04BC           L86:
 04BC           L87:
 04BC           ; 	while (!(UCSRA&(1<<UDRE)));
 04BC 5D9B              sbis 0xb,5
 04BE FECF              rjmp L86
 04C0           ;       UDR=0x01;
 04C0 81E0              ldi R24,1
 04C2 8CB9              out 0xc,R24
 04C4           ;       xx0=xx0^0x01;
 04C4 20902900          lds R2,_xx0
 04C8 2826              eor R2,R24
 04CA 20922900          sts _xx0,R2
 04CE           ;       xx1+=0x01;
 04CE 80912800          lds R24,_xx1
 04D2 8F5F              subi R24,255    ; addi 1
 04D4 80932800          sts _xx1,R24
 04D8           L89:
 04D8           L90:
 04D8           ;  	while (!(UCSRA&(1<<UDRE)));
 04D8 5D9B              sbis 0xb,5
 04DA FECF              rjmp L89
 04DC           ;       UDR=0x03;
 04DC 83E0              ldi R24,3
 04DE 8CB9              out 0xc,R24
 04E0           ;       xx0=xx0^0x03;
 04E0 20902900          lds R2,_xx0
 04E4 2826              eor R2,R24
 04E6 20922900          sts _xx0,R2
 04EA           ;       xx1+=0x03;
 04EA 80912800          lds R24,_xx1
 04EE 8D5F              subi R24,253    ; addi 3
 04F0 80932800          sts _xx1,R24
 04F4           L92:
 04F4           L93:
 04F4           ; 	while (!(UCSRA&(1<<UDRE)));
 04F4 5D9B              sbis 0xb,5
 04F6 FECF              rjmp L92
 04F8           ;       for(w1=0;w1<3;w1++)
 04F8 2224              clr R2
 04FA 20922200          sts _w1,R2
 04FE 26C0              rjmp L98
 0500           L95:
 0500           ; 	{
 0500           ; 	 	UDR=databak[w1];
 0500 80E0              ldi R24,<_databak
 0502 90E0              ldi R25,>_databak
 0504 E0912200          lds R30,_w1
 0508 FF27              clr R31
 050A E80F              add R30,R24
 050C F91F              adc R31,R25
 050E 2080              ldd R2,z+0
 0510 2CB8              out 0xc,R2
 0512           ;               xx0=xx0^databak[w1];
 0512 E0912200          lds R30,_w1
 0516 FF27              clr R31
 0518 E80F              add R30,R24
 051A F91F              adc R31,R25
 051C 2080              ldd R2,z+0
 051E 30902900          lds R3,_xx0
 0522 3224              eor R3,R2
 0524 30922900          sts _xx0,R3
 0528           ;               xx1+=databak[w1];
 0528 E0912200          lds R30,_w1
 052C FF27              clr R31
 052E E80F              add R30,R24
 0530 F91F              adc R31,R25
 0532 2080              ldd R2,z+0
 0534 30902800          lds R3,_xx1
 0538 320C              add R3,R2
 053A 30922800          sts _xx1,R3
 053E           L99:
 053E           L100:
 053E 5D9B              sbis 0xb,5
 0540 FECF              rjmp L99
 0542           L96:
 0542 80912200          lds R24,_w1
 0546 8F5F              subi R24,255    ; addi 1
 0548 80932200          sts _w1,R24
 054C           L98:
 054C 80912200          lds R24,_w1
 0550 8330              cpi R24,3
 0552 B0F2              brlo L95
 0554           ;               while (!(UCSRA&(1<<UDRE)));
 0554           ;       }
 0554           ;       UDR=0x16;
 0554 86E1              ldi R24,22
 0556 8CB9              out 0xc,R24
 0558           ;       xx0=xx0^0x16;
 0558 20902900          lds R2,_xx0
 055C 2826              eor R2,R24
 055E 20922900          sts _xx0,R2
 0562           ;       xx1+=0x16;
 0562 80912800          lds R24,_xx1
 0566 8A5E              subi R24,234    ; addi 22
 0568 80932800          sts _xx1,R24
 056C           L102:
 056C           L103:
 056C           ; 	while (!(UCSRA&(1<<UDRE)));
 056C 5D9B              sbis 0xb,5
 056E FECF              rjmp L102
 0570           ;       UDR=xx0;
 0570 20902900          lds R2,_xx0
 0574 2CB8              out 0xc,R2
 0576           L105:
 0576           L106:
 0576           ; 	while (!(UCSRA&(1<<UDRE)));
 0576 5D9B              sbis 0xb,5
 0578 FECF              rjmp L105
 057A           L79:
 057A                   .dbline 0 ; func end
 057A 0895              ret
                        .even
 057C           _currentrepol::
 057C           ; }
 057C           ; 
 057C           ; /* 发送交流电流值  */
 057C           ; void currentrepol(void)
 057C           ; {
 057C           ;   xx0=0;xx1=0;
 057C 2224              clr R2
 057E 20922900          sts _xx0,R2
 0582 20922800          sts _xx1,R2
 0586           ;       UDR=0x55;
 0586 85E5              ldi R24,85
 0588 8CB9              out 0xc,R24
 058A           ;       xx0=xx0^0x55;
 058A 2826              eor R2,R24
 058C 20922900          sts _xx0,R2
 0590           ;       xx1+=0x55;
 0590 80912800          lds R24,_xx1
 0594 8B5A              subi R24,171    ; addi 85
 0596 80932800          sts _xx1,R24
 059A           L109:
 059A           L110:
 059A           ; 	while (!(UCSRA&(1<<UDRE)));
 059A 5D9B              sbis 0xb,5
 059C FECF              rjmp L109
 059E           ;       UDR=0xaa;  
 059E 8AEA              ldi R24,170
 05A0 8CB9              out 0xc,R24
 05A2           ;       xx0=xx0^0xaa;
 05A2 9927              clr R25
 05A4 20902900          lds R2,_xx0
 05A8 3324              clr R3
 05AA 2826              eor R2,R24
 05AC 3926              eor R3,R25
 05AE 20922900          sts _xx0,R2
 05B2           ;       xx1+=0xaa;
 05B2 80912800          lds R24,_xx1
 05B6 8655              subi R24,86    ; addi 170
 05B8 80932800          sts _xx1,R24
 05BC           L112:
 05BC           L113:
 05BC           ; 	while (!(UCSRA&(1<<UDRE)));
 05BC 5D9B              sbis 0xb,5
 05BE FECF              rjmp L112
 05C0           ;       UDR=addressper;
 05C0 80E1              ldi R24,16
 05C2 8CB9              out 0xc,R24
 05C4           ;       xx0=xx0^addressper;
 05C4 20902900          lds R2,_xx0
 05C8 2826              eor R2,R24
 05CA 20922900          sts _xx0,R2
 05CE           ;       xx1+=addressper;
 05CE 80912800          lds R24,_xx1
 05D2 805F              subi R24,240    ; addi 16
 05D4 80932800          sts _xx1,R24
 05D8           L115:
 05D8           L116:
 05D8           ; 	while (!(UCSRA&(1<<UDRE)));
 05D8 5D9B              sbis 0xb,5
 05DA FECF              rjmp L115
 05DC           ;       UDR=0x02;
 05DC 82E0              ldi R24,2
 05DE 8CB9              out 0xc,R24
 05E0           ;       xx0=xx0^0x02;
 05E0 20902900          lds R2,_xx0
 05E4 2826              eor R2,R24
 05E6 20922900          sts _xx0,R2
 05EA           ;       xx1+=0x02;
 05EA 80912800          lds R24,_xx1
 05EE 8E5F              subi R24,254    ; addi 2
 05F0 80932800          sts _xx1,R24
 05F4           L118:
 05F4           L119:
 05F4           ;  	while (!(UCSRA&(1<<UDRE)));
 05F4 5D9B              sbis 0xb,5
 05F6 FECF              rjmp L118
 05F8           ;       UDR=0x03;
 05F8 83E0              ldi R24,3
 05FA 8CB9              out 0xc,R24
 05FC           ;       xx0=xx0^0x03;
 05FC 20902900          lds R2,_xx0
 0600 2826              eor R2,R24
 0602 20922900          sts _xx0,R2
 0606           ;       xx1+=0x03;
 0606 80912800          lds R24,_xx1
 060A 8D5F              subi R24,253    ; addi 3
 060C 80932800          sts _xx1,R24
 0610           L121:
 0610           L122:
 0610           ; 	while (!(UCSRA&(1<<UDRE)));
 0610 5D9B              sbis 0xb,5
 0612 FECF              rjmp L121
 0614           ;       for(w1=0;w1<3;w1++)
 0614 2224              clr R2
 0616 20922200          sts _w1,R2
 061A 26C0              rjmp L127
 061C           L124:
 061C           ; 	{
 061C           ; 	 	UDR=databak[w1];
 061C 80E0              ldi R24,<_databak
 061E 90E0              ldi R25,>_databak
 0620 E0912200          lds R30,_w1
 0624 FF27              clr R31
 0626 E80F              add R30,R24
 0628 F91F              adc R31,R25
 062A 2080              ldd R2,z+0
 062C 2CB8              out 0xc,R2
 062E           ;               xx0=xx0^databak[w1];
 062E E0912200          lds R30,_w1
 0632 FF27              clr R31
 0634 E80F              add R30,R24
 0636 F91F              adc R31,R25
 0638 2080              ldd R2,z+0
 063A 30902900          lds R3,_xx0
 063E 3224              eor R3,R2
 0640 30922900          sts _xx0,R3
 0644           ;               xx1+=databak[w1];
 0644 E0912200          lds R30,_w1
 0648 FF27              clr R31
 064A E80F              add R30,R24
 064C F91F              adc R31,R25
 064E 2080              ldd R2,z+0
 0650 30902800          lds R3,_xx1
 0654 320C              add R3,R2
 0656 30922800          sts _xx1,R3
 065A           L128:
 065A           L129:
 065A 5D9B              sbis 0xb,5
 065C FECF              rjmp L128
 065E           L125:
 065E 80912200          lds R24,_w1
 0662 8F5F              subi R24,255    ; addi 1
 0664 80932200          sts _w1,R24
 0668           L127:
 0668 80912200          lds R24,_w1
 066C 8330              cpi R24,3
 066E B0F2              brlo L124
 0670           ;               while (!(UCSRA&(1<<UDRE)));
 0670           ;       }
 0670           ;       UDR=0x16;
 0670 86E1              ldi R24,22
 0672 8CB9              out 0xc,R24
 0674           ;       xx0=xx0^0x16;
 0674 20902900          lds R2,_xx0
 0678 2826              eor R2,R24
 067A 20922900          sts _xx0,R2
 067E           ;       xx1+=0x16;
 067E 80912800          lds R24,_xx1
 0682 8A5E              subi R24,234    ; addi 22
 0684 80932800          sts _xx1,R24
 0688           L131:
 0688           L132:
 0688           ; 	while (!(UCSRA&(1<<UDRE)));
 0688 5D9B              sbis 0xb,5
 068A FECF              rjmp L131
 068C           ;       UDR=xx0;
 068C 20902900          lds R2,_xx0
 0690 2CB8              out 0xc,R2
 0692           L134:
 0692           L135:
 0692           ; 	while (!(UCSRA&(1<<UDRE)));
 0692 5D9B              sbis 0xb,5
 0694 FECF              rjmp L134
 0696           L108:
 0696                   .dbline 0 ; func end
 0696 0895              ret
 0698           ;            tmp -> R10
 0698           ;           itmp -> R12
 0698           ;           addr -> R10
                        .even
 0698           _ReadFromCC1020Register::
 0698 00D0              rcall push_gset4
 069A A02E              mov R10,R16
 069C           ; }
 069C           ; 
 069C           ; 
 069C           ; 
 069C           ; unsigned char ReadFromCC1020Register(unsigned char addr)
 069C           ; {
 069C           ; 
 069C           ;       unsigned char itmp;
 069C           ;       unsigned char tmp;
 069C           ; //    P2MDOUT = 0xE0;
 069C           ;               DDRD  = 0x30;
 069C 80E3              ldi R24,48
 069E 81BB              out 0x11,R24
 06A0           ;               DDRB  = 0X03;
 06A0 83E0              ldi R24,3
 06A2 87BB              out 0x17,R24
 06A4           ;       delay(10);
 06A4 0AE0              ldi R16,10
 06A6 10E0              ldi R17,0
 06A8 20E0              ldi R18,0
 06AA 30E0              ldi R19,0
 06AC 04DE              rcall _delay
 06AE           ;       PSEL_0;

⌨️ 快捷键说明

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