union {
unsigned char Ch; //"unsigned number
unsigned char CHR[4]; //"unsigned array
unsigned long I; //"unsigned integer
long L; //"signed long integer
float F; //"floating point number
}EEP;
float shu;
EEP.F =shu; //
Structure
struct realti
{
uchar Second;
uchar Minute;
uchar Hour;
uchar Day;
uchar Month;
uchar Week;
uchar Year;
uchar kzz; //8 bytes must be written continuously, otherwise it cannot be written
};
struct realti RealTime; //struct realti RealTime[3];
or:
struct realti
{
uchar Second;
uchar Minute;
uchar Hour;
uchar Day;
uchar Month;
uchar Week;
uchar Year;
uchar kzz; //8 bytes must be written continuously, otherwise it cannot be written
}RealTime; //RealTime[3];
or:
struct {
uchar Second;
uchar Minute;
uchar Hour;
uchar Day;
uchar Month;
uchar Week;
uchar Year;
uchar kzz; // Continuous writing must be 8 bytes, otherwise it cannot be written
}RealTime; // RealTime[3];
usage:
RealTime.Second = 0X30;
RealTime.Minute = 0X11;
RealTime.Hour = 0X15;
RealTime.Day = 0X06;
RealTime.Month = 0X03;
RealTime.Week = 0X05;
RealTime.Year = 0X09;
RealTime.kzz = 0X00;
DS1302Write_Time(&RealTime.Second); //Write clock data to DS1302 (multi-byte mode)
DS1302Read_Time(&RealTime.Second); //Read the first address of DS1302 clock data RealTime.Second
void DS1302Read_Time(uchar *pSecDa) //Read DS1302 clock data
{
uchar i;
DS1302_Open();//Open DS1302
DS1302_Write(0xbf); /* 0xbf: clock multi-byte read command*/
for (i=0; i<8; i++) //Continuous writing must be 8 bytes, otherwise it cannot be written
{
*pSecDa = DS1302_Read(); /* Read 1Byte data*/
pSecDa++;
}
DS1302_Close();//Close DS1302
}
void DS1302Write_Time(uchar *pSecDa) //Write clock data to DS1302 (multi-byte mode)
{
uchar i;
DS1302Byte_Write(0x8e,0x00); /* Control command, WP=0, write enable*/
DS1302_Open();//Open DS1302
DS1302_Write(0xbe); /* 0xbe: clock multi-byte write command*/
for (i=0; i<8; i++) /*8Byte = 7Byte clock data + 1Byte control*/
{
DS1302_Write(*pSecDa);/* Write 1Byte data*/
pSecDa++;
}
DS1302_Close();//Close DS1302
}
Previous article:C8051F410 Online Debug Interface Description
Next article:Solution to the problem of not finding c51.exe when compiling and linking C8051F
Recommended ReadingLatest update time:2024-11-16 15:27
- Popular Resources
- Popular amplifiers
- 西门子S7-12001500 PLC SCL语言编程从入门到精通 (北岛李工)
- Siemens Motion Control Technology and Engineering Applications (Tongxue, edited by Wu Xiaojun)
- How to read electrical control circuit diagrams (Classic best-selling books on electronics and electrical engineering) (Zheng Fengyi)
- MCU C language programming and Proteus simulation technology (Xu Aijun)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Pointer variables as function parameters
- Transistor one-button switch circuit
- Analysis and application of key technologies of BLE low-power Bluetooth
- Power-saving Mode of ADI AD5933 Impedance Converter
- "New Concept Analog Circuit" - Signal Processing Circuit, Yang Jianguo's new book
- How to use the IP of Video On-Screen Display in zynq
- STM32F103 brushless DC motor control program
- [GD32E231 DIY Contest] Part 2: Dynamic QR Code Display
- EEWORLD University ----PI power chip: Learn about BridgeSwitch in one minute
- CCS compilation optimization and volatile