2025-12-16 16:59:36 +08:00
|
|
|
|
C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 1
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILER V9.01, COMPILATION OF MODULE MAIN
|
|
|
|
|
|
OBJECT MODULE PLACED IN .\Objects\main.obj
|
|
|
|
|
|
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main
|
|
|
|
|
|
-.lst) OBJECT(.\Objects\main.obj)
|
|
|
|
|
|
|
|
|
|
|
|
line level source
|
|
|
|
|
|
|
|
|
|
|
|
1 #include "config.h"
|
|
|
|
|
|
2 #include "gpio.h"
|
|
|
|
|
|
3 #include "UART.h"
|
|
|
|
|
|
4 #include "string.h"
|
|
|
|
|
|
5 #include "UART_Set.h"
|
|
|
|
|
|
6 #include "pwm_control.h"
|
|
|
|
|
|
7 #include "Start_Init.h"
|
|
|
|
|
|
8 #include "key.h"
|
|
|
|
|
|
9 #include "WDT.h"
|
|
|
|
|
|
10 /************* <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> **************
|
|
|
|
|
|
11
|
|
|
|
|
|
12 <20><><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD>STC8H8K64UΪ<55><CEAA><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD>б<EFBFBD>д<EFBFBD><D0B4><EFBFBD>ԣ<EFBFBD>STC8G<38><47>STC8Hϵ<48><CFB5>оƬ<D0BE><C6AC>ͨ<EFBFBD>òο<C3B2>.
|
|
|
|
|
|
13
|
|
|
|
|
|
14 ˫<><CBAB><EFBFBD><EFBFBD>ȫ˫<C8AB><CBAB><EFBFBD>жϷ<D0B6>ʽ<EFBFBD>շ<EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
15
|
|
|
|
|
|
16 ͨ<><CDA8>PC<50><43>MCU<43><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, MCU<43>յ<EFBFBD><D5B5><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><DAB0>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ʣ<EFBFBD>115200,N,8,1.
|
|
|
|
|
|
17
|
|
|
|
|
|
18 ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART1~UART4 <20><><EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬͨ<CDAC><CDA8><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ͨ<EFBFBD>š<EFBFBD>
|
|
|
|
|
|
19
|
|
|
|
|
|
20 <20>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>1Tģʽ(<28><><EFBFBD>ǵͲ<C7B5><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>12T)<29><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ƶ<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><DFBE>ȡ<EFBFBD>
|
|
|
|
|
|
21
|
|
|
|
|
|
22 <20><><EFBFBD><EFBFBD>ʱ, ѡ<><D1A1>ʱ<EFBFBD><CAB1> 22.1184MHz (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"config.h"<22><><EFBFBD><EFBFBD>).
|
|
|
|
|
|
23
|
|
|
|
|
|
24
|
|
|
|
|
|
25 /******************* IO<49><4F><EFBFBD>ú<EFBFBD><C3BA><EFBFBD> *******************/
|
|
|
|
|
|
26
|
|
|
|
|
|
27
|
|
|
|
|
|
28 void GPIO1_config(void)
|
|
|
|
|
|
29 {
|
|
|
|
|
|
30 1 GPIO_InitTypeDef GPIO_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
31 1
|
|
|
|
|
|
32 1 GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
|
|
|
|
|
|
33 1 GPIO_InitStructure.Mode = GPIO_PullUp; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_O
|
|
|
|
|
|
-UT_PP
|
|
|
|
|
|
34 1 GPIO_Inilize(GPIO_P3,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
35 1 }
|
|
|
|
|
|
36
|
|
|
|
|
|
37 /*************** <20><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *****************/
|
|
|
|
|
|
38 void UART1_config(void)
|
|
|
|
|
|
39 {
|
|
|
|
|
|
40 1 COMx_InitDefine COMx_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
41 1 COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //ģʽ, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART
|
|
|
|
|
|
-_9bit_BRTx
|
|
|
|
|
|
42 1 COMx_InitStructure.UART_BRT_Use = BRT_Timer1; //ʹ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>, BRT_Timer1, BRT_Timer2 (ע<><D7A2>: <20><><EFBFBD><EFBFBD>2<EFBFBD>̶<EFBFBD>ʹ
|
|
|
|
|
|
-<2D><>BRT_Timer2)
|
|
|
|
|
|
43 1 COMx_InitStructure.UART_BaudRate = 115200; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, һ<><D2BB> 110 ~ 115200
|
|
|
|
|
|
44 1 COMx_InitStructure.UART_RxEnable = ENABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
|
|
|
|
|
|
45 1 COMx_InitStructure.BaudRateDouble = DISABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʼӱ<CABC>, ENABLE<4C><45>DISABLE
|
|
|
|
|
|
46 1 COMx_InitStructure.UART_Interrupt = ENABLE; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
|
|
|
|
|
|
47 1 COMx_InitStructure.UART_Priority = Priority_0; //ָ<><D6B8><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>(<28>͵<EFBFBD><CDB5><EFBFBD>) Priority_0,Priority_1,Priori
|
|
|
|
|
|
-ty_2,Priority_3
|
|
|
|
|
|
48 1 COMx_InitStructure.UART_P_SW = UART1_SW_P30_P31; //<2F>л<EFBFBD><D0BB>˿<EFBFBD>, UART1_SW_P30_P31,UART1_SW_P36_P37,UAR
|
|
|
|
|
|
-T1_SW_P16_P17,UART1_SW_P43_P44
|
|
|
|
|
|
49 1 UART_Configuration(UART1, &COMx_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 UART1,UART2,UART3,UART4
|
2025-12-16 16:59:36 +08:00
|
|
|
|
C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 2
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
50 1
|
|
|
|
|
|
51 1 //PrintString1("STC8H8K64U UART1 Test Programme!\r\n"); //UART1<54><31><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
|
52 1 }
|
|
|
|
|
|
53
|
|
|
|
|
|
54 /********************WDT INT<4E><54><EFBFBD><EFBFBD> ********************/
|
|
|
|
|
|
55 void WDT_config(void)
|
|
|
|
|
|
56 {
|
|
|
|
|
|
57 1 WDT_InitTypeDef WDT_InitStructure; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
58 1
|
|
|
|
|
|
59 1 WDT_InitStructure.WDT_Enable = ENABLE; //<2F>ж<EFBFBD>ʹ<EFBFBD><CAB9> ENABLE<4C><45>DISABLE
|
|
|
|
|
|
60 1 WDT_InitStructure.WDT_IDLE_Mode = WDT_IDLE_STOP; //IDLEģʽ<C4A3>Ƿ<EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD> WDT_IDLE_STOP,WDT_IDLE_RUN
|
|
|
|
|
|
61 1 WDT_InitStructure.WDT_PS = WDT_SCALE_32; //<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD>ӷ<EFBFBD>Ƶϵ<C6B5><CFB5> WDT_SCALE_2,WDT_SCALE_4,WDT
|
|
|
|
|
|
-_SCALE_8,WDT_SCALE_16,WDT_SCALE_32,WDT_SCALE_64,WDT_SCALE_128,WDT_SCALE_256
|
|
|
|
|
|
62 1 WDT_Inilize(&WDT_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
63 1 }
|
|
|
|
|
|
64
|
|
|
|
|
|
65 u8 count_flag=0;
|
|
|
|
|
|
66 void main(void)
|
|
|
|
|
|
67 {
|
|
|
|
|
|
68 1 GPIO_config();
|
|
|
|
|
|
69 1 UART3_config();
|
|
|
|
|
|
70 1 Start_Init();
|
|
|
|
|
|
71 1 pwm_config();
|
|
|
|
|
|
72 1 Timer2_Init_1ms();
|
|
|
|
|
|
73 1 Key_Init();
|
|
|
|
|
|
74 1 GPIO1_config();
|
|
|
|
|
|
75 1 UART1_config();
|
|
|
|
|
|
76 1 WDT_config(); //<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>629ms<6D><73>λ
|
|
|
|
|
|
77 1
|
|
|
|
|
|
78 1 PCON &= ~POF; //<2F><><EFBFBD><EFBFBD>LVD<56>жϱ<D0B6>־λ
|
|
|
|
|
|
79 1 RSTCFG = 0x41; //LVD:2.4V<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>λ
|
|
|
|
|
|
80 1 EA = 1;
|
|
|
|
|
|
81 1
|
|
|
|
|
|
82 1 if(debug)
|
|
|
|
|
|
83 1 {
|
|
|
|
|
|
84 2 PrintString1("MCU Start");
|
|
|
|
|
|
85 2 }
|
|
|
|
|
|
86 1
|
|
|
|
|
|
87 1 while (1)
|
|
|
|
|
|
88 1 {
|
|
|
|
|
|
89 2 WDT_Clear(); //<2F>幷
|
|
|
|
|
|
90 2 count_flag++;
|
|
|
|
|
|
91 2
|
|
|
|
|
|
92 2 //Ϊ<>˱<EFBFBD>֤ij<D6A4><C4B3>ѹ2.2V<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
93 2 if(count_flag==1)
|
|
|
|
|
|
94 2 {
|
|
|
|
|
|
95 3 P10=1;
|
|
|
|
|
|
96 3 }
|
|
|
|
|
|
97 2 if(count_flag==8)
|
|
|
|
|
|
98 2 {
|
|
|
|
|
|
99 3 P10=0;
|
|
|
|
|
|
100 3 }
|
|
|
|
|
|
101 2 if(count_flag==10)
|
|
|
|
|
|
102 2 {
|
|
|
|
|
|
103 3 count_flag=0;
|
|
|
|
|
|
104 3 }
|
|
|
|
|
|
105 2
|
|
|
|
|
|
106 2 Usart_judge_Data();
|
|
|
|
|
|
107 2
|
|
|
|
|
|
108 2 Usart_Deal_Data();
|
|
|
|
|
|
109 2
|
|
|
|
|
|
110 2 deal_command1();
|
2025-12-16 16:59:36 +08:00
|
|
|
|
C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
111 2
|
|
|
|
|
|
112 2 deal_command2();
|
|
|
|
|
|
113 2
|
|
|
|
|
|
114 2 // checkpwm();
|
|
|
|
|
|
115 2
|
|
|
|
|
|
116 2 show_light();
|
|
|
|
|
|
117 2
|
|
|
|
|
|
118 2 Usart_answer();
|
|
|
|
|
|
119 2
|
|
|
|
|
|
120 2 Key_ScanTask();
|
|
|
|
|
|
121 2
|
|
|
|
|
|
122 2 KEY_TEST();
|
|
|
|
|
|
123 2
|
|
|
|
|
|
124 2 }
|
|
|
|
|
|
125 1 }
|
|
|
|
|
|
126
|
|
|
|
|
|
127
|
|
|
|
|
|
128
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|
|
|
|
|
CODE SIZE = 175 ----
|
|
|
|
|
|
CONSTANT SIZE = 10 ----
|
|
|
|
|
|
XDATA SIZE = ---- ----
|
|
|
|
|
|
PDATA SIZE = ---- ----
|
|
|
|
|
|
DATA SIZE = 1 17
|
|
|
|
|
|
IDATA SIZE = ---- ----
|
|
|
|
|
|
BIT SIZE = ---- ----
|
|
|
|
|
|
END OF MODULE INFORMATION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|