⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12c887.h

📁 全国电子设计大赛:智能电动车的设计.实现功能:以AT89C52单片机为核心
💻 H
字号:
//*************************************************************************************************
//  Module Name :  12C887.H
//  CreateDate  :  2004-11-23
//  ModifData   :  2005-05-05
//  Description :  
//  Author      :  李远正
//  Version     :  V1.0
//*************************************************************************************************

#ifndef __12C887_H__
#define __12C887_H__

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
// 12c887的RAM区地址范围0xA000~0xA07F
// 用户RAM范围0xA00E~0xA07F

#define RTC_SEC 		XBYTE[0xA000]  // Seconds 
#define RTC_SEC_ALM 	XBYTE[0xA001]  // Seconds Alarm
#define RTC_MIN 		XBYTE[0xA002]  // Minutes
#define RTC_MIN_ALM		XBYTE[0xA003]  // Minutes Alarm
#define RTC_HOU			XBYTE[0xA004]  // Hours ( Hours-12-hr Mode or Hours-24-hr Mode )
#define RTC_HOU_ALM 	XBYTE[0xA005]  // Hours Alarm
#define RTC_DAY_WEK 	XBYTE[0xA006]  // Day of the Week ( Sunday = 1 )
#define RTC_DAY_MON 	XBYTE[0xA007]  // Date of the Month
#define RTC_MON			XBYTE[0xA008]  // Month
#define RTC_YEAR		XBYTE[0xA009]  // Year

#define RTC_REGA 		XBYTE[0xA00A]  // REGISTER A
#define RTC_REGB 		XBYTE[0xA00B]  // REGISTER B
#define RTC_REGC 		XBYTE[0xA00C]  // REGISTER C
#define RTC_REGD 		XBYTE[0xA00D]  // REGISTER D

//-------------------------------------------------------------------------------------------------
// REGISTER A
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |  BIT 7  |  BIT 6  |  BIT 5  |  BIT 4  |  BIT 3  |  BIT 2  |  BIT 1  |  BIT 0  |
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |   UIP   |   DV2   |   DV1   |   DV0   |   RS3   |   RS2   |   RS1   |   RS0   | 
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------

// UIP       : The Update In Progress (UIP) bit is a status flag that can be monitored.
// DV2 - DV0 : These 3 bits are used to turn the oscillator on or off and to reset the countdown chain.
//             010 : the only combination of bits that will turn the oscillator on and allow the RTC to keep time.
//             11x : enable the oscillator but holds the countdown chain in reset.
// RS3 - RS0 : These four rate–selection bits select one of the 13 taps on the 15–stage divider or disable the divider output.

//-------------------------------------------------------------------------------------------------
// REGISTER B
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |  BIT 7  |  BIT 6  |  BIT 5  |  BIT 4  |  BIT 3  |  BIT 2  |  BIT 1  |  BIT 0  |
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |   SET   |   PIE   |   AIE   |   UIE   |  SQWE   |   DM    |  24/12  |   DSE   | 
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------

//-------------------------------------------------------------------------------------------------
// REGISTER C
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |  BIT 7  |  BIT 6  |  BIT 5  |  BIT 4  |  BIT 3  |  BIT 2  |  BIT 1  |  BIT 0  |
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |  IRQF   |   PF    |   AF    |   UF    |    0    |    0    |    0    |    0    | 
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------

//-------------------------------------------------------------------------------------------------
// REGISTER D
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |  BIT 7  |  BIT 6  |  BIT 5  |  BIT 4  |  BIT 3  |  BIT 2  |  BIT 1  |  BIT 0  |
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------
//       |   VRT   |    0    |    0    |    0    |    0    |    0    |    0    |    0    | 
//-------|---------|---------|---------|---------|---------|---------|---------|---------|---------





//-------------------------------------------------------------------------------------------------
// 12c887的 RAM 区地址范围:0xA000~0xA07F
// 用户可用 RAM 范围:0xA00E~0xA07F

#define ALARM_RANGE 	    0xA00E    // 方波频率 
#define SPEED_RANGE 	    0xA00F    // 行驶速度 
#define SPEED1_RANGE 	    0xA010    // 转弯速度 
#define FREQUENCY_RANGE     0xA011    // PWM 频率 
#define SECTION_B_RANGE_H   0xA012    // B Point 
#define SECTION_B_RANGE_L   0xA013    // 
#define SECTION_BC_RANGE_H  0xA014    // BC Point 
#define SECTION_BC_RANGE_L  0xA015    // 
#define INTENSITY_RANGE     0xA016    // 光强 

#define DISTANCE_RANGE_H          0xA021    // 全程行驶路程 
#define DISTANCE_RANGE_L          0xA022    
#define JOURNEY_TIME_RANGE        0xA023    // 全程行驶时间 

#define IRON_NUMBER_RANGE         0xA024    // 铁片的数目 
#define DISTANCE_RANGE_1_H        0xA025    // 铁片1到起跑线的距离 
#define DISTANCE_RANGE_1_L        0xA026 
#define DISTANCE_RANGE_2_H        0xA027    // 铁片2到起跑线的距离 ( 如果有的话 ) 
#define DISTANCE_RANGE_2_L        0xA028 
#define DISTANCE_RANGE_3_H        0xA029    // 铁片3到起跑线的距离 ( 如果有的话 ) 
#define DISTANCE_RANGE_3_L        0xA02A 

#define SECOND_COUNT_RANGE        0xA030


//-----------------------------------------------
// 从外面( Main.c )取得的变量 
extern unsigned char temp;

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
extern void Setup12C887( unsigned char *p );    // 设置系统时间
extern void Read12C887( unsigned char *p );     // 读取系统时间
extern void Start12C887( void );                // 启动时钟

extern void Write12C887RAM( unsigned int address,unsigned char datum ); // 将一个字节写入12c887的RAM
extern unsigned char Read12C887RAM( unsigned int address );             // 从RAM中读出一个字节

extern void SetSQW( unsigned char frequency );                          // 设置 SQW 

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -