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

294

  • Protel Schematic98操作实用手册 294页 18.5M.pdf

    PCB及CAD相关资料专辑 174册 3.19GProtel Schematic98操作实用手册 294页 18.5M.pdf

    标签:

    上传时间: 2014-05-05

    上传用户:时代将军

  • 数字调制与编码 英

    数字调制与编码 英

    标签: 数字调 制与编码

    上传时间: 2013-05-17

    上传用户:eeworm

  • 嵌入式ARM9-2440实战手册

    广嵌开发板配套的教程。 实验1 ARM 汇编指令编程实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 实验2 C 和ARM 汇编混合编程实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 实验3 C 语言实现LED 控制实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 实验4 外部中断应用实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 实验5 看门狗定时器应用实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 实验6 DMA 控制器实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 实验7 PWM 控制蜂鸣器实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 实验8 UART 通信实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 实验9 红外模块控制实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 实验10 实时时钟设计实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 实验11 IIC 总线应用实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 实验12 Nor flash 应用实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 实验13 Nand flash 应用实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 实验14 TFT LCD 显示实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 实验15 触摸屏控制实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 实验16 ADC 应用实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 实验17 IIS 音频总线实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 实验18 USB 设备实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 实验19 SD 卡接口实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 实验20 TFTP 以太网通讯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 实验21 Camera 应用实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 实验22 BootLoader 实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 实验23 Linux-2.6 内核移植实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 实验24 Linux 驱动程序开发实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 实验25 QT/Embedded 实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 实验26 WinCE5.0 开发实验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 附录一 S3C2440A 启动代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 附录二 GEC2440 核心板电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 附录三 GEC2440 主板电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

    标签: 2440 ARM 嵌入式

    上传时间: 2013-07-22

    上传用户:jing911003

  • 8阶开关电容滤波器MAX29X系列的应用设计

    MAX29X是美国MAXIM公司生瓣的8阶开关电容低通滤波器,由于价格便宜、使用方便、设计简单,在通讯、信号自理等领域得到了广泛的应用。本文就其工作原理、电气参数、设计注意事项等问题作了讨论,具有一定的实用参考价值。关键词:开关电容、滤波器、设计 1 引言     开关电容滤波器在近些年得到了迅速的发展,世界上一些知名的半导体厂家相继推出了自己的开头电容滤波器集成电路,使形状电容滤波器的发展上了一个新台阶。     MAXIM公司在模拟器件生产领域颇具影响,它生产MAX291/292/293/294/295/296/297系列8阶低通开关电容滤波器由于使用方便(基本上不需外接元件)、设计简单(频率响应函数是固定的,只需确定其拐角频率即截止频率)、尺寸小(有8-pin    DIP封装)等优点,在ADC的反混叠滤波、噪声分析、电源噪声抑制等领域得到了广泛的应用。     MAX219/295为巴特活思(型滤波器,在通频带内,它的增益最稳定,波动小,主要用于仪表测量等要求整个通频带内增益恒定的场合。MAX292/296为贝塞尔(Bessel)滤波器,在通频带内它的群时延时恒定的,相位对频率呈线性关系,因此脉冲信号通过MAX292/296之后尖峰幅度小,稳定速度快。由于脉冲信号通过贝塞尔滤波器之后所有频率分量的延迟时间是相同的,故可保证波形基本不变。关于巴特活和贝塞尔滤波器的特性可能图1来说明。图1的踪迹A为加到滤波器输入端的3kHz的脉冲,这里我们把滤波器的截止频率设为10kHZ。踪迹B通过MAX292/296后的波形。从图中可以看出,由于MAX292/296在通带内具有线性相位特性,输出波形基本上保持了方波形状,只是边沿处变圆了一些。方波通过MAX291/295之后,由于不同频率的信号产生的时延不同,输出波形中就出现了尖峰(overshoot)和铃流(ringing)。     MAX293/294/297为8阶圆型(Elliptic)滤波器,它的滚降速度快,从通频带到阻带的过渡带可以作得很窄。在椭圆型滤波器中,第一个传输零点后输出将随频率的变高而增大,直到第二个零点处。这样几番重复就使阻事宾频响呈现波浪形,如图2所示。阻带从fS起算起,高于频率fS处的增益不会超过fS处的增益。在椭圆型滤波中,通频带内的增益存在一定范围的波动。椭圆型滤波器的一个重要参数就是过渡比。过渡比定义为阻带频率fS与拐角频率(有时也等同为截止频率)由时钟频率确定。时钟既可以是外接的时钟,也可以是自己的内部时钟。使用内部时钟时只需外接一个定时用的电容既可。     在MAX29X系列滤波器集成电路中,除了滤波器电路外还有一个独立的运算放大器(其反相输入端已在内部接地)。用这个运算放大器可以组成配合MAX29X系列滤波器使用后的滤波、反混滤波等连续时间低通滤波器。     下面归纳一下它们的特点:     ●全部为8阶低通滤波器。MAX291/MAX295为巴特沃思滤波器;MAX292/296为贝塞尔滤波器;MAX293/294/297为椭圆滤波器。     ●通过调整时钟,截止频率的调整范围为:0.1Hz~25kHz(MAX291/292/293*294);0.1Hz~kHz(MAX295/296/297)。     ●既可用外部时钟也可用内部时钟作为截止频率的控制时钟。     ●时钟频率和截止频率的比率:10∶1(MAX291/292/293/294);50∶1(MAX295/296/297)。     ●既可用单+5V电源供电也可用±5V双电源供电。     ●有一个独立的运算放大器可用于其它应用目的。     ●8-pin DIP、8-pin SO和宽SO-16多种封装。2 管脚排列和主要电气参数     MAX29X系列开头电容滤波器的管脚排列如图3所示。     管脚功能定义如下:     CLK:时钟输入。     OP OUT:独立运放的输出端。     OP INT:独立运放的同相输入端。     OUT:滤波器输出。     IN:滤波器输入。     V-:负电源 。双电源供电时搛-2.375~-5.5V之间的电压,单电源供电时V--=-V。     V+:正电源。双电源供电时V+=+2.35~+5.5V,单电源供电时V+=+4.75~+11.0V。     GND:地线。单电源工作时GND端必须用电源电压的一半作偏置电压。     NC:空脚,无连线。     MAX29X的极限电气参数如下:     电源(V+~V-):12V     输入电压(任意脚):V--0.3V≤VIN≤V++0.3V     连续工作时的功耗:8脚塑封DIP:727mW;8脚SO:471mW;16脚宽SO:762mW;8脚瓷封DIP:640mW。     工作温度范围:MAX29-C-:0℃~+70℃;MAX29-E-:-40℃~+85℃;MAX29-MJA:-55℃~+125℃;保存温度范围:-65℃~+160℃;焊接温度(10秒):+300℃;     大多数的形状电容滤波器都采用四节级连结构,每一节包含两个滤波器极点。这种方法的特点就是易于设计。但采用这种方法设计出来的滤波器的特性对所用元件的元件值偏差很敏感。基于以上考虑,MAX29X系列用带有相加和比例功能的开关电容持了梯形无源滤波器,这种方法保持了梯形无源滤波器的优点,在这种结构中每个元件的影响作用是对于整个频率响应曲线的,某元件值的误差将会分散到所有的极点,因此不值像四节级连结构那样对某一个极点特别明显的影响。3 MAX29X的频率特性     MAX29X的频率特性如图4所示。图中的fs都假定为1kHz。4 设计考虑     下面对MAX29X系列形状电容滤波器的使用做些讨论。4.1 时钟信号     MAX29X系列开头电容滤波器推荐使用的时钟信号最高频率为2.5MHz。根据对应的时钟频率和拐角频率的比值,MAX291/MAX292/MAX293/MAX294的拐角频率最高为25kHz.MAX295/MAX296/MAX297的拐角频率最高为50kHz 。     MAX29X系列开关电容滤波器的时钟信号既可幅外部时钟直接驱动也可由内部振荡器产生。使用外部时钟时,无论是采用单电源供电还是双电源供电,CLK可直接和采用+5V供电的CMOS时钟信号发生器的输出相连。通过调整外部时钟的频率,可完成滤波器拐角的实时调整。     当使用内部时钟时,振荡器的频率由接在CLK端上的电容VCOSC决定:     fCOSC (kHz)=105/3COSC (pF) 4.2 供电     MAX29X系列开关电容滤波器既可用单电源工作也可用双电源工作。双电源供电时的电源电压范围为±2.375~±5.5V。在实际电路中一般要在正负电源和GND之间接一旁路电容。     当采用单电源供电时,V-端接地,而GND端要通过电阻分压获得一个电压参考,该电压参考的电压值为1/2的电源电压,参见图5。4.3 输入信号幅度范围限制     MAX29X允许的输入信号的最大范围为V--0.3V~V++0.3V。一般情况下在+5V单电源供电时输入信号范围取1V~4V,±5V双电源供电时,输入信号幅度范围取±4V。如果输入信号超过此范围,总谐波失真THD和噪声就大大增加;同样如果输入信号幅度过小(VP-P<1V),也会造成THD和噪声的增加。4.4 独立运算放大器的用法     MAX29X中都设计有一个独立的运算放大器,这个放大器和滤波器的实现无直接关系,用这个放大器可组成一个一阶和二阶滤波器,用于实现MAX29X之前的反混叠滤波功能鄞MAX29X之后的时钟噪声抑制功能。这个运算放大器的反相端已在内部和GND相连。     图6是用该独立运放组成的2阶低通滤波器的电路,它的拐角频率为10kHz,输入阻抗为22Ω,可满足MAX29X形状电容滤波器的最小负载要求(MAX29X的输出负载要求不小于20kΩ)可以通过改变R1、R2、R3、C1、C2的元件值改变拐角频率。具体的元件值和拐角频率的对应关系参见表1。

    标签: 29X MAX 29 8阶

    上传时间: 2013-10-18

    上传用户:macarco

  • EZ-USB FX系列单片机USB外围设备设计与应用

    EZ-USB FX系列单片机USB外围设备设计与应用:PART 1 USB的基本概念第1章 USB的基本特性1.1 USB简介21.2 USB的发展历程31.2.1 USB 1.131.2.2 USB 2.041.2.3 USB与IEEE 1394的比较41.3 USB基本架构与总线架构61.4 USB的总线结构81.5 USB数据流的模式与管线的概念91.6 USB硬件规范101.6.1 USB的硬件特性111.6.2 USB接口的电气特性121.6.3USB的电源管理141.7 USB的编码方式141.8 结论161.9 问题与讨论16第2章 USB通信协议2.1 USB通信协议172.2 USB封包中的数据域类型182.2.1 数据域位的格式182.3 封包格式192.4 USB传输的类型232.4.1 控制传输242.4.2 中断传输292.4.3 批量传输292.4.4 等时传输292.5 USB数据交换格式302.6 USB描述符342.7 USB设备请求422.8 USB设备群组442.9 结论462.10 问题与讨论46第3章 设备列举3.1注册表编辑器473.2设备列举的步骤493.3设备列举步骤的实现--使用CATC分析工具513.4结论613.5问题与讨论61第4章 USB芯片与EZUSB4.1USB芯片的简介624.2USB接口芯片644.2.1Philips接口芯片644.2.2National Semiconductor接口芯片664.3内含USB单元的微处理器684.3.1Motorola694.3.2Microchip694.3.3SIEMENS704.3.4Cypress714.4USB芯片总揽介绍734.5USB芯片的选择与评估744.6问题与讨论80第5章 设备与驱动程序5.1阶层式的驱动程序815.2主机的驱动程序835.3驱动程序的选择865.4结论865.5问题与讨论87第6章 HID群组6.1HID简介886.2HID群组的传输速率886.3HID描述符906.3.1报告描述符936.3.2主要 main 项目类型966.3.3整体 global 项目卷标976.3.4区域 local 项目卷标986.3.5简易的报告描述符996.3.6Descriptor Tool 描述符工具 1006.3.7兼容测试程序1016.4HID设备的基本请求1026.5Windows通信程序1036.6问题与讨论106PART 2 硬件技术篇第7章 EZUSB FX简介7.1简介1097.2EZUSB FX硬件框图1097.3封包与PID码1117.4主机是个主控者1137.4.1从主机接收数据1137.4.2传送数据至主机1137.5USB方向1137.6帧1147.7EZUSB FX传输类型1147.7.1批量传输1147.7.2中断传输1147.7.3等时传输1157.7.4控制传输1157.8设备列举1167.9USB核心1167.10EZUSB FX单片机1177.11重新设备列举1177.12EZUSB FX端点1187.12.1EZUSB FX批量端点1187.12.2EZUSB FX控制端点01187.12.3EZUSB FX中断端点1197.12.4EZUSB FX等时端点1197.13快速传送模式1197.14中断1207.15重置与电源管理1207.16EZUSB 2100系列1207.17FX系列--从FIFO1227.18FX系列--GPIF 通用型可程序化的接口 1227.19AN2122/26各种特性的摘要1227.20修订ID1237.21引脚描述123第8章 EZUSB FX CPU8.1简介1308.28051增强模式1308.3EZUSB FX所增强的部分1318.4EZUSB FX寄存器接口1318.5EZUSB FX内部RAM1318.6I/O端口1328.7中断1328.8电源控制1338.9特殊功能寄存器 SFR 1348.10内部总线1358.11重置136第9章 EZUSB FX内存9.1简介1379.28051内存1389.3扩充的EZUSB FX内存1399.4CS#与OE#信号1409.5EZUSB FX ROM版本141第10章 EZUSB FX输入/输出端口10.1简介14310.2I/O端口14310.3EZUSB输入/输出端口寄存器14610.3.1端口配置寄存器14710.3.2I/O端口寄存器14710.4EZUSB FX输入/输出端口寄存器14910.5EZUSB FX端口配置表15110.6I2C控制器15610.78051 I2C控制器15610.8控制位15810.8.1START位15810.8.2STOP位15810.8.3LASTRD位15810.9状态位15910.9.1DONE位15910.9.2ACK位15910.9.3BERR位15910.9.4ID1, ID015910.10送出 WRITE I2C数据16010.11接收 READ I2C数据16010.12I2C激活加载器16010.13SFR寻址 FX 16210.14端口A~E的SFR控制165第11章 EZUSB FX设备列举与重新设备列举11.1简介16711.2预设的USB设备16911.3USB核心对于EP0设备请求的响应17011.4固件下载17111.5设备列举模式17211.6没有存在EEPROM17311.7存在着EEPROM, 第一个字节是0xB0 0xB4, FX系列11.8存在着EEPROM, 第一个字节是0xB2 0xB6, FX系列11.9配置字节0,FX系列17711.10重新设备列举 ReNumerationTM 17811.11多重重新设备列举 ReNumerationTM 17911.12预设描述符179第12章 EZUSB FX批量传输12.1简介18812.2批量输入传输18912.3中断传输19112.4EZUSB FX批量IN的例子19112.5批量OUT传输19212.6端点对19412.7IN端点对的状态19412.8OUT端点对的状态19512.9使用批量缓冲区内存19512.10Data Toggle控制19612.11轮询的批量传输的范例19712.12设备列举说明19912.13批量端点中断19912.14中断批量传输的范例20112.15设备列举说明20512.16自动指针器205第13章 EZUSB控制端点013.1简介20913.2控制端点EP021013.3USB请求21213.3.1取得状态 Get_Status 21413.3.2设置特性(Set_Feature)21713.3.3清除特性(Clear_Feature)21813.3.4取得描述符(Get_Descriptor)21913.3.5设置描述符(Set Descriptor)22313.3.6设置配置(Set_Configuration)22513.3.7取得配置(Get_Configuration)22513.3.8设置接口(Set_Interface)22513.3.9取得接口(Get_Interface)22613.3.10设置地址(Set_Address)22713.3.11同步帧22713.3.12固件加载228第14章 EZUSB FX等时传输14.1简介22914.2等时IN传输23014.2.1初始化设置23014.2.2IN数据传输23014.3等时OUT传输23114.3.1初始化设置23114.3.2数据传输23214.4设置等时FIFO的大小23214.5等时传输速度23414.5.1EZUSB 2100系列23414.5.2EZUSB FX系列23514.6快速传输 仅存于2100系列 23614.6.1快速写入23614.6.2快速读取23714.7快速传输的时序 仅存于2100系列 23714.7.1快速写入波形23814.7.2快速读取波形23914.8快速传输速度(仅存于2100系列)23914.9其余的等时寄存器24014.9.1除能等时寄存器24014.9.20字节计数位24114.10以无数据来响应等时IN令牌24214.11使用等时FIFO242第15章 EZUSB FX中断15.1简介24315.2USB核心中断24415.3唤醒中断24415.4USB中断信号源24515.5SUTOK与SUDAV中断24815.6SOF中断24915.7中止 suspend 中断24915.8USB重置中断24915.9批量端点中断25015.10USB自动向量25015.11USB自动向量译码25115.12I2C中断25215.13IN批量NAK中断 仅存于AN2122/26与FX系列 25315.14I2C STOP反相中断 仅存于AN2122/26与FX系列 25415.15从FIFO中断 INT4 255第16章 EZUSB FX重置16.1简介25716.2EZUSB FX打开电源重置 POR 25716.38051重置的释放25916.3.1RAM的下载26016.3.2下载EEPROM26016.3.3外部ROM26016.48051重置所产生的影响26016.5USB总线重置26116.6EZUSB脱离26216.7各种重置状态的总结263第17章 EZUSB FX电源管理17.1简介26517.2中止 suspend 26617.3回复 resume 26717.4远程唤醒 remote wakeup 269第18章 EZUSB FX系统18.1简介27118.2DMA寄存器描述27218.2.1来源. 目的. 传输长度地址寄存器27218.2.2DMA起始与状态寄存器27518.2.3DMA同步突发使能寄存器27518.2.4虚拟寄存器27818.3RD/FRD与WR/FWR DMA闪控的选择27818.4DMA闪控波形与延伸位的交互影响27918.4.1DMA外部写入27918.4.2DMA外部读取280第19章 EZUSB FX寄存器19.1简介28219.2批量数据缓冲区寄存器28319.3等时数据FIFO寄存器28419.4等时字节计数寄存器28519.5CPU寄存器28719.6I/O端口配置寄存器28819.7I/O端口A~C输入/输出寄存器28919.8230 Kbaud UART操作--AN2122/26寄存器29119.9等时控制/状态寄存器29119.10I2C寄存器29219.11中断29419.12端点0控制与状态寄存器29919.13端点1~7的控制与状态寄存器30019.14整体USB寄存器30519.15快速传输30919.16SETUP数据31119.17等时FIFO的容量大小31119.18通用I/F中断使能31219.19通用中断请求31219.20输入/输出端口寄存器D与E31319.20.1端口D输出31319.20.2输入端口D脚位31319.20.3端口D输出使能31319.20.4端口E输出31319.20.5输入端口E脚位31419.20.6端口E输出使能31419.21端口设置31419.22接口配置31419.23端口A与端口C切换配置31619.23.1端口A切换配置#231619.23.2端口C切换配置#231719.24DMA寄存器31919.24.1来源. 目的. 传输长度地址寄存器31919.24.2DMA起始与状态寄存器32019.24.3DMA同步突发使能寄存器32019.24.4选择8051 A/D总线作为外部FIFO321PART 3 固件技术篇第20章 EZUSB FX固件架构与函数库20.1固件架构总览32320.2固件架构的建立32520.3固件架构的副函数钩子32520.3.1工作分配器32620.3.2设备请求 device request 32620.3.3USB中断服务例程32920.4固件架构整体变量33220.5描述符表33320.5.1设备描述符33320.5.2配置描述符33420.5.3接口描述符33420.5.4端点描述符33520.5.5字符串描述符33520.5.6群组描述符33520.6EZUSB FX固件的函数库33620.6.1包含文件 *.H 33620.6.2子程序33620.6.3整体变量33820.7固件架构的原始程序代码338第21章 EZUSB FX固件范例程序21.1范例程序的简介34621.2外围I/O测试程序34721.3端点对, EP_PAIR范例35221.4批量测试, BulkTest范例36221.5等时传输, ISOstrm范例36821.6问题与讨论373PART 4 实验篇第22章 EZUSB FX仿真器22?1简介37522?2所需的工具37622?3EZUSB FX框图37722.4EZUSB最终版本的系统框图37822?5第一次下载程序37822.6EZUSB FX开发系统框图37922.7设置开发环境38022.8EZUSB FX开发工具组的内容38122.9EZUSB FX开发工具组软件38222.9.1初步安装程序38222.9.2确认主机 个人计算机 是否支持USB38222.10安装EZUSB控制平台. 驱动程序以及文件38322.11EZUSB FX开发电路板38522.11.1简介38522.11.2开发电路板的浏览38522.11.3所使用的8051资源38622.11.4详细电路38622.11.5LED的显示38722.11.6Jumper38722.11.7连接器39122.11.8内存映象图39222.11.9PLD信号39422.11.10PLD源文件文件39522.11.11雏形板的扩充连接器P1~P639722.11.12Philips PCF8574 I/O扩充IC40022.12DMA USB FX I/O LAB开发工具介绍40122.12.1USBFX简介40122.12.2USBFX及外围整体环境介绍40322?12?3USBFX与PC连接软件介绍40422.12.4USBFX硬件功能介绍404第23章 LED显示器输出实验23.1硬件设计与基本概念40923.2固件设计41023.3.1固件架构文件FW.C41123.3.2描述符文件DESCR.A5141223.3.3外围接口文件PERIPH.C41723.4固件程序代码的编译与链接42123.5Windows程序, VB设计42323.6INF文件的编写设计42423.7结论42623.8问题与讨论427第24章 七段显示器与键盘的输入/输出实验24.1硬件设计与基本概念42824.2固件设计43124.2.1七段显示器43124.2.24×4键盘扫描43324.3固件程序代码的编译与链接43424.4Windows程序, VB设计43624.5问题与讨论437第25章 LCD文字型液晶显示器输出实验25.1硬件设计与基本概念43825.1.1液晶显示器LCD43825.2固件设计45225.3固件程序代码的编译与链接45625.4Windows程序, VB设计45725.5问题与讨论458第26章 LED点阵输出实验26.1硬件设计与基本概念45926.2固件设计46326.3固件程序代码的编译与链接46326.4Windows程序, VB设计46526.5问题与讨论465第27章 步进电机输出实验27.1硬件设计与基本概念46627.1.11相激磁46727.1.22相激磁46727.1.31-2相激磁46827?1?4PMM8713介绍46927.2固件设计47327.3固件程序代码的编译与链接47427.4Windows程序, VB设计47627.5问题与讨论477第28章 I2C接口输入/输出实验28.1硬件设计与基本概念47828.2固件设计48128.3固件程序代码的编译与链接48328.4Windows程序, VB设计48428.5问题与讨论485第29章 A/D转换器与D/A转换器的输入/输出实验29.1硬件设计与基本概念48629.1.1A/D转换器48629.1.2D/A转换器49029.2固件设计49329.2.1A/D转换器的固件设计49329.2.2D/A转换器的固件设计49629.3固件程序代码的编译与链接49729.4Windows程序, VB设计49829.5问题与讨论499第30章 LCG绘图型液晶显示器输出实验30.1硬件设计与基本概念50030.1.1绘图型LCD50030.1.2绘图型LCD控制指令集50330.1.3绘图型LCD读取与写入时序图50530.2固件设计50630.2.1LCG驱动程序50630.2.2USB固件码51330.3固件程序代码的编译与链接51630.4Windows程序, VB设计51730.5问题与讨论518附录A Cypress控制平台的操作A.1EZUSB控制平台总览519A.2主画面520A.3热插拔新的USB设备521A.4各种工具栏的使用524A.5故障排除526A.6控制平台的进阶操作527A.7测试Unary Op工具栏上的按钮功能528A.8测试制造商请求的工具栏 2100 系列的开发电路板 529A.9测试等时传输工具栏532A.10测试批量传输工具栏533A.11测试重置管线工具栏535A.12测试设置接口工具栏537A.13测试制造商请求工具栏 FX系列开发电路板A.14执行Get Device Descriptor 操作来验证开发板的功能是否正确539A.15从EZUSB控制平台中, 加载dev_io的范例并且加以执行540A.16从Keil侦错应用程序中, 加载dev_io范例程序代码, 然后再加以执行542A.17将dev_io 目标文件移开, 且使用Keil IDE 集成开发环境 来重建545A.18在侦错器下执行dev_io目标文件, 并且使用具有侦错能力的IDE547A.19在EZUSB控制平台下, 执行ep_pair目标文件A.20如何修改fw范例, 并在开发电路板上产生等时传输550附录BEZUSB 2100系列及EZUSB FX系列引脚表B.1EZUSB 2100系列引脚表555B?2EZUSB FX系列引脚图表561附录C EZUSB FX寄存器总览附录D EEPROM烧录方式

    标签: EZ-USB USB 单片机 外围设备

    上传时间: 2013-11-21

    上传用户:努力努力再努力

  • 单片机音乐中音调和节拍的确定方法

    单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例:   A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C  、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如:      其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符  频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符  频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    标签: 单片机 音调

    上传时间: 2013-10-20

    上传用户:哈哈haha

  • AVR高速嵌入式单片机原理与应用(修订版)

    AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。 AVR高速嵌入式单片机原理与应用(修订版) 目录 第一章ATMEL单片机简介1.1ATMEL公司产品的特点11.2AT90系列单片机简介21.3AT91M系列单片机简介2第二章AVR单片机系统结构2.1AVR单片机总体结构42.2AVR单片机中央处理器CPU62.2.1结构概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU运算逻辑单元92.3AVR单片机存储器组织102.3.1可下载的Flash程序存储器102.3.2内部和外部的SRAM数据存储器102.3.3EEPROM数据存储器112.3.4存储器访问和指令执行时序112.3.5I/O存储器132.4AVR单片机系统复位162.4.1复位源172.4.2加电复位182.4.3外部复位192.4.4看门狗复位192.5AVR单片机中断系统202.5.1中断处理202.5.2外部中断232.5.3中断应答时间232.5.4MCU控制寄存器 MCUCR232.6AVR单片机的省电方式242.6.1休眠状态242.6.2空闲模式242.6.3掉电模式252.7AVR单片机定时器/计数器252.7.1定时器/计数器预定比例器252.7.28位定时器/计数器0252.7.316位定时器/计数器1272.7.4看门狗定时器332.8AVR单片机EEPROM读/写访问342.9AVR单片机串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR单片机模拟比较器452.10.1模拟比较器452.10.2模拟比较器控制和状态寄存器ACSR462.11AVR单片机I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR单片机存储器编程612.12.1编程存储器锁定位612.12.2熔断位612.12.3芯片代码612.12.4编程 Flash和 EEPROM612.12.5并行编程622.12.6串行下载662.12.7可编程特性67第三章AVR单片机开发工具3.1AVR实时在线仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式单片机开发下载实验器SL?AVR703.4AVR集成开发环境(IDE)753.4.1AVR Assembler编译器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列组态开发实验系统793.6SL?AVR*.ASM源文件说明81第四章AVR单片机指令系统4.1指令格式844.1.1汇编指令844.1.2汇编器伪指令844.1.3表达式874.2寻址方式894.3数据操作和指令类型924.3.1数据操作924.3.2指令类型924.3.3指令集名词924.4算术和逻辑指令934.4.1加法指令934.4.2减法指令974.4.3乘法指令1014.4.4取反码指令1014.4.5取补指令1024.4.6比较指令1034.4.7逻辑与指令1054.4.8逻辑或指令1074.4.9逻辑异或指令1104.5转移指令1114.5.1无条件转移指令1114.5.2条件转移指令1144.6数据传送指令1354.6.1直接数据传送指令1354.6.2间接数据传送指令1374.6.3从程序存储器直接取数据指令1444.6.4I/O口数据传送指令1454.6.5堆栈操作指令1464.7位指令和位测试指令1474.7.1带进位逻辑操作指令1474.7.2位变量传送指令1514.7.3位变量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延长间接调用子程序1624.8.2EIJMP--扩展间接跳转1634.8.3ELPM--扩展装载程序存储器1644.8.4ESPM--扩展存储程序存储器1644.8.5FMUL--小数乘法1664.8.6FMULS--有符号数乘法1664.8.7FMULSU--有符号小数和无符号小数乘法1674.8.8MOVW--拷贝寄存器字1684.8.9MULS--有符号数乘法1694.8.10MULSU--有符号数与无符号数乘法1694.8.11SPM--存储程序存储器170 第五章AVR单片机AT90系列5.1AT90S12001725.1.1特点1725.1.2描述1735.1.3引脚配置1745.1.4结构纵览1755.2AT90S23131835.2.1特点1835.2.2描述1845.2.3引脚配置1855.3ATmega8/8L1855.3.1特点1865.3.2描述1875.3.3引脚配置1895.3.4开发实验工具1905.4AT90S2333/44331915.4.1特点1915.4.2描述1925.4.3引脚配置1945.5AT90S4414/85151955.5.1特点1955.5.2AT90S4414和AT90S8515的比较1965.5.3引脚配置1965.6AT90S4434/85351975.6.1特点1975.6.2描述1985.6.3AT90S4434和AT90S8535的比较1985.6.4引脚配置2005.6.5AVR RISC结构2015.6.6定时器/计数器2125.6.7看门狗定时器 2175.6.8EEPROM读/写2175.6.9串行外设接口SPI2175.6.10通用串行接口UART2175.6.11模拟比较器 2175.6.12模数转换器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特点2285.7.2描述2295.7.3ATmega83与ATmega163的比较2315.7.4引脚配置2315.8ATtiny10/11/122325.8.1特点2325.8.2描述2335.8.3引脚配置2355.9ATtiny15/L2375.9.1特点2375.9.2描述2375.9.3引脚配置2395 .10ATmega128/128L2395.10.1特点2405.10.2描述2415.10.3引脚配置2435.10.4开发实验工具2455.11ATmega1612465.11.1特点2465.11.2描述2475.11.3引脚配置2475.12AVR单片机替代MCS51单片机249第六章实用程序设计6.1程序设计方法2506.1.1程序设计步骤2506.1.2程序设计技术2506.2应用程序举例2516.2.1内部寄存器和位定义文件2516.2.2访问内部 EEPROM2546.2.3数据块传送2546.2.4乘法和除法运算应用一2556.2.5乘法和除法运算应用二2556.2.616位运算2556.2.7BCD运算2556.2.8冒泡分类算法2556.2.9设置和使用模拟比较器2556.2.10半双工中断方式UART应用一2556.2.11半双工中断方式UART应用二2566.2.128位精度A/D转换器2566.2.13装载程序存储器2566.2.14安装和使用相同模拟比较器2566.2.15CRC程序存储的检查2566.2.164×4键区休眠触发方式2576.2.17多工法驱动LED和4×4键区扫描2576.2.18I2C总线2576.2.19I2C工作2586.2.20SPI软件2586.2.21验证SLAVR实验器及AT90S1200的口功能12596.2.22验证SLAVR实验器及AT90S1200的口功能22596.2.23验证SLAVR实验器及具有DIP40封装的口功能第七章AVR单片机的应用7.1通用延时子程序2607.2简单I/O口输出实验2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3综合程序2747.3.1LED/LCD/键盘扫描综合程序2747.3.2LED键盘扫描综合程序2757.3.3在LED上实现字符8的循环移位显示程序2757.3.4电脑放音机2777.3.5键盘扫描程序2857.3.6十进制计数显示2867.3.7廉价的A/D转换器2897.3.8高精度廉价的A/D转换器2947.3.9星星灯2977.3.10按钮猜数程序2987.3.11汉字的输入3047.4复杂实用程序3067.4.110位A/D转换3067.4.2步进电机控制程序3097.4.3测脉冲宽度3127.4.4LCD显示8字循环3187.4.5LED电脑时钟3247.4.6测频率3307.4.7测转速3327.4.8AT90S8535的A/D转换334第八章BASCOMAVR的应用8.1基于高级语言BASCOMAVR的单片机开发平台3408.2BASCOMAVR软件平台的安装与使用3418.3AVR I/O口的应用3458.3.1LED发光二极管的控制3458.3.2简易手控广告灯3468.3.3简易电脑音乐放音机3478.4LCD显示器3498.4.1标准LCD显示器的应用3498.4.2简单游戏机--按钮猜数3518.5串口通信UART3528.5.1AVR系统与PC的简易通信3538.5.2PC控制的简易广告灯3548.6单总线接口和温度计3568.7I2C总线接口和简易IC卡读写器359第九章ICC AVR C编译器的使用9.1ICC AVR的概述3659.1.1介绍ImageCraft的ICC AVR3659.1.2ICC AVR中的文件类型及其扩展名3659.1.3附注和扩充3669.2ImageCraft的ICC AVR编译器安装3679.2.1安装SETUP.EXE程序3679.2.2对安装完成的软件进行注册3679.3ICC AVR导游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE环境3709.4.1编译一个单独的文件3709.4.2创建一个新的工程3709.4.3工程管理3719.4.4编辑窗口3719.4.5应用构筑向导3719.4.6状态窗口3719.4.7终端仿真3719.5C库函数与启动文件3729.5.1启动文件3729.5.2常用库函数3729.5.3字符类型库3739.5.4浮点运算库3749.5.5标准输入/输出库3759.5.6标准库和内存分配函数3769.5.7字符串函数3779.5.8变量参数函数3799.5.9堆栈检查函数3799.6AVR硬件访问的编程3809.6.1访问AVR的底层硬件3809.6.2位操作3809.6.3程序存储器和常量数据3819.6.4字符串3829.6.5堆栈3839.6.6在线汇编3839.6.7I/O寄存器3849.6.8绝对内存地址3849.6.9C任务3859.6.10中断操作3869.6.11访问UART3879.6.12访问EEPROM3879.6.13访问SPI3889.6.14相对转移/调用的地址范围3889.6.15C的运行结构3889.6.16汇编界面和调用规则3899.6.17函数返回非整型值3909.6.18程序和数据区的使用3909.6.19编程区域3919.6.20调试3919.7应用举例*3929.7.1读/写口3929.7.2延时函数3929.7.3读/写EEPROM3929.7.4AVR的PB口变速移位3939.7.5音符声程序3939.7.68字循环移位显示程序3949.7.7锯齿波程序3959.7.8正三角波程序3969.7.9梯形波程序396附录1AT89系列单片机简介398附录2AT94K系列现场可编程系统标准集成电路401附录3指令集综合404附录4AVR单片机选型表408参 考 文 献412

    标签: AVR 高速嵌入式 单片机原理

    上传时间: 2013-11-08

    上传用户:xcy122677

  • LINUX系统分析与高级编程技术

    本书介绍Linux环境下的编程方法,内容包括Linux系统命令、 Shell脚本、编程语言(gawk、Perl)、系统内核、安全体系、X Window等,内容丰富、论述全面,涵盖了Linux系统的方方面面。本书附带光盘包括了RedHat Linux系统的最新版本,及安装方法,还包括本书的大量程序代码,极大地方便了读者,为使用和将要使用Linux系统的技术人员提供了较全面的参考。    目      录前言第一篇   Linux系统介绍第1章   Linux简介 …11.1   Linux 的起源 11.2   自由软件基金会的GNU计划 11.3   Linux 的发音 21.4   Linux 的特点 21.5   基本硬件要求 31.6   如何获得Linux 31.6.1   从网上下载Linux 31.6.2   从光盘获得Linux 31.7   涉及Linux 的Web 网址和新闻讨论组 61.8   Linux 的不足之处 7第2章   外壳及常用命令 82.1   登录和退出 82.2   Linux 系统的外壳 82.3   外壳的常用命令 92.3.1   更改帐号密码 92.3.2   联机帮助 92.3.3   远程登录 92.3.4   文件或目录处理 92.3.5   改变工作目录 102.3.6   复制文件 102.3.7   移动或更改文件、目录名称 102.3.8   建立新目录 102.3.9   删除目录 112.3.10   删除文件 112.3.11   列出当前所在的目录位置 112.3.12   查看文件内容 112.3.13   分页查看文件内容 112.3.14   查看目录所占磁盘容量 112.3.15   文件传输 112.3.16   文件权限的设定 122.3.17   检查自己所属的工作组名称 132.3.18   改变文件或目录工作组所有权 132.3.19   改变文件或目录的最后修改时间 132.3.20   文件的链接 132.3.21   文件中字符串的查寻 142.3.22   查寻文件或命令的路径 142.3.23   比较文件或目录的内容 142.3.24   文件打印输出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印机控制命令 142.3.28   进程控制 152.3.29   外壳变量 162.3.30   环境变量 162.3.31   别名 162.3.32   历史命令 172.3.33   文件的压缩 172.3.34   管道命令的使用 172.3.35   输入/输出控制 182.3.36   查看系统中的用户 182.3.37   改变用户名 182.3.38   查看用户名 182.3.39   查看当前系统上所有工作站       的用户 192.3.40   与某工作站上的用户交谈 192.3.41   检查远程系统是否正常 192.3.42   电子邮件的使用简介 19第3章   Linux系统的网络功能 213.1   Linux支持的网络协议 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 协议集 213.1.5   广域网 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   业余无线电 223.1.9   ATM 223.2   Linux系统下的文件共享和打印共享 223.2.1   Machintosh 环境 223.2.2   Windows 环境 223.2.3   Novell 环境 233.2.4   UNIX 环境 233.3   Linux系统中的Internet/Intranet功能 233.3.1   邮件 233.3.2   Web 服务器 243.3.3   Web 浏览器 243.3.4   FTP 服务器和客户机 243.3.5   新闻服务 243.3.6   域名系统 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系统下应用程序的远程执行 243.4.1   Telnet 253.4.2   远程命令 253.4.3   X Window 253.5   Linux系统的网络互连功能 253.5.1   路由器 253.5.2   网桥 253.5.3   IP伪装 253.5.4   IP统计 263.5.5   IP 别名 263.5.6   流量限制器 263.5.7   防火墙 263.5.8   端口下传 263.5.9   负载平衡 263.5.10   EQL 273.5.11   代理服务器 273.5.12   按需拨号 273.5.13   管道、移动IP和虚拟个人网络 273.6   Linux系统中的网络管理 273.6.1   Linux系统下的网络管理应用程序 273.6.2   SNMP 283.7   企业级Linux网络 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余网络 28第4章   Linux系统管理简介 294.1   root 帐号 294.2   启动和关闭系统 294.2.1   从软盘启动 294.2.2   使用LILO 启动 294.2.3   关闭Linux系统 304.3   挂接文件系统 304.3.1   挂接软盘 304.3.2   创建新的文件系统 304.3.3   卸载文件系统 314.4   检查文件系统 314.5   使用文件作为交换区 314.6   系统和文件的备份 324.7   设置系统 334.7.1   设置系统名 334.7.2   使用维护磁盘 334.7.3   重新设置root 帐号口令 334.7.4   设置登录信息 33第二篇   Linux高级语言及管理编程第5章   外壳编程 355.1   创建和运行外壳程序 355.1.1   创建外壳程序 355.1.2   运行外壳程序 355.2   使用外壳变量 365.2.1   给变量赋值 365.2.2   读取变量的值 375.2.3   位置变量和其他系统变量 375.2.4   引号的作用 375.3   数值运算命令 385.4   条件表达式 405.4.1   if 表达式 405.4.2   case 表达式 415.5   循环语句 425.5.1   for 语句 435.5.2   while 语句 435.5.3   until 语句 445.6   shift 命令 445.7   select 语句 455.8   repeat 语句 465.9   子函数 46第6章   gawk语言编程 486.1   gawk的主要功能 486.2   如何执行gawk程序 486.3   文件、记录和字段 486.4   模式和动作 496.5   比较运算和数值运算 506.6   内部函数 506.6.1   随机数和数学函数 516.6.2   字符串的内部函数 516.6.3   输入输出的内部函数 526.7   字符串和数字 526.8   格式化输出 526.9   改变字段分隔符 546.10   元字符 546.11   调用gawk程序 556.12   BEGIN和END 556.13   变量 566.14   内置变量 566.15   控制结构 576.15.1   if 表达式 576.15.2   while 循环 576.15.3   for 循环 586.15.4   next 和 exit 586.16   数组 586.17   用户自定义函数 586.18   几个实例 59第7章   Perl语言编程 607.1   什么是Perl 607.2   Perl的现状 607.3   初试Perl 607.4   Perl变量 607.4.1   标量 607.4.2   数组 637.4.3   相关数组 657.5   文件句柄和文件操作 657.6   循环结构 667.6.1   foreach循环 667.6.2   判断运算 667.6.3   for循环 677.6.4   while 和 until循环 677.7   条件结构 677.8   字符匹配 687.9   替换和翻译 697.9.1   替换 697.9.2   翻译 707.10   子过程 707.10.1   子过程的定义 707.10.2   参数 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系统内核分析第8章   Linux内核简介 738.1   系统初始化 738.2   系统运行 738.3   内核提供的各种系统调用 748.3.1   进程的基本概念和系统            的基本数据结构 748.3.2   创建和撤消进程 748.3.3   执行程序 748.4   存取文件系统 75第9章   系统进程 769.1   什么是进程 769.2   进程的结构 769.3   进程调度 789.4   进程使用的文件 799.5   进程使用的虚拟内存 809.6   创建进程 819.7   进程的时间和计时器 819.7.1   实时时钟 819.7.2   虚拟时钟 819.7.3   形象时钟 819.8   程序的执行 829.8.1   ELF文件 829.8.2   脚本文件 82第10章   内存管理 8310.1   内存管理的作用 8310.2   虚拟内存的抽象模型 8310.3   按需装入页面 8410.4   交换 8510.5   共享虚拟内存 8510.6   存取控制 8510.7   高速缓存 8610.7.1   缓冲区高速缓存 8610.7.2   页面高速缓存 8610.7.3   交换高速缓存 8610.7.4   硬件高速缓存 8610.8   系统页面表 8610.9   页面的分配和释放 8710.9.1   页面的分配 8810.9.2   页面的释放 8810.10   内存映射 8810.11   请求调页 8910.12   页面高速缓存 8910.13   内核交换守护进程 90第11章   进程间通信 9111.1   信号机制 9111.2   管道机制 9211.3  System V IPC 机制  9311.3.1   信息队列 9311.3.2   信号量 9411.3.3   共享内存 96第12章   PCI 9812.1   PCI 系统 9812.2   PCI地址空间 9812.3   PCI设置头 9912.4   PCI I/O 和 PCI 内存地址 10012.5   PCI-ISA桥 10012.6   PCI-PCI 桥 10012.7   PCI初始化 10112.7.1   Linux系统内核有关PCI的      数据结构 10112.7.2   PCI 设备驱动程序 10212.7.3   PCI BIOS 函数 10512.7.4   PCI Fixup 105第13章   中断和中断处理 10613.1   中断 10613.2   可编程中断控制器 10613.3   初始化中断处理的数据结构 10713.4   中断处理 108第14章   设备驱动程序 10914.1   硬件设备的管理 10914.2   轮询和中断 11014.3   直接内存存取 11014.4   内存 11114.5   设备驱动程序和内核之间的接口 11114.5.1   字符设备 11214.5.2   块设备 11314.6   硬盘 11314.6.1   IDE 硬盘 11514.6.2   初始化IDE 硬盘子系统 11514.6.3   SCSI 硬盘 11514.6.4   初始化 SCSI 磁盘子系统 11614.6.5   传递块设备请求 11814.7   网络设备 11814.7.1   网络设备文件名 11814.7.2   总线信息 11814.7.3   网络接口标记 11914.7.4   协议信息 11914.7.5   初始化网络设备 119第15章   文件系统 12115.1   Linux文件系统概述 12115.2   ext2文件系统 12215.2.1   ext2的索引节点 12215.2.2   ext2超级块 12415.2.3   ext2 数据块组描述符 12415.2.4   ext2 中的目录 12515.2.5   在ext2 文件系统中查找文件 12515.2.6   改变ext2 文件系统中文件             的大小 12615.3   VFS 12715.3.1   VFS 超级块 12815.3.2   VFS 索引节点 12915.3.3   登记文件系统 12915.3.4   挂接文件系统 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系统 13115.3.7   VFS 索引节点缓存 13215.3.8   VFS目录缓存 13215.4   缓冲区缓存 13315.5   /proc 文件系统 135第16章   网络系统 13616.1   TCP/IP 网络简介 13616.2   TCP/IP网络的分层 13716.3   BSD 套接口 13816.4   INET套接口层 14016.4.1   创建BSD 套接口 14116.4.2   给INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上创建连接 14216.4.4   监听INET BSD 套接口 14216.4.5   接收连接请求 14316.5   IP 层 14316.5.1   套接口缓冲区 14316.5.2   接收IP数据包 14416.5.3   发送IP数据包 14416.5.4   数据碎片 14416.6   地址解析协议 145第17章   系统内核机制 14717.1   Bottom Half处理 14717.2   任务队列 14817.3   计时器 14917.4   等待队列 14917.5   信号量 150第四篇   Linux系统高级编程第18章   Linux内核模块编程 15118.1   一个简单程序Hello World 15118.2   设备文件 15218.3    /proc文件系统 15618.4   使用/proc输入 15818.5   与设备文件通信 16218.6   启动参数 16918.7   系统调用 17018.8   阻塞进程 17218.9   替换printk 17718.10   调度任务 178第19章   有关进程通信的编程 18119.1   进程间通信简介 18119.2   半双工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C语言创建管道 18219.2.3   创建管道的简单方法 18519.2.4   使用管道的自动操作 18719.2.5   使用半双工管道时的注意事项 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   创建FIFO 18819.3.3   FIFO操作 18919.3.4   FIFO的阻塞 19019.3.5    SIGPIPE信号 19019.4   System V IPC 19019.4.1   基本概念 19019.4.2   消息队列基本概念 19119.4.3   系统调用msgget() 19419.4.4   系统调用msgsnd() 19519.4.5   系统调用msgctl() 19719.4.6   一个msgtool的实例 19919.5   使用信号量编程 20119.5.1   基本概念 20119.5.2   系统调用semget() 20219.5.3   系统调用semop() 20319.5.4   系统调用semctl() 20419.5.5   使用信号量集的实例:semtool 20519.6   共享内存 20919.6.1   基本概念 20919.6.2   系统内部用户数据结构             shmid_ds 20919.6.3   系统调用shmget() 21019.6.4   系统调用shmat() 21119.6.5   系统调用shmctl() 21119.6.6   系统调用shmdt() 21219.6.7   使用共享内存的实例:shmtool 212第20章   高级线程编程 21520.1   线程的概念和用途 21520.2   一个简单的例子 21520.3   线程同步 21720.4   使用信号量协调程序 21820.5   信号量的实现 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系统网络编程 22521.1   什么是套接口 22521.2   两种类型的Internet套接口 22521.3   网络协议分层 22521.4   数据结构 22521.5   IP地址和如何使用IP地址 22621.5.1   socket() 22621.5.2   bind() 22621.5.3   connect() 22721.5.4   listen() 22821.5.5   accept() 22821.5.6   send() 和 recv() 22921.5.7   sendto() 和 recvfrom() 23021.5.8   close() 和 shutdown() 23021.5.9   getpeername() 23121.5.10   gethostname() 23121.6   DNS 23121.7   客户机/服务器模式 23221.8   简单的数据流服务器程序 23221.9   简单的数据流客户机程序 23421.10   数据报套接口 23521.11   阻塞 237第22章   Linux I/O端口编程 24022.1   如何在 C 语言下使用I/O端口 24022.1.1   一般的方法 24022.1.2   另一个替代方法: /dev/port 24122.2   硬件中断 与 DMA 存取 24122.3   高精确的时间 24122.3.1   延迟时间 24122.3.2   时间的量测 24322.4   使用其他程序语言 24322.5   一些有用的 I/O 端口 24322.5.1   并行端口 24322.5.2   游戏端口 24422.5.3   串行端口 245第五篇   Linux系统安全分析第23章   系统管理员安全 24723.1   安全管理 24723.2   超级用户 24723.3   文件系统安全 24723.3.1   Linux文件系统概述 24723.3.2   设备文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考虑 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安装和拆卸文件系统 25023.3.9   系统目录和文件 25123.4   作为root运行的程序 25123.4.1   启动系统 25123.4.2   init进程 25123.4.3   进入多用户 25223.4.4   shutdown命令 25223.4.5   系统V的cron程序 25223.4.6   系统V版本2之后的cron程序 25223.4.7   /etc/profile 25323.5   /etc/passwd文件 25323.5.1   口令时效 25323.5.2   UID和GID 25423.6   /etc/group文件 25423.7   增加、删除和移走用户 25423.7.1   增加用户 25423.7.2   删除用户 25523.7.3   将用户移到另一个系统 25523.8   安全检查 25523.8.1   记帐 25523.8.2   其他检查命令 25623.8.3   安全检查程序的问题 25623.8.4   系统泄密后怎么办 25723.9   加限制的环境 25823.9.1   加限制的外壳 25823.9.2   用chroot()限制用户 25823.10   小系统安全 25923.11   物理安全 25923.12   用户意识 26023.13   系统管理员意识 26123.13.1   保持系统管理员个人的               登录安全 26123.13.2   保持系统安全 261第24章   系统程序员安全 26324.1   系统子程序 26324.1.1   I/O子程序 26324.1.2   进程控制 26324.1.3   文件属性 26424.1.4   UID和GID的处理 26524.2   标准C程序库 26524.2.1   标准I/O 26524.2.2   /etc/passwd的处理 26624.2.3   /etc/group的处理 26724.2.4   加密子程序 26824.2.5   运行外壳 26824.3   编写安全的C程序 26824.3.1   需要考虑的安全问题 26824.3.2   SUID/SGID程序指导准则 26924.3.3   编译、安装SUID/SGID程序             的方法 26924.4   root用户程序的设计 270第25章   Linux系统的网络安全 27225.1   UUCP系统概述 27225.1.1   UUCP命令 27225.1.2   uux命令 27225.1.3   uucico程序 27325.1.4   uuxqt程序 27325.2   UUCP的安全问题 27325.2.1   USERFILE文件 27325.2.2   L.cmds文件 27425.2.3   uucp登录 27425.2.4   uucp使用的文件和目录 27425.3   HONEYDANBER UUCP 27525.3.1   HONEYDANBER UUCP与           老UUCP的差别 27525.3.2   登录名规则 27625.3.3   MACHINE规则 27725.3.4   组合MACHINE和LOGNAME             规则 27825.3.5   uucheck命令 27825.3.6   网关 27825.3.7   登录文件检查 27925.4   其他网络 27925.4.1   远程作业登录 27925.4.2   NSC网络系统 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用户身份鉴别 28225.6   SUN OS系统的网络安全 28325.6.1   确保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   远程过程调用鉴别 28425.6.4   Linux鉴别机制 28425.6.5   DES鉴别系统 28525.6.6   公共关键字的编码 28625.6.7   网络实体的命名 28625.6.8   DES鉴别系统的应用 28725.6.9   遗留的安全问题 28725.6.10   性能 28825.6.11   启动和setuid程序引起的问题 28825.6.12   小结 289第26章   Linux系统的用户安全性 29026.1   口令安全 29026.2   文件许可权 29026.3   目录许可 29126.4   umask命令 29126.5   设置用户ID和同组用户ID许可 29126.6   cp mv ln和cpio命令 29126.7   su和newgrp命令 29226.7.1   su命令 29226.7.2   newgrp命令 29226.8   文件加密 29226.9   其他安全问题 29326.9.1   用户的.profile文件 29326.9.2   ls -a 29326.9.3   .exrc文件 29326.9.4   暂存文件和目录 29326.9.5   UUCP和其他网络 29326.9.6   特洛伊木马 29426.9.7   诱骗 29426.9.8   计算机病毒 29426.9.9   要离开自己已登录的终端 29426.9.10   智能终端 29426.9.11   断开与系统的连接 29426.9.12   cu命令 29526.10   保持帐户安全的要点 295第六篇   X window系统的内部结构和使用第27章  X Window系统的基本知识 29727.1   X Window系统介绍 29727.1.1   X的特点 29727.1.2   什么是窗口系统 29827.1.3   X发展的历史 29927.1.4   X的产品 29927.1.5   MIT发行的X 29927.2   X的基本结构 30227.2.1   X 的基本元素 30327.2.2   服务程序和客户程序如何             交互通信 30427.2.3   X 的网络概况 30627.3   从用户界面的角度概观X 30727.3.1   管理界面:窗口管理器 30727.3.2   应用程序界面和工具箱 30927.3.3   其他系统角度 30927.4   术语和符号 31027.4.1   术语 31027.4.2   符号 31127.5   启动和关闭X 31227.5.1   启动X 31227.5.2   执行X程序的方式 31327.5.3   关闭X 31427.6   窗口管理器基础—uwm 31527.6.1   什么是窗口管理器 31527.6.2   启动uwm 31527.6.3   基本窗口操作 —uwm             的菜单 31527.6.4   移动窗口 31627.6.5   重定窗口大小 31627.6.6   建立新窗口 31627.6.7   管理屏幕空间 31827.6.8   中止应用程序窗口 32027.6.9   激活uwm菜单的其他方式 32027.7   使用 x的网络设备 32027.7.1   指定远程终端机—display             选项 32127.7.2   实际使用远程的显示器 32227.7.3   控制存取显示器—xhost 32227.8   终端机模拟器—详细介绍xterm 32327.8.1   选择xterm功能—菜单与       命令行选项 32327.8.2   滚动xterm屏幕 32427.8.3   记录与终端机的交互过程—写           记录 32527.8.4   剪贴文本 32527.8.5   使用Tektronix模拟功能 32627.8.6   使用不同的字体 32727.8.7   使用颜色 32727.8.8   其他xterm选项 32727.8.9   设定终端机键盘 328第28章   实用程序和工具 32928.1   实用程序 32928.2   保存、显示和打印屏幕图像 33028.3   使用X的应用程序 33228.3.1   文字编辑器—Xedit 33328.3.2   邮件/信息处理系统—xmh 33628.4   示例和游戏程序 33628.4.1   找出通过随机迷宫的             路径—maze 33628.4.2   担任鼠标指针的大眼睛—             xeyes 33628.4.3   智慧盘游戏—puzzle 33728.4.4   打印一个大X标志—xlogo 33728.4.5   跳动的多面体—ico 33728.4.6   动态几何图案—muncher与             plaid 33728.7   显示信息和状态的程序 33728.7.1   列出X服务程序的特征—    xdpyinfo 33828.7.2   获取有关窗口的信息 33828.7.3   观察X的事件—xev 340第29章   定制X Window系统 34129.1   使用X的字体和颜色 34129.1.1   字体初步 34129.1.2   字体命名 34229.1.3   观察特定字体的内容—xfd 34329.1.4   保存字体和位置 34329.1.5   例子:在你的服务程序中      增加新字体 34529.1.6   使用X的颜色 34629.2   定义和使用图形 34729.2.1   系统图形程序库 34729.2.2   交互编辑图形—bitmap 34729.2.3   编辑图形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定义应用程序的缺省选项—           Resources 35029.3.1   什么是资源 35029.3.2   XToolkit 35129.3.3   管理资源—资源管理器 35329.3.4   资源的类型—如何指定值 35829.4   实际使用资源 35929.4.1   在何处保存资源的缺省值 35929.4.2   在服务程序上保存缺省值—    xrdb 36329.4.3   常见的错误和修正 36629.5   定制键盘和鼠标 36729.5.1   实际使用转换 36829.5.2   转换—格式和规则 37429.5.3   转换规范中常见的问题 37729.6   键盘和鼠标—对应和参数 37929.6.1   键盘和鼠标映射—xmodmap 37929.6.2   键盘和鼠标参数设定—xset 38229.7   进一步介绍和定制uwm 38429.7.1   uwm的新特征 38429.7.2   定制uwm 38629.8   显示器管理器—xdm 39029.8.1   需要做些什么 39029.8.2   xdm 39129.8.3   xdm的更多信息 39229.8.4   uwm配置 395附录A   Gcc使用介绍 396附录B   安装X Window窗口系统 410

    标签: LINUX 系统分析 高级编程

    上传时间: 2013-11-10

    上传用户:changeboy

  • GPS测量与数据处理_李征航

    全书共分11 章, 其主要内容为: 绪论, 全球定位系统的组成及信号结构, GPS 定位中的误差源, 距离测量与GPS 定位, GPS 测量的技术设计, 数据采集, 时间标示法, 地球坐标参照系, 常用的数据格式, GPS 基线向量解算和网平差及GPS 高程测量等。

    标签: GPS 测量 数据处理

    上传时间: 2013-11-12

    上传用户:tiantian

  • 基于单片机的简单电子琴(源代码)

    简单电子琴的51单片机程序 #include<reg51.h>       //包含51单片机寄存器定义的头文件 sbit P14=P1^4;     //将P14位定义为P1.4引脚 sbit P15=P1^5;          //将P15位定义为P1.5引脚 sbit P16=P1^6;     //将P16位定义为P1.6引脚 sbit P17=P1^7;     //将P17位定义为P1.7引脚 unsigned char keyval;   //定义变量储存按键值 sbit sound=P2^0;     //将sound定义为P2.0 unsigned int C;     //全局变量,储存定时器的定时常数 unsigned int f;     //全局变量,储存音阶的频率 //以下是C调低音的音频宏定义 #define l_dao 262     //将“l_dao”宏定义为低音“1”的频率262Hz #define l_re 294     //将“l_re” 宏定义为低音“2”的频率294Hz #define l_mi 330     //将“l_mi” 宏定义为低音“3”的频率330Hz #define l_fa 349        //将“l_fa” 宏定义为低音“4”的频率349Hz #define l_sao 392       //将“l_sao”宏定义为低音“5”的频率392Hz #define l_la 440        //将“l_la” 宏定义为低音“6”的频率440Hz #define l_xi 494        //将“l_xi” 宏定义为低音“7”的频率494Hz //以下是C调中音的音频宏定义 #define dao 523     //将“dao”宏定义为低音“1”的频率Hz #define re 587 //将“re” 宏定义为低音“2”的频率Hz #define mi 659 //将“mi” 宏定义为低音“3”的频率Hz #define fa 698 //将“fa” 宏定义为低音“4”的频率Hz #define sao 784 //将“sao”宏定义为低音“5”的频率Hz #define la 880 //将“la” 宏定义为低音“6”的频率Hz #define xi 988 //将“xi” 宏定义为低音“7”的频率Hz

    标签: 单片机 电子琴 源代码

    上传时间: 2013-11-09

    上传用户:tian126vip