?? io652x.h
字號:
//==========================A8=CE3 bit definitions===========================//
#define CE_LCTN 0x1F // CE Program Location. Starting address is CE_LCTN * 0x400.
//==========================A9=WAKE==========================================//
#define WAKE_ARM BIT7 // Arm the autowake timer.
#define SLEEP BIT6 // Puts 6520 to sleep.
#define LCD_ONLY BIT5 // Only power LCD, put rest of 6520 to sleep.
// BIT4 // Reserved.
#define WAKE_RES BIT3 // 1 => 1 minute resolution; 0 => 2.5 seconds.
enum eWAKE_RES { _2P5_SECONDS = 0x00, _1_MINUTE = 0x08 };
#define WAKE_PRD 0x07 // Sleep time = WAKE_PRD * WAKE_RES.
//==========================FD=TRIMSEL=======================================//
#define FOVRIDE BIT4
#define TRIMSEL_MSK 0x0F
enum eTRIMSEL { _NONE, _TRIMT, _TRIMV, _TRIMI, _TRIMM, _TRIMBGA, _TRIMBGB, _TRIMLVP, _TRIML };
//==========================FF=TRIM==========================================//
//==========================00=Configuration=================================//
struct iConfig_t
{ // IO Configuration SFRs.
uint8_t I_CE0; // Compute Engine Control 0.
uint8_t I_CE1; // Compute Engine Control 1.
uint8_t I_CE2; // Compute Engine Control 2.
uint8_t I_COMP0; // Compare Control 0.
uint8_t I_CONFIG0; // Configuration Control 0.
uint8_t I_CONFIG1; // Configuration Control 1.
uint8_t I_VERSION; // Chip Version.
uint8_t I_CONFIG2; // Configuration Control 2.
};
//==========================08=Digital I/O===================================//
struct iDio_t
{ // IO Digital-IO SFRs.
uint8_t I_DIO; // DIO Control.
uint8_t I_DIO_R[6]; // DIO Resource Assignments.
};
//==========================15=Real Time Clock===============================//
struct iRTC_t //
{ // Real-Time-Clock SFRs.
uint8_t I_RTC_SEC; // 00 to 59 seconds.
uint8_t I_RTC_MIN; // 00 to 59 minutes.
uint8_t I_RTC_HR; // 00 to 23 hours (00=Midnight).
uint8_t I_RTC_DAY; // 01 to 07 day-of-week (01=Sunday).
uint8_t I_RTC_DATE; // 01 to 31 day-of-month.
uint8_t I_RTC_MO; // 01 to 12 month.
uint8_t I_RTC_YR; // 00 to 255 year (00 is a leap year).
uint8_t I_RTC_ADJUST; // RTC adjust (rtc_sec++ or rtc_sec--).
};
//==========================20=LCD Interface=================================//
struct iLCD_Interface_t
{ // LCD-Interface SFRs.
uint8_t I_LCDX; // LCD Control X.
uint8_t I_LCDY; // LCD Control Y.
uint8_t I_LCDZ; // LCD Control Z.
};
//==========================30=LCD Segments==================================//
struct iLCD_Segments_t
{ // IO LCD-Segments SFRs.
uint8_t I_LCD[39]; // LCD Segments.
};
//==========================60=RTM===========================================//
struct iRTM_t
{ // IO Real-Time-Monitor SFRs.
uint8_t I_RTM[4]; // RTM Output Addresses.
};
//==========================80=Pulse Generator===============================//
struct iPulseGenerator_t
{
uint8_t P_PLS_W; // Pulse MaxWidth.
uint8_t P_PLS_I; // Pulse Interval.
};
//==========================A8=Configuration=================================//
struct iCE_Lctn_t
{ // IO Configuration SFRs.
uint8_t I_CE3; // Compute Engine Control 3.
uint8_t I_WAKE; // Wake.
uint8_t I_TMUX; // TMux.
};
//==========================FD=TRIM==========================================//
struct iTrim_t
{ // Trim Sfrs.
uint8_t I_TRIMSEL; // Trim Select.
uint8_t I_TRIMX; // Trim Control X.
int8_t I_TRIM; // Trim Data.
};
extern volatile struct iConfig_t xdata Configuration;
extern volatile struct iDio_t xdata Digital_IO;
extern volatile struct iRTC_t xdata Real_Time_Clock;
extern volatile struct iLCD_Interface_t xdata Lcd_Interface;
extern volatile struct iLCD_Segments_t xdata Lcd_Segments;
extern volatile struct iRTM_t xdata Rtm_Probes;
extern volatile struct iPulseGenerator_t xdata PulseGenerator;
extern volatile struct iCE_Lctn_t xdata CE_Location;
extern volatile struct iTrim_t xdata Trim_Control;
extern volatile uint8x_t CE0;
extern volatile uint8x_t CE1;
extern volatile uint8x_t CE2;
extern volatile uint8x_t COMP0;
extern volatile uint8x_t CONFIG0;
extern volatile uint8x_t CONFIG1;
extern volatile uint8x_t VERSION;
extern volatile uint8x_t CONFIG2;
extern volatile uint8x_t DIO;
extern volatile uint8x_t DIO_R[];
extern volatile uint8x_t RTC[7];
extern volatile uint8x_t RTC_ADJUST;
extern volatile uint8x_t WE;
extern volatile uint8x_t LCDX;
extern volatile uint8x_t LCDY;
extern volatile uint8x_t LCD[39];
extern volatile uint8x_t LCD_BLINK;
extern volatile uint8x_t RTM[4];
extern volatile uint8x_t PLS_W;
extern volatile uint8x_t PLS_I;
extern volatile uint8x_t CE3;
extern volatile uint8x_t WAKE;
extern volatile uint8x_t TMUX;
extern volatile uint8x_t TRIMSEL;
extern volatile uint8x_t TRIMX;
extern volatile int8x_t TRIM;
#define RTC_SEC RTC[0]
#define RTC_MIN RTC[1]
#define RTC_HR RTC[2]
#define RTC_DAY RTC[3]
#define RTC_DATE RTC[4]
#define RTC_MO RTC[5]
#define RTC_YEAR RTC[6]
#define COMPARE_STATUS (COMP0 & COMP_STAT)
int8_t Read_Trim (enum eTRIMSEL select); // Read the trim values.
/***************************************************************************
* History:
* $Log: io652x.h,v $
* Revision 1.14 2006/09/09 01:14:06 gmikef
* *** empty log message ***
*
* Revision 1.13 2006/06/24 00:15:56 tvander
* *** empty log message ***
*
* Revision 1.12 2006/03/06 03:39:06 Michael T. Fischer
* More 6530 prep.
*
* Revision 1.11 2006/02/08 03:43:26 tvander
* Made "import" the default power measurement mode, rather than net-metering
*
* Revision 1.10 2006/01/16 20:11:28 tvander
* Clean Keil build, all versions
*
* Revision 1.8 2005/09/22 23:45:17 tvander
* Clean build all models and unit tests, updated copyright to be fore Teridian
*
* Revision 1.7 2005/08/31 05:57:25 gmikef
* First version w/ LAPIE interface.
*
* Revision 1.6 2005/08/30 18:17:19 gmikef
* *** empty log message ***
*
* Revision 1.5 2005/08/20 01:32:48 gmikef
* *** empty log message ***
*
* Revision 1.4 2005/08/19 01:04:44 gmikef
* *** empty log message ***
*
* Revision 1.3 2005/08/16 02:28:32 gmikef
* Remapped LCD for 6520 Eval Board.
* Mapped CE code location to address of 'CeCode'.
*
* Revision 1.2 2005/08/10 02:02:53 gmikef
* *** empty log message ***
*
* Revision 1.1 2005/05/04 00:59:26 gmikef
* *** empty log message ***
*
* Revision 1.8 2005/05/03 00:39:47 tvander
* Incorporated event reporting in tmr0,tmr1 and unit tests.
* Retested stm, trm0, tmr1.
* Incorporated untested changes in io651x.h
*
* Revision 1.7 2005/04/30 02:17:48 gmikef
* *** empty log message ***
*
* Revision 1.6 2005/04/28 19:12:25 tvander
* Comments only! Restored history comments.
*
* Revision 1.5 2005/04/27 23:46:05 gmikef
* Some MATH rountines now use 'idata'.
* Added MATH_FAST flag to 'options.h".
* Changed "6521B.Uv2" to max optimization.
*
* Revision 1.4 2005/04/25 21:30:45 gmikef
* Current w/ rev 1.6 of design specification.
*
* Revision 1.3 2005/04/21 02:06:14 gmikef
* *** empty log message ***
*
* Revision 1.2 2005/04/06 18:09:40 gmikef
* *** empty log message ***
*
* Revision 1.1 2005/03/24 21:44:56 gmikef
* *** empty log message ***
*
* Copyright (C) 2005 Teridian Semiconductor Corp. All Rights Reserved. *
* this program is fully protected by the United States copyright *
* laws and is the property of Teridian Semiconductor Corporation. *
***************************************************************************/
#endif /* io652x.h */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -