124 lines
5.3 KiB
Plaintext
124 lines
5.3 KiB
Plaintext
|
|
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)
|