本文简单介绍了MCGS 组态软件和SPCE061A 单片机的特点,即北京昆仑通态自动化软件科技有限公司的工控组态软件MCGS(Monitor and Control Generated System )和台湾凌阳科技推出的16 位微控制器SPCE061A,重点介绍了如何一步步开发SPCE061A 单片机的驱动程序,并简单介绍了下位机程序的设计,最后给出了测试情况。计算机技术的飞速发展为工业自动化开辟了广阔的发展空间,人们可以快捷地开发和组建高效的控制系统。笔者设计的液体点滴监控模型,可以对液体点滴情况实现远程监控和现场监控,终端和上位机均可人工设定所需的液体点滴速度并动态显示。在这方面,MCGS 工控组态软件提供了强有力的支持,它是一套Windows 环境下快速构造和生成上位机监控系统的组态软件系统,可快速构造和生成数据采集、报警处理、流程控制、动画显示、报表输出等界面,实现各种工程曲线的绘制、报表输出、远程通信等功能 [1]。MCGS 作为一种方便有效的通用工控软件,它提供了国内外各种常用的工控设备的驱动程序。但在实际应用中,因为所用设备的特殊性,允许用户根据需要来定制设备驱动程序。MCGS 用Active DLL 构件实现设备驱动程序,通过规范的OLE 接口挂接到MCGS 中,使其构成一个整体。鉴于Visual Basic 语言的通用性和简单性,使用VB 来开发单片机驱动,MCGS 的实现方法和原理与标准的Active DLL 完全一致,但MCGS 规定了一套接口规范,只有遵守这些接口规范的Active DLL 才能用作MCGS 的设备驱动构件。利用具有语音和 DSP 功能的SPCE061A 单片机作为液体点滴监控模型的核心控制器,SPCE061A 是台湾凌阳科技推出的16 位微控制器,提供了丰富的软、硬件资源,开发灵活方便。除此之外SPCE061A 的最高时钟频率可达到49MHz,具有运算速度高的优势,这为语音的录制和播放提供了条件[4]。
上传时间: 2013-12-19
上传用户:leesuper
串行编程器源程序(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
STM8S105xx_中文资料:这本数据手册描述了STM8S105xx基础型系列单片机的特点、引脚分配、电气特性、机械特性和订购信息。 如果需要关于STM8S单片机存储器、寄存器和外设等的详细信息,请参考STM8S系列单片机参考手册(RM0016) 。 如果需要关于内部Flash存储器的编程、擦除和保护的信息,请参考STM8S闪存编程手册(PM0051) 。 如果需要关于调试和SWIM(single wire interface module单线接口模块),请参考STM8SWIM 通信协议和调试模块用户手册(UM0470) 。 如果需要关于STM8 内核的信息,请参考STM8 CPU编程手册(PM0044) 。
上传时间: 2013-11-03
上传用户:JasonC
1986年以来,通用可重编程逻辑阵列(GAL)器件几乎风靡整个可编程逻辑器件(PLD)市场。GAL以其高性能、高可靠性、可擦除及输出逻辑结构可组态的特性,博得了广大用户的偏爱。就历史而言,CAL是在其它 PLD器件的基础上发展起来的。但是GAL不愧为目前最理想的PLD逻辑芯片。
上传时间: 2014-01-09
上传用户:宋桃子
GAL(generic array logic)是美国晶格半导体公 司(gem 0udu or)最新推出的可电擦写、可重复编 程、可加密的一种可编程逻辑器件(PLD)。这是第二 代PAL, 亦是目前最理想的可多次编程的逻辑电路。 它不象PAL是一次性编程,品种乡 也不像EPSOM 需要用紫外线照射擦除。GAL 电路能反复编程 采用 的是电擦除技术 可随时进行修改,其内部有一个特殊 结构控制字,使它芯片类型少,功能全。目前普遍果用 的芯片只有两种:GAL16VS(20 g『脚)和GAL20V8 (24号『脚) 这两种GAL能仿真所有的PAL,并能按 设计者自己的需要构成各种功能的逻辑电瑞在研制 开发新的电路系统时 极为方便。
标签: GAL
上传时间: 2013-10-20
上传用户:9牛10
采用EEPROM 工艺设计通用阵列逻辑器件 ——遇到的问题与解决方案 深圳市国微电子股份有限公司 裴国旭 电可擦除只读存储器(EEPROM)工艺可广泛运用于各种消费产品中,像微控制器、 无线电话、数字信号处理器、无线通讯设备以及诸如专用芯片设计等诸多应用设备中。0.18μmEEPROM 智能模块平台可广泛应用于快速增长的IC 卡市场,如手机SIM 卡、借记卡、信用卡、身份证、智能卡、USB 钥匙以及其他需要安全认证或需时常更新和编写资料的应用设备中。
上传时间: 2013-11-10
上传用户:baba
关于at29c040的驱动,包括对该芯片的读写和擦除。还提供了该ic驱动电路
上传时间: 2014-01-14
上传用户:王者A
freescale单片机串行通讯程序,数据包方式,支持数据发送正常检验,并可使用命令实现对片机FLASH的读、写和擦除功能。
上传时间: 2014-12-22
上传用户:lunshaomo
WINDOWS CE 通信指南(附光盘) 本书配套光盘内容包括:本书的英文版电子书;SDK for Windows CE,Handheld PC Professional Edition 3.0;范例源代码;送“Internet互联网即时通”多媒体学习软件。 本书是Microsoft Windows CE开发人员指南系列丛书之一。Microsoft Windows CE是公司为系统资源有限的设备开发的一种小型操作系统。因为Windows CE具有模块化的设计特征,所以能够适用于多种设备,包括从手提PC(H/PC)到嵌入式系统。全书共分十章:Windows CE通信概述,串行通信,电话API,远程访问服务,Windows插口,Windows连网,Internet连接,安全支持提供者接口密码技术和无线服务。 本书是为Windows CE开发人员编写的,是Windows CE应用程序开发人员必备的手册,同时也可作为广大科技人员,大专院校相关专业师生自学的参考书。 本书配套光盘内容包括:本书的英文版电子书;SDK for Windows CE,Handheld PC Professional Edition 3.0;范例源代码;送“Internet互联网即时通”多媒体学习软件。
上传时间: 2015-04-13
上传用户:czl10052678
TH58NVG1S3AFT05驱动源码,包括最基本的底层读写擦除操作等
上传时间: 2015-04-14
上传用户:Altman