【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片

目录

  • 硬知识
    • 概述
    • 特性
    • 功能描述
      • 报警功能模式
      • 定时器模式
      • CLKOUT输出
      • 复位低电压检测器和时钟监视器
      • 低电压检测器和时钟监视器
    • 寄存器结构
      • 寄存器概述
      • BCD编码格式寄存器概述
      • Control/Status 1 寄存器(内存地址00H)
      • Control/Status 2 寄存器(内存地址01H)
      • Seconds,Minutes,Hours寄存器
      • Days,Weekdays,Months/Century,Years寄存器
      • Alarm寄存器
      • LKOUT频率寄存器
      • 计数控制寄存器
    • EXT_CLK测试模式
    • 上电复位(POR)override模式
    • 串行接口
      • PCF8563 I2C协议
  • 驱动程序
    • PCF8563.c
    • PCF8563.h
  • 测试程序
    • main.c
    • 实验现象

STC实验箱4
IAP15W4K58S4
Keil uVision V5.29.0.0
PK51 Prof.Developers Kit Version:9.60.0.0


硬知识

       摘自《PCF8563实时时钟日历芯片选型指南》。

概述

       PCF8563是低功耗的CMOS实时时钟日历芯片。它提供一个可编程时钟输出一个中断输出和掉电检测器所有的地址和数据,通过12C总线接口串行传递最大总线速度为400Kbits/s,每次读写数据后内嵌的字地址寄存器会自动产生增量。

特性

低工作电流典型值:0.25 A(VDD=3.0V TambT_{amb}Tamb=25)
世纪标志;
大工作电压范围:1.0V–5.5V;
低休眠电流典型值为:0.25 A(VDD=3.0V,TambT_{amb}Tamb=25)
400KHz 的I2C接口:(VDD=1.8~5.5V)
可编程时钟输出频率为:32.768KHz,1024Hz、32Hz,1Hz;
报警和定时器;
内部集成的振荡器、电容、片内电源复位功能掉电检测器;
I2C 从地址:读0A3H; 写0A2H;
开漏中断引脚。
在这里插入图片描述

功能描述

       PCF8563内有16个8位的地址递增寄存器,一个32.768 kHz片上集成电容振荡器,一个实时时钟源(RTC)的分频器,可编程的时钟输出,一个定时器,报警器,一个低压检测器和400KHz的I2C接口。
       所有16个寄存器被设计成可寻址的8位并行寄存器,虽然不是所有的位都有效。前两个寄存器(内存地址00H和01H),用于控制与或状态寄存器。内存地址02H至08H是时钟功能的计数器,用于(秒、分、时、日、月、年计数器),内存地址09H至0CH包含定义报警的条件的报警寄存器。内存地址0DH控制CLKOUT的输出频率.0EH和0FH分别是定时控制器和定时器。
       秒、分钟、小时、天、月、年、以及每分钟报警、小时报警、日报警寄存器都以BCD格式编码。平日和星期报警寄存器不以BCD格式编码。
       当一个RTC寄存器被读取,所有的寄存器的内容被冻结。因此可以避免在读指令跳转期间,读取时钟/日历时发生错误。

报警功能模式

       通过清除一个或多个报警寄存器最高有效位(位AE-报警启用),相应的报警条件将被激活。这种方式可以产生从每分钟至每周一次的报警。报警条件设置报警标志,AF(控制/状态寄存器2的第3位),AF可用于产生一个中断(INT),AF只能通过软件清零。

定时器模式

       8位减数计时器(地址0FH)由定时控制寄存器(地址0EH,参见表25)控制。定时控制寄存器可以选择定时器的时钟源频率(4096,64,1,或1/60Hz)和启用/禁用计时器。从软件加载的8位二进制值的倒计时,在每个倒计时结束时,定时器设置的定时器标志TF(见表7)。定时器标志位TF只能由软件清零。根据定时器标志位TF可以产生一个中断(INT)。每个倒计时阶段都可能会产生中断脉冲信号,作为一个永久的积极信号,如TF条件下。TI/TP(见表7)用于控制这种模式的选择。当读取定时器,当前的倒计时数值作为返回值。

