V1.0
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
#ifndef _Delay_H_
|
||||
#define _Delay_H_
|
||||
/*********************************************************************************************************************/
|
||||
void Delay_50us(unsigned int n);
|
||||
void Delay_ms(unsigned char n);
|
||||
/*********************************************************************************************************************/
|
||||
#endif
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _Delay_H_
|
||||
#define _Delay_H_
|
||||
/*********************************************************************************************************************/
|
||||
void Delay_50us(unsigned int n);
|
||||
void Delay_ms(unsigned int delay_nms);
|
||||
/*********************************************************************************************************************/
|
||||
#endif
|
||||
@@ -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,
|
||||
};
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
//TMCON¶¨Òå
|
||||
#define TME(N) (N<<7) //N=0-1
|
||||
#define TMF (1<<0)
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user