TDK公司的子公司TDK-EPC推出了爱普科斯PQ铁氧体磁芯的扩展系列。新加入了PQ40/40和PQ50/50磁芯后,PQ磁芯系列覆盖了PQ16/11.6至PQ50/50的全部尺寸。 PQ磁芯专为开关电源的变压器研制。这些磁芯的插入高度可以调节,同时可以通过适当调整磁芯保存相同的占用面积。新款铁氧体磁芯可用于AC/DC和DC/DC转换器中的标准绕线变压器以及平面变压器。 与传统ETD/ER/E磁芯设计相比,PQ磁芯的主要优势在于拥有稳定的圆形中心支脚和更大的外表面。凭借该圆形中心支脚和更大的绕组表面积,铜线的长度得以缩短。因此,变压器生产的成本也得以降低。此外,更大的外表面可以保证更好的散热。PQ磁芯外形经过优化,从而可以更小的尺寸和重量获得与e磁芯相同的变压器性能。PQ磁芯可由多种铁氧体材料制成,如:N49、N51、N87、N92、N95和N97。
上传时间: 2013-11-10
上传用户:zgu489
MSP430系列flash型超低功耗16位单片机MSP430系列单片机在超低功耗和功能集成等方面有明显的特点。该系列单片机自问世以来,颇受用户关注。在2000年该系列单片机又出现了几个FLASH型的成员,它们除了仍然具备适合应用在自动信号采集系统、电池供电便携式装置、超长时间连续工作的设备等领域的特点外,更具有开发方便、可以现场编程等优点。这些技术特点正是应用工程师特别感兴趣的。《MSP430系列FLASH型超低功耗16位单片机》对该系列单片机的FLASH型成员的原理、结构、内部各功能模块及开发方法与工具作详细介绍。MSP430系列FLASH型超低功耗16位单片机 目录 第1章 引 论1.1 MSP430系列单片机1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 结构概述2.1 引 言2.2 CPU2.3 程序存储器2.4 数据存储器2.5 运行控制2.6 外围模块2.7 振荡器与时钟发生器第3章 系统复位、中断及工作模式3.1 系统复位和初始化3.1.1 引 言3.1.2 系统复位后的设备初始化3.2 中断系统结构3.3 MSP430 中断优先级3.3.1 中断操作--复位/NMI3.3.2 中断操作--振荡器失效控制3.4 中断处理 3.4.1 SFR中的中断控制位3.4.2 中断向量地址3.4.3 外部中断3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗应用的要点23第4章 存储空间4.1 引 言4.2 存储器中的数据4.3 片内ROM组织4.3.1 ROM 表的处理4.3.2 计算分支跳转和子程序调用4.4 RAM 和外围模块组织4.4.1 RAM4.4.2 外围模块--地址定位4.4.3 外围模块--SFR4.5 FLASH存储器4.5.1 FLASH存储器的组织4.5.2 FALSH存储器的数据结构4.5.3 FLASH存储器的控制寄存器4.5.4 FLASH存储器的安全键值与中断4.5.5 经JTAG接口访问FLASH存储器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序计数器PC5.1.2 系统堆栈指针SP5.1.3 状态寄存器SR5.1.4 常数发生寄存器CG1和CG25.2 寻址模式5.2.1 寄存器模式5.2.2 变址模式5.2.3 符号模式5.2.4 绝对模式5.2.5 间接模式5.2.6 间接增量模式5.2.7 立即模式5.2.8 指令的时钟周期与长度5.3 指令组概述5.3.1 双操作数指令5.3.2 单操作数指令5.3.3 条件跳转5.3.4 模拟指令的简短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 无符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 无符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的软件限制6.4.1 寻址模式6.4.2 中断程序6.4.3 MACS第7章 基础时钟模块7.1 基础时钟模块7.2 LFXT1与XT27.2.1 LFXT1振荡器7.2.2 XT2振荡器7.2.3 振荡器失效检测7.2.4 XT振荡器失效时的DCO7.3 DCO振荡器7.3.1 DCO振荡器的特性7.3.2 DCO调整器7.4 时钟与运行模式7.4.1 由PUC启动7.4.2 基础时钟调整7.4.3 用于低功耗的基础时钟特性7.4.4 选择晶振产生MCLK7.4.5 时钟信号的同步7.5 基础时钟模块控制寄存器7.5.1 DCO时钟频率控制7.5.2 振荡器与时钟控制寄存器7.5.3 SFR控制位第8章 输入输出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中断控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口逻辑第9章 看门狗定时器WDT9.1 看门狗定时器9.2 WDT寄存器9.3 WDT中断控制功能9.4 WDT操作第10章 16位定时器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定时器模式控制10.2.2 时钟源选择和分频10.2.3 定时器启动10.3 定时器模式10.3.1 停止模式10.3.2 增计数模式10.3.3 连续模式10.3.4 增/减计数模式10.4 捕获/比较模块10.4.1 捕获模式10.4.2 比较模式10.5 输出单元10.5.1 输出模式10.5.2 输出控制模块10.5.3 输出举例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕获/比较控制寄存器CCTLx10.6.4 Timer_A中断向量寄存器10.7 Timer_A的UART应用 第11章 16位定时器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定时器长度11.2.2 定时器模式控制11.2.3 时钟源选择和分频11.2.4 定时器启动11.3 定时器模式11.3.1 停止模式11.3.2 增计数模式11.3.3 连续模式11.3.4 增/减计数模式11.4 捕获/比较模块11.4.1 捕获模式11.4.2 比较模式11.5 输出单元11.5.1 输出模式11.5.2 输出控制模块11.5.3 输出举例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕获/比较控制寄存器CCTLx11.6.4 Timer_B中断向量寄存器第12章 USART通信模块的UART功能12.1 异步模式12.1.1 异步帧格式12.1.2 异步通信的波特率发生器12.1.3 异步通信格式12.1.4 线路空闲多机模式12.1.5 地址位多机通信格式12.2 中断和中断允许12.2.1 USART接收允许12.2.2 USART发送允许12.2.3 USART接收中断操作12.2.4 USART发送中断操作12.3 控制和状态寄存器12.3.1 USART控制寄存器UCTL12.3.2 发送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率选择和调整控制寄存器12.3.5 USART接收数据缓存URXBUF12.3.6 USART发送数据缓存UTXBUF12.4 UART模式,低功耗模式应用特性12.4.1 由UART帧启动接收操作12.4.2 时钟频率的充分利用与UART的波特率12.4.3 多处理机模式对节约MSP430资源的支持12.5 波特率计算 第13章 USART通信模块的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的从模式13.2 中断与控制功能 13.2.1 USART接收/发送允许位及接收操作13.2.2 USART接收/发送允许位及发送操作13.2.3 USART接收中断操作13.2.4 USART发送中断操作13.3 控制与状态寄存器13.3.1 USART控制寄存器13.3.2 发送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率选择和调制控制寄存器13.3.5 USART接收数据缓存URXBUF13.3.6 USART发送数据缓存UTXBUF第14章 比较器Comparator_A14.1 概 述14.2 比较器A原理14.2.1 输入模拟开关14.2.2 输入多路切换14.2.3 比较器14.2.4 输出滤波器14.2.5 参考电平发生器14.2.6 比较器A中断电路14.3 比较器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比较器A应用14.4.1 模拟信号在数字端口的输入14.4.2 比较器A测量电阻元件14.4.3 两个独立电阻元件的测量系统14.4.4 比较器A检测电流或电压14.4.5 比较器A测量电流或电压14.4.6 测量比较器A的偏压14.4.7 比较器A的偏压补偿14.4.8 增加比较器A的回差第15章 模数转换器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC内核15.2.2 参考电平15.3 模拟输入与多路切换15.3.1 模拟多路切换15.3.2 输入信号15.3.3 热敏二极管的使用15.4 转换存储15.5 转换模式15.5.1 单通道单次转换模式15.5.2 序列通道单次转换模式15.5.3 单通道重复转换模式15.5.4 序列通道重复转换模式15.5.5 转换模式之间的切换15.5.6 低功耗15.6 转换时钟与转换速度15.7 采 样15.7.1 采样操作15.7.2 采样信号输入选择15.7.3 采样模式15.7.4 MSC位的使用15.7.5 采样时序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 转换存储寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中断标志寄存器ADC12IFG.x和中断允许寄存器ADC12IEN.x15.8.5 中断向量寄存器ADC12IV15.9 ADC12接地与降噪第16章 FLASH型芯片的开发16.1 开发系统概述16.1.1 开发技术16.1.2 MSP430系列的开发16.1.3 MSP430F系列的开发16.2 FLASH型的FET开发方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 标准复位过程和进入BSL过程16.3.2 BSL的UART协议16.3.3 数据格式16.3.4 退出BSL16.3.5 保护口令16.3.6 BSL的内部设置和资源附录A 寻址空间附录B 指令说明B.1 指令汇总B.2 指令格式B.3 不增加ROM开销的模拟指令B.4 指令说明(字母顺序)B.5 用几条指令模拟的宏指令附录C MSP430系列单片机参数表附录D MSP430系列单片机封装形式附录E MSP430系列器件命名
上传时间: 2014-04-28
上传用户:sssnaxie
模块使用外部滤波器回路来抑制信号抖动和电磁干扰。滤波器回路由PLL接在滤波器输入引脚PLLF和PLLF2之间的电阻Rl和电容Cl、C2组成。电容 Cl、C2必须为无极性电容。在不同的振荡器频率下,R1、Cl、C2的取值不同,常用的参数组合如表l所列。PLL模块的电源引脚PLLVCCA分别通过磁珠和0.1μF的电容与数字电源引脚VDD和数字地引脚VSS连接,构成低通滤波电路,保证时钟模块的可靠供电。模块使用外部滤波器回路来抑制信号抖动和电磁干扰。滤波器回路由PLL接在滤波器输入引脚PLLF和PLLF2之间的电阻Rl和电容Cl、C2组成。电容 Cl、C2必须为无极性电容。在不同的振荡器频率下,R1、Cl、C2的取值不同,常用的参数组合如表l所列。PLL模块的电源引脚PLLVCCA分别通过磁珠和0.1μF的电容与数字电源引脚VDD和数字地引脚VSS连接,构成低通滤波电路,保证时钟模块的可靠供电。
上传时间: 2014-01-07
上传用户:ikemada
/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定义 sfr WDT_CONTR = 0xe1;//stc2051的看门狗?????? /**********全局常量************/ //写卡的命令 #define write_command0 0//写密码 #define write_command1 1//写配置字 #define write_command2 2//密码写数据 #define write_command3 3//唤醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //读卡的时间参数us #define ts_min 250//270*11.0592/12=249//取近似的整数 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10调整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI总线 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//测试绿灯 sbit led_light1 = P1^5;//测试红灯 sbit led_light_ok = P1^1;//读卡成功标志 sbit fengmingqi = P1^5; /***********全局变量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存储卡上用户数据(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram uchar command; //第一个命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //缓存定时值,因用同一个定时器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //缓存定时值,因用同一个定时器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函数原型*****************/ //读写操作 void f_readcard(void);//全部读出1~7 AOR唤醒 void f_writecard(uchar x);//根据命令写不同的内容和操作 void f_clearpassword(void);//清除密码 void f_changepassword(void);//修改密码 //功能子函数 void write_password(uchar data *data p);//写初始密码或数据 void write_block(uchar x,uchar data *data p);//不能用通用指针 void write_bit(bit x);//写位 /*子函数区*****************************************************/ void delay_2(uint x) //延时,时间x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能频繁的复位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允许接收 //SCON =0x50; //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1, //REN=1允许接收 TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位) TCON = 0x40; //设定时器1 允许开始计时(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //启动定时器 WDT_CONTR = 0x3c;//使能看门狗 p_U2270B_Standby = 0;//单电源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//读卡 { EA = 0;//全关,防止影响跳变的定时器计时 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用唤醒功能来防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作码读0页 write_bit(0); write_password(&bankdata[24]);//密码block7 p_U2270B_CFE =1 ;// delay_2(516);//编程及确认时间5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断? while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定时器晚启动10个周期 //同步头 if((324 < a.W) && (a.W < 353)) ;//检测同步信号1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //读0~7块的数据 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8个位 { //等待下降沿的到来 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再赋值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//读卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//写卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//写密码:初始化密码 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 for(i = 0;i < 35;i++) { write_bit(1);//写数据位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//测试使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密码存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡参数:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密码写数据 { uchar data*data p; p = &bankdata[24]; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_password(p);//发口令 write_bit(0);//写锁定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//写数据 } else if(x == write_command3)//aor //唤醒 { //cominceptbuff[1]操作码10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密码 p_U2270B_CFE = 1;//此时数据不停的循环传出 } else //停止操作码 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密码 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密码 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作码10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//写新配置参数:pwd=0 //密码无效:即清除密码 DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密码 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密码 DATA = 0x80;//操作码10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//写新密码 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密码存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函数***********************************/ void write_bit(bit x)//写一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延时448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写0 } } /*******************写一个block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0数据 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //读卡 f_writecard(command1); //写卡 f_clearpassword(); //清除密码 f_changepassword(); //修改密码 } }
标签: 12345
上传时间: 2017-10-20
上传用户:my_lcs
振弦式传感器及测量模块广泛应用于水电工程、岩土工程等工程的安全自动监测系统中,本文针对振弦式测量模块的电源功耗、通信组网方式、激振及测量等方面进行了研究,设计出一种基于 Z igBee 无线通信技术的低功耗、高精度、多通道的振弦式测量模块
标签: 无线测量模块
上传时间: 2022-02-01
上传用户:
本书以MATLAB为基础,介绍了MATLAB电气系统模型库模块及其功能,并以实例介绍了电力电子和电机控制系统的建模和仿真方法,内容包括AC/DC、DC/DC、DC/AC、AC/AC的各种变换电路,直流调速系统和交流调速系统等。为了适应现代数字化控制系统的发展,本书在连续系统的建模仿真外,还介绍了采样离散系统的建模和仿真方法。本书附有仿真模型光盘,最大限度地为读者学习提供了方便。本书可用于高等学校电类专业的选修课教材,也可供研究生和技术研究人员参考和使用
上传时间: 2022-06-17
上传用户:
当前世界能源短缺以及环境污染问题日益严重,这些问题迫使人们改变能源结构,寻找新的替代能源。可再生洁净能源的开发愈来愈受到重视,太阳能以其经济、清洁等优点倍受青睐,其开发利用技术亦得以迅速发展,而光伏水泵成为其中重要的研究领域。本文针对采用异步电机作为光伏水泵驱动电机的光伏水泵系统,详细介绍了推挽DC/DC升压电路、DC/AC IPM模块逆变电路、及基于dsPIC30F2010的控制电路等,并制作了一台试验样机。同时围绕多种最大功率跟踪方法展开研究,设计了最大功率跟踪程序。论文的主要工作如下:1)设计了DC-DC推挽升压电路,并通过加入TPS2812改进了推挽功率MOS管的驱动电路;2)研究分析了光伏水泵系统最大功率跟踪控制,通过Matlab对多种MPPT方式进行了仿真,确定系统采用黄金分割法最大功率跟踪方式;3)采用SVPWM调制技术,实现了系统的稳定快速跟踪控制:4)采用IPM模块作为逆变器主电路,大大简化了逆变器驱动电路和保护电路设计,缩小了系统体积,提高了效率和系统的可靠性;5)采用徵芯公司的dsPIC20F2010作为主电路的控制核心,并设计了包括W"保护电路在内的外围电路和相关的软件;6)详细介绍了系统主电路各元件参量的选择和设计;7)在样机上进行了不同负载下的试验,给出了试验波形和效率测试结果,验证了本系统的可靠性和高效性。
上传时间: 2022-06-20
上传用户:
(一) 、超声波塑料焊接机装设程序:1、超声波塑料焊接机应安置在坚固,水平的工作台上。机器后面应留有大于150mm的空间,以利通风散热。2、为确保安全操作,本机必须可靠接地,对地电阻必须小于4 欧姆。3、将三苡控制电线两头分别插入焊机后方三脚插座,并旋紧螺母。4、将选择开关置于手动位置。5、锁紧升降的四只螺钉,以固定超声振头,但切勿用力过度,以免滑牙。6、将上焊模与超声振头之接触面擦干净,用螺丝接合,使用随机专用扳手锁紧,锁紧力距为25 牛顿/米。7、把外气源的气管接入焊接机的空气滤净器。8、音波检验程序:为发挥超声波塑料焊接机的最佳使用效果,维护焊机的性能及安全生产,每次使用机器或更换焊模, 必须调整超声波塑料焊接机发振系统与振动系统的发振程度, 因此该项音波检测程序非常重要。A、检测前,上焊模与超声振头两者必须密合锁紧,检验时上焊模切勿接触工件。B、合上电源开关,此时电源指示灯亮.C、打开侧盖板之门页。D、将选择开关按至音波检测档位置,观测振幅表之指示值,每次音波检测开关不能连续按下超过3 秒。E、顺逆旋转音波检测螺丝使振幅表指针在最低刻度值位置。注意:振幅表指针能调到1.2(或100 )刻度值以下,且确保为最低刻度位置,焊机的发振系统与振动系统谱振最好。[注意]:1.调节音波选择螺丝,振幅表之指针会左右摆动,但并非表示功率输出之大小,而仅表示发振系统与振动系统之谐振程度,指示刻度值越小,则表示谐振程度越佳。2.振幅表在空载发振时,表示谐振程度,负载发振时表示输出能量。3.焊接前务必做音波检测,以确保发振系统与振动系统之谐振。4.更换焊模后,切记一定要做音波检测程式。5.调整时,如果过载指示灯发亮,则立即放开音波检验钮,约过1 秒钟后,再转动音波调整螺丝作音波选择调整.6.正确的调谐非常重要,如果无法调较到正常状态,不能达到音波检测程式第5 项的要求时,请即送修,不可勉强使用,以免扩大故障。
上传时间: 2022-06-22
上传用户:
是一款固定频率,电流模式升压变换器,高达1.2MHz的工作频率使得外围电感电容可以选择更小的规格。内置软启动功能减小了启动冲击电流。轻载时自动切换至PFM模式。LY1061包含了输入欠压锁定,电流限制以及过热保护功能。小尺寸的封装给PCB省下更多的空间。 ● 集成0.8欧姆的高压功率MOSFET● 内部4A的开关电流限制● 2V-24V的输入电压,VFB:0.6V● 1.2MHz 固定工作频率● 输出电流2A ● 内部补偿功能 ● 输出电压高达28V● 轻负载条件下,能进行自动脉冲调制。LY1061是一款固定频率,SOT23-6封装的电流模式升压变换器,高达1.2MHz的工作频率使得外围电感电容可以选择更小● 效率高达97% 应用: 电池供电设备/ 机顶盒/ LCD偏置电源/ 无线产品及DSL调制调解器/ PCI网卡或插槽供电 DC-DC / AC-DC 电压检测 降压 DC-DC 同步降压 ESD电压保护
标签: FTB628
上传时间: 2022-07-03
上传用户:
世界环境的日益恶化和传统能源的日渐枯竭,促使了对新能源的开发和发展。具有可持续发展的太阳能资源受到了各国的重视,各国相继出台的新能源法对太阳能发展起到推波助澜的作用。其中,光伏并网发电具有深远的理论价值和现实意义,仅在过去五年,光伏并网电站安装总量已达到数千兆瓦。而连接光伏阵列和电网的光伏并网逆变器便是整个光伏并网发电系统的关键。 本文根据逆变器结构以及光伏发电阵列特点,提出了基于DC-DC和DC-AC两级并网逆变器的结构。基于DC-DC和DC-AC电路的相对独立性,分别对DC-DC和DC-AC进行详尽分析,并提出了新的控制策略。在DC-DC转换器中,采用了Boost电路对太阳能阵列输出电压进行调制,并对系统进行最大功率点跟踪。针对固定电压法和扰动法跟踪最大功率点的缺点,提出三点最小二乘最大功率点跟踪的新算法,实验证明了该算法能够准确而迅速的跟踪系统最大功率点,从而提高系统的利用率,稳定系统的输出电压。在DC-AC转换器中,采用输出电流控制,根据正弦脉冲宽度调制的缺点,提出空间矢量脉冲宽度调制方法对逆变器进行控制,从而提高直流侧电压的利用率,减少谐波。基于SVPWM的控制原理,建立系统模型,结果表明输出电流与电网电压保持同相位,从而证明了该控制算法的可行性。 在提出新的控制策略的基础上,对2kW的三相并网逆变器进行硬件设计,包括主电路DC-DC和DC-AC,驱动电路以及电压电流检测电路,过零检测电路等,为类似结构的光伏并网逆变器提供了设计参考。
上传时间: 2013-07-16
上传用户:rishian