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

数据<b>交换协议</b>

  • 429总线协议说明

    ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年发表并获得批准使用,它的全称是数字式信息传输系统(Digital Information Transmission System ) 。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进的民航客机中,如B-737、B-757、B-767,俄制军用飞机也选用了类似的技术。 ARINC429总线结构简单、性能稳定,抗干扰性强。最大的优势在于可靠性高。飞机上的ARINC429数据总线,用于在系统和设备之间传送上千种不同类型的参数,如航向、真空速、马赫数等。

    标签: 429总线协议

    上传时间: 2016-08-17

    上传用户:w50403

  • 面向舰艇通用数据采集的协议转换器的设计与测试

    针对目前舰艇系统通用数据采集需要,设计了一种基于DSP的协议转换器。克服了目前由于舰艇作战系统使用接口协议多样而造成通用性差的问题。通过在实验室环境下的组建数据采集系统并进行性能测试,证明该协议转换器能满足现阶段舰艇多接口数据采集的要求,新研制或改进的数据采集系统能满足高度通用化的需要。

    标签: 舰艇 协议转换器 测试 通用数据

    上传时间: 2013-10-28

    上传用户:ls530720646

  • 1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现

    1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题

    标签: 移动 发现

    上传时间: 2016-07-25

    上传用户:gxrui1991

  • 给定两个集合A、B

    给定两个集合A、B,集合内的任一元素x满足1 ≤ x ≤ 109,并且每个集合的元素个数不大于105。我们希望求出A、B之间的关系。 任 务 :给定两个集合的描述,判断它们满足下列关系的哪一种: A是B的一个真子集,输出“A is a proper subset of B” B是A的一个真子集,输出“B is a proper subset of A” A和B是同一个集合,输出“A equals B” A和B的交集为空,输出“A and B are disjoint” 上述情况都不是,输出“I m confused!”

    标签:

    上传时间: 2017-03-15

    上传用户:yulg

  • hsms协议

    对研究半导体自动化有帮助,与secs相关的hsms协议

    标签: e37;semi

    上传时间: 2015-04-28

    上传用户:asb2010

  • MODBUS通讯协议-RTU

    Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控

    标签: MODBUS RTU 通讯协议

    上传时间: 2017-07-11

    上传用户:c073961

  • VK3604A/B小体积蓝牙音箱4键触摸触控检测芯片多种输出方式选择:锁存/直接输出

    产品型号:VK3604A 产品品牌:VINKA/永嘉微电 封装形式:SOP16 产品年份:新年份 联 系 人:陈锐鸿 Q Q:361 888 5898 联系手机:188 2466 2436(信) 概述: VK3604/VK3604A具有4个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较高的 集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了4路输出功能,可通过IO脚选择输出电平,输出模式,输出脚结构,单键/多键和最 长输出时间。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可减少按键检测错误的 发生,此特性保证在不利环境条件的应用中芯片仍具有很高的可靠性。 此触摸芯片具有自动校准功能,低待机电流,抗电压波动等特性,为各种触摸按键+IO输 出的应用提供了一种简单而又有效的实现方法。 特点: • 工作电压 2.4-5.5V • 待机电流7uA/3.3V,14uA/5V • 上电复位功能(POR) • 低压复位功能(LVR)  • 触摸输出响应时间:工作模式 48mS ,待机模式160mS • 通过AHLB脚选择输出电平:高电平有效或者低电平有效 • 通过TOG脚选择输出模式:直接输出或者锁存输出 • 通过SOD脚选择输出方式:CMOS输出或者开漏输出 • 通过SM脚选择输出:多键有效或者单键有效 • 通过MOT脚有效键最长输出时间:无穷大或者16S • 通过CS脚接对地电容调节整体灵敏度(1-47nF)  • 各触摸通道单独接对地小电容微调灵敏度(0-50pF) • 上电0.25S内为稳定时间,禁止触摸 • 上电后4S内自校准周期为64mS,4S无触摸后自校准周期为1S • 封装SOP16(150mil)(9.9mm x 3.9mm PP=1.27mm) ———————————————— 产品型号:VK3604B 产品品牌:VINKA/永嘉微电 封装形式:TSSOP16 产品年份:新年份 联 系 人:陈锐鸿 1.概述 VK3604B具有4个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有 较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了4路直接输出功能。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可 减少按键检测错误的发生,此特性保证在不利环境条件的应用中芯片仍具有很高的可靠性。 此触摸芯片具有自动校准功能,低待机电流,抗电压波动等特性,为各种触摸按键+IO 输出的应用提供了一种简单而又有效的实现方法。   特点  • 工作电压 2.4-5.5V • 待机电流7uA/3.3V,14uA/5V • 上电复位功能(POR) • 低压复位功能(LVR)  • 触摸输出响应时间:  工作模式 48mS 待机模式160mS • CMOS输出,低电平有效,支持多键  • 有效键最长输出16S • 无触摸4S自动校准  • 专用脚接对地电容调节灵敏度(1-47nF)  • 各触摸通道单独接对地小电容微调灵敏度(0-50pF). • 上电0.25S内为稳定时间,禁止触摸. • 封装 TSSOP16L(4.9mm x 3.9mm PP=1.00mm) KPP841 标准触控IC-电池供电系列: VKD223EB --- 工作电压/电流:2.0V-5.5V/5uA-3V   感应通道数:1    通讯界面  最长回应时间快速模式60mS,低功耗模式220ms    封装:SOT23-6 VKD223B ---  工作电压/电流:2.0V-5.5V/5uA-3V   感应通道数:1    通讯界面   最长回应时间快速模式60mS,低功耗模式220ms    封装:SOT23-6 VKD233DB --- 工作电压/电流:2.4V-5.5V/2.5uA-3V  1感应按键  封装:SOT23-6   通讯界面:直接输出,锁存(toggle)输出  低功耗模式电流2.5uA-3V VKD233DH ---工作电压/电流:2.4V-5.5V/2.5uA-3V  1感应按键  封装:SOT23-6  通讯界面:直接输出,锁存(toggle)输出  有效键最长时间检测16S VKD233DS --- 工作电压/电流:2.4V-5.5V/2.5uA-3V  1感应按键  封装:DFN6(2*2超小封装) 通讯界面:直接输出,锁存(toggle)输出  低功耗模式电流2.5uA-3V VKD233DR --- 工作电压/电流:2.4V-5.5V/1.5uA-3V  1感应按键  封装:DFN6(2*2超小封装) 通讯界面:直接输出,锁存(toggle)输出  低功耗模式电流1.5uA-3V VKD233DG --- 工作电压/电流:2.4V-5.5V/2.5uA-3V  1感应按键  封装:DFN6(2*2超小封装) 通讯界面:直接输出,锁存(toggle)输出   低功耗模式电流2.5uA-3V  VKD233DQ --- 工作电压/电流:2.4V-5.5V/5uA-3V  1感应按键  封装:SOT23-6 通讯界面:直接输出,锁存(toggle)输出    低功耗模式电流5uA-3V  VKD233DM --- 工作电压/电流:2.4V-5.5V/5uA-3V  1感应按键  封装:SOT23-6 (开漏输出) 通讯界面:开漏输出,锁存(toggle)输出    低功耗模式电流5uA-3V  VKD232C  --- 工作电压/电流:2.4V-5.5V/2.5uA-3V   感应通道数:2  封装:SOT23-6   通讯界面:直接输出,低电平有效  固定为多键输出模式,内建稳压电路 MTP触摸IC——VK36N系列抗电源辐射及手机干扰: VK3601L  --- 工作电压/电流:2.4V-5.5V/4UA-3V3  感应通道数:1  1对1直接输出 待机电流小,抗电源及手机干扰,可通过CAP调节灵敏  封装:SOT23-6 VK36N1D --- 工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:1  1对1直接输出 触摸积水仍可操作,抗电源及手机干扰,可通过CAP调节灵敏封装:SOT23-6 VK36N2P --- 工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:2    脉冲输出 触摸积水仍可操作,抗电源及手机干扰,可通过CAP调节灵敏封装:SOT23-6 VK3602XS ---工作电压/电流:2.4V-5.5V/60UA-3V  感应通道数:2  2对2锁存输出 低功耗模式电流8uA-3V,抗电源辐射干扰,宽供电电压   封装:SOP8 VK3602K --- 工作电压/电流:2.4V-5.5V/60UA-3V   感应通道数:2   2对2直接输出 低功耗模式电流8uA-3V,抗电源辐射干扰,宽供电电压   封装:SOP8 VK36N2D --- 工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:2   1对1直接输出 触摸积水仍可操作,抗电源及手机干扰,可通过CAP调节灵敏封装:SOP8 VK36N3BT ---工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:3  BCD码锁存输出 触摸积水仍可操作,抗电源及手机干扰,可通过CAP调节灵敏  封装:SOP8 VK36N3BD ---工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:3  BCD码直接输出 触摸积水仍可操作,抗电源及手机干扰,可通过CAP调节灵敏  封装:SOP8 VK36N3BO ---工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:3  BCD码开漏输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP8/DFN8(超小超薄体积) VK36N3D --- 工作电压/电流:2.2V-5.5V/7UA-3V3  感应通道数:3  1对1直接输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N4B ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:4    BCD输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N4I---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:4    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N5D ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:5   1对1直接输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N5B ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:5    BCD输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N5I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:5    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N6D --- 工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:6   1对1直接输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N6B ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:6    BCD输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N6I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:6    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N7B ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:7    BCD输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N7I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:7    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N8B ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:8    BCD输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N8I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:8    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N9I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:9    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) VK36N10I ---工作电压/电流:2.2V-5.5V/7UA-3V3   感应通道数:10    I2C输出 触摸积水仍可操作,抗电源及手机干扰  封装:SOP16/DFN16(超小超薄体积) 1-8点高灵敏度液体水位检测IC——VK36W系列 VK36W1D  ---工作电压/电流:2.2V-5.5V/10UA-3V3  1对1直接输出  水位检测通道:1 可用于不同壁厚和不同水质水位检测,抗电源/手机干扰封装:SOT23-6 备注:1. 开漏输出低电平有效  2、适合需要抗干扰性好的应用 VK36W2D  ---工作电压/电流:2.2V-5.5V/10UA-3V3  1对1直接输出  水位检测通道:2 可用于不同壁厚和不同水质水位检测,抗电源/手机干扰封装:SOP8 备注:1.  1对1直接输出   2、输出模式/输出电平可通过IO选择 VK36W4D  ---工作电压/电流:2.2V-5.5V/10UA-3V3  1对1直接输出  水位检测通道:4 可用于不同壁厚和不同水质水位检测,抗电源/手机干扰封装:SOP16/DFN16 备注:1.  1对1直接输出   2、输出模式/输出电平可通过IO选择 VK36W6D  ---工作电压/电流:2.2V-5.5V/10UA-3V3  1对1直接输出  水位检测通道:6 可用于不同壁厚和不同水质水位检测,抗电源/手机干扰封装:SOP16/DFN16 备注:1.  1对1直接输出    2、输出模式/输出电平可通过IO选择 VK36W8I  ---工作电压/电流:2.2V-5.5V/10UA-3V3  I2C输出    水位检测通道:8 可用于不同壁厚和不同水质水位检测,抗电源/手机干扰封装:SOP16/DFN16 备注:1.  IIC+INT输出     2、输出模式/输出电平可通过IO选择  KPP841

    标签: 3604 输出 VK 体积 蓝牙音箱 检测 方式 芯片 触控 锁存

    上传时间: 2022-04-11

    上传用户:shubashushi66

  • 仪器接口平台SCPI解析模块设计.rar

    随着计算机技术的迅猛发展,受其影响的仪器行业也发生了巨大的变革,即仪器的手动操作使用改为计算机控制自动测试。随着自动测试技术和程控仪器的发展,除了要求物理硬件接口标准化外,也要求软件控制标准化。 硬件方面,从20世纪50代自动测试概念建立起,经过初期专用接口、半专用接口到20世纪80年代中期才普及推广开放式标准接口总线,如RS232串行通信接口总线、GPIB通用接口总线、PXI计算机外围仪器系统总线、VXI块式仪器系统总线等。 软件方面,1987年6月颁布的IEEE488.2(程控仪器消息交换协议)标准首先解决了数据结构方面的问题,但仍将大量的器件语义留给设计者自由定义。1990年4月,国际上九家仪器公司在IEEE488.2基础上提出了SCPI(Standard Commands for Programmable Instruments程控仪器标准命令),才使程控仪器器件数据和命令得到标准化。SCPI的总目标是缩短自动测试系统程序开发时间,保护仪器制造者和使用者双方的硬、软件投资,为仪器控制和数据利用提供广泛兼容的编码环境。 仪器接收到SCPI消息后进行响应:接收字符串消息、词法分析、语法分析、中间代码生成、优化和目标代码生成,语法分析模块的性能直接影响到程控执行效率。为了进一步简化仪器内语法分析模块、提高程控执行效率,本课题提出了在接口电路中加入解析模块的思想,可将控制器发送到仪器的SCPI消息即复杂的ASCII码字符串转变为简单的二进制代码。采用此解析模块将大大简化仪器设计者的软件工作,既能实现仪器语言标准化又能提高仪器对远程 控制的响应速度,这在研究实验室内的自制仪器时将是很有用的。 仪器接口有很多种,本课题主要讨论了RS232和GPIB两种接口。本设计中仪器接口板是独立于仪器的,与仪器单独使用微处理器,若要与仪器连接实现通信只需在两微处理器之间进行通信即可,这样做的目的是:一方面可以不影响仪器的设计和操作,一方面可以实现接口板的通用性和仪器的可换性。针对于RS232接口为一简单接口,我先将工作重心放在软件设计上,主要考虑怎样把复杂的ASCII码字符串解析为简单的二进制代码。针对于GPIB接口,软件设计的主要部分已完成,再把工作重心放在硬件设计上,采用性价比更高的CPID实现GPIB接口芯片NAT9914。为了观察解析结果还加入了LCD显示。本设计在开发通用的、低价的仪器接口板方面做了一个有益的尝试,为进一步的自动测试系统研究打下了基础。 关键词:仪器;SCPI;RS232接口;GPIB接口;CPLD

    标签: SCPI 仪器接口 模块设计

    上传时间: 2013-04-24

    上传用户:Andy123456

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • 串行编程器源程序(Keil C语言)

    串行编程器源程序(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;}

    标签: Keil 串行 C语言 编程器

    上传时间: 2013-11-12

    上传用户:gut1234567