一个X24C系列芯片的离线编程器,带有序列号和菜单的哦,通过超级终端输出显示菜单和编程状态,要编程的芯片数据通过二进制编辑器添加到源代码中,一起写入单片机,并要在源代码中修改芯片数据的指针。
上传时间: 2016-06-16
上传用户:ayfeixiao
MSP430 PRGS离线编程器烧录软件,支持最新FR系列单片机
标签: 离线编程器
上传时间: 2022-07-23
上传用户:
本文以异步电机参数离线自整定及参数在线辨识为对象,从理论分析,算法提出,仿真证明和实验验证四部分进行了深入研究。 异步电机参数离线自整定及参数在线辨识技术的研究,为异步电机控制性能的不断提高提供了保障,以使更好,更精确的控制方式能够应用到工程实际中去。 由于在工程中使用的电机和变频器不一定能够匹配,而需要在电机运行之前由专业的工程师对变频器作重新设置,此过程复杂,耽误时间而且需要专业人员操作。 本文提出一套异步电机参数离线自整定算法,使用C语言编程,并在一台2.2KW电机的硬件实验平台上验证了该算法,实现了电机在运行之前,变频器自动测试出电机的基本参数,为矢量控制等控制方式提供所需要的电机参数。 电机在运行过程中,由于温度等因素的影响,电机的参数会发生变化,影响电机运行的稳定性,所以要对电机参数做在线辨识。本文对异步电机参数在线辨识作了理论分析和方法总结,为下一步工作打下基础。 算法的实现需要相应的硬件实验平台,本文对硬件实验平台作了详细介绍,包括主电路的设计、IGBT的驱动保护电路设计、DSP数字控制器的设计。 本文还对文中提出的实验方法作了MATLAB/Simulink仿真,验证了该方法的可行性,对实验有指导意义。
上传时间: 2013-04-24
上传用户:541657925
超星阅读器和离线阅读破解,帮助你阅读加密了的PDG格式文件。
上传时间: 2013-07-19
上传用户:RedLeaves1995
在异步电机三相逆变中,当电机低速运行时,因输出电压较低,由死区时间和信号传播延迟造成的电压损失会使输出电流发生明显的畸变。为改善逆变器输出电流波形,需要进行电压补偿。常用的电压补偿方法有电压反馈补偿、电流反馈补偿、死区解耦补偿、自适应死区补偿等,最常用且容易实现的方法就是电流反馈补偿。电流反馈补偿需要知道电流采样通道及开关器件延迟、开关器件压降、死区时间等参数,为避免直接查阅芯片资料造成的参数误差,本文提出了一种逆变器电压补偿参数离线辨识方法,并研究了该方法在电压补偿中的应用。
上传时间: 2013-10-30
上传用户:wangdean1101
串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 { nTimeOut++; if(nTimeOut>1000)//超时了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上传时间: 2013-11-12
上传用户:gut1234567
TKS仿真器B系列快速入门
上传时间: 2013-10-31
上传用户:aix008
自制AT89S51编程器教程 编程器制作包 1.1 修正了电路两处错误。 编程器制作包 1.2 增加了一个下载线调试程序
上传时间: 2013-12-21
上传用户:erkuizhang
下载了 ARM 汇编编程网站的离线文档,此文档基于一个余从未见过的操作系统 RISC OS,但基本的东西如指令集是跨越厂商和平台的,汇编格式等差异应当不是大问题。余从中选译了指令集部分,没有选取依赖于特定硬件和工具的内容,并附加了余翻译的另一篇短文“ARM 指令格式和时序”。余对明显的错误进行了订正,并对部分内容做了一些必要的修改,好在改动的地方不是很多。余乃一介草莽,难免疏失错讹,祈望仁者指正。
上传时间: 2015-03-26
上传用户:nairui21
动态数据采集器与离线监测诊断系统,,很详细的介绍
上传时间: 2013-12-30
上传用户:jeffery