学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。
上传时间: 2013-12-18
上传用户:xyipie
串行编程器源程序(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
Xilinx 高性能 CPLD、FPGA 和配置 PROM 系列具备在系统可编程性、可靠的引脚锁定以及JTAG 边界扫描测试功能。此强大的功能组合允许设计人员在进行重大更改时,仍能保留原始的器件引脚,从而避免重组 PC 板。通过利用嵌入式控制器从板载 RAM 或 EPROM 对这些CPLD 和 FPGA 编程,设计人员可轻松升级、修改和测试设计,即使在现场也是如此。
上传时间: 2014-08-10
上传用户:sc965382896
已通过CE认证。(为什么要选择经过CE认证的编程器?) 程速度无与伦比,逼近芯片理论极限。 基本配置48脚流行驱动电路。所选购的适配器都是通用的(插在DIP48锁紧座上),即支持同封装所有类型器件,48脚及以下DIP器件无需适配器直接支持。通用适配器保证快速新器件支持。I/O电平由DAC控制,直接支持低达1.5V的低压器件。 更先进的波形驱动电路极大抑制工作噪声,配合IC厂家认证的算法,无论是低电压器件、二手器件还是低品质器件均能保证极高的编程良品率。编程结果可选择高低双电压校验,保证结果持久稳固。 支持FLASH、EPROM、EEPROM、MCU、PLD等器件。支持新器件仅需升级软件(免费)。可测试SRAM、标准TTL/COMS电路,并能自动判断型号。 自动检测芯片错插和管脚接触不良,避免损坏器件。 完善的过流保护功能,避免损坏编程器。 逻辑测试功能。可测试和自动识别标准TTL/CMOS逻辑电路和用户自定义测试向量的非标准逻辑电路。 丰富的软件功能简化操作,提高效率,避免出错,对用户关怀备至。工程(Project)将用户关于对象器件的各种操作、设置,包括器件型号设定、烧写文件的调入、配置位的设定、批处理命令等保存在工程文件中,每次运行时一步进入写片操作。器件型号选择和文件载入均有历史(History)记录,方便再次选择。批处理(Auto)命令允许用户将擦除、查空、编程、校验、加密等常用命令序列随心所欲地组织成一步完成的单一命令。量产模式下一旦芯片正确插入CPU即自动启动批处理命令,无须人工按键。自动序列号功能按用户要求自动生成并写入序列号。借助于开放的API用户可以在线动态修改数据BUFFER,使每片芯片内容均不同。器件型号选错,软件按照实际读出的ID提示相近的候选型号。自动识别文件格式, 自动提示文件地址溢出。 软件支持WINDOWS98/ME/NT/2000/XP操作系统(中英文)。 器件型号 编程(秒) 校验(秒) P+V (s) Type 28F320W18 9 4.5 13.5 32Mb FLASH 28F640W30 18 9 27 64Mb FLASH AM29DL640E 38.3 10.6 48.9 64Mb FLASH MB84VD21182DA 9.6 2.9 12.5 16Mb FLASH MB84VD23280FA 38.3 10.6 48.9 64Mb FLASH LRS1381 13.3 4.6 19.9 32Mb FLASH M36W432TG 11.8 4.6 16.4 32Mb FLASH MBM29DL323TE 17.5 5.5 23.3 32Mb FLASH AT89C55WD 2.1 1 3.1 20KB MCU P89C51RD2B 4.6 0.9 5.5 64KB MCU
上传时间: 2013-10-18
上传用户:suicoe
深入剖析赛灵思(Xilinx)All Programmable三大创新器件:赛灵思在 28nm 节点上推出的多种新技术为客户带来了重大的超前价值,并使赛灵思领先竞争对手整整一代。赛灵思并不是简单地将现有的 FPGA 架构迁移到新的技术节点上,而是力求引领多种 FPGA 创新,并率先推出了 All Programmable 3D IC 和 SoC。 今天推出的 All Programmable 产品采用了各种形式的可编程技术,包括可编程硬件和软件、数字信号和模拟混合信号(AMS)、单晶片和多片 3D IC 方案(图 1)。有了这些全新的 All Programmable 器件,设计团队就能进一步提升可编程系统的集成度,提高整体系统性能,降低 BOM 成本,并以更快的速度向市场推出更具创新性的智能产品。
标签: Programmable Xilinx All 赛灵思
上传时间: 2013-10-29
上传用户:1427796291
Xilinx 高性能 CPLD、FPGA 和配置 PROM 系列具备在系统可编程性、可靠的引脚锁定以及JTAG 边界扫描测试功能。此强大的功能组合允许设计人员在进行重大更改时,仍能保留原始的器件引脚,从而避免重组 PC 板。通过利用嵌入式控制器从板载 RAM 或 EPROM 对这些CPLD 和 FPGA 编程,设计人员可轻松升级、修改和测试设计,即使在现场也是如此。
上传时间: 2013-11-03
上传用户:dongbaobao
1986年以来,通用可重编程逻辑阵列(GAL)器件几乎风靡整个可编程逻辑器件(PLD)市场。GAL以其高性能、高可靠性、可擦除及输出逻辑结构可组态的特性,博得了广大用户的偏爱。就历史而言,CAL是在其它 PLD器件的基础上发展起来的。但是GAL不愧为目前最理想的PLD逻辑芯片。
上传时间: 2014-01-09
上传用户:宋桃子
摘要:介绍用一片GAL16V8实现的模≤2n可编程计数器。它是基于“最大长度移位寄存器式计数器”的原理设计而成的.电路简单可靠.同时介绍一种由它组成的实用电路——由GAL实现时、分、秒计时的数字钟电路。 关键词:GAL 最大长度移位寄存器式计数器
上传时间: 2013-11-12
上传用户:comua
已通过CE认证。(为什么要选择经过CE认证的编程器?) 程速度无与伦比,逼近芯片理论极限。 基本配置48脚流行驱动电路。所选购的适配器都是通用的(插在DIP48锁紧座上),即支持同封装所有类型器件,48脚及以下DIP器件无需适配器直接支持。通用适配器保证快速新器件支持。I/O电平由DAC控制,直接支持低达1.5V的低压器件。 更先进的波形驱动电路极大抑制工作噪声,配合IC厂家认证的算法,无论是低电压器件、二手器件还是低品质器件均能保证极高的编程良品率。编程结果可选择高低双电压校验,保证结果持久稳固。 支持FLASH、EPROM、EEPROM、MCU、PLD等器件。支持新器件仅需升级软件(免费)。可测试SRAM、标准TTL/COMS电路,并能自动判断型号。 自动检测芯片错插和管脚接触不良,避免损坏器件。 完善的过流保护功能,避免损坏编程器。 逻辑测试功能。可测试和自动识别标准TTL/CMOS逻辑电路和用户自定义测试向量的非标准逻辑电路。 丰富的软件功能简化操作,提高效率,避免出错,对用户关怀备至。工程(Project)将用户关于对象器件的各种操作、设置,包括器件型号设定、烧写文件的调入、配置位的设定、批处理命令等保存在工程文件中,每次运行时一步进入写片操作。器件型号选择和文件载入均有历史(History)记录,方便再次选择。批处理(Auto)命令允许用户将擦除、查空、编程、校验、加密等常用命令序列随心所欲地组织成一步完成的单一命令。量产模式下一旦芯片正确插入CPU即自动启动批处理命令,无须人工按键。自动序列号功能按用户要求自动生成并写入序列号。借助于开放的API用户可以在线动态修改数据BUFFER,使每片芯片内容均不同。器件型号选错,软件按照实际读出的ID提示相近的候选型号。自动识别文件格式, 自动提示文件地址溢出。 软件支持WINDOWS98/ME/NT/2000/XP操作系统(中英文)。 器件型号 编程(秒) 校验(秒) P+V (s) Type 28F320W18 9 4.5 13.5 32Mb FLASH 28F640W30 18 9 27 64Mb FLASH AM29DL640E 38.3 10.6 48.9 64Mb FLASH MB84VD21182DA 9.6 2.9 12.5 16Mb FLASH MB84VD23280FA 38.3 10.6 48.9 64Mb FLASH LRS1381 13.3 4.6 19.9 32Mb FLASH M36W432TG 11.8 4.6 16.4 32Mb FLASH MBM29DL323TE 17.5 5.5 23.3 32Mb FLASH AT89C55WD 2.1 1 3.1 20KB MCU P89C51RD2B 4.6 0.9 5.5 64KB MCU
上传时间: 2013-11-21
上传用户:xiaoyuer
CPLD/FPGA是目前诮用最为广泛的两种可编程专用集成电路(ASIC),特别适合于产品的样品开发与小批量生产。本书从现代电子系统设计的角度出发,以全球著名的可编程逻辑器件供应商Xilinx公司的产品为背景,系统全面地介绍该公司的CPLD/FPGA产品的结构原理、性能特点、设计方法以及相应的EDA工具软件,重点介绍CPLD/FPGA在数字系统设计、数字通信与数字信号处理等领域中的应用。 本书内容新颖、技术先进、由浅入深,既有关于大规模可编辑逻辑器件的系统论述,又有丰富的设计应用实例。对于从事各类电子系统(通信、雷达、程控交换、计算机等)设计的科研人员和应用设计工程师,这是一本具有实用价值的新技术应用参考书。本书也可作为高等院校电子类高年级本科生或研究生的教材或教学参考书。
上传时间: 2015-04-16
上传用户:lizhen9880