CLKOUT输出

       CLKOUT引脚有可编程方波。由CLKOUT频率寄存器(地址0DH;见表23)控制操作。时钟频率32.768KHz(默认),1024,32和1Hz的频率可以作为系统时钟,单片机的时钟,输入到电荷泵,或校准振荡器。CLKOUT开漏输出,上电时启用。如果禁用它变为高阻抗。

复位低电压检测器和时钟监视器

       PCF8563的包括内部复位电路,振荡器停止时,复位电路激活。在复位状态下,I2C总线初始化,所有寄存器和地址指针被清零,VL,TD1,TD0,TESTC和AE被设置为逻辑1.

低电压检测器和时钟监视器

       PCF8563芯片的低电压探测器。当VDD低于Vlow,VL位(秒寄存器第7位)设置表明可靠的时钟/日历信息将不再保证.VL标志只能由软件清零。
       位VL用于检测在电池供电情况下,VDD慢慢降低到Vlow的情况。在VDD低于Vlow之前应该把VDD从新拉高。这种情况下,时间可能被损坏。

寄存器结构

寄存器概述

表4
在这里插入图片描述
位标记"-": 无效;
"0"标记的,应始终与写入逻辑0.

BCD编码格式寄存器概述

表5
在这里插入图片描述
位标记"-": 无效;
[1]不是BCD编码格式。

Control/Status 1 寄存器(内存地址00H)

表6
在这里插入图片描述

Control/Status 2 寄存器(内存地址01H)

表7
在这里插入图片描述
在这里插入图片描述

Seconds,Minutes,Hours寄存器

在这里插入图片描述

Days,Weekdays,Months/Century,Years寄存器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Alarm寄存器

       当一个或多个报警寄存器加载一个有效的分、时、日或平日信息,其相应的AE(Alarm Enable)位为逻辑0,然后将这些信息将与当前的分、时、日和平日进行比较。当所有启用的比较第一个匹配的,位AF(Alarm Flag)置位。
       AF保持置位,直到通过软件清除。一旦AF被清0,它只会被重新设置时间增量,以符合再次报警条件。若报警寄存器AE置1,则该报警寄存器被忽略。
在这里插入图片描述

LKOUT频率寄存器

在这里插入图片描述

计数控制寄存器

       8位二进制减计数器有效与否是由计数控制寄存器的TE位控制,计数器的时钟源也是由计数控制寄存器选择.计数器中断的产生与控制有状态控制寄存器2控制。为了准确读出计数器的值,I2C总线的SCL时钟至少应为计数器时钟的2倍。
在这里插入图片描述

EXT_CLK测试模式

       测试模式允许进行在线测试,在测试环境下可以设置测试的条件并控制芯片的RTC.
       通过设置控制状态寄存器1(Control/Status 1)的位TEST1进入测试环境,CLKOUT管脚转换为输入管脚。测试模式下,CLKOUT管脚的输入信号取代了芯片内部的64Hz的信号,CLKOUT管脚信号每64个上升沿产生1S增量。
       CLKOUT管脚提供的信号的最小脉冲带宽为300ns,最小周期为1000ns。内部64Hz时钟,或者外部信号源被内部预分频器分为1Hz,使用STOP预分频器可设置成已知状态,当位STOP置位,预分频器复位为0。在预分频器再次工作前,STOP位必须先清0.从STOP状态,第一个1S的占用CLKOUT信号32个上升沿,之后每1S的增量占用64个上升沿。
       备注:进入EXT_CLK测试模式内部64 Hz的时钟不同步,进入测试模式时,可以假设没有预分频器的状态。

  1. 进入EXT_CLK测试模式,设置Control/Status 1寄存器的7位TEST1=1;
  2. 设置Control/Status 1寄存器的5位STOP=1;
  3. 清除Control/Status 1寄存器的5位STOP=0;
  4. 设置时间寄存器(Seconds,Minutes,Hours,Days,Weekdays,Months/Century,Years)期望值;
  5. 向CLOCKOUT提供32个时钟脉冲;
  6. 读取时间寄存器,看第一次变化;
  7. 向CLOCKOUT提供64个时钟脉冲;
  8. 读取时间寄存器,看Second寄存器变化;
  9. 重复第7,8步骤,看额外的变量;

