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

197

  • 单片机应用系统抗干扰技术

    单片机应用系统抗干扰技术:第1章 电磁干扰控制基础. 1.1 电磁干扰的基本概念1 1.1.1 噪声与干扰1 1.1.2 电磁干扰的形成因素2 1.1.3 干扰的分类2 1.2 电磁兼容性3 1.2.1 电磁兼容性定义3 1.2.2 电磁兼容性设计3 1.2.3 电磁兼容性常用术语4 1.2.4 电磁兼容性标准6 1.3 差模干扰和共模干扰8 1.3.1 差模干扰8 1.3.2 共模干扰9 1.4 电磁耦合的等效模型9 1.4.1 集中参数模型9 1.4.2 分布参数模型10 1.4.3 电磁波辐射模型11 1.5 电磁干扰的耦合途径14 1.5.1 传导耦合14 1.5.2 感应耦合(近场耦合)15 .1.5.3 电磁辐射耦合(远场耦合)15 1.6 单片机应用系统电磁干扰控制的一般方法16 第2章 数字信号耦合与传输机理 2.1 数字信号与电磁干扰18 2.1.1 数字信号的开关速度与频谱18 2.1.2 开关暂态电源尖峰电流噪声22 2.1.3 开关暂态接地反冲噪声24 2.1.4 高速数字电路的EMI特点25 2.2 导线阻抗与线间耦合27 2.2.1 导体交直流电阻的计算27 2.2.2 导体电感量的计算29 2.2.3 导体电容量的计算31 2.2.4 电感耦合分析32 2.2.5 电容耦合分析35 2.3 信号的长线传输36 2.3.1 长线传输过程的数学描述36 2.3.2 均匀传输线特性40 2.3.3 传输线特性阻抗计算42 2.3.4 传输线特性阻抗的重复性与阻抗匹配44 2.4 数字信号传输过程中的畸变45 2.4.1 信号传输的入射畸变45 2.4.2 信号传输的反射畸变46 2.5 信号传输畸变的抑制措施49 2.5.1 最大传输线长度的计算49 2.5.2 端点的阻抗匹配50 2.6 数字信号的辐射52 2.6.1 差模辐射52 2.6.2 共模辐射55 2.6.3 差模和共模辐射比较57 第3章 常用元件的可靠性能与选择 3.1 元件的选择与降额设计59 3.1.1 元件的选择准则59 3.1.2 元件的降额设计59 3.2 电阻器60 3.2.1 电阻器的等效电路60 3.2.2 电阻器的内部噪声60 3.2.3 电阻器的温度特性61 3.2.4 电阻器的分类与主要参数62 3.2.5 电阻器的正确选用66 3.3 电容器67 3.3.1 电容器的等效电路67 3.3.2 电容器的种类与型号68 3.3.3 电容器的标志方法70 3.3.4 电容器引脚的电感量71 3.3.5 电容器的正确选用71 3.3.6 电容器使用注意事项73 3.4 电感器73 3.4.1 电感器的等效电路74 3.4.2 电感器使用的注意事项74 3.5 数字集成电路的抗干扰性能75 3.5.1 噪声容限与抗干扰能力75 3.5.2 施密特集成电路的噪声容限77 3.5.3 TTL数字集成电路的抗干扰性能78 3.5.4 CMOS数字集成电路的抗干扰性能79 3.5.5 CMOS电路使用中注意事项80 3.5.6 集成门电路系列型号81 3.6 高速CMOS 54/74HC系列接口设计83 3.6.1 54/74HC 系列芯片特点83 3.6.2 74HC与TTL接口85 3.6.3 74HC与单片机接口85 3.7 元器件的装配工艺对可靠性的影响86 第4章 电磁干扰硬件控制技术 4.1 屏蔽技术88 4.1.1 电场屏蔽88 4.1.2 磁场屏蔽89 4.1.3 电磁场屏蔽91 4.1.4 屏蔽损耗的计算92 4.1.5 屏蔽体屏蔽效能的计算99 4.1.6 屏蔽箱的设计100 4.1.7 电磁泄漏的抑制措施102 4.1.8 电缆屏蔽层的屏蔽原理108 4.1.9 屏蔽与接地113 4.1.10 屏蔽设计要点113 4.2 接地技术114 4.2.1 概述114 4.2.2 安全接地115 4.2.3 工作接地117 4.2.4 接地系统的布局119 4.2.5 接地装置和接地电阻120 4.2.6 地环路问题121 4.2.7 浮地方式122 4.2.8 电缆屏蔽层接地123 4.3 滤波技术126 4.3.1 滤波器概述127 4.3.2 无源滤波器130 4.3.3 有源滤波器138 4.3.4 铁氧体抗干扰磁珠143 4.3.5 贯通滤波器146 4.3.6 电缆线滤波连接器149 4.3.7 PCB板滤波器件154 4.4 隔离技术155 4.4.1 光电隔离156 4.4.2 继电器隔离160 4.4.3 变压器隔离 161 4.4.4 布线隔离161 4.4.5 共模扼流圈162 4.5 电路平衡结构164 4.5.1 双绞线在平衡电路中的使用164 4.5.2 同轴电缆的平衡结构165 4.5.3 差分放大器165 4.6 双绞线的抗干扰原理及应用166 4.6.1 双绞线的抗干扰原理166 4.6.2 双绞线的应用168 4.7 信号线间的串扰及抑制169 4.7.1 线间串扰分析169 4.7.2 线间串扰的抑制173 4.8 信号线的选择与敷设174 4.8.1 信号线型式的选择174 4.8.2 信号线截面的选择175 4.8.3 单股导线的阻抗分析175 4.8.4 信号线的敷设176 4.9 漏电干扰的防止措施177 4.10 抑制数字信号噪声常用硬件措施177 4.10.1 数字信号负传输方式178 4.10.2 提高数字信号的电压等级178 4.10.3 数字输入信号的RC阻容滤波179 4.10.4 提高输入端的门限电压181 4.10.5 输入开关触点抖动干扰的抑制方法181 4.10.6 提高器件的驱动能力184 4.11 静电放电干扰及其抑制184 第5章 主机单元配置与抗干扰设计 5.1 单片机主机单元组成特点186 5.1.1 80C51最小应用系统186 5.1.2 低功耗单片机最小应用系统187 5.2 总线的可靠性设计191 5.2.1 总线驱动器191 5.2.2 总线的负载平衡192 5.2.3 总线上拉电阻的配置192 5.3 芯片配置与抗干扰193 5.3.1去耦电容配置194 5.3.2 数字输入端的噪声抑制194 5.3.3 数字电路不用端的处理195 5.3.4 存储器的布线196 5.4 译码电路的可靠性分析197 5.4.1 过渡干扰与译码选通197 5.4.2 译码方式与抗干扰200 5.5 时钟电路配置200 5.6 复位电路设计201 5.6.1 复位电路RC参数的选择201 5.6.2 复位电路的可靠性与抗干扰分析202 5.6.3 I/O接口芯片的延时复位205 5.7 单片机系统的中断保护问题205 5.7.1 80C51单片机的中断机构205 5.7.2 常用的几种中断保护措施205 5.8 RAM数据掉电保护207 5.8.1 片内RAM数据保护207 5.8.2 利用双片选的外RAM数据保护207 5.8.3 利用DS1210实现外RAM数据保护208 5.8.4 2 KB非易失性随机存储器DS1220AB/AD211 5.9 看门狗技术215 5.9.1 由单稳态电路实现看门狗电路216 5.9.2 利用单片机片内定时器实现软件看门狗217 5.9.3 软硬件结合的看门狗技术219 5.9.4 单片机内配置看门狗电路221 5.10 微处理器监控器223 5.10.1 微处理器监控器MAX703~709/813L223 5.10.2 微处理器监控器MAX791227 5.10.3 微处理器监控器MAX807231 5.10.4 微处理器监控器MAX690A/MAX692A234 5.10.5 微处理器监控器MAX691A/MAX693A238 5.10.6 带备份电池的微处理器监控器MAX1691242 5.11 串行E2PROM X25045245 第6章 测量单元配置与抗干扰设计 6.1 概述255 6.2 模拟信号放大器256 6.2.1 集成运算放大器256 6.2.2 测量放大器组成原理260 6.2.3 单片集成测量放大器AD521263 6.2.4 单片集成测量放大器AD522265 6.2.5 单片集成测量放大器AD526266 6.2.6 单片集成测量放大器AD620270 6.2.7 单片集成测量放大器AD623274 6.2.8 单片集成测量放大器AD624276 6.2.9 单片集成测量放大器AD625278 6.2.10 单片集成测量放大器AD626281 6.3 电压/电流变换器(V/I)283 6.3.1 V/I变换电路..283 6.3.2 集成V/I变换器XTR101284 6.3.3 集成V/I变换器XTR110289 6.3.4 集成V/I变换器AD693292 6.3.5 集成V/I变换器AD694299 6.4 电流/电压变换器(I/V)302 6.4.1 I/V变换电路302 6.4.2 RCV420型I/V变换器303 6.5 具有放大、滤波、激励功能的模块2B30/2B31305 6.6 模拟信号隔离放大器313 6.6.1 隔离放大器ISO100313 6.6.2 隔离放大器ISO120316 6.6.3 隔离放大器ISO122319 6.6.4 隔离放大器ISO130323 6.6.5 隔离放大器ISO212P326 6.6.6 由两片VFC320组成的隔离放大器329 6.6.7 由两光耦组成的实用线性隔离放大器333 6.7 数字电位器及其应用336 6.7.1 非易失性数字电位器x9221336 6.7.2 非易失性数字电位器x9241343 6.8 传感器供电电源的配置及抗干扰346 6.8.1 传感器供电电源的扰动补偿347 6.8.2 单片集成精密电压芯片349 6.8.3 A/D转换器芯片提供基准电压350 6.9 测量单元噪声抑制措施351 6.9.1 外部噪声源的干扰及其抑制351 6.9.2 输入信号串模干扰的抑制352 6.9.3 输入信号共模干扰的抑制353 6.9.4 仪器仪表的接地噪声355 第7章 D/A、A/D单元配置与抗干扰设计 7.1 D/A、A/D转换器的干扰源357 7.2 D/A转换原理及抗干扰分析358 7.2.1 T型电阻D/A转换器359 7.2.2 基准电源精度要求361 7.2.3 D/A转换器的尖峰干扰362 7.3 典型D/A转换器与单片机接口363 7.3.1 并行12位D/A转换器AD667363 7.3.2 串行12位D/A转换器MAX5154370 7.4 D/A转换器与单片机的光电接口电路377 7.5 A/D转换器原理与抗干扰性能378 7.5.1 逐次比较式ADC原理378 7.5.2 余数反馈比较式ADC原理378 7.5.3 双积分ADC原理380 7.5.4 V/F ADC原理382 7.5.5 ∑Δ式ADC原理384 7.6 典型A/D转换器与单片机接口387 7.6.18 位并行逐次比较式MAX 118387 7.6.28 通道12位A/D转换器MAX 197394 7.6.3 双积分式A/D转换器5G14433399 7.6.4 V/F转换器AD 652在A/D转换器中的应用403 7.7 采样保持电路与抗干扰措施408 7.8 多路模拟开关与抗干扰措施412 7.8.1 CD4051412 7.8.2 AD7501413 7.8.3 多路开关配置与抗干扰技术413 7.9 D/A、A/D转换器的电源、接地与布线416 7.10 精密基准电压电路与噪声抑制416 7.10.1 基准电压电路原理417 7.10.2 引脚可编程精密基准电压源AD584418 7.10.3 埋入式齐纳二极管基准AD588420 7.10.4 低漂移电压基准MAX676/MAX677/MAX678422 7.10.5 低功率低漂移电压基准MAX873/MAX875/MAX876424 7.10.6 MC1403/MC1403A、MC1503精密电压基准电路430 第8章 功率接口与抗干扰设计 8.1 功率驱动元件432 8.1.1 74系列功率集成电路432 8.1.2 75系列功率集成电路433 8.1.3 MOC系列光耦合过零触发双向晶闸管驱动器435 8.2 输出控制功率接口电路438 8.2.1 继电器输出驱动接口438 8.2.2 继电器—接触器输出驱动电路439 8.2.3 光电耦合器—晶闸管输出驱动电路439 8.2.4 脉冲变压器—晶闸管输出电路440 8.2.5 单片机与大功率单相负载的接口电路441 8.2.6 单片机与大功率三相负载间的接口电路442 8.3 感性负载电路噪声的抑制442 8.3.1 交直流感性负载瞬变噪声的抑制方法442 8.3.2 晶闸管过零触发的几种形式445 8.3.3 利用晶闸管抑制感性负载的瞬变噪声447 8.4 晶闸管变流装置的干扰和抑制措施448 8.4.1 晶闸管变流装置电气干扰分析448 8.4.2 晶闸管变流装置的抗干扰措施449 8.5 固态继电器451 8.5.1 固态继电器的原理和结构451 8.5.2 主要参数与选用452 8.5.3 交流固态继电器的使用454 第9章 人机对话单元配置与抗干扰设计 9.1 键盘接口抗干扰问题456 9.2 LED显示器的构造与特点458 9.3 LED的驱动方式459 9.3.1 采用限流电阻的驱动方式459 9.3.2 采用LM317的驱动方式460 9.3.3 串联二极管压降驱动方式462 9.4 典型键盘/显示器接口芯片与单片机接口463 9.4.1 8位LED驱动器ICM 7218B463 9.4.2 串行LED显示驱动器MAX 7219468 9.4.3 并行键盘/显示器专用芯片8279482 9.4.4 串行键盘/显示器专用芯片HD 7279A492 9.5 LED显示接口的抗干扰措施502 9.5.1 LED静态显示接口的抗干扰502 9.5.2 LED动态显示接口的抗干扰506 9.6 打印机接口与抗干扰技术508 9.6.1 并行打印机标准接口信号508 9.6.2 打印机与单片机接口电路509 9.6.3 打印机电磁干扰的防护设计510 9.6.4 提高数据传输可靠性的措施512 第10章 供电电源的配置与抗干扰设计 10.1 电源干扰问题概述513 10.1.1 电源干扰的类型513 10.1.2 电源干扰的耦合途径514 10.1.3 电源的共模和差模干扰515 10.1.4 电源抗干扰的基本方法516 10.2 EMI电源滤波器517 10.2.1 实用低通电容滤波器518 10.2.2 双绕组扼流圈的应用518 10.3 EMI滤波器模块519 10.3.1 滤波器模块基础知识519 10.3.2 电源滤波器模块521 10.3.3 防雷滤波器模块531 10.3.4 脉冲群抑制模块532 10.4 瞬变干扰吸收器件532 10.4.1 金属氧化物压敏电阻(MOV)533 10.4.2 瞬变电压抑制器(TVS)537 10.5 电源变压器的屏蔽与隔离552 10.6 交流电源的供电抗干扰方案553 10.6.1 交流电源配电方式553 10.6.2 交流电源抗干扰综合方案555 10.7 供电直流侧抑制干扰措施555 10.7.1 整流电路的高频滤波555 10.7.2 串联型直流稳压电源配置与抗干扰556 10.7.3 集成稳压器使用中的保护557 10.8 开关电源干扰的抑制措施559 10.8.1 开关噪声的分类559 10.8.2 开关电源噪声的抑制措施560 10.9 微机用不间断电源UPS561 10.10 采用晶闸管无触点开关消除瞬态干扰设计方案564 第11章 印制电路板的抗干扰设计 11.1 印制电路板用覆铜板566 11.1.1 覆铜板材料566 11.1.2 覆铜板分类568 11.1.3 覆铜板的标准与电性能571 11.1.4 覆铜板的主要特点和应用583 11.2 印制板布线设计基础585 11.2.1 印制板导线的阻抗计算585 11.2.2 PCB布线结构和特性阻抗计算587 11.2.3 信号在印制板上的传播速度589 11.3 地线和电源线的布线设计590 11.3.1 降低接地阻抗的设计590 11.3.2 减小电源线阻抗的方法591 11.4 信号线的布线原则592 11.4.1 信号传输线的尺寸控制592 11.4.2 线间串扰控制592 11.4.3 辐射干扰的抑制593 11.4.4 反射干扰的抑制594 11.4.5 微机自动布线注意问题594 11.5 配置去耦电容的方法594 11.5.1 电源去耦595 11.5.2 集成芯片去耦595 11.6 芯片的选用与器件布局596 11.6.1 芯片选用指南596 11.6.2 器件的布局597 11.6.3 时钟电路的布置598 11.7 多层印制电路板599 11.7.1 多层印制板的结构与特点599 11.7.2 多层印制板的布局方案600 11.7.3 20H原则605 11.8 印制电路板的安装和板间配线606 第12章 软件抗干扰原理与方法 12.1 概述607 12.1.1 测控系统软件的基本要求607 12.1.2 软件抗干扰一般方法607 12.2 指令冗余技术608 12.2.1 NOP的使用609 12.2.2 重要指令冗余609 12.3 软件陷阱技术609 12.3.1 软件陷阱609 12.3.2 软件陷阱的安排610 12.4 故障自动恢复处理程序613 12.4.1 上电标志设定614 12.4.2 RAM中数据冗余保护与纠错616 12.4.3 软件复位与中断激活标志617 12.4.4 程序失控后恢复运行的方法618 12.5 数字滤波619 12.5.1 程序判断滤波法620 12.5.2 中位值滤波法620 12.5.3 算术平均滤波法621 12.5.4 递推平均滤波法623 12.5.5 防脉冲干扰平均值滤波法624 12.5.6 一阶滞后滤波法626 12.6 干扰避开法627 12.7 开关量输入/输出软件抗干扰设计629 12.7.1 开关量输入软件抗干扰措施629 12.7.2 开关量输出软件抗干扰措施629 12.8 编写软件的其他注意事项630 附录 电磁兼容器件选购信息632

    标签: 单片机 应用系统 抗干扰技术

    上传时间: 2013-10-20

    上传用户:xdqm

  • 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

  • Contents at a Glance Introduction 1 PART I INSTALLATION AND CONFIGURATION 5 Hour 1 Preparing to I

    Contents at a Glance Introduction 1 PART I INSTALLATION AND CONFIGURATION 5 Hour 1 Preparing to Install Linux 7 2 Installing Linux 23 3 Post-Installation Issues 41 PART II LEARNING LINUX BASICS 67 Hour 4 Reading and Navigation Commands 69 5 Manipulation and Searching Commands 93 6 Using the Shell 117 7 Using the X Window System 143 8 Exploring the K Desktop Environment 177 PART III CONNECTING TO THE OUTSIDE WORLD 197 Hour 9 Using Communications Programs 199 10 Connecting to the Internet 223 11 Configuring Internet Email 249 12 Configuring Internet News 269 13 Internet Downloading and Browsing 289

    标签: CONFIGURATION Introduction INSTALLATION Preparing

    上传时间: 2013-12-27

    上传用户:qiao8960

  • Problem D:合唱队形 Time Limit:1000MS Memory Limit:65536K Total Submit:1237 Accepted:437 Language

    Problem D:合唱队形 Time Limit:1000MS Memory Limit:65536K Total Submit:1237 Accepted:437 Language: not limited Description N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1 < T2 < ...< Ti > Ti+1 > … >TK(1<=i<=K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 Input 输入包含若干个测试用例。 对于每个测试用例,输入第一行是一个整数N(2<=N<=100),表示同学的总数。第二行有N个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。当输入同学总数N为0时表示输入结束。 Output 对于每个测试案例,输出包括一行,这一行只包含一个整数,就是最少需要几位同学出列。 Sample Input 8 186 186 150 200 160 130 197 220 3 150 130 140 0 Sample Output 4 1

    标签: Limit Accepted Language Problem

    上传时间: 2014-01-13

    上传用户:aappkkee

  • N位同学站成一排

    N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1 < T2 < ...< Ti > Ti+1 > … > TK (1 <= i <= K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 Input 输入包含若干个测试用例。 对于每个测试用例,输入第一行是一个整数N(2<=N<=100),表示同学的总数。第二行有N个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。当输入同学总数N为0时表示输入结束。 Output 对于每个测试案例,输出包括一行,这一行只包含一个整数,就是最少需要几位同学出列。 Sample Input 8 186 186 150 200 160 130 197 220 3 150 130 140 0 Sample Output 4 1

    标签:

    上传时间: 2016-12-06

    上传用户:jackgao

  • C语言算法速查手册 书本附件

    第1章 绪论 1 1.1 程序设计语言概述 1 1.1.1 机器语言 1 1.1.2 汇编语言 2 1.1.3 高级语言 2 1.1.4 C语言 3 1.2 C语言的优点和缺点 4 1.2.1 C语言的优点 4 1.2.2 C语言的缺点 6 1.3 算法概述 7 1.3.1 算法的基本特征 7 1.3.2 算法的复杂度 8 1.3.3 算法的准确性 10 1.3.4 算法的稳定性 14 第2章 复数运算 18 2.1 复数的四则运算 18 2.1.1 [算法1] 复数乘法 18 2.1.2 [算法2] 复数除法 20 2.1.3 【实例5】 复数的四则运算 22 2.2 复数的常用函数运算 23 2.2.1 [算法3] 复数的乘幂 23 2.2.2 [算法4] 复数的n次方根 25 2.2.3 [算法5] 复数指数 27 2.2.4 [算法6] 复数对数 29 2.2.5 [算法7] 复数正弦 30 2.2.6 [算法8] 复数余弦 32 2.2.7 【实例6】 复数的函数运算 34 第3章 多项式计算 37 3.1 多项式的表示方法 37 3.1.1 系数表示法 37 3.1.2 点表示法 38 3.1.3 [算法9] 系数表示转化为点表示 38 3.1.4 [算法10] 点表示转化为系数表示 42 3.1.5 【实例7】 系数表示法与点表示法的转化 46 3.2 多项式运算 47 3.2.1 [算法11] 复系数多项式相乘 47 3.2.2 [算法12] 实系数多项式相乘 50 3.2.3 [算法13] 复系数多项式相除 52 3.2.4 [算法14] 实系数多项式相除 54 3.2.5 【实例8】 复系数多项式的乘除法 56 3.2.6 【实例9】 实系数多项式的乘除法 57 3.3 多项式的求值 59 3.3.1 [算法15] 一元多项式求值 59 3.3.2 [算法16] 一元多项式多组求值 60 3.3.3 [算法17] 二元多项式求值 63 3.3.4 【实例10】 一元多项式求值 65 3.3.5 【实例11】 二元多项式求值 66 第4章 矩阵计算 68 4.1 矩阵相乘 68 4.1.1 [算法18] 实矩阵相乘 68 4.1.2 [算法19] 复矩阵相乘 70 4.1.3 【实例12】 实矩阵与复矩阵的乘法 72 4.2 矩阵的秩与行列式值 73 4.2.1 [算法20] 求矩阵的秩 73 4.2.2 [算法21] 求一般矩阵的行列式值 76 4.2.3 [算法22] 求对称正定矩阵的行列式值 80 4.2.4 【实例13】 求矩阵的秩和行列式值 82 4.3 矩阵求逆 84 4.3.1 [算法23] 求一般复矩阵的逆 84 4.3.2 [算法24] 求对称正定矩阵的逆 90 4.3.3 [算法25] 求托伯利兹矩阵逆的Trench方法 92 4.3.4 【实例14】 验证矩阵求逆算法 97 4.3.5 【实例15】 验证T矩阵求逆算法 99 4.4 矩阵分解与相似变换 102 4.4.1 [算法26] 实对称矩阵的LDL分解 102 4.4.2 [算法27] 对称正定实矩阵的Cholesky分解 104 4.4.3 [算法28] 一般实矩阵的全选主元LU分解 107 4.4.4 [算法29] 一般实矩阵的QR分解 112 4.4.5 [算法30] 对称实矩阵相似变换为对称三对角阵 116 4.4.6 [算法31] 一般实矩阵相似变换为上Hessen-Burg矩阵 121 4.4.7 【实例16】 对一般实矩阵进行QR分解 126 4.4.8 【实例17】 对称矩阵的相似变换 127 4.4.9 【实例18】 一般实矩阵相似变换 129 4.5 矩阵特征值的计算 130 4.5.1 [算法32] 求上Hessen-Burg矩阵全部特征值的QR方法 130 4.5.2 [算法33] 求对称三对角阵的全部特征值 137 4.5.3 [算法34] 求对称矩阵特征值的雅可比法 143 4.5.4 [算法35] 求对称矩阵特征值的雅可比过关法 147 4.5.5 【实例19】 求上Hessen-Burg矩阵特征值 151 4.5.6 【实例20】 分别用两种雅克比法求对称矩阵特征值 152 第5章 线性代数方程组的求解 154 5.1 高斯消去法 154 5.1.1 [算法36] 求解复系数方程组的全选主元高斯消去法 155 5.1.2 [算法37] 求解实系数方程组的全选主元高斯消去法 160 5.1.3 [算法38] 求解复系数方程组的全选主元高斯-约当消去法 163 5.1.4 [算法39] 求解实系数方程组的全选主元高斯-约当消去法 168 5.1.5 [算法40] 求解大型稀疏系数矩阵方程组的高斯-约当消去法 171 5.1.6 [算法41] 求解三对角线方程组的追赶法 174 5.1.7 [算法42] 求解带型方程组的方法 176 5.1.8 【实例21】 解线性实系数方程组 179 5.1.9 【实例22】 解线性复系数方程组 180 5.1.10 【实例23】 解三对角线方程组 182 5.2 矩阵分解法 184 5.2.1 [算法43] 求解对称方程组的LDL分解法 184 5.2.2 [算法44] 求解对称正定方程组的Cholesky分解法 186 5.2.3 [算法45] 求解线性最小二乘问题的QR分解法 188 5.2.4 【实例24】 求解对称正定方程组 191 5.2.5 【实例25】 求解线性最小二乘问题 192 5.3 迭代方法 193 5.3.1 [算法46] 病态方程组的求解 193 5.3.2 [算法47] 雅克比迭代法 197 5.3.3 [算法48] 高斯-塞德尔迭代法 200 5.3.4 [算法49] 超松弛方法 203 5.3.5 [算法50] 求解对称正定方程组的共轭梯度方法 205 5.3.6 [算法51] 求解托伯利兹方程组的列文逊方法 209 5.3.7 【实例26】 解病态方程组 214 5.3.8 【实例27】 用迭代法解方程组 215 5.3.9 【实例28】 求解托伯利兹方程组 217 第6章 非线性方程与方程组的求解 219 6.1 非线性方程求根的基本过程 219 6.1.1 确定非线性方程实根的初始近似值或根的所在区间 219 6.1.2 求非线性方程根的精确解 221 6.2 求非线性方程一个实根的方法 221 6.2.1 [算法52] 对分法 221 6.2.2 [算法53] 牛顿法 223 6.2.3 [算法54] 插值法 226 6.2.4 [算法55] 埃特金迭代法 229 6.2.5 【实例29】 用对分法求非线性方程组的实根 232 6.2.6 【实例30】 用牛顿法求非线性方程组的实根 233 6.2.7 【实例31】 用插值法求非线性方程组的实根 235 6.2.8 【实例32】 用埃特金迭代法求非线性方程组的实根 237 6.3 求实系数多项式方程全部根的方法 238 6.3.1 [算法56] QR方法 238 6.3.2 【实例33】 用QR方法求解多项式的全部根 240 6.4 求非线性方程组一组实根的方法 241 6.4.1 [算法57] 梯度法 241 6.4.2 [算法58] 拟牛顿法 244 6.4.3 【实例34】 用梯度法计算非线性方程组的一组实根 250 6.4.4 【实例35】 用拟牛顿法计算非线性方程组的一组实根 252 第7章 代数插值法 254 7.1 拉格朗日插值法 254 7.1.1 [算法59] 线性插值 255 7.1.2 [算法60] 二次抛物线插值 256 7.1.3 [算法61] 全区间插值 259 7.1.4 【实例36】 拉格朗日插值 262 7.2 埃尔米特插值 263 7.2.1 [算法62] 埃尔米特不等距插值 263 7.2.2 [算法63] 埃尔米特等距插值 267 7.2.3 【实例37】 埃尔米特插值法 270 7.3 埃特金逐步插值 271 7.3.1 [算法64] 埃特金不等距插值 272 7.3.2 [算法65] 埃特金等距插值 275 7.3.3 【实例38】 埃特金插值 278 7.4 光滑插值 279 7.4.1 [算法66] 光滑不等距插值 279 7.4.2 [算法67] 光滑等距插值 283 7.4.3 【实例39】 光滑插值 286 7.5 三次样条插值 287 7.5.1 [算法68] 第一类边界条件的三次样条函数插值 287 7.5.2 [算法69] 第二类边界条件的三次样条函数插值 292 7.5.3 [算法70] 第三类边界条件的三次样条函数插值 296 7.5.4 【实例40】 样条插值法 301 7.6 连分式插值 303 7.6.1 [算法71] 连分式插值 304 7.6.2 【实例41】 验证连分式插值的函数 308 第8章 数值积分法 309 8.1 变步长求积法 310 8.1.1 [算法72] 变步长梯形求积法 310 8.1.2 [算法73] 自适应梯形求积法 313 8.1.3 [算法74] 变步长辛卜生求积法 316 8.1.4 [算法75] 变步长辛卜生二重积分方法 318 8.1.5 [算法76] 龙贝格积分 322 8.1.6 【实例42】 变步长积分法进行一重积分 325 8.1.7 【实例43】 变步长辛卜生积分法进行二重积分 326 8.2 高斯求积法 328 8.2.1 [算法77] 勒让德-高斯求积法 328 8.2.2 [算法78] 切比雪夫求积法 331 8.2.3 [算法79] 拉盖尔-高斯求积法 334 8.2.4 [算法80] 埃尔米特-高斯求积法 336 8.2.5 [算法81] 自适应高斯求积方法 337 8.2.6 【实例44】 有限区间高斯求积法 342 8.2.7 【实例45】 半无限区间内高斯求积法 343 8.2.8 【实例46】 无限区间内高斯求积法 345 8.3 连分式法 346 8.3.1 [算法82] 计算一重积分的连分式方法 346 8.3.2 [算法83] 计算二重积分的连分式方法 350 8.3.3 【实例47】 连分式法进行一重积分 354 8.3.4 【实例48】 连分式法进行二重积分 355 8.4 蒙特卡洛法 356 8.4.1 [算法84] 蒙特卡洛法进行一重积分 356 8.4.2 [算法85] 蒙特卡洛法进行二重积分 358 8.4.3 【实例49】 一重积分的蒙特卡洛法 360 8.4.4 【实例50】 二重积分的蒙特卡洛法 361 第9章 常微分方程(组)初值问题的求解 363 9.1 欧拉方法 364 9.1.1 [算法86] 定步长欧拉方法 364 9.1.2 [算法87] 变步长欧拉方法 366 9.1.3 [算法88] 改进的欧拉方法 370 9.1.4 【实例51】 欧拉方法求常微分方程数值解 372 9.2 龙格-库塔方法 376 9.2.1 [算法89] 定步长龙格-库塔方法 376 9.2.2 [算法90] 变步长龙格-库塔方法 379 9.2.3 [算法91] 变步长基尔方法 383 9.2.4 【实例52】 龙格-库塔方法求常微分方程的初值问题 386 9.3 线性多步法 390 9.3.1 [算法92] 阿当姆斯预报校正法 390 9.3.2 [算法93] 哈明方法 394 9.3.3 [算法94] 全区间积分的双边法 399 9.3.4 【实例53】 线性多步法求常微分方程组初值问题 401 第10章 拟合与逼近 405 10.1 一元多项式拟合 405 10.1.1 [算法95] 最小二乘拟合 405 10.1.2 [算法96] 最佳一致逼近的里米兹方法 412 10.1.3 【实例54】 一元多项式拟合 417 10.2 矩形区域曲面拟合 419 10.2.1 [算法97] 矩形区域最小二乘曲面拟合 419 10.2.2 【实例55】 二元多项式拟合 428 第11章 特殊函数 430 11.1 连分式级数和指数积分 430 11.1.1 [算法98] 连分式级数求值 430 11.1.2 [算法99] 指数积分 433 11.1.3 【实例56】 连分式级数求值 436 11.1.4 【实例57】 指数积分求值 438 11.2 伽马函数 439 11.2.1 [算法100] 伽马函数 439 11.2.2 [算法101] 贝塔函数 441 11.2.3 [算法102] 阶乘 442 11.2.4 【实例58】 伽马函数和贝塔函数求值 443 11.2.5 【实例59】 阶乘求值 444 11.3 不完全伽马函数 445 11.3.1 [算法103] 不完全伽马函数 445 11.3.2 [算法104] 误差函数 448 11.3.3 [算法105] 卡方分布函数 450 11.3.4 【实例60】 不完全伽马函数求值 451 11.3.5 【实例61】 误差函数求值 452 11.3.6 【实例62】 卡方分布函数求值 453 11.4 不完全贝塔函数 454 11.4.1 [算法106] 不完全贝塔函数 454 11.4.2 [算法107] 学生分布函数 457 11.4.3 [算法108] 累积二项式分布函数 458 11.4.4 【实例63】 不完全贝塔函数求值 459 11.5 贝塞尔函数 461 11.5.1 [算法109] 第一类整数阶贝塞尔函数 461 11.5.2 [算法110] 第二类整数阶贝塞尔函数 466 11.5.3 [算法111] 变型第一类整数阶贝塞尔函数 469 11.5.4 [算法112] 变型第二类整数阶贝塞尔函数 473 11.5.5 【实例64】 贝塞尔函数求值 476 11.5.6 【实例65】 变型贝塞尔函数求值 477 11.6 Carlson椭圆积分 479 11.6.1 [算法113] 第一类椭圆积分 479 11.6.2 [算法114] 第一类椭圆积分的退化形式 481 11.6.3 [算法115] 第二类椭圆积分 483 11.6.4 [算法116] 第三类椭圆积分 486 11.6.5 【实例66】 第一类勒让德椭圆函数积分求值 490 11.6.6 【实例67】 第二类勒让德椭圆函数积分求值 492 第12章 极值问题 494 12.1 一维极值求解方法 494 12.1.1 [算法117] 确定极小值点所在的区间 494 12.1.2 [算法118] 一维黄金分割搜索 499 12.1.3 [算法119] 一维Brent方法 502 12.1.4 [算法120] 使用一阶导数的Brent方法 506 12.1.5 【实例68】 使用黄金分割搜索法求极值 511 12.1.6 【实例69】 使用Brent法求极值 513 12.1.7 【实例70】 使用带导数的Brent法求极值 515 12.2 多元函数求极值 517 12.2.1 [算法121] 不需要导数的一维搜索 517 12.2.2 [算法122] 需要导数的一维搜索 519 12.2.3 [算法123] Powell方法 522 12.2.4 [算法124] 共轭梯度法 525 12.2.5 [算法125] 准牛顿法 531 12.2.6 【实例71】 验证不使用导数的一维搜索 536 12.2.7 【实例72】 用Powell算法求极值 537 12.2.8 【实例73】 用共轭梯度法求极值 539 12.2.9 【实例74】 用准牛顿法求极值 540 12.3 单纯形法 542 12.3.1 [算法126] 求无约束条件下n维极值的单纯形法 542 12.3.2 [算法127] 求有约束条件下n维极值的单纯形法 548 12.3.3 [算法128] 解线性规划问题的单纯形法 556 12.3.4 【实例75】 用单纯形法求无约束条件下N维的极值 568 12.3.5 【实例76】 用单纯形法求有约束条件下N维的极值 569 12.3.6 【实例77】 求解线性规划问题 571 第13章 随机数产生与统计描述 574 13.1 均匀分布随机序列 574 13.1.1 [算法129] 产生0到1之间均匀分布的一个随机数 574 13.1.2 [算法130] 产生0到1之间均匀分布的随机数序列 576 13.1.3 [算法131] 产生任意区间内均匀分布的一个随机整数 577 13.1.4 [算法132] 产生任意区间内均匀分布的随机整数序列 578 13.1.5 【实例78】 产生0到1之间均匀分布的随机数序列 580 13.1.6 【实例79】 产生任意区间内均匀分布的随机整数序列 581 13.2 正态分布随机序列 582 13.2.1 [算法133] 产生任意均值与方差的正态分布的一个随机数 582 13.2.2 [算法134] 产生任意均值与方差的正态分布的随机数序列 585 13.2.3 【实例80】 产生任意均值与方差的正态分布的一个随机数 587 13.2.4 【实例81】 产生任意均值与方差的正态分布的随机数序列 588 13.3 统计描述 589 13.3.1 [算法135] 分布的矩 589 13.3.2 [算法136] 方差相同时的t分布检验 591 13.3.3 [算法137] 方差不同时的t分布检验 594 13.3.4 [算法138] 方差的F检验 596 13.3.5 [算法139] 卡方检验 599 13.3.6 【实例82】 计算随机样本的矩 601 13.3.7 【实例83】 t分布检验 602 13.3.8 【实例84】 F分布检验 605 13.3.9 【实例85】 检验卡方检验的算法 607 第14章 查找 609 14.1 基本查找 609 14.1.1 [算法140] 有序数组的二分查找 609 14.1.2 [算法141] 无序数组同时查找最大和最小的元素 611 14.1.3 [算法142] 无序数组查找第M小的元素 613 14.1.4 【实例86】 基本查找 615 14.2 结构体和磁盘文件的查找 617 14.2.1 [算法143] 无序结构体数组的顺序查找 617 14.2.2 [算法144] 磁盘文件中记录的顺序查找 618 14.2.3 【实例87】 结构体数组和文件中的查找 619 14.3 哈希查找 622 14.3.1 [算法145] 字符串哈希函数 622 14.3.2 [算法146] 哈希函数 626 14.3.3 [算法147] 向哈希表中插入元素 628 14.3.4 [算法148] 在哈希表中查找元素 629 14.3.5 [算法149] 在哈希表中删除元素 631 14.3.6 【实例88】 构造哈希表并进行查找 632 第15章 排序 636 15.1 插入排序 636 15.1.1 [算法150] 直接插入排序 636 15.1.2 [算法151] 希尔排序 637 15.1.3 【实例89】 插入排序 639 15.2 交换排序 641 15.2.1 [算法152] 气泡排序 641 15.2.2 [算法153] 快速排序 642 15.2.3 【实例90】 交换排序 644 15.3 选择排序 646 15.3.1 [算法154] 直接选择排序 646 15.3.2 [算法155] 堆排序 647 15.3.3 【实例91】 选择排序 650 15.4 线性时间排序 651 15.4.1 [算法156] 计数排序 651 15.4.2 [算法157] 基数排序 653 15.4.3 【实例92】 线性时间排序 656 15.5 归并排序 657 15.5.1 [算法158] 二路归并排序 658 15.5.2 【实例93】 二路归并排序 660 第16章 数学变换与滤波 662 16.1 快速傅里叶变换 662 16.1.1 [算法159] 复数据快速傅里叶变换 662 16.1.2 [算法160] 复数据快速傅里叶逆变换 666 16.1.3 [算法161] 实数据快速傅里叶变换 669 16.1.4 【实例94】 验证傅里叶变换的函数 671 16.2 其他常用变换 674 16.2.1 [算法162] 快速沃尔什变换 674 16.2.2 [算法163] 快速哈达玛变换 678 16.2.3 [算法164] 快速余弦变换 682 16.2.4 【实例95】 验证沃尔什变换和哈达玛的函数 684 16.2.5 【实例96】 验证离散余弦变换的函数 687 16.3 平滑和滤波 688 16.3.1 [算法165] 五点三次平滑 689 16.3.2 [算法166] α-β-γ滤波 690 16.3.3 【实例97】 验证五点三次平滑 692 16.3.4 【实例98】 验证α-β-γ滤波算法 693  

    标签: C 算法 附件 源代码

    上传时间: 2015-06-29

    上传用户:cbsdukaf

  • redis官方手册翻译

    Redis 命令参考 1 Key(键) 1 1.1 DEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 DUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 EXPIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 EXPIREAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 KEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.7 MIGRATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.8 MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.9 OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.10 PERSIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.11 PEXPIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.12 PEXPIREAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.13 PTTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.14 RANDOMKEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.15 RENAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.16 RENAMENX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.17 RESTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.18 SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.19 TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.20 TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.21 SCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2 String(字符串) 29 2.1 APPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2 BITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3 BITOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 DECR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5 DECRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6 GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7 GETBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8 GETRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.9 GETSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.10 INCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.11 INCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.12 INCRBYFLOAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.13 MGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.14 MSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.15 MSETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 i 2.16 PSETEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.17 SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.18 SETBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.19 SETEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.20 SETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.21 SETRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.22 STRLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3 Hash(哈希表) 51 3.1 HDEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2 HEXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 HGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4 HGETALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.5 HINCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6 HINCRBYFLOAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.7 HKEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 HLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.9 HMGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.10 HMSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.11 HSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.12 HSETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.13 HVALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.14 HSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4 List(列表) 61 4.1 BLPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2 BRPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3 BRPOPLPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4 LINDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.5 LINSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6 LLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.7 LPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.8 LPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.9 LPUSHX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.10 LRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 LREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.12 LSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.13 LTRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.14 RPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.15 RPOPLPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.16 RPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.17 RPUSHX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5 Set(集合) 79 5.1 SADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 SCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3 SDIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4 SDIFFSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5 SINTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.6 SINTERSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.7 SISMEMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.8 SMEMBERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.9 SMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.10 SPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ii 5.11 SRANDMEMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.12 SREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.13 SUNION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.14 SUNIONSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.15 SSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6 SortedSet(有序集合) 89 6.1 ZADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2 ZCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3 ZCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.4 ZINCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5 ZRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.6 ZRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.7 ZRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.8 ZREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.9 ZREMRANGEBYRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.10 ZREMRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.11 ZREVRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.12 ZREVRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.13 ZREVRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.14 ZSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.15 ZUNIONSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.16 ZINTERSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.17 ZSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7 Pub/Sub(发布/订阅) 103 7.1 PSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.2 PUBLISH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.3 PUBSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.4 PUNSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.5 SUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.6 UNSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8 Transaction(事务) 109 8.1 DISCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.2 EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.3 MULTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.4 UNWATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.5 WATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 9 Script(脚本) 113 9.1 EVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 9.2 EVALSHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.3 SCRIPT EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.4 SCRIPT FLUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.5 SCRIPT KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.6 SCRIPT LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10 Connection(连接) 123 10.1 AUTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.2 ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.3 PING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.4 QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.5 SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 iii 11 Server(服务器) 127 11.1 BGREWRITEAOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2 BGSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.3 CLIENT GETNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.4 CLIENT KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.5 CLIENT LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.6 CLIENT SETNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 11.7 CONFIG GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.8 CONFIG RESETSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.9 CONFIG REWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.10 CONFIG SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.11 DBSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.12 DEBUG OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.13 DEBUG SEGFAULT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.14 FLUSHALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.15 FLUSHDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.16 INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.17 LASTSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.18 MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.19 PSYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.20 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.21 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.22 SLAVEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 11.23 SLOWLOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.24 SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.25 TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 12 键空间通知(keyspace notification) 149 12.1 功能概览. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.2 事件的类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.3 配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.4 命令产生的通知. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.5 过期通知的发送时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13 事务(transaction) 153 13.1 用法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.2 事务中的错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 13.3 为什么Redis 不支持回滚(roll back) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.4 放弃事务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.5 使用check-and-set 操作实现乐观锁. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.6 了解WATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.7 使用WATCH 实现ZPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.8 Redis 脚本和事务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 14 发布与订阅(pub/sub) 159 14.1 信息的格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 14.2 订阅模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.3 通过频道和模式接收同一条信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.4 订阅总数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.5 编程示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.6 客户端库实现提示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 15 复制(Replication) 163 15.1 复制功能的运作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 15.2 部分重同步. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 iv 15.3 配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.4 只读从服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.5 从服务器相关配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 15.6 主服务器只在有至少N 个从服务器的情况下,才执行写操作. . . . . . . . . . . . . . . . . . 165 16 通信协议(protocol) 167 16.1 网络层. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.2 请求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.3 新版统一请求协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.4 回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.5 状态回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.6 错误回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.7 整数回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.8 批量回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.9 多条批量回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 16.10 多条批量回复中的空元素. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.11 多命令和流水线. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.12 内联命令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.13 高性能Redis 协议分析器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17 持久化(persistence) 173 17.1 Redis 持久化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.2 RDB 的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.3 RDB 的缺点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.4 AOF 的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.5 AOF 的缺点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.6 RDB 和AOF ,我应该用哪一个? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.7 RDB 快照. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.8 快照的运作方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.9 只进行追加操作的文件(append-only file,AOF) . . . . . . . . . . . . . . . . . . . . . . . . 175 17.10 AOF 重写. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.11 AOF 有多耐久? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.12 如果AOF 文件出错了,怎么办? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.13 AOF 的运作方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 17.14 怎么从RDB 持久化切换到AOF 持久化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 17.15 RDB 和AOF 之间的相互作用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 17.16 备份Redis 数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 17.17 容灾备份. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 18 Sentinel 181 18.1 获取Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18.2 启动Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18.3 配置Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 18.4 主观下线和客观下线. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 18.5 每个Sentinel 都需要定期执行的任务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.6 自动发现Sentinel 和从服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.7 Sentinel API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.8 故障转移. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 18.9 TILT 模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.10 处理-BUSY 状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.11 Sentinel 的客户端实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 19 集群教程191 19.1 集群简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 19.2 Redis 集群数据共享. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 v 19.3 Redis 集群中的主从复制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 19.4 Redis 集群的一致性保证(guarantee) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 19.5 创建并使用Redis 集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 19.6 创建集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 19.7 集群的客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 19.8 使用redis-rb-cluster 编写一个示例应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 19.9 对集群进行重新分片. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 19.10 一个更有趣的示例应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 19.11 故障转移测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 19.12 添加新节点到集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 19.13 移除一个节点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 20 Redis 集群规范205 20.1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 20.2 什么是Redis 集群? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 20.3 Redis 集群实现的功能子集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.4 Redis 集群协议中的客户端和服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.5 键分布模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.6 集群节点属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 20.7 节点握手(已实现) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 20.8 MOVED 转向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 20.9 集群在线重配置(live reconfiguration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 20.10 ASK 转向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 20.11 容错. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 20.12 发布/订阅(已实现,但仍然需要改善) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 20.13 附录A:CRC16 算法的ANSI 实现参考. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 21 关于217 22 通过捐款支持本文档219

    标签: redis 官方手册

    上传时间: 2016-02-04

    上传用户:1987

  • 51单片机基础应用设计C语言实例(400例)合集

    100-24c02记忆开机次数101-24c02存储上次使用中状态102-DS1302 时钟原理103-DS1302可调时钟104-DS1302时钟串口自动更新时间105-1602液晶显示DS1302时钟106-字库ST7920 12864液晶基础显示107-按键 12864显示108-PCF8591 1路AD数码管显示109-PCF8591 4路AD数码管显示11-LED循环右移110-PCF8591 DA输出模拟111-PCF8591 输出锯齿波112-PCF8591 1602液晶显示113-串口通讯114-串口通讯中断应用115-RS485基本通讯原理116-红外接收原理117-红外解码数码管显示118-红外解码1602液晶显示119-红外发射原理12-查表显示LED灯120-红外收发测试121-双红外发射避障原理测试122-1个18B20 温度传感器 数码管显示123-1个18b20温度传感器1602液晶显示124-多个18b20温度传感器1602液晶显示125-超温报警测试126-温度可调上下限1602126-温度可调上下限1602显示127-PS2键盘输入1602液晶显示128-双色点阵1种颜色显示测试129-双色点阵2种颜色显示测试13-双灯左移右移闪烁130-双色点阵显示特定图形131-双色点阵交替图形显示132-双色点阵双色交替动态显示133-热敏电阻测试数码管显示134-光敏电阻测试数码管显示135-自动调光测试136-串转并数字芯片测试137-非门数字芯片测试138-电子琴139-实用99分钟倒计时器14-花样灯140-外部频率测试141-定时做普通时钟可调142-1602液晶显示的密码锁143-实用密码锁144-1602液晶显示的计算器145-秒表146-串口测温电脑显示147-交通灯测试148-点阵模拟电梯上行下行149-点阵流动广告模拟15-PWM调光150-综合测试程序151-12位AD_DS1621与12864液晶152-闪烁灯一153-闪烁灯二154-流水灯A155-51单片机12864大液晶屏proteus仿真156-流水灯B157-数码管显示158-12864LCD显示计算器键盘按键实验159-数码管显示(锁存器)16-共阳数码管静态显示160-数码管动态显示161-数码管滚动显示162-数码管字符显示163-独立按键164-矩阵键盘165-矩阵键盘(LCD)166-用DS1302与12864LCD设计的可调式中文电子日历167-定时器的使用(方式1)168-12864LCD图形滚动演示169-用PG12864LCD设计的指针式电子钟17-1个共阳数码管显示变化数字170-定时器的使用(方式2)171-外部中断的使用172-定时器和外部中断173-开关控制12864LCD串行模式显示174-点阵显示175-液晶1602显示176-12864带字库测试程序177-串行12864显示178-遥控键值解码-12864LCD显示179-液晶12864并行18-单个数码管模拟水流180-液晶12864并行2181-串口发送试验182-串口接收试验183-串口接收(1602)184-蜂鸣器发声185-直流电机调速186-蜂鸣器间断发声187-lcd-12864应用188-继电器控制189-直流电机调速19-按键控制单个数码管显示190-步进电机191-存储AT24C02192-PCF8591T AD实验193-PCF8591T芯片DA实验194-温度采集DS18B20195-EEPROM_24C02196-12864LCD显示24C08保存的开机画面197-红外解码198-12864LCD显示EPROM2764保存的开机画面199-时钟DS1302(LCD)2-IO输出-点亮1个LED灯方法220-单个数码管指示逻辑电平200-宏晶看门狗201-SD卡202-秒表203-普通定时器时钟204-彩屏控制205-彩屏图片显示206-12864+DS1302时钟+18B20温度计207-12864测试程序208-12864串行驱动演示209-12864生产厂程序21-8位数码管显示其中之一210-12864中文显示测试211-LCD12864212-12864M液晶显示(有字库)程序(汇编)213-超声波测距LCD12864显示214-红外遥控键值解码12864液晶显示(汇编语言)215-用DS1302与12864LCD设计的可调式中文电子日历216-中文12864217-中文12864LCD显示红外遥控解码实验218-IO端口输出219-IO端口输入22-8位数码管静态显示其中之二220-流水灯221-数码管显示222-数码管动态扫描演示223-独立按键224-独立按键去抖动225-定时器0226-定时器1227-定时器2228-外部中断0电平触发229-外部中断0边沿触发23-8位数码管动态扫描显示230-外部中断1231-矩阵键盘232-液晶LCM1602233-LCD1602动态显示234-EEPROM24c02235-开机次数记忆236-红外解码LCD1602液晶显示237-红外解码数码管显示238-喇叭239-液晶背光控制24-8位数码管动态扫描原理演示240-与电脑串口通信241-步进电机242-字库LCD12864液晶测试243-液晶数码综合显示244-99秒计时245-99倒计时246-抢答器247-PWM调光248-LED点阵249-直流电机调速25-数码管显示动态数据250-按键计数器251-秒表252-数码管移动253-花样灯254-红绿灯255-音乐播放256-红外收发演示257-普通定时器时钟258-继电器控制259-ps2键盘LCD1602液晶显示26-9累加260-RTC实时时钟DS1302液晶显示261-单线温度传感器18b20262-串口测温263-带停机 步进电机正反转264-步进电机正反转265-AD_DA_PCF8591266-液晶AD_DA_PCF8591267-秒手动记数268-功能感受269-流水登27-99累加270-点亮一个二极管271-用单片机控制一个灯闪烁272-将P1口状态送入P0、P2、P3273-P3口流水灯274-通过对P3口地址的操作流水点亮8位LED275-用不同数据类型控制灯闪烁时间276-用P0口、P1 口分别显示加法和减法运算结果277-用P0、P1口显示乘法运算结果278-用P1、P0口显示除法运算结果279-用自增运算控制P0口8位LED流水花样28-999累加280-用P0口显示逻辑与运算结果281-用P0口显示条件运算结果282-用P0口显示按位异或运算结果283-用P0显示左移运算结果284-万能逻辑电路实验285-用右移运算流水点亮P1口8位LED286-用if语句控制P0口8位LED的流水方向287-用swtich语句的控制P0口8位LED的点亮状态288-用for语句控制蜂鸣器鸣笛次数289-包含单片机寄存器的头文件29-9999累加290-用do-while语句控制P0口8位LED流水点亮291-用字符型数组控制P0口8位LED流水点亮292-用P0口显示字符串常量293-用P0 口显示指针运算结果294-用指针数组控制P0口8位LED流水点亮295-用数组的指针控制P0 口8 位LED流水点亮296-用P0 、P1口显示整型函数返回值297-用有参函数控制P0口8位LED流水速度298-用数组作函数参数控制流水花样299-用数组作函数参数控制流水花样3-IO输出-点亮多个LED灯方法130-9累减300-用函数型指针控制P1口灯花样31-99累减32-999累减33-9999累减34-显示小数点35-数码管消隐36-数码管递加递减带消隐37-数码管左移38-数码管右移38-数码管右移139-数码管右移24-IO输出-点亮多个LED灯方法240-数码管循环左移41-数码管循环右移41-数码管循环右移142-数码管循环右移243-数码管闪烁44-数码管局部闪烁45-定时器046-定时器147-定时器248-产生1mS方波49-产生200mS方波5-闪烁1个LED50-产生多路不同频率方波51-1个独立按键控制LED52-1个独立按键控制LED状态转换53-2按键加减操作53-2按键加减操作数码管显示54-多位数按键加减(闪烁)54-多位数按键加减(闪烁)数码管显示55-多位数按键加减(不闪烁)55-多位数按键加减(不闪烁)数码管显示56-定时器扫描数码管(不闪烁)57-按键长按短按效果58-抢答器59-独立按键依次输入数据6-不同频率闪烁1个LED灯60-按键从右至左输入61-8位端口检测8独立按键62-矩阵键盘行列扫描63-矩阵键盘反转扫描64-矩阵键盘中断扫描65-矩阵键盘密码锁66-矩阵键盘简易计算器67-外部中断0电平触发68-外部中断1电平触发69-外部中断0下降沿触发7-不同频率闪烁多个LED灯70-外部中断1下降沿触发71-T0外部计数输入72-T1外部计数输入73-看门狗溢出测试74-按键喂狗75-喇叭发声原理76-警车声音77-救护车声音78-喇叭滴答声79-报警发声8-8位LED左移80-消防车警报81-音乐播放82-步进电机转动原理83-步进电机正反转84-步进电机按键控制85-步进电机转

    标签: 51单片机 C语言

    上传时间: 2021-11-08

    上传用户:

  • C51单片机设计C语言实例(400例)合集 大量设计实例 新手必备C51源码 1-IO输出-点亮1

    C51单片机设计C语言实例(400例)合集 大量设计实例,新手必备C51源码,1-IO输出-点亮1个LED灯方法110-LED循环左移100-24c02记忆开机次数101-24c02存储上次使用中状态102-DS1302 时钟原理103-DS1302可调时钟104-DS1302时钟串口自动更新时间105-1602液晶显示DS1302时钟106-字库ST7920 12864液晶基础显示107-按键 12864显示108-PCF8591 1路AD数码管显示109-PCF8591 4路AD数码管显示11-LED循环右移110-PCF8591 DA输出模拟111-PCF8591 输出锯齿波112-PCF8591 1602液晶显示113-串口通讯114-串口通讯中断应用115-RS485基本通讯原理116-红外接收原理117-红外解码数码管显示118-红外解码1602液晶显示119-红外发射原理12-查表显示LED灯120-红外收发测试121-双红外发射避障原理测试122-1个18B20 温度传感器 数码管显示123-1个18b20温度传感器1602液晶显示124-多个18b20温度传感器1602液晶显示125-超温报警测试126-温度可调上下限1602126-温度可调上下限1602显示127-PS2键盘输入1602液晶显示128-双色点阵1种颜色显示测试129-双色点阵2种颜色显示测试13-双灯左移右移闪烁130-双色点阵显示特定图形131-双色点阵交替图形显示132-双色点阵双色交替动态显示133-热敏电阻测试数码管显示134-光敏电阻测试数码管显示135-自动调光测试136-串转并数字芯片测试137-非门数字芯片测试138-电子琴139-实用99分钟倒计时器14-花样灯140-外部频率测试141-定时做普通时钟可调142-1602液晶显示的密码锁143-实用密码锁144-1602液晶显示的计算器145-秒表146-串口测温电脑显示147-交通灯测试148-点阵模拟电梯上行下行149-点阵流动广告模拟15-PWM调光150-综合测试程序151-12位AD_DS1621与12864液晶152-闪烁灯一153-闪烁灯二154-流水灯A155-51单片机12864大液晶屏proteus仿真156-流水灯B157-数码管显示158-12864LCD显示计算器键盘按键实验159-数码管显示(锁存器)16-共阳数码管静态显示160-数码管动态显示161-数码管滚动显示162-数码管字符显示163-独立按键164-矩阵键盘165-矩阵键盘(LCD)166-用DS1302与12864LCD设计的可调式中文电子日历167-定时器的使用(方式1)168-12864LCD图形滚动演示169-用PG12864LCD设计的指针式电子钟17-1个共阳数码管显示变化数字170-定时器的使用(方式2)171-外部中断的使用172-定时器和外部中断173-开关控制12864LCD串行模式显示174-点阵显示175-液晶1602显示176-12864带字库测试程序177-串行12864显示178-遥控键值解码-12864LCD显示179-液晶12864并行18-单个数码管模拟水流180-液晶12864并行2181-串口发送试验182-串口接收试验183-串口接收(1602)184-蜂鸣器发声185-直流电机调速186-蜂鸣器间断发声187-lcd-12864应用188-继电器控制189-直流电机调速19-按键控制单个数码管显示190-步进电机191-存储AT24C02192-PCF8591T AD实验193-PCF8591T芯片DA实验194-温度采集DS18B20195-EEPROM_24C02196-12864LCD显示24C08保存的开机画面197-红外解码198-12864LCD显示EPROM2764保存的开机画面199-时钟DS1302(LCD)2-IO输出-点亮1个LED灯方法220-单个数码管指示逻辑电平200-宏晶看门狗201-SD卡202-秒表203-普通定时器时钟204-彩屏控制205-彩屏图片显示206-12864+DS1302时钟+18B20温度计207-12864测试程序208-12864串行驱动演示209-12864生产厂程序21-8位数码管显示其中之一210-12864中文显示测试211-LCD12864212-12864M液晶显示(有字库)程序(汇编)213-超声波测距LCD1286

    标签: c51 单片机

    上传时间: 2021-11-17

    上传用户:

  • (网盘)给力者51单片机视频教程 6.33GB

    给力者51单片机视频教程21:51单片机超声波测距.rar - 231.26MB给力者51单片机视频教程20:51单片机湿度传感器DHT11.rar - 197.41MB给力者51单片机视频教程18:51单片机红外遥控解码.rar - 40.31MB给力者51单片机视频教程17:51单片机串口(2).rar - 26.04MB给力者51单片机视频教程17:51单片机串口(1).rar - 189.74MB给力者51单片机视频教程07:51单片机数字量输入操作.rar - 97.89MB给力者51单片机视频教程05:51单片机的数码管操作2.rar - 73.10MB给力者51单片机视频教程04:51单片机的查表操作2.rar - 107.39MB给力者51单片机视频教程04:51单片机的查表操作1.rar - 19.10MB......

    标签: 51单片机

    上传时间: 2022-05-26

    上传用户:jiabin