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

可以自定义格式化软件

  • 基于USB HID类数据通信的直流电源监控设计

    为了实现直流电源的监控,提出了一种具有USB HID数据通信功能的直流电源设计方案。详细论述了基于STM32 USB固件库(USB-FS Device library V3.3)的自定义HID类下位机的实现,介绍了如何在VC2010集成开发环境中编写多线程上位机程序并运用PlotLab(一个快速信号绘图和可视化的VCL组件)显示实时波形,最后再以实验开发板和PC实现了HID数据通信,证明了此监控设计方案的可行性。

    标签: USB HID 数据通信 直流电源

    上传时间: 2013-10-17

    上传用户:13162218709

  • LCD12864显示汉字和数字(程序和电路)

    附件为:LCD12864显示汉字和数字的程序与电路 /*  自定义延时子函数 */ void delayms(uchar z) {   int x,y;   for(x=z;x>0;x--)      for(y=110;y>0;y--); } /*      判断LCD忙信号状态 */ void buys() {   int dat;   RW=1;   RS=0;   do     {           P0=0x00;          E=1;    dat=P0;    E=0;    dat=0x80 & dat;   } while(!(dat==0x00)); } /*      LCD写指令函数 */ void w_com(uchar com) {   //buys();   RW=0;   RS=0;   E=1;   P0=com;   E=0; }  /*      LCD写数据函数 */ void w_date(uchar date) {   //buys();   RW=0;   RS=1;   E=1;   P0=date;   E=0; } /*     LCD选屏函数 */ void select_screen(uchar screen) {     switch(screen)     {         case 0:     //选择全屏                 CS1=0;        CS2=0;           break;      case 1:     //选择左屏                 CS1=0;        CS2=1;           break;                          case 2:     //选择右屏                 CS1=1;        CS2=0;           break;    /*  case 3:     //选择右屏                 CS1=1;          CS2=1;               break;    */     }           } /*   LCDx向上滚屏显示 */ void lcd_rol() {     int x;     for(x=0;x<64;x++)        {       select_screen(0);     w_com(0xc0+x);       delayms(500);     } } /*     LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) {   int x,y;   select_screen(screen);     //screen:0-选择全屏,1-选择左半屏,2-选择右半屏   for(x=0xb8;x<0xc0;x++)   //从0xb8-0xbf,共8页      {    w_com(x);    w_com(0x40);   //列的初始地址是0x40    for(y=0;y<64;y++)       {            w_date(0x00);              }       }    } /*   LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数       int a;    mun=mun*32;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       } }  /*   LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       } } /*   LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       } } /*   LCD初始化函数 */ void lcd_init() {   w_com(0x3f);   //LCD开显示   w_com(0xc0);   //LCD行初始地址,共64行   w_com(0xb8);   //LCD页初始地址,共8页   w_com(0x40);   //LCD列初始地址,共64列     } /*   LCD显示主函数 */ void main() {   //第一行       int x;    lcd_init();     //LCD初始化    clear_screen(0);    //LCD清屏幕    lcd_display_shuzi(1,0,4,5);    //LCD显示数字    lcd_display_shuzi(1,0,5,1);    //LCD显示数字       lcd_display_hanzi(1,0,3,0);    //LCD显示汉字    lcd_display_hanzi(2,0,0,1);    //LCD显示汉字    //LCD字符汉字    lcd_display_hanzi(2,0,1,2);    //LCD显示汉字   //第二行     lcd_display_zifuk(1,1,2,0);    //LCD显示字符    lcd_display_zifuk(1,1,3,0);    //LCD显示字符    lcd_display_zifuk(1,1,4,0);    //LCD显示字符    lcd_display_zifuk(1,1,5,4);    //LCD显示字符    lcd_display_shuzi(1,1,6,8);    //LCD显示字符    lcd_display_shuzi(1,1,7,9);    //LCD显示字符    lcd_display_shuzi(2,1,0,5);    //LCD显示字符    lcd_display_shuzi(2,1,1,1);    //LCD显示字符    lcd_display_zifuk(2,1,2,4);    lcd_display_zifuk(2,1,3,1);    lcd_display_zifuk(2,1,4,2);    lcd_display_zifuk(2,1,5,3);   //第三行    for(x=0;x<4;x++)       {      lcd_display_hanzi(1,2,x,3+x);    //LCD显示汉字    }      for(x=0;x<4;x++)       {      lcd_display_hanzi(2,2,x,7+x);    //LCD显示汉字    }   //第四行     for(x=0;x<4;x++)       {      lcd_display_zifuk(1,3,x,5+x);    //LCD显示汉字    }     lcd_display_shuzi(1,3,4,7);     lcd_display_shuzi(1,3,5,5);     lcd_display_shuzi(1,3,6,5);     lcd_display_zifuk(1,3,7,9);     lcd_display_shuzi(2,3,0,8);     lcd_display_shuzi(2,3,1,9);     lcd_display_shuzi(2,3,2,9);     lcd_display_shuzi(2,3,3,5);     lcd_display_shuzi(2,3,4,6);     lcd_display_shuzi(2,3,5,8);     lcd_display_shuzi(2,3,6,9);     lcd_display_shuzi(2,3,7,2);        while(1);    /* while(1)     {     //  LCD向上滚屏显示        lcd_rol();     }    */ }

    标签: 12864 LCD 汉字 数字

    上传时间: 2013-11-08

    上传用户:aeiouetla

  • keil7.06完全破解版_免费下载

        Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。   解压缩以后安装,步骤如下: 1.打开up51v706a.txt(本文件)记下安装序列号。进入setup目录点击setup.exe进行安装; 2.选择Install Support....全新安装,以前没有安装过或者放弃以前的序列号安装;     选择Update Current Installation升级安装,将可以保持原来的序列号,不必再次输入 3.选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司     等,除了序列号以外,都随意,可以如实输入你的姓名等。->next->     ....直到安装完成。     注意:     1.每次安装都必须进行这几步,每次都需要重新写入AddOn标识;     2.假如安装过程中存在病毒防火墙,可能会产生xcopy错误使安装失败,此时请先        关闭病毒防火墙,然后再安装;     3.安装前必须退出正在运行的Keil软件,否则也会产生xcopy错误使安装失败;     4.安装过程中可能会出现安装Secrity Key错误,点击确定即可。 这组安装码可以使用keil C51软件到2033年12月底,够用了吧。 Ident = Y1DZKM  (这个号码已经输入在addon目录下的文件中,你不必理会了) SN = K1DZP-5IUSH-A01UE *************************************** 0xfd汉字补丁已经预先处理。安装以后可以打开工程\keil\c51\examples\0xfd\ee.uv2检验  

    标签: keil 7.06 完全破解版 免费下载

    上传时间: 2013-10-18

    上传用户:takako_yang

  • MAX488在多机通讯中的应用

    本文介绍RS一485电气特性和简单的结构方式。以及采用RS485自定义实现 串行通信协议,并介绍单片机RS一485多机通讯的方法和技巧。

    标签: MAX 488 多机 中的应用

    上传时间: 2013-10-15

    上传用户:我们的船长

  • 单片机C语言程序设计实验指导书

    单片机体积小,重量轻,具有很强的灵活性,而且价格不高,越来越得到广泛的应用。而C语言是一种编译型设计语言。它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,且明显的增加软件的可读性,便于改进和扩充,以研制出规模更大、性能更完备的系统。用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。单片机的程序设计应该以C语言为主,以汇编语言为辅。而且采用C语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量的存储单元的分配,编程者就可以专注于应用软件部分的设计,大大加快软件的开发速度。采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中单片机的重新选型。为此,特开设了单片机的C语言应用程序设计这门选修课。

    标签: 单片机 C语言程序 设计实验 指导书

    上传时间: 2013-10-19

    上传用户:851197153

  • 《微机原理及应用》课程教程 (word文档)

     《微机原理及应用》课程教案目    录 下载WORD文档前    言 下载WORD文档第一章 51系列单片机概述 下载WORD文档     第一节 概述     第二节 51系列单片机分类     思考题与习题 第二章 MCS-51系列单片机组成及工作原理 下载WORD文档     第一节 MCS-51系列单片机组成     第二节 8051的内部数据存储器(内部RAM)     第三节 8051的内部程序存储器(内部ROM)     第四节 MCS-51系列单片机典型芯片的外部引脚功能    第五节 并行输入/输出口     第六节 CPU的时钟电路和时序定时单位     第七节 单片机指令执行的过程     思考题与习题 第三章 指令系统 下载WORD文档     第一节 指令格式和寻址方式     第二节 指令系统     思考题与习题 第四章 算法与结构程序设计 下载WORD文档     第一节 算法     第二节 程序基本结构     第三节 结构化程序设计     第四节 汇编语言程序设计举例     思考题与习题 第五章 中断 下载WORD文档     第一节 中断技术概述     第二节 8051中断系统     第三节 中断控制     第四节 中断响应     第五节 中断系统应用举例     思考题与习题 第六章 定时器/计数器 下载WORD文档     第一节 概述     第二节 定时器/计数器基本结构 工作方式及应用     思考题与习题 第七章 8051单片机系统扩展与接口技术 下载WORD文档     第一节 8051单片机系统扩展概述     第二节 单片机外部存储器扩展     第三节 单片机输入/输出(I/O)口扩展     第四节 LED显示器接口电路及显示程序     第五节 单片机键盘接口技术     第六节 单片机与数模(D/A)及模数(A/D)转换器的接口及应用     思考题与习题 第八章 8051单片机的异步串行通信技术 下载WORD文档     第一节 概述     第二节 8051串行口基本结构     第三节 8051串行通信工作方式及应用     第四节 多机通信原理 下载WORD文档     思考题与习题 第九章 单片机应用举例 下载WORD文档     第一节 单片机数据采集系统     第二节 电机转速测量     第三节 步进电机控制系统     第四节 机器人三觉机械手信号处理及控制算法    思考题与习题 第十章 单片机与字符式液晶显示模块连接技术 下载WORD文档     第一节 字符式液晶显示模块简介     第二节 模块指令系统     第三节 模块与8051单片机的接口     第四节 模块字符显示举例     第五节 自定义字符显示     思考题与习题 附录一 计算机数的运算基础 下载WORD文档     第一节 进位计数制及相互转换     第二节 计算机中数和字符的表示附录二 美国标准信息交换码(ASCII)字符表附录三 MCS-51指令表 下载WORD文档

    标签: word 微机原理 教程 文档

    上传时间: 2014-04-16

    上传用户:hhkpj

  • 单片机程序远程升级的设计

    为了解决一些远程单片机设备不方便升级内部程序的困难,本文提出了利用单片机系统中现有的数据获取方式来升级单片机内部程序的方法。本文利用凌阳16 位单片机可以自读写片内程序空间的特性,通过在片内驻留BootLoader 程序的方式实现了凌阳16 位单片机片内程序的在需要时的远程升级。单片机获取数据的方式可以有很多,本文选取通过串口获取数据进行程序升级为例,并选取常见的凌阳单片机SPCE061A 为例介绍了此方法的设计思路以及实现过程。单片机的应用非常广泛,在某些情况下,单片机内部程序的升级在所难免,但是往往需要对单片机产品进行收回才能实现,这样在一些远程设备的程序升级问题上就显得非常不方便。但是有些远程设备本身留有远程通讯的方式:例如某些远程数据传输模块,为了把数据上报总会留有通讯的接口,比如422、485 甚至GPRS 或者局域网接口;又或者某些车载定位设备,为了和监控中心通讯会留有GSM、CDMA 或者GPRS 等通讯方式。在这种情况下就可以利用其现有的通讯方式对其内部单片机程序进行升级而不需要收回产品。本文的主要内容就是来研究这种远程升级单片机程序的方法。由于近年来凌阳科技的单片机,尤其是 16 位单片机,得到了越来越多的推广,其应用领域越来越广泛。本文选取一种常见的凌阳科技的16 位单片机SPCE061A 为例,来介绍单片机程序远程升级的方法。SPCE061A 里内嵌了32K 字的闪存(FLASH),即可以作为程序存储空间又可以存储数据,并且有自读写任意闪存地址的能力,本文利用这一功能,提出了通过在单片机中驻留BootLoader 程序的方法,来实现单片机程序的远程升级。远程升级的实现,需要单片机自身的响应同时还需要远程服务器提供升级所需的代码。下文将通过这两个方面来分别介绍。

    标签: 单片机程序 远程升级

    上传时间: 2013-10-31

    上传用户:yxgi5

  • 基于DSP的数字音频均衡器设计

    文中提出了一种基于ADSP-BF533硬件平台的数字音频均衡器设计,其音频处理算法包括谱分析和均衡算法。经过测试表明,该系统可达到理想的音频均衡效果,用户可对各种音效进行选择和自定义音效。

    标签: DSP 数字音频 均衡器

    上传时间: 2014-12-28

    上传用户:yzhl1988

  • 基于FPGA的DDS IP核设计方案

    以Altera公司的Quartus Ⅱ 7.2作为开发工具,研究了基于FPGA的DDS IP核设计,并给出基于Signal Tap II嵌入式逻辑分析仪的仿真测试结果。将设计的DDS IP核封装成为SOPC Builder自定义的组件,结合32位嵌入式CPU软核Nios II,构成可编程片上系统(SOPC),利用极少的硬件资源实现了可重构信号源。该系统基本功能都在FPGA芯片内完成,利用 SOPC技术,在一片 FPGA 芯片上实现了整个信号源的硬件开发平台,达到既简化电路设计、又提高系统稳定性和可靠性的目的。

    标签: FPGA DDS IP核 设计方案

    上传时间: 2013-11-06

    上传用户:songkun

  • 基于FPGA实现的高速串行交换模块实现方法研究

    采用Xlinx公司的Virtex5系列FPGA设计了一个用于多种高速串行协议的数据交换模块,并解决了该模块实现中的关键问题.该交换模块实现4X模式RapidIO协议与4X模式PCI Express协议之间的数据交换,以及自定义光纤协议与4X模式PCI Express协议之间的数据交换,实现了单字读写以及DMA操作,并提供高速稳定的传输带宽.

    标签: FPGA 高速串行 模块 实现方法

    上传时间: 2013-10-12

    上传用户:rnsfing