上电复位(POR)override模式

       POR的持续时间和晶体振荡器的启动时间直接相关。由于长期启动这些类型的电路所需要的时间,一个禁用POR和加强硬板设备测试机制已建成。这种模式的设置要求,I2C总线引脚,SDA和SCL,如图5所示,在一个特定的顺序切换。所有的时间值是最低要求。
       一旦已进入override模式,芯片立即停止复位和正常运行,开始进入EXT_CLK测试模式,即通过I2C总线访问。位TESTC写逻辑0,停止override模式。只有位TESTC被设置为逻辑1,才能再次进入override模式。正常运行期间位TESTC设置逻辑0无效,只是为了防止进入POR override模式。
在这里插入图片描述

串行接口

       PCF8563的串行接口是I2C总线。

PCF8563 I2C协议

寻址:在12C总线上传输的任何数据之前,首先处理设备应该响应。寻址总是进行传输启动程序后的第一个字节。
       PCF8563是一个从接收器或从发送器。因此时钟信号SCL只是一个输入信号,但数据信号SDA是双向线。
PCF8563的从地址
在这里插入图片描述
时钟/日历的读/写周期:在图11,12和13所示为不同的PCF8563的I2C总线配置读写周期。
WORD地址是一个4位的值,定义下一步要访问寄存器。WORD地址的高4位未使用。
在这里插入图片描述
在这里插入图片描述

驱动程序

       来源:51单片机入门经验分享8-关于IIC通信详解及PCF8563芯片显示时间 —— dabing89
       stdint.h见【51单片机快速入门指南】1:基础知识和工程创建
       软件I2C程序见【51单片机快速入门指南】4: 软件 I2C

PCF8563.c

