Files
RCU_C12_Dimming/main.c

129 lines
3.5 KiB
C
Raw Normal View History

#include "config.h"
#include "gpio.h"
#include "UART.h"
#include "string.h"
#include "UART_Set.h"
#include "pwm_control.h"
#include "Start_Init.h"
#include "key.h"
#include "WDT.h"
/************* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> **************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD>STC8H8K64UΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>STC8G<EFBFBD><EFBFBD>STC8Hϵ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>ͨ<EFBFBD>òο<EFBFBD>.
˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ˫<EFBFBD><EFBFBD><EFBFBD>жϷ<EFBFBD>ʽ<EFBFBD>շ<EFBFBD>ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ͨ<EFBFBD><EFBFBD>PC<EFBFBD><EFBFBD>MCU<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, MCU<EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Ĭ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>115200,N,8,1.
ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART.h ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UART1~UART4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬͨ<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>š<EFBFBD>
<EFBFBD>ö<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>1ʽ(<EFBFBD><EFBFBD><EFBFBD>ǵͲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>12T)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><EFBFBD>ȡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, ѡ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> 22.1184MHz (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"config.h"<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>).
/******************* IO<49><4F><EFBFBD>ú<EFBFBD><C3BA><EFBFBD> *******************/
void GPIO1_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //<2F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
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_OUT_PP
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
}
/*************** <20><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *****************/
void UART1_config(void)
{
COMx_InitDefine COMx_InitStructure; //<2F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //ģʽ, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx
COMx_InitStructure.UART_BRT_Use = BRT_Timer1; //ʹ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>, BRT_Timer1, BRT_Timer2 (ע<><D7A2>: <20><><EFBFBD><EFBFBD>2<EFBFBD>̶<EFBFBD>ʹ<EFBFBD><CAB9>BRT_Timer2)
COMx_InitStructure.UART_BaudRate = 115200; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, һ<><D2BB> 110 ~ 115200
COMx_InitStructure.UART_RxEnable = ENABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
COMx_InitStructure.BaudRateDouble = DISABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʼӱ<CABC>, ENABLE<4C><45>DISABLE
COMx_InitStructure.UART_Interrupt = ENABLE; //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>, ENABLE<4C><45>DISABLE
COMx_InitStructure.UART_Priority = Priority_0; //ָ<><D6B8><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>(<28>͵<EFBFBD><CDB5><EFBFBD>) Priority_0,Priority_1,Priority_2,Priority_3
COMx_InitStructure.UART_P_SW = UART1_SW_P30_P31; //<2F>л<EFBFBD><D0BB>˿<EFBFBD>, UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17,UART1_SW_P43_P44
UART_Configuration(UART1, &COMx_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 UART1,UART2,UART3,UART4
//PrintString1("STC8H8K64U UART1 Test Programme!\r\n"); //UART1<54><31><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
}
/********************WDT INT<4E><54><EFBFBD><EFBFBD> ********************/
void WDT_config(void)
{
WDT_InitTypeDef WDT_InitStructure; //<2F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
WDT_InitStructure.WDT_Enable = ENABLE; //<2F>ж<EFBFBD>ʹ<EFBFBD><CAB9> ENABLE<4C><45>DISABLE
WDT_InitStructure.WDT_IDLE_Mode = WDT_IDLE_STOP; //IDLEģʽ<C4A3>Ƿ<EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD> WDT_IDLE_STOP,WDT_IDLE_RUN
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
WDT_Inilize(&WDT_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
}
u8 count_flag=0;
void main(void)
{
GPIO_config();
UART3_config();
Start_Init();
pwm_config();
Timer2_Init_1ms();
Key_Init();
GPIO1_config();
UART1_config();
WDT_config(); //<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>629ms<6D><73>λ
PCON &= ~POF; //<2F><><EFBFBD><EFBFBD>LVD<56>жϱ<D0B6>־λ
RSTCFG = 0x41; //LVD:2.4V<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>λ
EA = 1;
if(debug)
{
PrintString1("MCU Start");
}
while (1)
{
WDT_Clear(); //<2F>
count_flag++;
//Ϊ<>˱<EFBFBD>֤ij<D6A4><C4B3>ѹ2.2V<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(count_flag==1)
{
P10=1;
}
if(count_flag==8)
{
P10=0;
}
if(count_flag==10)
{
count_flag=0;
}
Usart_judge_Data();
Usart_Deal_Data();
deal_command1();
deal_command2();
// checkpwm();
show_light();
Usart_answer();
Key_ScanTask();
KEY_TEST();
}
}