虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

电平<b>逆变器</b>

  • VIP专区-嵌入式/单片机编程源码精选合集系列(76)

    VIP专区-嵌入式/单片机编程源码精选合集系列(76)资源包含以下内容:1. stc12c的AD处理.2. 这是keil公司的mcm2300开发板上的.3. 一些关于SOPC,NIOS设计的论文,可以作毕业设计参考.4. 远程数据访问RDA等.5. 基于lpc2148的按键扫描程序.6. spce061a实现的键盘扫描程序.7. SPCE061A实现的LED拉幕显示效果.8. SPCE061A中位操作头文件.9. SPCE061A+SPCL051液晶显示汉字程序.10. keil.11. 采用LPC935控制的一个项目.12. 采用MPS430控制的项目.13. mm36sb020的spi的接口,已经调试过的 /* 定义命令 *//* #define ERSC 0x90f6 // 檫除整个芯片 // #define SRC 0xfffffffe //.14. LCD6963模块的驱动,可以显示汉字和图形. 线路图 89C51 T6963C -------- | 8 P1.0-1.7|=========== D0-7 | P3.0|--.15. ATmega16上面的ADC测试.16. 小液晶1602驱动程序.17. 基於C51的智能毫秒計, 精準到1ms, 含原理圖.18. NXP2103开发版图.19. 软件红外线接收程序 采用24MHz晶振.20. 串行口通信程序.21. 投票系统.22. 一担挑游戏.23. 组数游戏.24. 歌星大奖赛.25. VHDL mif file generator, which can generate several waves.26. uboot.27. 该程序是一个tffs文件系统的源码.28. 这是一个测试液晶显示的程序,测试LCD的亮灭.硬件连接如下: 3脚接偏置电阻,接个10K的可调,.RS4,RW5,E6脚接P3^3,P3^2,P3^1,程序头部有定义可根据实际修改.29. uart5/atmega8515/led 时钟显示.30. 逆变器原理图.31. 基于LPC2210的FFT程序.32. 这是我读研的时候用VB开发的一个与基于CAN-PCI5121的通讯小程序.33. 这是基于CAN-PCI5121开发的通讯程序.34. 将每一个声源加到混音缓冲器,经过处理后返回.35. 处理声源,时间,做好各类资源的调整工作,为声音的输入输出做准备..36. NiosII培训资料,主要讲述如何操作NIOS,对初学者帮助较大..37. 当前流行的802.15.4ZIGBEE协议的应用开发流程.38. Zigbee应用开发介绍说明.39. 完整的空调控制程序.40. VMMforSystemVerilog的源码资料 学习SystemVerilog的好东西.

    标签: 直升机 飞行

    上传时间: 2013-05-19

    上传用户:eeworm

  • VIP专区-嵌入式/单片机编程源码精选合集系列(80)

    VIP专区-嵌入式/单片机编程源码精选合集系列(80)资源包含以下内容:1. 9315原理图,剩下的见后续部分fds fdsf.2. 0809的一个比较详细的C程序.3. 18b20的c程序.4. 18b20的例外一个c程序.5. ZIGBEE开发板JN-AP-1002灯闪烁转换的例程.6. LWIP1.1.1在UCOS-II2.61上的移植.7. wince ril程序.8. Maria2 CarTV 20060707 Tony.9. PS2 游戏接口应用程序。IR 跳舞毯程序.10. PS2红外跳舞毯发射程序.11. 用三星的MCU写的CID电话机源程序.12. 合泰MCU写的电话机源程序.13. FSK软解码.14. 防盗报警器NTK源代码.15. EZUSB 同步流传输主机源代码!针对fx2芯片.16. 基于S3C44B0X的开发板原理图.17. PCI驱动开发事例文档说明.18. dsp f2812 源程序.19. dsp f2812 运行环境ccs2000的源程序.20. dsp f2812 运行环境ccs2000的源程序.21. dsp f2812 运行环境ccs2000的源程序.22. dsp f2812 运行环境ccs2000的源程序.23. dsp f2812 运行环境ccs2000的源程序.24. 一般都可以用msp430x14x串口通信的程序,这次主要在msp430F149中调过了.25. 车载显示器.26. LCM 12864厂家提供 C51驱动源程序.27. VHDL接口电路实用源程序.28. 用WINCE进行嵌入式开发的源代码开发板S3C2410.29. 解压或者复制到软件相应的目录即可使用此代码.30. 在linux下进行ARM开发所使用的源代码.31. 此为嵌入式linux开发驱动程序调试源代码.32. ARMLPC2129ucosii283(uCOSII2.83已经移植到arm7,iar环境).33. 自动拨号,用于ip自动拨号,防盗等.用c语言写成..34. zigbee Interface an Atmel AVR MCU with Freescales MC1319x ZigBee chip.35. cpress usb 芯片Vender 处理固件。 The purpose of this software is to demonstrate how to implement vendor s.36. 用C51做超声波,嵌入式开发模式,对开发者有用!.37. 详细提供了太阳能抓虫灯的原理图和布线图和材料表,自己开发没有抄袭.38. 详细提供了5000kw正弦波逆变器的原理图sch和pcb图纸.39. 本程序使用定时器1.40. CycloneII_NiosII的实验板资料.

    标签:

    上传时间: 2013-04-15

    上传用户:eeworm

  • 38V/100A可直接并联大功率AC/DC变换器

    38V/100A可直接并联大功率AC/DC变换器 随着电力电子技术的发展,电源技术被广泛应用于计算机、工业仪器仪表、军事、航天等领域,涉及到国民经济各行各业。特别是近年来,随着IGBT的广泛应用,开关电源向更大功率方向发展。研制各种各样的大功率,高性能的开关电源成为趋势。某电源系统要求输入电压为AC220V,输出电压为DC38V,输出电流为100A,输出电压低纹波,功率因数>0.9,必要时多台电源可以直接并联使用,并联时的负载不均衡度<5%。   设计采用了AC/DC/AC/DC变换方案。一次整流后的直流电压,经过有源功率因数校正环节以提高系统的功率因数,再经半桥变换电路逆变后,由高频变压器隔离降压,最后整流输出直流电压。系统的主要环节有DC/DC电路、功率因数校正电路、PWM控制电路、均流电路和保护电路等。 1 有源功率因数校正环节 由于系统的功率因数要求0.9以上,采用二极管整流是不能满足要求的,所以,加入了有源功率因数校正环节。采用UC3854A/B控制芯片来组成功率因数电路。UC3854A/B是Unitrode公司一种新的高功率因数校正器集成控制电路芯片,是在UC3854基础上的改进。其特点是:采用平均电流控制,功率因数接近1,高带宽,限制电网电流失真≤3%[1]。图1是由UC3854A/B控制的有源功率因数校正电路。   该电路由两部分组成。UC3854A/B及外围元器件构成控制部分,实现对网侧输入电流和输出电压的控制。功率部分由L2,C5,V等元器件构成Boost升压电路。开关管V选择西门康公司的SKM75GB123D模块,其工作频率选在35kHz。升压电感L2为2mH/20A。C5采用四个450V/470μF的电解电容并联。因为,设计的PFC电路主要是用在大功率DC/DC电路中,所以,在负载轻的时候不进行功率因数校正,当负载较大时功率因数校正电路自动投入使用。此部分控制由图1中的比较器部分来实现。R10及R11是负载检测电阻。当负载较轻时,R10及R11上检测的信号输入给比较器,使其输出端为低电平,D2导通,给ENA(使能端)低电平使UC3854A/B封锁。在负载较大时ENA为高电平才让UC3854A/B工作。D3接到SS(软启动端),在负载轻时D3导通,使SS为低电平;当负载增大要求UC3854A/B工作时,SS端电位从零缓慢升高,控制输出脉冲占空比慢慢增大实现软启动。 2 DC/DC主电路及控制部分分析 2.1 DC/DC主电路拓扑 在大功率高频开关电源中,常用的主变换电路有推挽电路、半桥电路、全桥电路等[2]。其中推挽电路的开关器件少,输出功率大,但开关管承受电压高(为电源电压的2倍),且变压器有六个抽头,结构复杂;全桥电路开关管承受的电压不高,输出功率大,但是需要的开关器件多(4个),驱动电路复杂。半桥电路开关管承受的电压低,开关器件少,驱动简单。根据对各种拓扑方案的工程化实现难度,电气性能以及成本等指标的综合比较,本电源选用半桥式DC/DC变换器作为主电路。图2为大功率开关电源的主电路拓扑图。

    标签: 100 38 AC DC

    上传时间: 2013-11-13

    上传用户:ukuk

  • 高压变频器前侧逆变晶闸管自供电驱动系统研究与设计.rar

    随着电力电子技术的发展,高压换流设备在工业应用中日益广泛。其核心元件晶闸管(SCR)的电压与电流越来越高(已达到10KV/10KA以上),应用场合要求也越来越高。在国际上,晶闸管的光控技术发展日益成熟。根据对国内晶闸管技术发展前景和需求的展望,本文采用自供电驱动技术与光控技术相结合,研发光控自供电晶闸管驱动控制板,然后与晶闸管本体相结合即形成光控晶闸管工程化实现模型,其可作为光控晶闸管的替代技术。 在工程应用中,光控晶闸管的典型应用场合为四象限高压变频器和国家大型直流输变电系统等。随着国家节能工程的实施,高压变频器的应用范围越来越广泛,已成为工业节能中的重要环节。高压直流换流系统难度大,技术复杂,要求高,本论文研究的光控晶闸管替代技术只作为其储备技术之一。本论文以电流源型高压变频器作为该光控晶闸管替代技术的应用背景重点阐述。 电流源型高压变频器为了提高单机容量,通常是数个SCR串联使用。随着系统容量越来越大,装置对高压开关器件的要求也越来越高。如果一组串联SCR中某一个SCR该导通时没有导通,那么加在该组SCR上的电压都将加到该SCR上形成过电压,造成该器件的击穿损坏,甚至于一组串联SCR都被烧坏。为了克服上述问题,保证高压变频器中串联晶闸管能够安全可靠的工作,提高系统可靠性,有必要为晶闸管配备后备驱动系统。本文提出了给SCR驱动电路增设自供电驱动系统——SPDS (Self—Powered Drive System)的解决办法。SPDS基本功能是通过高位取能电路利用RC缓冲电路中的能量为监测电路和后备触发电路提供正常工作所需要的能量。它的优点是由于缓冲电路与晶闸管同电位,自供电驱动系统要求的电压隔离水平可以从几千伏降低到几百伏,节省了高压隔离变压器,节省了成本和体积,提高了系统可靠性。国外对相关内容已经有了深入研究,并将其应用在高压变频器产品中。在国内,目前还没有查到相关文献。本文为基于晶闸管的电流源型高压变频器设计了一种高压晶闸管自供电驱动系统,填补了国内空白,为自供电驱动系统的推广应用和其他高压开关器件自供电驱动系统的研制提供了参考。 本文详细介绍了串联高压晶闸管驱动系统的要求和RC缓冲电路的工作特 点,进而提出了SPDS的工作原理和具体实现方式,阐述了SPDS各部分组成及其功能。SPDS的核心技术是取能回路和触发方式的设计。本文在比较各种高压取能方式和触发方式优缺点的基础上,选择采用RC缓冲取能方式和光纤触发方式。 论文基于Multisim10仿真软件,结合高压晶闸管自供电驱动系统取能电路的原理,对高压晶闸管自供电驱动系统的核心部分——SPDS取能电路进行了仿真。通过搭建带SPDS取能电路的单相晶闸管仿真电路和电流源型高压变频器前侧变流电路的仿真模型,详细讨论了影响RC取能回路正常工作的各种因素。同时,通过设定仿真电路的参数,分析了其工作状况。根据得到的仿真波形图,证明了高压晶闸管自供电驱动系统可以达到有效触发晶闸管导通的设计目标,具有可行性。 为考察SPDS的实际工作性能,本文搭建了简易的SPDS低压硬件实验平台,为其高压条件下的工程化应用打好了基础。 在论文的最后,对高压晶闸管自供电驱动系统的发展方向进行了展望。 关键词:高压变频器;晶闸管驱动;自供电系统;高压换流;光控晶闸管

    标签: 高压变频器 逆变 晶闸管

    上传时间: 2013-05-26

    上传用户:riiqg1989

  • MSP430系列flash型超低功耗16位单片机

    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系列器件命名

    标签: flash MSP 430 超低功耗

    上传时间: 2014-04-28

    上传用户:sssnaxie

  • 12345

    /****************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

  • 50V50A移相全桥ZVSDCDC变换器的设计.rar

    随着通讯技术和电力系统的发展,对通讯用电源和电力操作电源的性能、重量、体积、效率和可靠性都提出了更高的要求。而应用于中大功率场合的全桥变换器与软开关的结合解决了这一问题。因此,对其进行研究设计具有十分重要的意义。 首先,论文阐述PWM DC/DC变换器的软开关技术,且根据移相控制PWM全桥变换器的主电路拓扑结构,选定适合于本论文的零电压开关软开关技术的电路拓扑,并对其基本工作原理进行阐述,同时给出ZVS软开关的实现策略。 其次,对选定的主电路拓扑结构进行电路设计,给出主电路中各参量的设计及参数的计算方法,包括输入、输出整流桥及逆变桥的器件的选型,输入整流滤波电路的参数设计、高频变压器及谐振电感的参数设计以及输出整流滤波电路的参数设计。 然后,论述移相控制电路的形成,对移相控制芯片进行选择,同时对移相控制芯片UC3875进行详细的分析和设计。对主功率管MOSFET的驱动电路进行分析和设计。 最后,基于理论计算,对系统主电路进行仿真,研究其各部分设计的参数是否合乎实际电路。搭建移相控制ZV SDC/DC全桥变换器的实验平台,在系统实验平台上做了大量的实验。 实验结果表明,论文所设计的DC/DC变换器能很好的实现软开关,提高效率,使输出电压得到稳定控制,最后通过调整移相控制电路,可实现直流输出的宽范围调整,具有很好的工程实用价值。

    标签: ZVSDCDC 50V50A 移相全桥

    上传时间: 2013-08-04

    上传用户:zklh8989

  • 基于DSP控制电梯专用变频器研究.rar

    本文以电机控制DSPTMS320LF2407为核心,结合相关外围电路,运用新型SVPWM控制方法,设计电梯专用变频器。为了达到电梯专用变频器大转矩、高性能的要求,在硬件上提高系统的实时性、抗干扰性和高精度性;在软件上采用新型SVPWM控制方法,以消除死区的负面影响,另外单神经元PID控制器应用于速度环,对速度的调节作用有明显改善。通过软硬件结合的方式,改善电机输出转矩,使电梯控制系统的性能得到提高。 系统主电路主要由三部分组成:整流部分、中间滤波部分和逆变部分,分别用6RI75G-160整流桥模块、电解电容电路和7MBP50RA120IPM模块实现。并设计有起动时防止冲击电流的保护电路,以及防止过压、欠压的保护电路。其中,对逆变模块IPM的驱动控制是控制电路的核心,也是系统实现的主要部分。控制电路以DSP为核心,由IPM驱动隔离控制电路、转速位置检测电路、电流检测电路、电源电路、显示电路和键盘电路组成。对IPM驱动、隔离、控制的效果,直接影响系统的性能,反映了变频器的性能,所以这部分是改善变频器性能的关键部分。另外,本课题拟定的被控对象是永磁同步电动机(PMSM),要对系统实现SVPWM控制,依赖于转子位置的准确、实时检测,只有这样,才能实现正确的矢量变换,准确的输出PWM脉冲,使合成矢量的方向与磁场方向保持实时的垂直,达到良好的控制性能,因此,转子位置检测是提高变频器性能的一个重要环节。 系统采用的控制方式是SVPWM控制。本文从SVPWM原理入手,分析了死区时间对SVPWM控制的负面作用,采用了一种新型SVPWM控制方法,它将SVPWM的180度导通型和120度导通型结合起来,从而达到既可以消除死区影响,又可以提高电源利用率的目的。另外,在速度调节环节,采用单神经元PID控制器,通过反复的仿真证明,在调速比不是很大的情况下,其对速度环的调节作用明显优于传统PID控制器。 通过实验证明,系统基本上达到高性能的控制要求,适合于电梯控制系统。

    标签: DSP 控制 变频器

    上传时间: 2013-05-21

    上传用户:trepb001

  • 西门子变频器驱动电路.rar

    变频器由于其节能显著,在工业生产中应用越来越广泛。变频器的逆变部分一般采用智能功率模块,但是大功率的IPM的价格非常昂贵。西门子25KW的变频器采用IGBT模块所以降低了成本,其IGBT的驱动电路非常有特色值得学习。

    标签: 西门子变频器 驱动电路

    上传时间: 2013-07-14

    上传用户:Jason1990

  • 基于MATLAB的B样条小波程序的实现

    · 摘要:  MATLAB是一种建立在向量、数组、矩阵基础上,面向科学和工程计算的高级语言,为科学研究和工程计算提供了一个方便有效的工具.该文简要介绍了B样条和B样条小波的构成,并利用MATLAB语言编写了绘制任意阶B样条和B样条小波图形的程序.  

    标签: MATLAB 程序

    上传时间: 2013-04-24

    上传用户:sqq