/*******************************************************************************
* 文件名:PCF8563.c
* 描  述:工程c模块文件
* 功 能:底层模块文件
* 作者:MADE BY DA HE TAO
* 版本号:1.0.4(2015.03.02)
*******************************************************************************/
#include "PCF8563.h"
#include "./Soft_I2C/Soft_I2C.h"/*******************************************************************************
* 文件名:变量定义
* 描  述:
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
uint8_t buffer[7];//数据存储缓存
sTime CurTime;/*******************************************************************************
* 文件名:static uint8_t RTC_BinToBcd2(uint8_t BINValue)
* 描  述: 将BIN转换为BCD
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
static uint8_t RTC_BinToBcd2(uint8_t BINValue)
{uint8_t bcdhigh = 0;while (BINValue >= 10){bcdhigh++;BINValue -= 10;}return ((uint8_t)(bcdhigh << 4) | BINValue);
}/*******************************************************************************
* 文件名:static uint8_t RTC_Bcd2ToBin(uint8_t BCDValue)
* 描  述: 将BCD转换为BIN
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
static uint8_t RTC_Bcd2ToBin(uint8_t BCDValue)
{uint8_t tmp = 0;tmp = ((uint8_t)(BCDValue & (uint8_t)0xF0) >> (uint8_t)0x04) * 10;return (tmp + (BCDValue & (uint8_t)0x0F));
}/*******************************************************************************
* 文件名:void PCF8563_Write_Byte(uint8_t REG_ADD, uint8_t dat)
* 描  述: PCF8563某寄存器写入一个字节数据
* 功  能:REG_ADD:要操作寄存器地址          dat:    要写入的数据
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
void PCF8563_Write_Byte(uint8_t REG_ADD, uint8_t dat)
{i2c_mem_write(PCF8563_ADDR, REG_ADD, &dat, 1);
}/*******************************************************************************
* 文件名:uint8_t PCF8563_Read_Byte(uint8_t REG_ADD)
* 描  述: PCF8563某寄存器读取一个字节数据
* 功  能:REG_ADD:要操作寄存器地址          读取得到的寄存器的值
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
uint8_t PCF8563_Read_Byte(uint8_t REG_ADD)
{uint8_t ReData;i2c_mem_read(PCF8563_ADDR, REG_ADD, &ReData, 1);return ReData;
}/*******************************************************************************
* 文件名:void PCF8563_Write_nByte(uint8_t REG_ADD, uint8_t num, uint8_t *pBuff)
* 描  述: PCF8563写入多组数据
* 功  能:REG_ADD:要操作寄存器起始地址          num:    写入数据数量           *WBuff: 写入数据缓存
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
void PCF8563_Write_nByte(uint8_t REG_ADD, uint8_t num, uint8_t *pBuff)
{i2c_mem_write(PCF8563_ADDR, REG_ADD, pBuff, num);
}
/*******************************************************************************
* 文件名:void PCF8563_Read_nByte(uint8_t REG_ADD, uint8_t num, uint8_t *pBuff)
* 描  述: PCF8563读取多组数据
* 功  能:REG_ADD:要操作寄存器起始地址          num:    写入数据数量           *WBuff: 读取数据缓存
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
void PCF8563_Read_nByte(uint8_t REG_ADD, uint8_t num, uint8_t *pBuff)
{i2c_mem_read(PCF8563_ADDR, REG_ADD, pBuff, num);
}/*******************************************************************************
* 文件名:void SetRealTime(sTime* time)
* 描  述: PCF8563设置时间信息
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
void SetRealTime(sTime* time)
{////拷贝数据time->mon &= ~PCF_Century_SetBitC;buffer[0] = time->sec;buffer[1] = time->min;buffer[2] = time->hour;buffer[3] = time->day;buffer[4] = time->week;buffer[5] = time->mon;buffer[6] = time->year;//写入数据到寄存器//PCF8563_Write_nByte(PCF8563_Address_Seconds, 7, buffer);
}/*******************************************************************************
* 文件名:void GetRealTime(sTime* time)
* 描  述: PCF8563读取时间信息
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.03.03)
*******************************************************************************/
void GetRealTime(sTime* time)
{PCF8563_Read_nByte(PCF8563_Address_Seconds, 7, buffer);        //读取寄存器数值buffer[0] &= PCF8563_Shield_Seconds;         //屏蔽无效位buffer[1] &= PCF8563_Shield_Minutes;buffer[2] &= PCF8563_Shield_Hours;buffer[3] &= PCF8563_Shield_Days;buffer[4] &= PCF8563_Shield_WeekDays;buffer[5] &= PCF8563_Shield_Months_Century;buffer[6] &= PCF8563_Shield_Years;time->year  = buffer[6];time->mon   = buffer[5];time->week = buffer[4];time->day   = buffer[3];time->hour  = buffer[2];time->min = buffer[1];time->sec = buffer[0];}/*******************************************************************************
* 文件名: void PCF8563Init(void)
* 描  述:  PCF8563初始化时间
* 功  能:
* 作  者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void PCF8563Init(void)
{sTime InitTime = {0x22, 0x01, 0x10, 0x12,0x00,0x00,0x01}; //22年1月10日12时00分00秒星期一SetRealTime(&InitTime);PCF8563_Write_Byte(PCF8563_Address_Control_Status_1, 0x00);  PCF8563_Write_Byte(PCF8563_Address_Control_Status_2, 0x00);  
}

PCF8563.h

/*******************************************************************************
* 文件名:PCF8563.h
* 描  述:工程模块头文件
* 作者:MADE BY DA HE TAO
* 版本号:1.0.1(2014.11.29)
*******************************************************************************/
#ifndef _PCF8563_H
#define _PCF8563_H#include <stdint.h>/*********************************************/
//数据类型定义部分
//定义结构体变量等
/********************************************/typedef struct {uint16_t year;uint8_t mon;uint8_t day;uint8_t hour;uint8_t min;uint8_t sec;uint8_t week;
}sTime;/*********************************************/
//预编译部分
/********************************************//*
此处定义全局变量及函数
*/
extern sTime CurTime;/*********************************************/
//子函数引用声明部分
/********************************************/#define PCF8563_Check_Data                       (uint8_t)0x55  //检测用,可用其他数值#define PCF8563_ADDR 							 (uint8_t)0x51 	//7位地址
#define PCF8563_Write                            (uint8_t)0xa2  //写命令
#define PCF8563_Read                             (uint8_t)0xa3  //读命令,或者用(PCF8563_Write + 1)//
//电源复位功能
//
#define PCF8563_PowerResetEnable                 (uint8_t)0x08
#define PCF8563_PowerResetDisable                (uint8_t)0x09//
//世纪位操作定义
//
#define PCF_Century_SetBitC                      (uint8_t)0x80#define PCF_Century_19xx                         (uint8_t)0x03
#define PCF_Century_20xx                         (uint8_t)0x04//
//数据格式
//
#define PCF_Format_BIN                           (uint8_t)0x01
#define PCF_Format_BCD                           (uint8_t)0x02//
//设置PCF8563模式用
//
#define PCF_Mode_Normal                          (uint8_t)0x05/******************************************************************************参数寄存器地址宏定义
******************************************************************************/#define PCF8563_Address_Control_Status_1         (uint8_t)0x00  //控制/状态寄存器1
#define PCF8563_Address_Control_Status_2         (uint8_t)0x01  //控制/状态寄存器2/******************************************************************************参数屏蔽宏定义
******************************************************************************/#define PCF8563_Shield_Control_Status_1          (uint8_t)0xa8
#define PCF8563_Shield_Control_Status_2          (uint8_t)0x1f#define PCF8563_Shield_Seconds                   (uint8_t)0x7f
#define PCF8563_Shield_Minutes                   (uint8_t)0x7f
#define PCF8563_Shield_Hours                     (uint8_t)0x3f#define PCF8563_Shield_Days                      (uint8_t)0x3f
#define PCF8563_Shield_WeekDays                  (uint8_t)0x07
#define PCF8563_Shield_Months_Century            (uint8_t)0x1f
#define PCF8563_Shield_Years                     (uint8_t)0xff/******************************************************************************参数宏定义
******************************************************************************/
#define PCF8563_Address_Years                    (uint8_t)0x08  //年
#define PCF8563_Address_Months                   (uint8_t)0x07  //月
#define PCF8563_Address_Days                     (uint8_t)0x05  //日
#define PCF8563_Address_WeekDays                 (uint8_t)0x06  //星期
#define PCF8563_Address_Hours                    (uint8_t)0x04  //小时
#define PCF8563_Address_Minutes                  (uint8_t)0x03  //分钟
#define PCF8563_Address_Seconds                  (uint8_t)0x02  //秒
//控制/状态寄存器1 --> 0x00
//
#define PCF_Control_Status_NormalMode            (uint8_t)(~(1<<7))  //普通模式
#define PCF_Control_Status_EXT_CLKMode           (uint8_t)(1<<7)     //EXT_CLK测试模式
#define PCF_Control_ChipRuns                     (uint8_t)(~(1<<5))  //芯片运行
#define PCF_Control_ChipStop                     (uint8_t)(1<<5)     //芯片停止运行,所有芯片分频器异步置逻辑0
#define PCF_Control_TestcClose                   (uint8_t)(~(1<<3))  //电源复位功能失效(普通模式时置逻辑0)
#define PCF_Control_TestcOpen                    (uint8_t)(1<<3)     //电源复位功能有效
//秒寄存器 --> 0x02
//
#define PCF_Accuracy_ClockNo                     (uint8_t)(1<<7)     //不保证准确的时钟/日历数据
#define PCF_Accuracy_ClockYes                    (uint8_t)(~(1<<7))  //保证准确的时钟/日历数据/******************************************************************************外部功能函数                      
******************************************************************************/void	PCF8563_Write_Byte                 (uint8_t REG_ADD, uint8_t dat);  //PCF8563某寄存器写入一个字节数据
uint8_t	PCF8563_Read_Byte                  (uint8_t REG_ADD);  //PCF8563某寄存器读取一个字节数据
void	PCF8563_Write_nByte                (uint8_t REG_ADD, uint8_t num, uint8_t *pBuff);  //PCF8563写入多组数据
void	PCF8563_Read_nByte                 (uint8_t REG_ADD, uint8_t num, uint8_t *pBuff);  //PCF8563读取多组数据void SetRealTime(sTime *time);  //PCF8563写入时间信息
void GetRealTime(sTime *time); //PCF8563读取时间信息
void PCF8563Init(void);#endif/******************* (C) COPYRIGHT 2016 青蓝电子科技 *****END OF FILE****/

测试程序

在这里插入图片描述

main.c

#include "./Drivers/config.h"
#include "./Drivers/delay.h"#include "./Drivers/GPIO.h"
#include "./Drivers/soft_uart.h"
#include <stdio.h>char putchar(char Char)
{TxSend(Char);return Char;
}#include "PCF8563.h"void GPIO_config(void)
{GPIO_InitTypeDef GPIO_InitStructure;					//结构定义GPIO_InitStructure.Mode = GPIO_PullUp;					//指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_InitStructure.Pin  = GPIO_Pin_0 | GPIO_Pin_1;		//指定要初始化的IO, 或操作GPIO_Inilize(GPIO_P1,&GPIO_InitStructure);					
}void main(void)
{GPIO_config();PCF8563Init();while(1){GetRealTime(&CurTime);//读取时间printf("%x %x %x %x %x %x %x\r\n", (int)CurTime.year, (int)CurTime.mon, (int)CurTime.day, (int)CurTime.hour, (int)CurTime.min, (int)CurTime.sec, (int)CurTime.week);delay_ms(500);}
}

实验现象

       打开串口调试助手,可见能成功读取时钟值。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用MySQL语句批量替换指定wordpress文章中的图片路径

天花了很多时间将SAE服务器中的图片下载到本地&#xff0c;然后删掉&#xff0c;但是有一个问题就是&#xff0c;所有文章中的图片路径还是以前的&#xff0c;没有根据域名来。导致下午某些时间段图片都是无法显示的&#xff0c;后来想到用MySQL直接批量替换&#xff0c;执行才…

【51单片机快速入门指南】6.4:DHT11、DHT22单总线温湿度传感器

目录硬知识DHT11DHT22通信协议读取步骤数据解读DHT11DHT22示例程序DHT11_22.cDHT11_22.h测试程序main.c实验现象DHT11DHT22STC89C52 Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《温湿…

【电路补习笔记】1、电阻的参数与选型

目录参数精度温度系数功率贴片电阻色环电阻传感器电阻老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;唐老师讲电赛之唐老师讲电子器件&#xff08;1&#xff09;电阻参数与选型 电阻按封装分为直插、贴片与印刷电阻&#xff08;有些电阻直接印刷在PCB上&#xff09;…

redis本地安装

redis在本地的安装及使用1、首先下载redis安装包&#xff0c;下载地址如下 http://pecl.php.net/package/redis/2.2.7/windows输入phpinfo()查看php版本进行相应的下载&#xff0c;注意版本2、下载完成后将php_redis.dll放到ext下&#xff0c;在php.ini中添加extensionphp_re…

【Net】测试网络、查看IP

http://www.speedtest.cn/ 转载于:https://www.cnblogs.com/flydkPocketMagic/p/7380400.html

【电路补习笔记】2、电容的参数与选型

目录分类无极性电容有极性电容电解电容钽电容参数精度温度系数材质耐压温度范围ESRESL电容并联高频特性焊盘&#xff08;PAD&#xff09;和旁路电容的放置老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;唐老师讲电赛之唐老师讲电子器件&#xff08;1&#xff09;电容…

1005:I Think I Need a Houseboat-poj

1005:I Think I Need a Houseboat 总时间限制: 1000ms内存限制: 65536kB描述Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned that the state of Louisiana is actually shrinkin…

【电路补习笔记】3、电感的参数与选型

目录分类电感的模型参数精度直流电阻&#xff08;DCR&#xff09;通流能力&#xff08;Irms&#xff09;自谐振频率&#xff08;SRF&#xff09;饱和电流&#xff08;Isat&#xff09;标号老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;唐老师讲电赛之唐老师讲电子器…

八排序算法

概述 排序有内部排序和外部排序。内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据非常大&#xff0c;一次不能容纳所有的排序记录。在排序过程中须要訪问外存。 我们这里说说八大排序就是内部排序。 当n较大。则应採用时间复杂度为O(nlog2n)的排序方法…

【电路补习笔记】4、二极管的参数与选型

目录常用二极管二极管的结构与特性结构参数最大整流电流IFI_FIF​最大反向工作电压URU_RUR​反向电流IRI_RIR​最高工作频率fMf_MfM​应用常见应用单相整流电路单相半波整流电路单相桥式整流电路稳压管稳压管的伏安特性参数稳压值UZU_ZUZ​稳定电流IZI_ZIZ​额定功耗PZP_ZPZ​动…

@font-face 使用过程

格式&#xff1a; TureTpe(.ttf)格式&#xff1a; .ttf字体是Windows和Mac的最常见的字体&#xff0c;是一种RAW格式&#xff0c;因此他不为网站优化,支持这种字体的浏览器有【IE9,Firefox3.5,Chrome4,Safari3,Opera10,iOS Mobile Safari4.2】 OpenType(.otf)格式&#xff1a;…

【电路补习笔记】5、三极管的参数与选型

目录常用的三极管型号结构作用放大三极管的三种放大组态的比较共射极放大电路单管共射放大电路&#xff08;受温度影响大&#xff09;的动态特性单管共射分压偏置放大电路的动态特性共集电极放大电路使用共基极放大电路多级放大电路多级放大电路的耦合多级放大电路的动态分析开…

FFT 专题讲解

FFT是什么&#xff1f; FFT是快速傅里叶变换(fast Fourier transform)的简称。在ACM领域主要是用来快速求解多项式乘法的算法&#xff0c; 在信号领域也有很大用途 基础知识 卷积 举个例子&#xff0c;给你两个向量 \(a (a_0, a_1, a_2), b(b_0, b_1, b_2)\) a和b的卷积就是$ (…

PureMvc学习笔记

2019独角兽企业重金招聘Python工程师标准>>> PureMvc学习笔记&#xff1a; Mediator ->对应View层&#xff0c;内部绑定View对象&#xff0c;由 Mediator 对象来操作具体的视图组件。&#xff08;它的作用还包括&#xff1a;添加事件监听器&#xff0c;发送或接收…

【电路补习笔记】6、MOS管的参数与选型

目录符号寄生二极管&#xff08;体二极管&#xff09;的方向连接方法作用导通问题NMOSPMOS开关作用隔离作用引脚分辨常见型号NMOS的参数VDSS最大漏-源电压VGS最大栅源电压ID-连续漏电流VGS&#xff08;th&#xff09;RDS&#xff08;on&#xff09;导通电阻Ciss&#xff1a;输入…

servlet核心API的UML图

转载于:https://www.cnblogs.com/suncoolcat/p/3339613.html

8.19noip模拟题

2017 8.19 NOIP模拟赛 by coolyangzc 共3道题目&#xff0c;时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c/pas exploit.cpp/c/pas 输入文件 type.in num.in exploit.in 输出文件 type.out num.out exploit.out 时间限制 …

【电路补习笔记】7、磁珠的工作原理、磁珠的分类、磁珠的模型、磁珠的参数、磁珠与电感的区别、磁珠的应用、磁珠的误区

目录简介铁耗磁滞损耗磁珠归类应用对比参数用途电源滤波低通滤波器的设计符号关于单点接地老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;磁珠的工作原理&#xff0c;磁珠的分类&#xff0c;磁珠的模型&#xff0c;磁珠的参数磁珠与电感的区别&#xff0c;磁珠的应用…

利用python数据分析panda学习笔记之Series

1 Series a&#xff1a;类似一维数组的对象&#xff0c;每一个数据与之相关的数据标签组成 b:生成的左边为索引&#xff0c;不指定则默认从0开始。 1 from pandas import Series,DataFrame 2 import pandas as pd 3 #series 一组数据与相关得数据标签组成 4 objSeries([4,7,-5…

12864 OLED屏显示日历

目录calendar.c测试程序效果普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 stdint.h见【51单片机快速入门指南】1&#xff1a;基础知识和工程创建 I2C版OLED驱动程序见【51单片机快速入门指南】4.2&#xff1a; SSD1306…