This commit is contained in:
moyuhai
2026-06-12 09:12:35 +08:00
commit 02f1638ef2
91 changed files with 38366 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
#ifndef _Delay_H_
#define _Delay_H_
/*********************************************************************************************************************/
void Delay_50us(unsigned int n);
void Delay_ms(unsigned char n);
/*********************************************************************************************************************/
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef _Delay_H_
#define _Delay_H_
/*********************************************************************************************************************/
void Delay_50us(unsigned int n);
void Delay_ms(unsigned int delay_nms);
/*********************************************************************************************************************/
#endif
+26
View File
@@ -0,0 +1,26 @@
//EPxCON寄存器定义
#define EPIE(N) (N<<7) //N=0-1
#define EPPL(N) (N<<6) //N=0-1
//EPIF定义
#define EPIF2 (1<<2)
#define EPIF1 (1<<1)
#define EPIF0 (1<<0)
enum
{
P00_INDEX = 0,
P01_INDEX = 1,
P02_INDEX = 2,
P03_INDEX = 3,
P04_INDEX = 4,
P05_INDEX = 5,
P06_INDEX = 6,
P07_INDEX = 7,
P30_INDEX = 8,
P31_INDEX = 9,
P32_INDEX = 10,
P33_INDEX = 11,
P34_INDEX = 12,
P35_INDEX = 13,
};
+32
View File
@@ -0,0 +1,32 @@
#ifndef FLASH_H
#define FLASH_H
enum
{
CMD_DATA_AREA_READ = 1,
CMD_DATA_AREA_WIRTE = 2,
CMD_DATA_AREA_ERASE_SECTOR = 3,
CMD_FLASH_ERASE_ALL = 4,
CMD_CODE_AREA_READ = 5,
CMD_CODE_AREA_WRITE = 6,
CMD_CODE_AREA_ERASE_SECTOR = 7,
};
enum
{
CMD_FLASH_UNLOCK = 0x28,
CMD_CODE_AREA_UNLOCK = 0x29,
CMD_DATA_AREA_UNLOCK = 0x2A,
CMD_FLASH_LOCK = 0xAA,
};
//źÄ´ćĆ÷FSCMDÎťś¨Ňĺ
#define IFEN (1<<7)
void Data_Area_Sector_Erase(unsigned char SectorNumber);
void Data_Area_Write_Byte(unsigned int Address,unsigned char Data);
void Data_Area_Mass_Write(unsigned int Address,unsigned char *pData,unsigned int Length);
unsigned char Data_Area_Read_Byte(unsigned int Address);
void Data_Area_Mass_Read(unsigned int Address,unsigned char *pData,unsigned int Length);
void Code_Area_Sector_Erase(unsigned char SectorNumber);
unsigned long int GetChipID(void);
#endif
+40
View File
@@ -0,0 +1,40 @@
//I2CCONś¨Ňĺ
#define I2CE(N) (N<<7)
#define I2CIE(N) (N<<6)
#define STA(N) (N<<5)
#define STP(N) (N<<4)
#define CKHD(N) (N<<3)
#define AAK(N) (N<<2)
#define CBSE(N) (N<<1)
#define STFE(N) (N<<0)
//I2CADRś¨Ňĺ
#define GCE(N) (N<<7) //N = 0~1
//I2CFLGś¨Ňĺ
#define I2CF (1<<0)
typedef enum {
I2CE_disable = 0,
I2CE_enable = 1,
} I2CE_TypeDef;
typedef enum {
I2CIE_disable = 0,
I2CIE_enable = 1,
} I2CIE_TypeDef;
typedef enum {
STFE_disable = 0,
STFE_enable = 1,
} STFE_TypeDef;
typedef enum {
I2C_SEL_P30_P31 = 0,
I2C_SEL_P03_P02 = 1,
} I2CIOS_TypeDef;
void I2C_init(I2CE_TypeDef i2ce,I2CIE_TypeDef i2cie,STFE_TypeDef stfe,unsigned char i2cadr,unsigned char i2ccr);
void I2C_SelectComPin(I2CIOS_TypeDef i2cios);
+110
View File
@@ -0,0 +1,110 @@
#ifndef PWM_H
#define PWM_H
//PWMxCON
#define PWMIE(N) (N<<7) //N=0-1
#define PWMTOG(N) (N<<6) //N=0-1
#define PWMMOD(N) (N<<3) //N=0-7
#define PWMPOL(N) (N<<2) //N=0-1
#define PWMCKS_SYS 0
#define PWMCKS_IL 1
#define PWMCKS_IH 2
//PWMIF
#define PWM5IF (1<<5)
#define PWM4IF (1<<4)
#define PWM3IF (1<<3)
#define PWM2IF (1<<2)
#define PWM1IF (1<<1)
#define PWM0IF (1<<0)
//LEFLG
#define LEF1 (1<<7)
#define LEBSY1 (1<<6)
#define LEF0 (1<<3)
#define LEBSY0 (1<<2)
//PWMCON
#define TIE(N) (N<<7)
#define ZIE(N) (N<<6)
#define PIE(N) (N<<5)
#define NIE(N) (N<<4)
#define MS(N) (N<<3) //ÖÐÐÄ¶ÔÆëģʽ
#define MOD(N) (N<<0) //»¥²¹Ä£Ê½
#define CKS(N) (N) //N=0~6
//PWMCFG
#define TOG(N) (N<<7)
typedef enum {
PWM_CH0 = 0,
PWM_CH1 = 1,
PWM_CH2 = 2,
PWM_CH3 = 3,
PWM_CH4 = 4,
PWM_CH5 = 5,
} PWM_Channel_TypeDef;
typedef enum {
PWMIE_off = 0,
PWMIE_on = 1,
} PWMIE_TypeDef;
typedef enum {
CKS_SYS = 0,
CKS_IL = 1,
CKS_IH = 2,
} PWM_CKS_TypeDef;
typedef enum {
Toggle_Off = 0,
Toggle_On = 1,
} PWM_Toggle_TypeDef;
void PWM0_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM1_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal,
unsigned char pwmmod);
void PWM2_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal,
unsigned char pwmmod);
void PWM3_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM4_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM5_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM0_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM1_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM2_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM3_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM4_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM5_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM_CfgLedut(unsigned int Ledut);
void PWM_CfgLedwtm(unsigned int Ledwtm);
void PWM1_WriteLedat(unsigned char Ledat);
void PWM2_WriteLedat(unsigned char Ledat);
void PWM_Enable(PWM_Channel_TypeDef Pwmch);
void PWM_Disable(PWM_Channel_TypeDef Pwmch);
#endif
+9
View File
@@ -0,0 +1,9 @@
//PCON¶¨Òå
#define STOP (1<<1)
#define IDLE (1<<0)
void StopEnter(void);
unsigned char CheckStopCondition(void);
void IdleEnter(void);
unsigned char CheckIdleCondition(void);
+16
View File
@@ -0,0 +1,16 @@
#ifndef SYS_CLOCK_H
#define SYS_CLOCK_H
//CKCON寄存器定义
#define IHCKE (1<<7)
#define ILCKE (1<<6)
#define SCKS (1<<0) //0-IH,1-IL
#define CKSEL_IRCH 0
#define CKSEL_IRCL 1
void Sys_Clk_Set_IRCH(void);
void Sys_Clk_Set_IRCL(void);
#endif
+5
View File
@@ -0,0 +1,5 @@
//TMCON¶¨Òå
#define TME(N) (N<<7) //N=0-1
#define TMF (1<<0)
+42
View File
@@ -0,0 +1,42 @@
#define UART0_TX_BUF_SIZE 20
#define UART0_RX_BUF_SIZE 20
typedef struct
{
unsigned char head;
unsigned char tail;
}T_Buf_Info;
#ifdef _UART_C_
#ifdef UART0_EN
T_Buf_Info xdata uart0_send;
T_Buf_Info xdata uart0_rev;
unsigned char uart0_tx_buf[UART0_TX_BUF_SIZE];
unsigned char xdata uart0_rx_buf[UART0_RX_BUF_SIZE];
bit uart0_tx_flag;
#endif
#else
#ifdef UART0_EN
extern T_Buf_Info xdata uart0_send;
extern T_Buf_Info xdata uart0_rev;
extern unsigned char uart0_tx_buf[UART0_TX_BUF_SIZE];
extern unsigned char xdata uart0_rx_buf[UART0_RX_BUF_SIZE];
extern bit uart0_tx_flag;
#endif
#endif
#ifndef UART0_EN
#define Uart0_PutChar(n)
#endif
#ifdef UART0_EN
void Uart0_PutChar(unsigned char bdat);
void Uart0_Initial(unsigned long int baudrate);
void UART0_RX_ISR(void);
void UART0_TX_ISR(void);
#endif
#ifdef PRINT_EN
void uart_printf(char *fmt,...);
#endif
+28
View File
@@ -0,0 +1,28 @@
#ifndef WDT_H
#define WDT_H
/*************************************************************************************************************/
//WDCON¶¨Òå
#define WDTS(N) (N<<6) //N=0~2
#define WDRE(N) (N<<0) //N=0~1
//WDFLG¶¨Òå
#define WDIF (1<<1)
#define WDRF (1<<0)
typedef enum {
WDTS_DISABLE = 0,
WDTS_IRCH = 1,
WDTS_IRCL = 2,
} WDTS_TypeDef;
typedef enum {
WDRE_int = 0,
WDRE_reset = 1,
} WDRE_TypeDef;
void WDT_init(WDTS_TypeDef wdts,WDRE_TypeDef wdre,unsigned int wdtvh);
void WDT_FeedDog(void);
/*************************************************************************************************************/
#endif