82C55A是高性能,工业标准,并行I/O的LSI外围芯片;提供24条I/O脚线。 在三种主要的操作方式下分组进行程序设计82C88A的几个特点:(1)与所有Intel系列微处理器兼容;(2)有较高的操作速度;(3)24条可编程I/O脚线;(4)底功耗的CHMOS;(5)与TTL兼容;(6)拥有控制字读回功能;(7)拥有直接置位/复位功能;(8)在所有I/O输出端口有2.5mA DC驱动能力;(9)适应性强。方式0操作称为简单I/O操作,是指端口的信号线可工作在电平敏感输入方式或锁存输出。所以,须将控制寄存器设计为:控制寄存器中:D7=1; D6 D5=00; D2=0。D7位为1代表一个有效的方式。通过对D4 D3 D1和D0的置位/复位来实现端口A及端口B是输入或输出。P56表2-1列出了操作方式0端口管脚功能。
上传时间: 2013-10-26
上传用户:brilliantchen
串行编程器源程序(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
1、程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式TITLE This is ⋯⋯ ;程序标题;--------------------------------------;名称定义和变量定义;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片复位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序ORG 0 ;在0000H开始存放程序;-----------------------------------------;子程序区;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序区;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由伪指令定义为6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序结束注:MAIN标号一定要处在0页面内。2、程序设计基础
上传时间: 2013-11-14
上传用户:cjf0304
并行接口电路:微处理器与I/O设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。8255A是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入/输出设备的使用。8255A并行接口逻辑框图三个独立的8位I/O端口,口A、口B、口C。口A有输入、输出锁存器及输出缓冲器。口B与口C有输入、输出缓冲器及输出锁存器。在实现高级的传输协议时,口C的8条线分为两组,每组4条线,分别作为口A与口B在传输时的控制信号线。口C的8条线可独立进行置1/置0的操作。口A、口B、口C及控制字口共占4个设备号。8255A并行接口的控制字工作模式选择控制字:口A有三种工作模式,口B有二种工作模式。口C独立使用时只有一个工作模式,与口A、口B配合使用时,作为控制信号线。三种工作模式命名为:模式0、模式1及模式2。模式 0 为基本I/O端口,模式1为带选通的I/O端口,模式 2 为带选通的双向I/O端口。口A可工作在三种模式下,口B可工作在模式 0与模式 1下,口C可工作在模式0下或作为控制线配合口A、口B工作。
上传时间: 2013-11-07
上传用户:xitai
基于USB接口的数据采集模块的设计与实现Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大学电子信息与自动化学院,天津300222)摘要文中给出基于USB接口的数据采集模块的设计与实现。硬件设计采用以Adpc831与PDIUSBDI2为主的器件进行硬件设计,采用Windriver开发USB驱动,并用Visual C十十6.0对主机软件中硬件接口操作部分进行动态链接库封装。关键词USB 数据采集Adpc831 PDNSBDI2 Windriver动态链接库Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed场Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries场Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B总 线 是新一代接口总线,最初推出的目的是为了统一取代PC机的各类外设接口,迄今经历了1.0,1.1与2.0版本3个标准。在国内基于USB总线的相关设计与开发也得到了快速的发展,很多设计者从各自的应用领域,用不同方案设计出了相应的装置[1,2]。数据采集是工业控制中一个普遍而重要的环节,因此开发基于USB接口的数据采集模块具有很强的现实应用意义。虽然 US B总线标准已经发展到2.0版本,但由于工业控制现场干扰信号的情况比较复杂,高速数据传输的可靠性不容易被保证,并且很多场合对数据采集的实时性要求并不高,开发2.0标准产品的成本又较1.1标准产品高,所以笔者认为,在工业控制领域,目前开发基于USB总线1.1标准实现的数据采集模块的实用意义大于相应2.0标准模块。
上传时间: 2013-10-23
上传用户:q3290766
关于3g无线网优的:WCDMA无线基本原理 课程目标: 掌握3G移动通信的基本概念 掌握3G的标准化过程 掌握WCDMA的基本网络结构以及各网元功能 掌握无线通信原理 掌握WCDMA的关键技术 参考资料: 《3G概述与概况》 《中兴通讯WCDMA基本原理》 《ZXWR RNC(V3.0)技术手册》 《ZXWR NB09技术手册》 第1章 概述 1 1.1 移动通信的发展历程 1 1.1.1 移动通信系统的发展 1 1.1.2 移动通信用户及业务的发展 1 1.2 3G移动通信的概念 2 1.3 为什么要发展第三代移动通信 2 1.4 3G的标准化过程 3 1.4.1 标准组织 3 1.4.2 3G技术标准化 3 1.4.3 第三代的核心网络 4 1.4.4 IMT-2000的频谱分配 6 1.4.5 2G向3G移动通信系统演进 7 1.4.6 WCDMA核心网络结构的演进 11 第2章 WCDMA系统介绍 13 2.1 系统概述 13 2.2 R99网元和接口概述 14 2.2.1 移动交换中心MSC 16 2.2.2 拜访位置寄存器VLR 16 2.2.3 网关GMSC 16 2.2.4 GPRS业务支持节点SGSN 16 2.2.5 网关GPRS支持节点GGSN 17 2.2.6 归属位置寄存器与鉴权中心HLR/AuC 17 2.2.7 移动设备识别寄存器EIR 17 2.3 R4网络结构概述 17 2.3.1 媒体网关MGW 19 2.3.2 传输信令网关T-SGW、漫游信令网关R-SGW 20 2.4 R5网络结构概述 20 2.4.1 媒体网关控制器MGCF 22 2.4.2 呼叫控制网关CSCF 22 2.4.3 会议电话桥分MRF 22 2.4.4 归属用户服务器HSS 22 2.5 UTRAN的一般结构 22 2.5.1 RNC子系统 23 2.5.2 Node B子系统 25 第3章 扩频通信原理 27 3.1 扩频通信简介 27 3.1.1 扩频技术简介 27 3.1.2 扩频技术的现状 27 3.2 扩频通信原理 28 3.2.1 扩频通信的定义 29 3.2.2 扩频通信的理论基础 29 3.2.3 扩频与解扩频过程 30 3.2.4 扩频增益和抗干扰容限 31 3.2.5 扩频通信的主要特点 32 第4章 无线通信基础 35 4.1 移动无线信道的特点 35 4.1.1 概述 35 4.1.2 电磁传播的分析 37 4.2 编码与交织 38 4.2.1 信道编码 39 4.2.2 交织技术 42 4.3 扩频码与扰码 44 4.4 调制 47 第5章 WCDMA关键技术 49 5.1 WCDMA系统的技术特点 49 5.2 功率控制 51 5.2.1 开环功率控制 51 5.2.2 闭环功率控制 52 5.2.3 HSDPA相关的功率控制 55 5.3 RAKE接收 57 5.4 多用户检测 60 5.5 智能天线 62 5.6 分集技术 64 第6章 WCDMA无线资源管理 67 6.1 切换 67 6.1.1 切换概述 67 6.1.2 切换算法 73 6.1.3 基于负荷控制原因触发的切换 73 6.1.4 基于覆盖原因触发的切换 74 6.1.5 基于负荷均衡原因触发的切换 77 6.1.6 基于移动台移动速度的切换 79 6.2 码资源管理 80 6.2.1 上行扰码 80 6.2.2 上行信道化码 83 6.2.3 下行扰码 84 6.2.4 下行信道化码 85 6.3 接纳控制 89 6.4 负荷控制 95 第7章 信道 97 7.1 UTRAN的信道 97 7.1.1 逻辑信道 98 7.1.2 传输信道 99 7.1.3 物理信道 101 7.1.4 信道映射 110 7.2 初始接入过程 111 7.2.1 小区搜索过程 111 7.2.2 初始接入过程 112
上传时间: 2013-11-21
上传用户:tdyoung
1.增加的设备支持: Atmel AT91SAM9Rxx Cirrus Logic CS7401xx-IQZ Luminary Micro LM3S576x, LM3S5752, LM3S5747, LM3S573x, LM3S5662, LM3S5652, LM3S5632, LM3S3759, LM3S3749, and LM3S3739 NXP LPC32XX and LPC2460 STMicroelectronics STR912FAZ4X, STR912FAW4X, STR911FAW4X, STR911FAM4X, STR910FAW32, and STR910FAZ32 2.修改了NXP LPC23XX/24XX的头文件库 3.增加了ST-LINK II的调试支持 4.增加了对Cortex-M3 内核芯片的RTX Event Viewer 的支持 5.增加了MCBSTM32: STM32 FLASH OPTION BYTES PROGRAMMING 6.增加了ULINK2对Cortex-M3的SWV功能的调试 7.增强了使用GNU在MDK下调试M1,M3,ARM7,ARM9的调试功能( Using μVision with CodeSourcery GNU ARM Toolchain.) 8.增加了大量经典开发板例程 Boards目录列表: ├─Embest 深圳市英蓓特公司开发板例程 │ ├─AT91EB40X-40008 │ ├─S3CEB2410 │ ├─ATEBSAM7S │ ├─LPC22EB06-I │ ├─LPCEB2000-A │ ├─LPCEB2000-B │ ├─LPCEB2000-S │ ├─str710 │ ├─str711 │ ├─str730 │ ├─str750 │ ├─STR912 │ ├─STM32V100 │ ├─STM32R100 │ ├─ATEB9200 ├─ADI ADI半导体的芯片例程 │ ├─ADuC702X │ └─ADuC712x ├─Atmel Atmel半导体的芯片例程 │ ├─AT91RM9200-EK │ ├─AT91SAM7A3-EK │ ├─AT91SAM7S-EK │ ├─AT91SAM7SE-EK │ ├─AT91SAM7X-EK │ ├─AT91SAM9260-EK │ ├─AT91SAM9261-EK │ ├─AT91SAM9263-EK ├─Keil Keil公司的开发板例程 │ ├─MCB2100 │ ├─MCB2103 │ ├─MCB2130 │ ├─MCB2140 │ ├─MCB2300 │ ├─MCB2400 │ ├─MCB2900 │ ├─MCBLM3S │ ├─MCBSTM32 │ ├─MCBSTR7 │ ├─MCBSTR730 │ ├─MCBSTR750 │ └─MCBSTR9 ├─Luminary Luminary半导体公司的芯片例程 │ ├─ek-lm3s1968 │ ├─ek-lm3s3748 │ ├─ek-lm3s3768 │ ├─dk-lm3s101 │ ├─dk-lm3s102 │ ├─dk-lm3s301 │ ├─dk-lm3s801 │ ├─dk-lm3s811 │ ├─dk-lm3s815 │ ├─dk-lm3s817 │ ├─dk-lm3s818 │ ├─dk-lm3s828 │ ├─ek-lm3s2965 │ ├─ek-lm3s6965 │ ├─ek-lm3s811 │ └─ek-lm3s8962 ├─NXP NXP半导体公司的芯片例程 │ ├─LH79524 │ ├─LH7A404 │ └─SJA2510 ├─OKI OKI半导体公司的芯片例程 │ ├─ML674000 │ ├─ML67Q4003 │ ├─ML67Q4051 │ ├─ML67Q4061 │ ├─ML67Q5003 │ └─ML69Q6203 ├─Samsung Samsung半导体公司的芯片例程 │ ├─S3C2440 │ ├─S3C44001 │ └─S3F4A0K ├─ST ST半导体公司的芯片例程 │ ├─CQ-STARM2 │ ├─EK-STM32F │ ├─STM32F10X_EVAL │ ├─STR710 │ ├─STR730 │ ├─STR750 │ ├─STR910 │ └─STR9_DONGLE ├─TI TI半导体公司的芯片例程 │ ├─TMS470R1A256 │ └─TMS470R1B1M ├─Winbond Winbond半导体公司的芯片例程 │ └─W90P710 └─ ...
上传时间: 2013-10-13
上传用户:zhangliming420
2.1.2 SPARTANⅡ和SPARTANⅡE系列产品
上传时间: 2013-11-16
上传用户:star_in_rain
一个简单好用的B+树算法实现
上传时间: 2015-01-04
上传用户:缥缈
java 版B+树程序
上传时间: 2015-01-06
上传用户:chenjjer