实现STC32G12K128开发板的PWM输出,测试并验证400Hz和50Hz频率下误差小于0.02%
This commit is contained in:
327
Listings/STC32G_PWM_TEST.map
Normal file
327
Listings/STC32G_PWM_TEST.map
Normal file
@ -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)
|
||||
123
Listings/main.lst
Normal file
123
Listings/main.lst
Normal file
@ -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 // <20><>ʱ<EFBFBD><CAB1>24MHz
|
||||
5 typedef unsigned char u8;
|
||||
6 typedef unsigned int u16;
|
||||
7 typedef unsigned long u32;
|
||||
8
|
||||
9 /**************************** <20>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD> 400Hz PWM ****************************/
|
||||
10 //#define PWM_FREQ 400 // Ŀ<><C4BF>Ƶ<EFBFBD><C6B5>
|
||||
11 //#define PERIOD 59999 // 24MHz<48><7A> 400Hz <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ
|
||||
12 //#define DUTY 18000 // 30%ռ<>ձ<EFBFBD> (PERIOD/2)
|
||||
13
|
||||
14 /**************************** <20><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>50Hz / 30%ռ<>ձ<EFBFBD> ****************************/
|
||||
15 #define PWM_FREQ 50
|
||||
16 #define PSC_VAL 239 // Ԥ<><D4A4>Ƶֵ<C6B5><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λ<36><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
17 #define PERIOD 1999 // <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>16λ<36>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ65535<33><35><EFBFBD>Ϲ棩
|
||||
18 #define DUTY 600 // 30%ռ<>ձ<EFBFBD> (1999*0.3=600)
|
||||
19
|
||||
20 /**************************** <20>ٷ<EFBFBD><D9B7>궨<EFBFBD><EAB6A8> <20><><EFBFBD><EFBFBD> ****************************/
|
||||
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 ? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
24 #define ENO1P 0x01
|
||||
25
|
||||
26 /*****************************************************************************/
|
||||
27 void UpdatePwm(void);
|
||||
28
|
||||
29 /******************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **************************/
|
||||
30 void main(void)
|
||||
31 {
|
||||
32 1 WTST = 0;
|
||||
33 1 EAXFR = 1; // <20><>չ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
34 1 CKCON = 0;
|
||||
35 1
|
||||
36 1 // IO<49>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
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 Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =====================
|
||||
47 1 PWMA_ENO = 0x00;
|
||||
48 1 PWMA_ENO |= ENO1P; // ʹ<><CAB9>PWM1ͨ<31><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
49 1
|
||||
50 1 PWMA_CCER1 = 0x00;
|
||||
51 1 PWMA_CCMR1 = 0x68; // PWMģʽ1<CABD><31><EFBFBD><EFBFBD>
|
||||
52 1 PWMA_CCER1 = 0x01; // <20>ߵ<EFBFBD>ƽ<EFBFBD><C6BD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
53 1
|
||||
54 1 PWMA_PS = 0x00;
|
||||
55 1 PWMA_PS |= PWM1_2; // ? ѡ<><D1A1>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>P6.0 <20><><EFBFBD><EFBFBD>
|
||||
56 1
|
||||
57 1 // ========== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>֮ǰȱʧ<C8B1><CAA7><EFBFBD><EFBFBD> ==========
|
||||
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(); // <20><><EFBFBD><EFBFBD>400Hz/50%ռ<>ձȲ<D5B1><C8B2><EFBFBD>
|
||||
62 1
|
||||
63 1 PWMA_BKR = 0x80; // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
|
||||
64 1 PWMA_CR1 = 0x81; // <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD>رյ<D8B1><D5B5><EFBFBD><EFBFBD><EFBFBD>ģʽ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM
|
||||
65 1
|
||||
66 1 EA = 1; // <20><><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>
|
||||
67 1
|
||||
68 1 while (1)
|
||||
69 1 {
|
||||
70 2 // <20><><EFBFBD><EFBFBD><EFBFBD>κβ<CEBA><CEB2><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>400Hz PWM
|
||||
71 2 }
|
||||
72 1 }
|
||||
73
|
||||
74 //========================================================================
|
||||
75 // <20><><EFBFBD><EFBFBD>: UpdatePwm(void)
|
||||
76 // <20><><EFBFBD><EFBFBD>: <20>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD> 400Hz + 50%ռ<>ձ<EFBFBD>
|
||||
77 //========================================================================
|
||||
78 void UpdatePwm(void)
|
||||
79 {
|
||||
80 1 // <20>̶<EFBFBD><CCB6><EFBFBD><EFBFBD>ڣ<EFBFBD>59999 <20><> 400Hz
|
||||
81 1 PWMA_ARRH = (u8)(PERIOD >> 8);
|
||||
82 1 PWMA_ARRL = (u8)PERIOD;
|
||||
83 1
|
||||
84 1 // <20>̶<EFBFBD>ռ<EFBFBD>ձȣ<D5B1>29999 <20><> 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)
|
||||
Reference in New Issue
Block a user