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

UCI数据集

  • 基于PIC单片机的以太网数据采集与控制电路设计

    本文介绍了由单片机控制的基于以太网的数据采集电路。该电路采用了美国Microchip公司的8位单片机PIC16F877和台湾Realtek公司的10M以太网控制芯片RTL8019AS,实现了数据采集以及以太网数据传输的功能。整个电路主要包括网络接口电路,单片机电路,A/D转换电路,D/A转换电路,RAM存储电路,EEPROM存储电路,DIO电路等。文中简单阐述了以太网数据采集电路的设计原理,并给出了其实现的方法。随着互联网络软硬件的迅猛发展,网络用户快速增长。在计算机网络互联的同时,各种仪器仪表、家电设备以及工业生产中的数据采集与控制设备慢慢的走向网络化,便于共享网络中丰富的信息资源。另一方面,由于以太网技术越来越成熟,并且拥有高速、大容量、降低成本、简化结构等特性,使得其在各种领域内迅速发展。在电子设备日趋网络化的背景下,通过单片机控制以太网芯片进行数据传输,是当前令人感兴趣的一个研究方向。通过单片机控制芯片编程就可以完全抛开网络操作系统而实现局域网内任意终端之间或单片机与终端之间的通信,即在脱离PC环境下实现以太网芯片与其它微处理器之间的接口,从而建立基于非PC平台的局域网络。本系统设计了PIC单片机驱动台湾Realtek公司生产的NE2000兼容以太网控制芯片RTL8019AS,从而构建了一个微型网络数据采集系统,性能优良,成本低廉。

    标签: PIC 单片机 以太网数据采集 控制

    上传时间: 2013-10-16

    上传用户:CSUSheep

  • 基于单片机的蓄电池温度数据采集系统

    为了对蓄电池的温度进行检测,数据采集是必不可少的手段。程序控制数据采集系统是比较先进的采集方式,本文采用热电偶为温度检测元件对蓄电池温度信号进行采集来构建单片机温度采集系统,较好的实现了所需目的。为了确知某一测试对象的各项特性,我们常常要借助各种仪表和各种手段(直接测量或遥测)来获得各种各样的测量结果(数据)。但这些数据中包含有变换误差、设备误差以及在传输过程中(当采用遥测方式时)引入的各种干扰所造成的误差等。而且这些数据量通常都很大,有意义的部分和无意义的部分混杂在一起,如果不加取舍的直接应用,必然会造成极大不便。另外,很多情况下还需通过再加工(即将数据作某种变换)以便提供物理意义更明确更直接的数据形式(输入振动波形的频谱分析等)。上述这些问题都要靠数据采集与处理加以解决。为了对蓄电池的温度进行检测,本文采用热电偶为温度检测元件对蓄电池温度信号进行采集来构建单片机温度采集系统,较好的实现了所需目的。

    标签: 单片机 蓄电池 温度数据采集

    上传时间: 2014-12-28

    上传用户:CHINA526

  • 芯源电子单片机教程(中文版)

    327 单片机原理及应用328 MCS-51单片机原理及实用技术329 位微型计算机原理·接口技术及其应用330 单片机开发与典型应用设计331 单片机实用系统设计技术332 IBM PC微型计算机原理及接口技术333 MCS-51单片机原理及接口技术 修订版334 北京职业教育计算机应用培训教材 单片机——原理·操作·实验·应用335 单片机实用技术_整机设计、多机通信、实用技术336 EM78系列单片机简介337 单片机器件应用手册338 MCS 96 MC68单片机原理与应用339 数字PID及其算法699 MCS-51单片机开发系统与监控分析700 MCS-51单片机原理及接口技术701 MCS-51系列单片机实用接口技术702 PC机及单片机数据通信技术703 PIC系列单片机应用设计与实例704 单片机外围器件实用手册 电源器件分册705 单片机基础706 单片机模糊控制系统设计与应用实例707 单片机器件应用手册708 单片机实用开发指南709 单片机应用技术大全710 单片机应用系统抗干扰技术711 单片机应用技术选编712 单片机原理及系统设计713 单片机原理与应用教程714 数字信号处理C语言程序集715 单片机接口技术实验指导716 信号处理单片机及应用(上)717 信号处理单片机及应用(下)718 智能仪器(单片机应用系统设计)719 自装单片微电脑快速入门720 8051单片机实践与应用741 边学边用C语言

    标签: 芯源 电子 单片机教程

    上传时间: 2014-04-05

    上传用户:q986086481

  • PIC单片机设计电子密码锁

    介绍用PIC16F84单片机制作的电子密码锁。PIC16F84单片机共18个引脚,13个可用I/O接口。芯片内有1K×14的FLASHROM程序存储器,36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器,8级深度的硬堆栈。 用PIC单片机设计的电子密码锁微芯公司生产的PIC8位COMS单片机,采用类RISC指令集和哈弗总线结构,以及先进的流水线时序,与传统51单片机相比其在速度和性能方面更具优越性和先进性。PIC单片机的另一个优点是片上硬件资源丰富,集成常见的EPROM、DAC、PWM以及看门狗电路。这使得硬件电路的设计更加简单,节约设计成本,提高整机性能。因此PIC单片机已成为产品开发,尤其是产品设计和研制阶段的首选控制器。本文介绍用PIC16F84单片机制作的电子密码锁。PIC16F84单片机共18个引脚,13个可用I/O接口。芯片内有1K×14的FLASHROM程序存储器,36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器,8级深度的硬堆栈。硬件设计  电路原理见图1。Xx8位数据线接4x4键盘矩阵电路,面板布局见表1,A、B、C、D为备用功能键。RA0、RA7输出4组编码二进制数据,经74LS139译码后输出逐行扫描信号,送RB4-RB7列信号输入端。余下半个139译码器动扬声器。RB2接中功率三极管基极,驱动继电器动作。有效密码长度为4位,根据实际情况,可通过修改源程序增加密码位数。产品初始密码为3345,这是一随机数,无特殊意义,目的是为防止被套解。用户可按*号键修改密码,按#号键结束。输入密码并按#号确认之后,脚输出RB2脚输出高电平,继电器闭合,执行一次开锁动作。  若用户输入的密码正确,扬声器发出一声稍长的“滴”提示声,若输入的密码与上次修改的不符,则发出短促的“滴”声。连续3次输入密码错误之后,程序锁死,扬声器报警。直到CPU被复位或从新上电。软件设计  软件流程图见图3。CPU上电或复位之后将最近一次修改并保存到EEPROM的密码读出,最为参照密匙。然后等待用户输入开锁密码。若5分钟以内没有接受到用户的任何输入,CPU自动转入掉电模式,用户输入任意值可唤醒CPU。每次修改密码之后,CPU将新的密码存入内部4个连续的EEPROM单元,掉电后该数据任有效。每执行一次开锁指令,CPU将当前输入密码与该值比较,看是否真确,并给出相应的提示和控制。布     局  所有元件均使用SMD表贴封装,缩小体积,便于产品安装,60X60双面PCB板,顶层是一体化输入键盘,底层是元件层。成型后的产品体积小巧,能很方便的嵌入防盗铁门、保险箱柜。

    标签: PIC 单片机设计 电子密码锁

    上传时间: 2013-10-31

    上传用户:uuuuuuu

  • 51单片机工程师实例设计程序集-(20种常见应用整编)

    51单片机工程师实例设计程序集-(20种常见应用整编) \7290\                          ;ZLG7290例程*\7290a\                         ;ZLG7290汇编例程*\bell\                          ;蜂鸣器音乐例程*\buzz\                          ;蜂鸣器响例程*\eeprom\                        ;读EEPROM并显示例程*\ex26a_lcd\                     ;16×2LCD模块例程*\ex36a_lcm\                     ;128×64点阵LCD模块例程*\KEY_IO\                        ;直连KEY和LED例程\led_light\                     ;直连LED例程*\lin_park\   ;lin模块的原码及例程。\lin\                           ;LIN总线例程\rs232\                         ;RS232例程(包括PC端和书上了串口例程)\USB1.1\                        ;USB1.1例程(包括PC端)\RS485\                         ;RS485例程\USB2.0\                        ;USB2.0例程(有3个,包括PC端)\TCPIP\                         ;基于ETHERNET的TCPIP例程\RTC\                           ;时钟显示例程\CAN_SELF\                      ;CAN自发自收例程  外中断1\CAN\                           ;CAN例程\USBPACK 2.0\                   ;USB2.0PC例程 注意:带*程序为MON51调试程序。在MON时程序下载后停不下来,可以按一下RSE按钮复位一下。

    标签: 51单片机 工程师 设计程序

    上传时间: 2013-10-13

    上传用户:雨出惊人love

  • 汇编语言在数据处理中的应用

    汇编语言在数据处理中应用(自学)1、数值转换中应用          数据输入/输出时的转换2、串操作中应用                                                               串移动、串搜索、串比较、          串插入、串删除3、代码转换中应用           ASCII码          BCD码           二进数           BCD码 4、算术运算          在这一部分,我们将汇编语言在数据处理中的应用集中起来给大家,其中有些程序在11章中已经介绍过。

    标签: 汇编语言 数据处理 中的应用

    上传时间: 2013-10-23

    上传用户:qwer0574

  • 驱动程序与应用程序的接口

    有两种方式可以让设备和应用程序之间联系:1. 通过为设备创建的一个符号链;2. 通过输出到一个接口WDM驱动程序建议使用输出到一个接口而不推荐使用创建符号链的方法。这个接口保证PDO的安全,也保证安全地创建一个惟一的、独立于语言的访问设备的方法。一个应用程序使用Win32APIs来调用设备。在某个Win32 APIs和设备对象的分发函数之间存在一个映射关系。获得对设备对象访问的第一步就是打开一个设备对象的句柄。 用符号链打开一个设备的句柄为了打开一个设备,应用程序需要使用CreateFile。如果该设备有一个符号链出口,应用程序可以用下面这个例子的形式打开句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路径名的前缀“\\.\”告诉系统本调用希望打开一个设备。这个设备必须有一个符号链,以便应用程序能够打开它。有关细节查看有关Kdevice和CreateLink的内容。在上述调用中第一个参数中前缀后的部分就是这个符号链的名字。注意:CreatFile中的第一个参数不是Windows 98/2000中驱动程序(.sys文件)的路径。是到设备对象的符号链。如果使用DriverWizard产生驱动程序,它通常使用类KunitizedName来构成设备的符号链。这意味着符号链名有一个附加的数字,通常是0。例如:如果链接名称的主干是L“TestDevice”那么在CreateFile中的串就该是“\\\\.\\TestDevice0”。如果应用程序需要被覆盖的I/O,第六个参数(Flags)必须或上FILE_FLAG_OVERLAPPED。 使用一个输出接口打开句柄用这种方式打开一个句柄会稍微麻烦一些。DriverWorks库提供两个助手类来使获得对该接口的访问容易一些,这两个类是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass类封装了一个设备信息集,该信息集包含了特殊类中的所有设备接口信息。应用程序能有用CdeviceInterfaceClass类的一个实例来获得一个或更多的CdeviceInterface类的实例。CdeviceInterface类是一个单一设备接口的抽象。它的成员函数DevicePath()返回一个路径名的指针,该指针可以在CreateFile中使用来打开设备。下面用一个小例子来显示这些类最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在设备中执行I/O操作一旦应用程序获得一个有效的设备句柄,它就能使用Win32 APIs来产生到设备对象的IRPs。下面的表显示了这种对应关系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解释一下设备类成员的Close和CleanUp:CreateFile使内核为设备创建一个新的文件对象。这使得多个句柄可以映射同一个文件对象。当这个文件对象的最后一个用户级句柄被撤销后,I/O管理器调用CleanUp。当没有任何用户级和核心级的对文件对象的访问的时候,I/O管理器调用Close。如果被打开的设备不支持指定的功能,则调用相应的Win32将引起错误(无效功能)。以前为Windows95编写的VxD的应用程序代码中可能会在打开设备的时候使用FILE_FLAG_DELETE_ON_CLOSE属性。在Windows NT/2000中,建议不要使用这个属性,因为它将导致没有特权的用户企图打开这个设备,这是不可能成功的。I/O管理器将ReadFile和WriteFile的buff参数转换成IRP域的方法依赖于设备对象的属性。当设备设置DO_DIRECT_IO标志,I/O管理器将buff锁住在存储器中,并且创建了一个存储在IRP中的MDL域。一个设备可以通过调用Kirp::Mdl来存取MDL。当设备设置DO_BUFFERED_IO标志,设备对象分别通过KIrp::BufferedReadDest或 KIrp::BufferedWriteSource为读或写操作获得buff地址。当设备不设置DO_BUFFERED_IO标志也不设置DO_DIRECT_IO,内核设置IRP 的UserBuffer域来对应ReadFile或WriteFile中的buff参数。然而,存储区并没有被锁住而且地址只对调用进程有效。驱动程序可以使用KIrp::UserBuffer来存取IRP域。对于DeviceIoControl调用,buffer参数的转换依赖于特殊的I/O控制代码,它不在设备对象的特性中。宏CTL_CODE(在winioctl.h中定义)用来构造控制代码。这个宏的其中一个参数指明缓冲方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表显示了这些方法和与之对应的能获得输入缓冲与输出缓冲的KIrp中的成员函数:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代码指明METHOD_BUFFERED,系统分配一个单一的缓冲来作为输入与输出。驱动程序必须在向输出缓冲放数据之前拷贝输入数据。驱动程序通过调用KIrp::IoctlBuffer获得缓冲地址。在完成时,I/O管理器从系统缓冲拷贝数据到提供给Ring 3级调用者使用的缓冲中。驱动程序必须在结束前存储拷贝到IRP的Information成员中的数据个数。如果控制代码不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,则DeviceIoControl的参数呈现不同的含义。参数InputBuffer被拷贝到一个系统缓冲,这个缓冲驱动程序可以通过调用KIrp::IoctlBuffer。参数OutputBuffer被映射到KMemory对象,驱动程序对这个对象的访问通过调用KIrp::Mdl来实现。对于METHOD_OUT_DIRECT,调用者必须有对缓冲的写访问权限。注意,对METHOD_NEITHER,内核只提供虚拟地址;它不会做映射来配置缓冲。虚拟地址只对调用进程有效。这里是一个用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE来定义一个IOCTL代码:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)现在使用一个DeviceIoControl调用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,这里放的是包含有执行操作命令的字符串指针  0, FirmwareRev,      //这里是output串指针,存放从驱动程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果输出缓冲足够大,设备拷贝串到里面并将拷贝的资结束设置到FirmwareRevSize中。在驱动程序中,代码看起来如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    标签: 驱动程序 应用程序 接口

    上传时间: 2013-10-17

    上传用户:gai928943

  • 基于ARM处理器LPC2142的高速数据采集卡设计

    提出了一种基于LPC2142且具有USB (通用串行总线) 接口的高速数据采集卡的设计方案,给出了基于ARM7处理器LPC2142和FPGA芯片的软硬件设计方法,该设计方案解决了高速实时信号与接口总线之间的速度兼容问题。关键词 USB 高速数据采集卡 LabVIEW uC/OS-II 速度兼容

    标签: 2142 ARM LPC 处理器

    上传时间: 2013-11-09

    上传用户:atdawn

  • 数据处理与控制策略

    数据处理与控制策略Data Processing &  Control Strategy数字控制器的设计技术,数字滤波和数据处理,数控技术基础,数字PID控制算法常规控制方案,先进控制方案,计算机控制系统的设计是指在给定系统性能指标的条件下,设计出控制器的控制规律和相应的数字控制算法 大多数计算机控制系统是由处理数字信号的过程控制计算机和连续的被控过程组成的数字信号与连续信号并存的“混合系统” 数字控制器的分析和设计方法数字控制器的连续化设计技术数字控制器的离散化设计技术

    标签: 数据处理 控制策略

    上传时间: 2013-10-30

    上传用户:yanming8525826

  • 微处理器指令集设计

    微处理器指令集设计垂直指令格式指令类型及其使用频度CISC指令集特点 RISC指令集特点指令集设计的发展微处理器指令集设计的基本要求处理器设计的艺术就是定义一个指令集在软件方面,支持对程序员有用的功能在硬件实现方面,的实现要尽可能有效率具有较长的生命周期,最好是这个指令集还应使以后更复杂的实现也有同样的效率

    标签: 微处理器 指令集

    上传时间: 2014-04-14

    上传用户:wushengwu