commit 332c00d1a71b2cf081b9cda28a37e0c857b780f4 Author: zhongxuanzhen Date: Wed Apr 15 09:07:07 2026 +0800 实现STC32G12K128开发板的PWM输出,测试并验证400Hz和50Hz频率下误差小于0.02% diff --git a/Listings/STC32G_PWM_TEST.map b/Listings/STC32G_PWM_TEST.map new file mode 100644 index 0000000..f10548c --- /dev/null +++ b/Listings/STC32G_PWM_TEST.map @@ -0,0 +1,327 @@ +L251 LINKER/LOCATER V4.66.93.0 04/01/2026 14:04:27 PAGE 1 + + +L251 LINKER/LOCATER V4.66.93.0, INVOKED BY: +C:\KEIL_V5\C251\BIN\L251.EXE .\Objects\main.obj TO .\Objects\STC32G_PWM_TEST PRINT (.\Listings\STC32G_PWM_TEST.map) CASE +>> CLASSES (EDATA (0X0-0XFFF), HDATA (0X0-0XFFF)) + + +CPU MODE: 251 SOURCE MODE +MEMORY MODEL: TINY + + +INPUT MODULES INCLUDED: + .\Objects\main.obj (main) + COMMENT TYPE 0: C251 V5.60.0 + C:\KEIL_V5\C251\LIB\C2ST.LIB (?C_START) + COMMENT TYPE 0: A251 V4.69.6.0 + C:\KEIL_V5\C251\LIB\C2ST.LIB (SPRINTF) + COMMENT TYPE 0: A251 V4.69.6.0 + C:\KEIL_V5\C251\LIB\C2ST.LIB (STRLEN) + COMMENT TYPE 0: C251 V5.58.7 + C:\KEIL_V5\C251\LIB\C2ST.LIB (?C?PRNFMT) + COMMENT TYPE 0: A251 V4.69.6.0 + + +ACTIVE MEMORY CLASSES OF MODULE: .\Objects\STC32G_PWM_TEST (main) + +BASE START END USED MEMORY CLASS +========================================================== +000000H 000000H 000FFFH 000100H EDATA +000000H 000000H 000FFFH HDATA +000000H 008000H 00FFFFH 000006H NCONST +FF0000H FF0000H FFFFFFH 0003EAH CODE +000000H 000000H 00007FH 000017H DATA + + +MEMORY MAP OF MODULE: .\Objects\STC32G_PWM_TEST (main) + + +START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME +========================================================================= +000000H 000007H 000008H --- AT.. DATA "REG BANK 0" +000008H 000016H 00000FH BYTE UNIT DATA _DATA_GROUP_ +000017H 000116H 000100H BYTE UNIT EDATA ?STACK +000117H 007FFFH 007EE9H --- --- **GAP** +008000H 008003H 000004H BYTE UNIT NCONST ?NC?PRINTF +008004H 008005H 000002H BYTE UNIT NCONST ?NC?MAIN +008006H FEFFFFH FE7FFAH --- --- **GAP** +FF0000H FF0002H 000003H --- OFFS.. CODE ?CO?start251?4 +FF0003H FF02E2H 0002E0H BYTE UNIT CODE ?C?LIB_CODE +FF02E3H FF0387H 0000A5H BYTE INSEG CODE ?PR?_M?MAIN +FF0388H FF03B0H 000029H BYTE INSEG CODE ?PR?UPDATEPWM?MAIN +FF03B1H FF03C3H 000013H BYTE UNIT CODE ?C_C51STARTUP +FF03C4H FF03C6H 000003H BYTE UNIT CODE ?C_C51STARTUP?3 +FF03C7H FF03D9H 000013H BYTE INSEG CODE ?PR?MAIN?MAIN +FF03DAH FF03E9H 000010H BYTE INSEG CODE ?PR?STRLEN?_?STRLEN + + + +OVERLAY MAP OF MODULE: .\Objects\STC32G_PWM_TEST (main) + + +FUNCTION/MODULE BIT_GROUP DATA_GROUP +--> CALLED FUNCTION/MODULE START STOP START STOP +==================================================== +?C_C51STARTUP ----- ----- ----- ----- + +*** NEW ROOT ************** + + L251 LINKER/LOCATER V4.66.93.0 04/01/2026 14:04:27 PAGE 2 + + +?C_C51STARTUP?3 ----- ----- ----- ----- + +--> main/main + +main/main ----- ----- ----- ----- + +--> _m/main + +--> SPRINTF/SPRINTF + +--> strlen?_/STRLEN + +_m/main ----- ----- ----- ----- + +--> UpdatePwm/main + +UpdatePwm/main ----- ----- ----- ----- + +SPRINTF/SPRINTF ----- ----- 0008H 0016H + +--> OUT/SPRINTF + +OUT/SPRINTF ----- ----- ----- ----- + +--> PUTCH/SPRINTF + +PUTCH/SPRINTF ----- ----- ----- ----- + +strlen?_/STRLEN ----- ----- ----- ----- + + + +PUBLIC SYMBOLS OF MODULE: .\Objects\STC32G_PWM_TEST (main) + + + VALUE CLASS TYPE PUBLIC SYMBOL NAME + ================================================= + 000000FFH NUMBER --- ?C?CODESEG + 00FF004CH CODE --- ?C?PRNFMT + 00FF0000H CODE --- ?C?STARTUP + 00000001H NUMBER --- ?C?XDATASEG + 00FF0000H CODE --- ?C_STARTUP + 00000017H DATA --- ?sprintf?BYTE + 00FF02E3H CODE --- _m +*SFR* 000000E0H DATA BYTE ACC +*SFR* 000000BCH DATA BYTE ADC_CONTR +*SFR* 000000DEH DATA BYTE ADCCFG +*SFR* 000000EFH DATA BYTE AUXINTIF +*SFR* 0000008EH DATA BYTE AUXR +*SFR* 00000097H DATA BYTE AUXR2 +*SFR* 000000F0H DATA BYTE B +*SFR* 000000F1H DATA BYTE CANICR +*SFR* 000000EAH DATA BYTE CKCON +*SFR* 000000E6H DATA BYTE CMPCR1 +*SFR* 000000E7H DATA BYTE CMPCR2 +*SFR* 000000A8H.7 DATA BIT EA +*SFR* 000000BAH.7 DATA BIT EAXFR +*SFR* 000000C7H DATA BYTE IAP_CONTR +*SFR* 000000A8H DATA BYTE IE +*SFR* 000000AFH DATA BYTE IE2 +*SFR* 0000008FH DATA BYTE INTCLKO +*SFR* 000000B8H DATA BYTE IP +*SFR* 000000B5H DATA BYTE IP2 +*SFR* 000000B6H DATA BYTE IP2H +*SFR* 000000DFH DATA BYTE IP3 +*SFR* 000000EEH DATA BYTE IP3H +*SFR* 000000B7H DATA BYTE IPH +*SFR* 0000009DH DATA BYTE IRCBAND +*SFR* 000000F9H DATA BYTE LINICR + 00FF03C7H CODE --- main +*SFR* 00000080H DATA BYTE P0 +*SFR* 00000094H DATA BYTE P0M0 + L251 LINKER/LOCATER V4.66.93.0 04/01/2026 14:04:27 PAGE 3 + + +*SFR* 00000093H DATA BYTE P0M1 +*SFR* 00000090H DATA BYTE P1 +*SFR* 00000092H DATA BYTE P1M0 +*SFR* 00000091H DATA BYTE P1M1 +*SFR* 000000A0H DATA BYTE P2 +*SFR* 00000096H DATA BYTE P2M0 +*SFR* 00000095H DATA BYTE P2M1 +*SFR* 000000B0H DATA BYTE P3 +*SFR* 000000B2H DATA BYTE P3M0 +*SFR* 000000B1H DATA BYTE P3M1 +*SFR* 000000C0H DATA BYTE P4 +*SFR* 000000B4H DATA BYTE P4M0 +*SFR* 000000B3H DATA BYTE P4M1 +*SFR* 000000C8H DATA BYTE P5 +*SFR* 000000CAH DATA BYTE P5M0 +*SFR* 000000C9H DATA BYTE P5M1 +*SFR* 000000E8H DATA BYTE P6 +*SFR* 000000CCH DATA BYTE P6M0 +*SFR* 000000CBH DATA BYTE P6M1 +*SFR* 000000F8H DATA BYTE P7 +*SFR* 000000E2H DATA BYTE P7M0 +*SFR* 000000E1H DATA BYTE P7M1 +*SFR* 000000A2H DATA BYTE P_SW1 +*SFR* 000000BAH DATA BYTE P_SW2 +*SFR* 000000BBH DATA BYTE P_SW3 +*SFR* 00000087H DATA BYTE PCON +*SFR* 000000D0H DATA BYTE PSW +*SFR* 000000FFH DATA BYTE RSTCFG +*SFR* 0000009AH DATA BYTE S2CON +*SFR* 000000ACH DATA BYTE S3CON +*SFR* 000000FDH DATA BYTE S4CON +*SFR* 00000098H DATA BYTE SCON +*SFR* 000000CEH DATA BYTE SPCTL + 00FF0003H CODE NEAR LAB sprintf +*SFR* 000000CDH DATA BYTE SPSTAT + 00FF03DAH CODE --- strlen?_ +*SFR* 000000DDH DATA BYTE T4T3M +*SFR* 00000088H DATA BYTE TCON +*SFR* 00000089H DATA BYTE TMOD + 00FF0388H CODE --- UpdatePwm +*SFR* 000000F4H DATA BYTE USBCON +*SFR* 000000C1H DATA BYTE WDT_CONTR +*SFR* 000000E9H DATA BYTE WTST + + + +SYMBOL TABLE OF MODULE: .\Objects\STC32G_PWM_TEST (main) + + VALUE REP CLASS TYPE SYMBOL NAME + ==================================================== + --- MODULE --- --- main + 00FF0388H PUBLIC CODE --- UpdatePwm + 00FF03C7H PUBLIC CODE --- main + 00FF02E3H PUBLIC CODE --- _m + 00000094H SFRSYM DATA BYTE P0M0 + 000000D0H SFRSYM DATA BYTE PSW + 000000BAH.7 SFRSYM DATA BIT EAXFR + 0000009DH SFRSYM DATA BYTE IRCBAND + 00000097H SFRSYM DATA BYTE AUXR2 + 000000EAH SFRSYM DATA BYTE CKCON + 000000EFH SFRSYM DATA BYTE AUXINTIF + 000000FDH SFRSYM DATA BYTE S4CON + 000000ACH SFRSYM DATA BYTE S3CON + 0000009AH SFRSYM DATA BYTE S2CON + 000000B7H SFRSYM DATA BYTE IPH + L251 LINKER/LOCATER V4.66.93.0 04/01/2026 14:04:27 PAGE 4 + + + 000000CDH SFRSYM DATA BYTE SPSTAT + 000000DDH SFRSYM DATA BYTE T4T3M + 000000C1H SFRSYM DATA BYTE WDT_CONTR + 000000E9H SFRSYM DATA BYTE WTST + 000000DFH SFRSYM DATA BYTE IP3 + 000000F4H SFRSYM DATA BYTE USBCON + 000000B5H SFRSYM DATA BYTE IP2 + 000000FFH SFRSYM DATA BYTE RSTCFG + 000000E0H SFRSYM DATA BYTE ACC + 000000C7H SFRSYM DATA BYTE IAP_CONTR + 000000F9H SFRSYM DATA BYTE LINICR + 0000008EH SFRSYM DATA BYTE AUXR + 000000F0H SFRSYM DATA BYTE B + 000000AFH SFRSYM DATA BYTE IE2 + 00000088H SFRSYM DATA BYTE TCON + 00000089H SFRSYM DATA BYTE TMOD + 00000098H SFRSYM DATA BYTE SCON + 000000F1H SFRSYM DATA BYTE CANICR + 00000087H SFRSYM DATA BYTE PCON + 000000BCH SFRSYM DATA BYTE ADC_CONTR + 000000E7H SFRSYM DATA BYTE CMPCR2 + 000000E6H SFRSYM DATA BYTE CMPCR1 + 000000DEH SFRSYM DATA BYTE ADCCFG + 000000B8H SFRSYM DATA BYTE IP + 0000008FH SFRSYM DATA BYTE INTCLKO + 000000EEH SFRSYM DATA BYTE IP3H + 000000B6H SFRSYM DATA BYTE IP2H + 000000A8H SFRSYM DATA BYTE IE + 000000BBH SFRSYM DATA BYTE P_SW3 + 000000BAH SFRSYM DATA BYTE P_SW2 + 000000A2H SFRSYM DATA BYTE P_SW1 + 000000CEH SFRSYM DATA BYTE SPCTL + 000000F8H SFRSYM DATA BYTE P7 + 000000A8H.7 SFRSYM DATA BIT EA + 000000E1H SFRSYM DATA BYTE P7M1 + 000000E8H SFRSYM DATA BYTE P6 + 000000C8H SFRSYM DATA BYTE P5 + 000000CBH SFRSYM DATA BYTE P6M1 + 000000E2H SFRSYM DATA BYTE P7M0 + 000000C0H SFRSYM DATA BYTE P4 + 000000C9H SFRSYM DATA BYTE P5M1 + 000000CCH SFRSYM DATA BYTE P6M0 + 000000B0H SFRSYM DATA BYTE P3 + 000000B3H SFRSYM DATA BYTE P4M1 + 000000CAH SFRSYM DATA BYTE P5M0 + 000000A0H SFRSYM DATA BYTE P2 + 000000B1H SFRSYM DATA BYTE P3M1 + 000000B4H SFRSYM DATA BYTE P4M0 + 00000090H SFRSYM DATA BYTE P1 + 00000095H SFRSYM DATA BYTE P2M1 + 000000B2H SFRSYM DATA BYTE P3M0 + 00000080H SFRSYM DATA BYTE P0 + 00000091H SFRSYM DATA BYTE P1M1 + 00000096H SFRSYM DATA BYTE P2M0 + 00000092H SFRSYM DATA BYTE P1M0 + 00000093H SFRSYM DATA BYTE P0M1 + + 00FF03C7H BLOCK CODE --- LVL=0 + 00FF03C7H LINE CODE --- #30 + --- BLOCKEND --- --- LVL=0 + + 00FF02E3H BLOCK CODE --- LVL=0 + 00FF02E3H LINE CODE --- #30 + 00FF02E3H LINE CODE --- #32 + 00FF02E6H LINE CODE --- #33 + L251 LINKER/LOCATER V4.66.93.0 04/01/2026 14:04:27 PAGE 5 + + + 00FF02E9H LINE CODE --- #34 + 00FF02ECH LINE CODE --- #37 + 00FF02F2H LINE CODE --- #38 + 00FF02F8H LINE CODE --- #39 + 00FF02FEH LINE CODE --- #40 + 00FF0304H LINE CODE --- #41 + 00FF030AH LINE CODE --- #42 + 00FF0310H LINE CODE --- #43 + 00FF0316H LINE CODE --- #44 + 00FF031CH LINE CODE --- #47 + 00FF0328H LINE CODE --- #48 + 00FF0330H LINE CODE --- #50 + 00FF0338H LINE CODE --- #51 + 00FF0345H LINE CODE --- #52 + 00FF034AH LINE CODE --- #54 + 00FF0352H LINE CODE --- #55 + 00FF035AH LINE CODE --- #58 + 00FF0362H LINE CODE --- #59 + 00FF036BH LINE CODE --- #61 + 00FF036EH LINE CODE --- #63 + 00FF037BH LINE CODE --- #64 + 00FF0384H LINE CODE --- #66 + 00FF0386H LINE CODE --- #68 + 00FF0386H LINE CODE --- #71 + --- BLOCKEND --- --- LVL=0 + + 00FF0388H BLOCK CODE --- LVL=0 + 00FF0388H LINE CODE --- #78 + 00FF0388H LINE CODE --- #81 + 00FF0395H LINE CODE --- #82 + 00FF039EH LINE CODE --- #85 + 00FF03A7H LINE CODE --- #86 + 00FF03B0H LINE CODE --- #87 + --- BLOCKEND --- --- LVL=0 + + --- MODULE --- --- ?C_START + 00FF0000H PUBLIC CODE --- ?C?STARTUP + 00FF0000H PUBLIC CODE --- ?C_STARTUP + + --- MODULE --- --- SPRINTF + 00000017H PUBLIC DATA --- ?SPRINTF?BYTE + 00FF0003H PUBLIC CODE NEAR LAB SPRINTF + + --- MODULE --- --- STRLEN + 00FF03DAH PUBLIC CODE --- strlen?_ + + --- MODULE --- --- ?C?PRNFMT + 00FF004CH PUBLIC CODE --- ?C?PRNFMT + +Program Size: data=23.0 edata+hdata=256 xdata=0 const=6 code=1002 +L251 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Listings/main.lst b/Listings/main.lst new file mode 100644 index 0000000..c8eea83 --- /dev/null +++ b/Listings/main.lst @@ -0,0 +1,123 @@ + C251 COMPILER V5.60.0, main 01/04/26 14:04:27 PAGE 1 + + +C251 COMPILER V5.60.0, COMPILATION OF MODULE main +OBJECT MODULE PLACED IN .\Objects\main.obj +COMPILER INVOKED BY: C:\Keil_v5\C251\BIN\C251.EXE main.c INTR2 BROWSE DEBUG PRINT(.\Listings\main.lst) TABS(2) OBJECT(.\ + -Objects\main.obj) + +stmt level source + + 1 #include "stc32g.h" + 2 #include "intrins.h" + 3 + 4 #define MAIN_Fosc 24000000L // ʱ24MHz + 5 typedef unsigned char u8; + 6 typedef unsigned int u16; + 7 typedef unsigned long u32; + 8 + 9 /**************************** ̶ 400Hz PWM ****************************/ + 10 //#define PWM_FREQ 400 // ĿƵ + 11 //#define PERIOD 59999 // 24MHz 400Hz Ӧֵ + 12 //#define DUTY 18000 // 30%ռձ (PERIOD/2) + 13 + 14 /**************************** ȷ50Hz / 30%ռձ ****************************/ + 15 #define PWM_FREQ 50 + 16 #define PSC_VAL 239 // ԤƵֵ޸16λ + 17 #define PERIOD 1999 // ֵ16λĴֵ65535Ϲ棩 + 18 #define DUTY 600 // 30%ռձ (1999*0.3=600) + 19 + 20 /**************************** ٷ궨 ****************************/ + 21 #define PWM1_0 0x00 //P:P1.0 N:P1.1 + 22 #define PWM1_1 0x01 //P:P2.0 N:P2.1 + 23 #define PWM1_2 0x02 //P:P6.0 N:P6.1 ? + 24 #define ENO1P 0x01 + 25 + 26 /*****************************************************************************/ + 27 void UpdatePwm(void); + 28 + 29 /******************** **************************/ + 30 void main(void) + 31 { + 32 1 WTST = 0; + 33 1 EAXFR = 1; // չĴʹ + 34 1 CKCON = 0; + 35 1 + 36 1 // IOڳʼ + 37 1 P0M1 = 0x00; P0M0 = 0x00; + 38 1 P1M1 = 0x00; P1M0 = 0x00; + 39 1 P2M1 = 0x00; P2M0 = 0x00; + 40 1 P3M1 = 0x00; P3M0 = 0x00; + 41 1 P4M1 = 0x00; P4M0 = 0x00; + 42 1 P5M1 = 0x00; P5M0 = 0x00; + 43 1 P6M1 = 0x00; P6M0 = 0x00; + 44 1 P7M1 = 0x00; P7M0 = 0x00; + 45 1 + 46 1 // ===================== PWM Ӳ ===================== + 47 1 PWMA_ENO = 0x00; + 48 1 PWMA_ENO |= ENO1P; // ʹPWM1ͨ + 49 1 + 50 1 PWMA_CCER1 = 0x00; + 51 1 PWMA_CCMR1 = 0x68; // PWMģʽ1 + 52 1 PWMA_CCER1 = 0x01; // ߵƽЧ + 53 1 + 54 1 PWMA_PS = 0x00; + 55 1 PWMA_PS |= PWM1_2; // ? ѡͨP6.0 + 56 1 + 57 1 // ========== ޸ԤƵ֮ǰȱʧ ========== + 58 1 PWMA_PSCRH = (u8)(PSC_VAL >> 8); + C251 COMPILER V5.60.0, main 01/04/26 14:04:27 PAGE 2 + + 59 1 PWMA_PSCRL = (u8)PSC_VAL; + 60 1 + 61 1 UpdatePwm(); // 400Hz/50%ռձȲ + 62 1 + 63 1 PWMA_BKR = 0x80; // ʹر + 64 1 PWMA_CR1 = 0x81; // ؼرյģʽ PWM + 65 1 + 66 1 EA = 1; // жϣܣ + 67 1 + 68 1 while (1) + 69 1 { + 70 2 // κβӲ400Hz PWM + 71 2 } + 72 1 } + 73 + 74 //======================================================================== + 75 // : UpdatePwm(void) + 76 // : ̶ 400Hz + 50%ռձ + 77 //======================================================================== + 78 void UpdatePwm(void) + 79 { + 80 1 // ̶ڣ59999 400Hz + 81 1 PWMA_ARRH = (u8)(PERIOD >> 8); + 82 1 PWMA_ARRL = (u8)PERIOD; + 83 1 + 84 1 // ̶ռձȣ29999 50% + 85 1 PWMA_CCR1H = (u8)(DUTY >> 8); + 86 1 PWMA_CCR1L = (u8)DUTY; + 87 1 } + + +Module Information Static Overlayable +------------------------------------------------ + code size = 225 ------ + ecode size = ------ ------ + data size = ------ ------ + idata size = ------ ------ + pdata size = ------ ------ + xdata size = ------ ------ + xdata-const size = ------ ------ + edata size = ------ ------ + bit size = ------ ------ + ebit size = ------ ------ + bitaddressable size = ------ ------ + ebitaddressable size = ------ ------ + far data size = ------ ------ + huge data size = ------ ------ + const size = 2 ------ + hconst size = ------ ------ +End of Module Information. + + +C251 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Objects/STC32G_PWM_TEST b/Objects/STC32G_PWM_TEST new file mode 100644 index 0000000..b5e071f Binary files /dev/null and b/Objects/STC32G_PWM_TEST differ diff --git a/Objects/STC32G_PWM_TEST.build_log.htm b/Objects/STC32G_PWM_TEST.build_log.htm new file mode 100644 index 0000000..d85c663 --- /dev/null +++ b/Objects/STC32G_PWM_TEST.build_log.htm @@ -0,0 +1,34 @@ + + +
+

Vision Build Log

+

Tool Versions:

+IDE-Version: Vision V5.43.1.0 +Copyright (C) 2025 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: x xtell, x, LIC=BU28G-VQVBG-RERH4-FXFNW-8VHYH-D518X + +Tool Versions: +Toolchain: PK251 Prof. Developers Kit Version: 5.60.0.0 +Toolchain Path: C:\Keil_v5\C251\BIN +C Compiler: C251.exe V5.60.0.0 +Assembler: A251.exe V4.69.13.0 +Linker/Locator: L251.exe V4.66.93.0 +Library Manager: LIB251.exe V4.30.1.0 +Hex Converter: OH251.exe V1.47.0.0 +CPU DLL: S251.DLL V3.129.0.0 +Dialog DLL: DCORE51.DLL V2.81.6.0 +

Project:

+C:\workfile\STC-Test\4.1_STC32G\STC32G_PWM_TEST.uvproj +Project File Date: 04/01/2026 + +

Output:

+Rebuild target 'Target_1' +compiling main.c... +linking... +Program Size: data=23.0 edata+hdata=256 xdata=0 const=6 code=1002 +creating hex file from ".\Objects\STC32G_PWM_TEST"... +".\Objects\STC32G_PWM_TEST" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:00 +
+ + diff --git a/Objects/STC32G_PWM_TEST.hex b/Objects/STC32G_PWM_TEST.hex new file mode 100644 index 0000000..7ad6287 --- /dev/null +++ b/Objects/STC32G_PWM_TEST.hex @@ -0,0 +1,64 @@ +:100000000203B17DC37DA27EB400177E940012026C +:10001000004C4005E47AC9B0227AC9B00BC422541E +:100020000F2490D43440D430F30CBEB0414007BE0E +:10003000B05B500224204CCC68021BC00B84D389D7 +:10004000944CCC680B742012003680F5CA3B6D8846 +:100050009F337CAE7EA9B00BA47007C37D38DA3B1A +:100060008994B42569C2F37EA9B00BA4A5F824D065 +:10007000BEB00A501B7E500A20F60DAC5CA52D7C4C +:10008000CB70034EF00180DDAC5DA52D7CDB80D50F +:1000900024CFBEB01AA5E850055E00DFD2F390026F +:1000A000B2A3E4936011BCB078F77414934CAB30F6 +:1000B000F6B34EF08080AEA3E4936010BCB078F746 +:1000C0007413937C3B741D937C2B89147CB0801338 +:1000D000742012003620F205BEC00250F31BB50991 +:1000E000BB00011200360200411BB50BB8104D11C8 +:1000F00078047E14800020F21E4CCC681A7D31E416 +:100100007E39804C8868070B3404BCBD78F2C2F697 +:10011000CA19120214DA197E19B060CACA1912007B +:1001200036DA190B144CDD68EE1BD078EA80B77E06 +:10013000101080037E10085EB05F800AD2F67E1039 +:100140000A80057E100AC2F66D119F117E00201BE9 +:10015000B47EB97030F6021A3720F1051BB47EB9AF +:100160006030F6041A261A2430F0051BB50BB820AF +:10017000A5EC3382F692F6500A7CEA9F229F217FFB +:10018000127CAE4C44780F7C457C567C676C772E95 +:1001900000F878EF80122F117CB3337C3B9CB14088 +:1001A000047C3B0B70A5D8EE7CB230E005DAB8C415 +:1001B0004C3BCA380B207E00207E3000BE18000069 +:1001C00078C1BE1008780730F404C2F480B5CA289C +:1001D0007CB2BCBD38027CBD120214DA28BC2D50A2 +:1001E0000A1BD0E4CA2812001F80F07CB213DAB8D0 +:1001F0004004C4CAB8C4CA28BEF08040095CDD7897 +:1002000005A5DA0260065EF07F12001FDA28A5DA83 +:10021000DA020041BEF001680F30F402240220F53A +:100220000620F70330F6010420F229BCBC5025CA91 +:10023000B87CBF13B0E67420501174307C8A5E80A5 +:10024000F068081202545EA00F8003120036DAB87C +:10025000BCBC78DB30F40F7430120036745830F3C5 +:1002600002747812003630F605742D020036742BB5 +:1002700020F5F8742020F7F3221BB47EB9B010F1FA +:10028000021BB420F60B30E704F404D2F27CCB80DE +:100290000520E7057CDB0200655EF07F80F81BB57A +:1002A0000BB81030F0076D221B18200B151B18809F +:1002B0000200502D2B204C4248232E0053584F440F +:1002C000494355502A4E000420800102001040E9A5 +:1002D0002F343C3CD5432F799E00010101010001E0 +:1002E00001020275E900A9D7BA75EA007593007595 +:1002F000940075910075920075950075960075B122 +:100300000075B20075B30075B40075C90075CA00F8 +:1003100075CB0075CC0075E10075E200E47E34FE1B +:10032000B17E24007E7A1BB07E1BB044017A1BB0E4 +:10033000E47E34FECC7A1BB074687E14FEC87E0462 +:10034000007E7A0BB074017A1BB0E47E34FEB27A80 +:100350001BB07E1BB044027A1BB0E47E34FED07A20 +:100360001BB074EF7E34FED17A1BB0120388748008 +:100370007E34FEDD7E24007E7A1BB074817E34FEE6 +:10038000C07A1BB0D2AF80FE74077E34FED27E24CA +:10039000007E7A1BB074CF7E34FED37A1BB0740219 +:1003A0007E34FED57A1BB074587E34FED67A1BB0EC +:1003B000227584017E44041FE47A49B01B4478F915 +:1003C0007EF800160203C71202E36D337E24800418 +:1003D0001200037E3480040203DA7D236D33800231 +:0A03E0000B347E29B00B2470F722C5 +:00000001FF diff --git a/Objects/STC32G_PWM_TEST.lnp b/Objects/STC32G_PWM_TEST.lnp new file mode 100644 index 0000000..dcb2b95 --- /dev/null +++ b/Objects/STC32G_PWM_TEST.lnp @@ -0,0 +1,5 @@ +".\Objects\main.obj" +TO ".\Objects\STC32G_PWM_TEST" +PRINT(".\Listings\STC32G_PWM_TEST.map") CASE +CLASSES (EDATA (0x0-0xFFF), +HDATA (0x0-0xFFF)) diff --git a/Objects/main.crf b/Objects/main.crf new file mode 100644 index 0000000..b7cbfed Binary files /dev/null and b/Objects/main.crf differ diff --git a/Objects/main.obj b/Objects/main.obj new file mode 100644 index 0000000..294a18c Binary files /dev/null and b/Objects/main.obj differ diff --git a/STC32G_PWM_TEST.uvgui.xtell b/STC32G_PWM_TEST.uvgui.xtell new file mode 100644 index 0000000..fc644aa --- /dev/null +++ b/STC32G_PWM_TEST.uvgui.xtell @@ -0,0 +1,1878 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + C:\workfile\STC-Test\4.1_STC32G + + + + + + + 38003 + Registers + 140 82 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 300 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 64 + 157 + 1220 + 1105 + + + + 0 + + 234 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000026433A5C776F726B66696C655C5354432D546573745C342E315F5354433332475C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EC000000660000008007000045030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + F40000006600000090050000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000E5000000CD030000 + + + 16 + EA03000020020000DA04000023050000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000E5000000CD030000 + + + 16 + EA03000020020000DA04000023050000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000E5000000CD030000 + + + 16 + EA03000020020000DA04000023050000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000E5000000CD030000 + + + 16 + EA03000020020000DA04000023050000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + EC0000004603000080070000E6030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + EF000000490300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000E5000000CD030000 + + + 16 + EA03000020020000DA04000023050000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + EF000000490300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + EF000000490300007D070000CD030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + EF000000490300007D070000CD030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + EF000000490300007D070000CD030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 494 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 060000001C000000ED01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 3337 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFFEC0000002E03000080070000320300000100000001000010040000000100000011FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000EC0000004903000080070000FD030000EC0000003203000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000010000001000000FFFFFFFFFFFFFFFFE80000004F000000EC000000E603000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000E8000000FD030000000000004F000000E8000000E60300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 + + + 59392 + File + + 2608 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000002150726F746F636F6C5F4275696C643556506F7765725374617475735061636B6574960000000000000001002150726F746F636F6C5F4275696C643556506F7765725374617475735061636B657400000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65EE010000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000085461726765745F3196000000000000000100085461726765745F31000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\main.c + 0 + 1 + 28 + 1 + + 0 + + + + +
diff --git a/STC32G_PWM_TEST.uvopt b/STC32G_PWM_TEST.uvopt new file mode 100644 index 0000000..5ccaad8 --- /dev/null +++ b/STC32G_PWM_TEST.uvopt @@ -0,0 +1,185 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp; *.cc; *.cxx + 0 + + + + 0 + 0 + + + + Target_1 + 0x1 + MCS-251 + + 35000000 + + 1 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + -1 + + + + + + + + + + + + + + + 0 + + + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + +
diff --git a/STC32G_PWM_TEST.uvproj b/STC32G_PWM_TEST.uvproj new file mode 100644 index 0000000..97431d3 --- /dev/null +++ b/STC32G_PWM_TEST.uvproj @@ -0,0 +1,338 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target_1 + 0x1 + MCS-251 + 0 + + + STC32G12K128 Series + STC + IRAM(0-0xFFF) XRAM(0x10000-0x11FFF) IROM(0xFE0000-0xFFFFFF) CLOCK(35000000) + + "LIB\STARTUP251.ASM" ("80251 Startup Code") + + 63457 + STC32G.H + + + + + + + + + + + 0 + 0 + + + + STC\ + STC\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + STC32G_PWM_TEST + 1 + 0 + 1 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S251.DLL + + DCORE51.DLL + -p251 + S251.DLL + + TCORE51.DLL + -p251 + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + -1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + + + + + + 0 + + + + 0 + 0 + 3 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0x10000 + + + 1 + 0xfe0000 + 0x20000 + + + 0 + 0x0 + 0x1000 + + + 0 + 0x10000 + 0x2000 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 3 + 7 + 2 + 1 + 0 + + + + + + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 1 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + main.c + 1 + .\main.c + + + + + + + +
diff --git a/main.c b/main.c new file mode 100644 index 0000000..4793c26 --- /dev/null +++ b/main.c @@ -0,0 +1,87 @@ +#include "stc32g.h" +#include "intrins.h" + +#define MAIN_Fosc 24000000L // ʱ24MHz +typedef unsigned char u8; +typedef unsigned int u16; +typedef unsigned long u32; + +/**************************** ̶ 400Hz PWM ****************************/ +//#define PWM_FREQ 400 // ĿƵ +//#define PERIOD 59999 // 24MHz 400Hz Ӧֵ +//#define DUTY 18000 // 30%ռձ (PERIOD/2) + +/**************************** ȷ50Hz / 30%ռձ ****************************/ +#define PWM_FREQ 50 +#define PSC_VAL 239 // ԤƵֵ޸16λ +#define PERIOD 1999 // ֵ16λĴֵ65535Ϲ棩 +#define DUTY 600 // 30%ռձ (1999*0.3=600) + +/**************************** ٷ궨 ****************************/ +#define PWM1_0 0x00 //P:P1.0 N:P1.1 +#define PWM1_1 0x01 //P:P2.0 N:P2.1 +#define PWM1_2 0x02 //P:P6.0 N:P6.1 ? +#define ENO1P 0x01 + +/*****************************************************************************/ +void UpdatePwm(void); + +/******************** **************************/ +void main(void) +{ + WTST = 0; + EAXFR = 1; // չĴʹ + CKCON = 0; + + // IOڳʼ + P0M1 = 0x00; P0M0 = 0x00; + P1M1 = 0x00; P1M0 = 0x00; + P2M1 = 0x00; P2M0 = 0x00; + P3M1 = 0x00; P3M0 = 0x00; + P4M1 = 0x00; P4M0 = 0x00; + P5M1 = 0x00; P5M0 = 0x00; + P6M1 = 0x00; P6M0 = 0x00; + P7M1 = 0x00; P7M0 = 0x00; + + // ===================== PWM Ӳ ===================== + PWMA_ENO = 0x00; + PWMA_ENO |= ENO1P; // ʹPWM1ͨ + + PWMA_CCER1 = 0x00; + PWMA_CCMR1 = 0x68; // PWMģʽ1 + PWMA_CCER1 = 0x01; // ߵƽЧ + + PWMA_PS = 0x00; + PWMA_PS |= PWM1_2; // ? ѡͨP6.0 + + // ========== ޸ԤƵ֮ǰȱʧ ========== + PWMA_PSCRH = (u8)(PSC_VAL >> 8); + PWMA_PSCRL = (u8)PSC_VAL; + + UpdatePwm(); // 400Hz/50%ռձȲ + + PWMA_BKR = 0x80; // ʹر + PWMA_CR1 = 0x81; // ؼرյģʽ PWM + + EA = 1; // жϣܣ + + while (1) + { + // κβӲ400Hz PWM + } +} + +//======================================================================== +// : UpdatePwm(void) +// : ̶ 400Hz + 50%ռձ +//======================================================================== +void UpdatePwm(void) +{ + // ̶ڣ59999 400Hz + PWMA_ARRH = (u8)(PERIOD >> 8); + PWMA_ARRL = (u8)PERIOD; + + // ̶ռձȣ29999 50% + PWMA_CCR1H = (u8)(DUTY >> 8); + PWMA_CCR1L = (u8)DUTY; +} \ No newline at end of file diff --git a/测试结果.txt b/测试结果.txt new file mode 100644 index 0000000..2093f8f --- /dev/null +++ b/测试结果.txt @@ -0,0 +1,98 @@ +4.1 测试 +使用STC32G12K128开发板进行PWM测试: +在无晶振情况下,测试PWM输出400HZ,50HZ频率PWM波,误差均小于0.02% +使用引脚:P6.0 + +代码如下: +#include "stc32g.h" +#include "intrins.h" + +#define MAIN_Fosc 24000000L // 主时钟24MHz +typedef unsigned char u8; +typedef unsigned int u16; +typedef unsigned long u32; + +/**************************** 固定参数 400Hz PWM ****************************/ +//#define PWM_FREQ 400 // 目标频率 +//#define PERIOD 59999 // 24MHz下 400Hz 对应周期值 +//#define DUTY 18000 // 30%占空比 (PERIOD/2) + +/**************************** 正确参数:50Hz / 30%占空比 ****************************/ +#define PWM_FREQ 50 +#define PSC_VAL 239 // 预分频值(核心修复:解决16位溢出) +#define PERIOD 1999 // 周期值(16位寄存器最大值65535,合规) +#define DUTY 600 // 30%占空比 (1999*0.3=600) + +/**************************** 官方宏定义 保留 ****************************/ +#define PWM1_0 0x00 //P:P1.0 N:P1.1 +#define PWM1_1 0x01 //P:P2.0 N:P2.1 +#define PWM1_2 0x02 //P:P6.0 N:P6.1 ? 最终输出引脚 +#define ENO1P 0x01 + +/*****************************************************************************/ +void UpdatePwm(void); + +/******************** 主函数 **************************/ +void main(void) +{ + WTST = 0; + EAXFR = 1; // 扩展寄存器访问使能 + CKCON = 0; + + // IO口初始化 + P0M1 = 0x00; P0M0 = 0x00; + P1M1 = 0x00; P1M0 = 0x00; + P2M1 = 0x00; P2M0 = 0x00; + P3M1 = 0x00; P3M0 = 0x00; + P4M1 = 0x00; P4M0 = 0x00; + P5M1 = 0x00; P5M0 = 0x00; + P6M1 = 0x00; P6M0 = 0x00; + P7M1 = 0x00; P7M0 = 0x00; + + // ===================== PWM 硬件配置 ===================== + PWMA_ENO = 0x00; + PWMA_ENO |= ENO1P; // 使能PWM1通道输出 + + PWMA_CCER1 = 0x00; + PWMA_CCMR1 = 0x68; // PWM模式1输出 + PWMA_CCER1 = 0x01; // 高电平有效(正常输出) + + PWMA_PS = 0x00; + PWMA_PS |= PWM1_2; // ? 选择通道:P6.0 输出 + + // ========== 核心修复:配置预分频器(之前缺失!) ========== + PWMA_PSCRH = (u8)(PSC_VAL >> 8); + PWMA_PSCRL = (u8)PSC_VAL; + + UpdatePwm(); // 加载400Hz/50%占空比参数 + + PWMA_BKR = 0x80; // 使能主输出(必备) + PWMA_CR1 = 0x81; // 关键:关闭单脉冲模式 → 连续输出PWM + + EA = 1; // 开总中断(保留框架) + + while (1) + { + // 无需任何操作,硬件连续输出400Hz PWM + } +} + +//======================================================================== +// 函数: UpdatePwm(void) +// 功能: 固定配置 400Hz + 50%占空比 +//======================================================================== +void UpdatePwm(void) +{ + // 固定周期:59999 → 400Hz + PWMA_ARRH = (u8)(PERIOD >> 8); + PWMA_ARRL = (u8)PERIOD; + + // 固定占空比:29999 → 50% + PWMA_CCR1H = (u8)(DUTY >> 8); + PWMA_CCR1L = (u8)DUTY; +} + + +################################################################################# +后面接上11.0592Mhz外部晶振,再测试PWM没有成功,在代码中对占空比进行调整均始终输出3.3V,PWM频率没有使用示波器测量 +由于时间原因,外部晶振策略搁置 \ No newline at end of file