📄 uart.lis
字号:
019A ; ptr -> R20,R21
.even
019A _UART_WRITE_DATA::
019A 0E940000 xcall push_gset1
019E A801 movw R20,R16
01A0 .dbline -1
01A0 .dbline 353
01A0 ;
01A0 ; //********************************************************************
01A0 ; // Function : UART_WRITE_DATA
01A0 ; // Input : ptr-pointer to SCI Buffer
01A0 ; // Output : none
01A0 ; // Description : Send the firstIncrease TX Buffer Length
01A0 ; //********************************************************************
01A0 ; void UART_WRITE_DATA(struct SCI_Buffer *ptr)
01A0 ; {
01A0 .dbline 354
01A0 ; UART_TX_DATA(ptr->bTxBuffer[0]);
01A0 FA01 movw R30,R20
01A2 05A9 ldd R16,z+53
01A4 51DF xcall _UART_TX_DATA
01A6 .dbline 355
01A6 ; SciBuffer_Tx_Inc(ptr);
01A6 8A01 movw R16,R20
01A8 F1DF xcall _SciBuffer_Tx_Inc
01AA .dbline 356
01AA ; Enable_UART_TX_INT();
01AA 48DF xcall _Enable_UART_TX_INT
01AC .dbline -2
01AC .dbline 357
01AC ; }
01AC L42:
01AC 0E940000 xcall pop_gset1
01B0 .dbline 0 ; func end
01B0 0895 ret
01B2 .dbsym r ptr 20 pX
01B2 .dbend
.area data(ram, con, rel)
0002 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\UART.c
0002 L44:
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\UART.c
.area text(rom, con, rel)
01B2 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\UART.c
01B2 .dbfunc e C1Command _C1Command fV
01B2 .dbsym s bCount L44 c
.even
01B2 _C1Command::
01B2 .dbline -1
01B2 .dbline 366
01B2 ;
01B2 ; //********************************************************************
01B2 ; // Function : C1Command
01B2 ; // Input : none
01B2 ; // Output : none
01B2 ; // Description : C1
01B2 ; //********************************************************************
01B2 ; void C1Command(void)
01B2 ; {
01B2 .dbline 368
01B2 ; static INT8U bCount = 0;
01B2 ; bCount++;
01B2 80910200 lds R24,L44
01B6 8F5F subi R24,255 ; addi 1
01B8 80930200 sts L44,R24
01BC .dbline 369
01BC ; if(bCount & 0x01)
01BC 80FF sbrs R24,0
01BE 03C0 rjmp L45
01C0 .dbline 370
01C0 ; {
01C0 .dbline 371
01C0 ; Buzzer_ON();
01C0 0E940000 xcall _Buzzer_ON
01C4 .dbline 372
01C4 ; }
01C4 02C0 xjmp L46
01C6 L45:
01C6 .dbline 374
01C6 .dbline 375
01C6 0E940000 xcall _Buzzer_OFF
01CA .dbline 376
01CA L46:
01CA .dbline -2
01CA .dbline 377
01CA ; else
01CA ; {
01CA ; Buzzer_OFF();
01CA ; }
01CA ; }
01CA L43:
01CA .dbline 0 ; func end
01CA 0895 ret
01CC .dbend
01CC .dbfunc e C2Command _C2Command fV
01CC ; bChar -> y+0
.even
01CC _C2Command::
01CC 2397 sbiw R28,3
01CE .dbline -1
01CE .dbline 386
01CE .dbline 388
01CE 20900500 lds R2,_stSciBuffer+3+2
01D2 2882 std y+0,R2
01D4 .dbline 389
01D4 80910600 lds R24,_stSciBuffer+3+3
01D8 8053 subi R24,48
01DA 8983 std y+1,R24
01DC .dbline 390
01DC 80910700 lds R24,_stSciBuffer+3+4
01E0 8053 subi R24,48
01E2 8A83 std y+2,R24
01E4 .dbline 391
01E4 8881 ldd R24,y+0
01E6 8C32 cpi R24,44
01E8 71F4 brne L56
01EA 89E0 ldi R24,9
01EC 2980 ldd R2,y+1
01EE 8215 cp R24,R2
01F0 50F0 brlo L56
01F2 2A80 ldd R2,y+2
01F4 8215 cp R24,R2
01F6 38F0 brlo L56
01F8 .dbline 392
01F8 .dbline 393
01F8 2980 ldd R2,y+1
01FA 8AE0 ldi R24,10
01FC 829D mul R24,R2
01FE 002D mov R16,R0
0200 2A80 ldd R2,y+2
0202 020D add R16,R2
0204 06DF xcall _sSet_Buzzer_Count
0206 .dbline 394
0206 L56:
0206 .dbline -2
0206 .dbline 395
0206 ;
0206 ; //********************************************************************
0206 ; // Function : C2Command
0206 ; // Input : none
0206 ; // Output : none
0206 ; // Description : C2,MM
0206 ; //********************************************************************
0206 ; void C2Command(void)
0206 ; {
0206 ; INT8U bChar[3];
0206 ; bChar[0] = stSciBuffer.bRxBuffer[2];
0206 ; bChar[1] = stSciBuffer.bRxBuffer[3] - '0';
0206 ; bChar[2] = stSciBuffer.bRxBuffer[4] - '0';
0206 ; if((bChar[0] == ',') && (bChar[1] <= 9) && (bChar[2] <= 9))
0206 ; {
0206 ; sSet_Buzzer_Count(bChar[1] * 10 + bChar[2]);
0206 ; }
0206 ; }
0206 L47:
0206 2396 adiw R28,3
0208 .dbline 0 ; func end
0208 0895 ret
020A .dbsym l bChar 0 A[3:3]c
020A .dbend
020A .dbfunc e D1Command _D1Command fV
.even
020A _D1Command::
020A .dbline -1
020A .dbline 404
020A ;
020A ; //********************************************************************
020A ; // Function : D1Command
020A ; // Input : none
020A ; // Output : none
020A ; // Description : D1
020A ; //********************************************************************
020A ; void D1Command(void)
020A ; {
020A .dbline 405
020A ; SciBuffer_Tx_In(&stSciBuffer,'I');
020A 29E4 ldi R18,73
020C 00E0 ldi R16,<_stSciBuffer
020E 10E0 ldi R17,>_stSciBuffer
0210 86DF xcall _SciBuffer_Tx_In
0212 .dbline 406
0212 ; SciBuffer_Tx_In(&stSciBuffer,' ');
0212 20E2 ldi R18,32
0214 00E0 ldi R16,<_stSciBuffer
0216 10E0 ldi R17,>_stSciBuffer
0218 82DF xcall _SciBuffer_Tx_In
021A .dbline 407
021A ; SciBuffer_Tx_In(&stSciBuffer,'L');
021A 2CE4 ldi R18,76
021C 00E0 ldi R16,<_stSciBuffer
021E 10E0 ldi R17,>_stSciBuffer
0220 7EDF xcall _SciBuffer_Tx_In
0222 .dbline 408
0222 ; SciBuffer_Tx_In(&stSciBuffer,'O');
0222 2FE4 ldi R18,79
0224 00E0 ldi R16,<_stSciBuffer
0226 10E0 ldi R17,>_stSciBuffer
0228 7ADF xcall _SciBuffer_Tx_In
022A .dbline 409
022A ; SciBuffer_Tx_In(&stSciBuffer,'V');
022A 26E5 ldi R18,86
022C 00E0 ldi R16,<_stSciBuffer
022E 10E0 ldi R17,>_stSciBuffer
0230 76DF xcall _SciBuffer_Tx_In
0232 .dbline 410
0232 ; SciBuffer_Tx_In(&stSciBuffer,'E');
0232 25E4 ldi R18,69
0234 00E0 ldi R16,<_stSciBuffer
0236 10E0 ldi R17,>_stSciBuffer
0238 72DF xcall _SciBuffer_Tx_In
023A .dbline 411
023A ; SciBuffer_Tx_In(&stSciBuffer,' ');
023A 20E2 ldi R18,32
023C 00E0 ldi R16,<_stSciBuffer
023E 10E0 ldi R17,>_stSciBuffer
0240 6EDF xcall _SciBuffer_Tx_In
0242 .dbline 412
0242 ; SciBuffer_Tx_In(&stSciBuffer,'Y');
0242 29E5 ldi R18,89
0244 00E0 ldi R16,<_stSciBuffer
0246 10E0 ldi R17,>_stSciBuffer
0248 6ADF xcall _SciBuffer_Tx_In
024A .dbline 413
024A ; SciBuffer_Tx_In(&stSciBuffer,'O');
024A 2FE4 ldi R18,79
024C 00E0 ldi R16,<_stSciBuffer
024E 10E0 ldi R17,>_stSciBuffer
0250 66DF xcall _SciBuffer_Tx_In
0252 .dbline 414
0252 ; SciBuffer_Tx_In(&stSciBuffer,'U');
0252 25E5 ldi R18,85
0254 00E0 ldi R16,<_stSciBuffer
0256 10E0 ldi R17,>_stSciBuffer
0258 62DF xcall _SciBuffer_Tx_In
025A .dbline 415
025A ; SciBuffer_Tx_In(&stSciBuffer,' ');
025A 20E2 ldi R18,32
025C 00E0 ldi R16,<_stSciBuffer
025E 10E0 ldi R17,>_stSciBuffer
0260 5EDF xcall _SciBuffer_Tx_In
0262 .dbline 416
0262 ; SciBuffer_Tx_In(&stSciBuffer,'!');
0262 21E2 ldi R18,33
0264 00E0 ldi R16,<_stSciBuffer
0266 10E0 ldi R17,>_stSciBuffer
0268 5ADF xcall _SciBuffer_Tx_In
026A .dbline 417
026A ; SciBuffer_Tx_In(&stSciBuffer,'\n');
026A 2AE0 ldi R18,10
026C 00E0 ldi R16,<_stSciBuffer
026E 10E0 ldi R17,>_stSciBuffer
0270 56DF xcall _SciBuffer_Tx_In
0272 .dbline 419
0272 ;
0272 ; UART_WRITE_DATA(&stSciBuffer);
0272 00E0 ldi R16,<_stSciBuffer
0274 10E0 ldi R17,>_stSciBuffer
0276 .dbline -2
0276 .dbline 420
0276 ; }
0276 L62:
0276 .dbline 0 ; func end
0276 91CF xjmp _UART_WRITE_DATA
0278 .dbend
0278 .dbfunc e D2Command _D2Command fV
0278 ; dwTest -> y+4
.even
0278 _D2Command::
0278 0E940000 xcall push_gset2
027C 2897 sbiw R28,8
027E .dbline -1
027E .dbline 429
027E ;
027E ; //********************************************************************
027E ; // Function : D2Command
027E ; // Input : none
027E ; // Output : none
027E ; // Description : D2
027E ; //********************************************************************
027E ; void D2Command(void)
027E ; {
027E .dbline 430
027E ; INT32U dwTest = 0xFFFFFFFF; //4294967295
027E 4FEF ldi R20,255
0280 5FEF ldi R21,255
0282 6FEF ldi R22,255
0284 7FEF ldi R23,255
0286 FE01 movw R30,R28
0288 4483 std z+4,R20
028A 5583 std z+5,R21
028C 6683 std z+6,R22
028E 7783 std z+7,R23
0290 .dbline 432
0290 ;
0290 ; sDataToNumber(dwTest,10,&stSciBuffer);
0290 80E0 ldi R24,<_stSciBuffer
0292 90E0 ldi R25,>_stSciBuffer
0294 9B83 std y+3,R25
0296 8A83 std y+2,R24
0298 8AE0 ldi R24,10
029A 8883 std y+0,R24
029C FE01 movw R30,R28
029E 0481 ldd R16,z+4
02A0 1581 ldd R17,z+5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -