#ifndef __DPY__H #define __DPY__H //*********************************************************************************** //D0 #define DPY_D0_Init() GPIO_Init(P1, 3, 1, IO_QB) #define DPY_D0_Off() GPIO_SetBit(P1, 3) #define DPY_D0_On() GPIO_ClrBit(P1, 3) #define DPY_D0_SR_Enable() GPIO_SR_Set(P1,3,ENABLE) //#define DPY_D0_Off() GPIO_Init(P1, 3, 1, IO_IN) //#define DPY_D0_On() GPIO_Init(P1, 3, 0, IO_PP) //*********************************************************************************** //D1 #define DPY_D1_Init() GPIO_Init(P0, 4, 1, IO_QB) #define DPY_D1_Off() GPIO_SetBit(P0, 4) #define DPY_D1_On() GPIO_ClrBit(P0, 4) #define DPY_D1_SR_Enable() GPIO_SR_Set(P0,4,ENABLE) //#define DPY_D1_Off() GPIO_Init(P0, 4, 1, IO_IN) //#define DPY_D1_On() GPIO_Init(P0, 4, 0, IO_PP) //*********************************************************************************** //D2 #define DPY_D2_Init() GPIO_Init(P0, 2, 1, IO_QB) #define DPY_D2_Off() GPIO_SetBit(P0, 2) #define DPY_D2_On() GPIO_ClrBit(P0, 2) #define DPY_D2_SR_Enable() GPIO_SR_Set(P0,2,ENABLE) //#define DPY_D2_Off() GPIO_Init(P0, 2, 1, IO_IN) //#define DPY_D2_On() GPIO_Init(P0, 2, 0, IO_PP) //*********************************************************************************** //D3 #define DPY_D3_Init() GPIO_Init(P1, 0, 1, IO_QB) #define DPY_D3_Off() GPIO_SetBit(P1, 0) #define DPY_D3_On() GPIO_ClrBit(P1, 0) #define DPY_D3_SR_Enable() GPIO_SR_Set(P1,0,ENABLE) //#define DPY_D3_Off() GPIO_Init(P1, 0, 1, IO_IN) //#define DPY_D3_On() GPIO_Init(P1, 0, 0, IO_PP) #define DPY_DnInit() do{ \ DPY_D0_Init(); \ DPY_D1_Init(); \ DPY_D2_Init(); \ DPY_D3_Init(); \ }while(0) //*********************************************************************************** //数码管笔段定义 #define DPY_SegA (1<<0) #define DPY_SegB (1<<6) #define DPY_SegC (1<<4) #define DPY_SegD (1<<2) #define DPY_SegE (1<<1) #define DPY_SegF (1<<7) #define DPY_SegG (1<<5) #define DPY_SegH (1<<3) //字符定义 #define DPY_FONT_NULL 0 #define DPY_FONT_FULL 0xff #define DPY_FONT_LINE (DPY_SegG) #define DPY_FONT_0 (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF) #define DPY_FONT_1 (DPY_SegB|DPY_SegC) #define DPY_FONT_2 (DPY_SegA|DPY_SegB|DPY_SegD|DPY_SegE|DPY_SegG) #define DPY_FONT_3 (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegG) #define DPY_FONT_4 (DPY_SegB|DPY_SegC|DPY_SegF|DPY_SegG) #define DPY_FONT_5 (DPY_SegA|DPY_SegC|DPY_SegD|DPY_SegF|DPY_SegG) #define DPY_FONT_6 (DPY_SegA|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_7 (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegF) #define DPY_FONT_8 (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_9 (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegF|DPY_SegG) #define DPY_FONT_A (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_b (DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_C (DPY_SegA|DPY_SegD|DPY_SegE|DPY_SegF) #define DPY_FONT_d (DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegG) #define DPY_FONT_E (DPY_SegA|DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_F (DPY_SegA|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_G (DPY_SegA|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF) #define DPY_FONT_H (DPY_SegB|DPY_SegC|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_I (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegD) #define DPY_FONT_J (DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE) #define DPY_FONT_K (DPY_SegA|DPY_SegC|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_L (DPY_SegD|DPY_SegE|DPY_SegF) #define DPY_FONT_M (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegE|DPY_SegF) #define DPY_FONT_n (DPY_SegC|DPY_SegE|DPY_SegG) #define DPY_FONT_o (DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegG) #define DPY_FONT_P (DPY_SegA|DPY_SegB|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_Q (DPY_SegA|DPY_SegB|DPY_SegC|DPY_SegF|DPY_SegG) #define DPY_FONT_r (DPY_SegE|DPY_SegG) #define DPY_FONT_S (DPY_SegA|DPY_SegD|DPY_SegG) #define DPY_FONT_t (DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_U (DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF) #define DPY_FONT_v (DPY_SegC|DPY_SegD|DPY_SegE) #define DPY_FONT_W (DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegE|DPY_SegF|DPY_SegG) #define DPY_FONT_X (DPY_SegC|DPY_SegF|DPY_SegG) #define DPY_FONT_Y (DPY_SegB|DPY_SegC|DPY_SegD|DPY_SegF|DPY_SegG) #define DPY_FONT_Z (DPY_SegB|DPY_SegD|DPY_SegE|DPY_SegG) //*********************************************************************************** enum {DPY_D0, DPY_D1, DPY_D2, DPY_D3, DPY_SIZE}; typedef struct { INT8U DPY[DPY_SIZE + 1]; INT8U Cnt; INT8U Times; } DPY_Str; extern DPY_Str DPY_Info; #define DPY_InfoInit() MEM_Fill((INT8U *)&DPY_Info, 0, sizeof(DPY_Info)) //*********************************************************************************** extern void DPY_Init(void); extern void DPY_Display(void); extern INT8U DPY_Write(INT8U Dn, INT8U Value); extern INT8U DPY_WriteBuff(INT8U *ptr); #endif