MCS-51单片机的系统扩展技术:在MCS-51单片机的的内部虽已集成了很多资源,但这类单片机属于一种“通用”的单片机,单片机内部的各种资源都是折衷配置的,如片内程序存储器、数据存储器的容量都不大,并行I/O端口的数量也不很多,此外,在有些应用中,片内定时器、中断、串行口等也显得不足,还有一些功能是基本型MCS-51单片机所没有的,比如A/D转换,D/A转换等等。实际应用中的要求是各种各样的,如果用到了MCS-51单片机内部所没有资源(如A/D,D/A等),或者单片机内部虽有,但却不够使用的资源,就要根据需要,对单片机进行扩展,以增加所需要的功能。MCS-51单片机所可能需要扩展的芯片种类非常多,但这里并不面面俱到,主要是通过对外扩程序存储器、数据存储器、I/O接口、A/D和D/A的介绍,使读者熟悉单片机接口的一般方法。实际上,如果对于这些常规的扩展芯片能够熟练地掌握和应用,并能理解其扩展的原理,拿到任何一块需要扩展的芯片,只要有这块芯片的数据手册或接口时序之类的资料,就能自行设计芯片的接口电路部份。1. MCS-51单片机扩展的原理MCS-51单片机被设计成具有通用计算机那样的外部总线结构,所以用MCS-51单片机进行扩展很方便,下面首先了解片外总线的工作原理。
上传时间: 2014-04-28
上传用户:古谷仁美
单片机指令系统 3.1 MCS-51指令简介 3.2 指令系统 3.1 MCS-51指令简介 二、MCS-51系列单片机指令系统分类 按寻址方式分为以下七种:按功能分为以下四种: 1、立即立即寻址 1、数据传送指令位操 2、直接寻址 2、算术运算指令 3、寄存器寻址 3、逻辑运算指令 4、寄存器间接寻址指令 4、控制转移类指令 5、相对寻址 5、位操作指令 6、变址寻址 7、位寻址 三、寻址方式 3、寄存器间接寻址 MOV A, @R1 操作数是通过寄存器间接得到的。 4、立即寻址 MOV A, #40H 操作数在指令中直接给出。 5、基址寄存器加变址寄存器寻址 以DPTR或PC为基址寄存器,以A为变址寄存器, 以两者相加形成的16位地址为操作数的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符号说明 Rn——当前寄存器区的8个工作寄存器R0~R7(n=0~7); Ri——当前寄存器区可作地址寄存器的2个工作寄存器R0和R1(i=0,1); direct——8位内部数据存储器单元的地址及特殊功能寄存器的地址; #data——表示8位常数(立即数); #datal6——表示16位常数; add 16——表示16位地址; addrll——表示11位地址; rel——8位带符号的地址偏移量; bit——表示位地址; @——间接寻址寄存器或基址寄存器的前缀; ( )——表示括号中单元的内容 (( ))——表示间接寻址的内容; 五、MCS-51指令简介 1. 以累加器A为目的操作数的指令 2. 以Rn为目的操作数的指令 3. 以直接地址为目的操作数的指令 4. 以寄存器间接地址为目的操作数指令 应用举例1 8段数码管显示 应用举例2 3.2 指令系统 2、堆栈操作指令 3. 累加器A与外部数据传输指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字节交换指令 6. 半字节交换指令 二、算术操作类指令 PSW寄存器 2. 带进位加法指令 3. 加1指令 4. 十进制调整指令 5. 带借位减法指令(Subtraction) 6. 减1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、逻辑运算指令 1. 简单逻辑操作指令 2. 循环指令 带进位左循环指令(Rotate Accumulator Left through Carry flag) 右循环指令(Rotate Accumulator Right) 带进位右循环指令(Rotate A Right with C) 3. 逻辑与指令 4. 逻辑或指令 5. 逻辑异或指令 四、控制转移类指令 1. 跳转指令 相对转移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中标号与地址之间的关系 2. 条件转移指令 3. 比较不相等转移指令 4. 减 1 不为 0 转移指令 5. 调用子程序指令 7. 中断返回指令 五、位操作指令 1. 数据位传送指令 2. 位变量逻辑指令 3. 条件转移类指令
上传时间: 2013-10-27
上传用户:xuanjie
8086指令系统目录 概述 2.1节 目录 2.1.1--2.1.5(传送) 2.1.1 目录:1~3 2.1.1-1 mov类例1 mov类例2 mov类例3 mov类例4(END) 2.1.1-2. xchg --3.XLAT 查表示意图(end) 2.1.2堆栈操作指令(1) 堆栈操作指令(2) 堆栈操作指令(3) 堆栈操作指令(4) 堆栈操作指令(5)(END) 2.1.3标志传送指令(1) 标志传送指令(2)(end) 2.1.4地址传送指令(1) 地址传送指令(2) 地址传送指令(3)(end) 2.1.5输入输出指令(1) 输入输出指令(2) 输入输出指令(3)(end) 2.2节 目录 2.2.1--2.2.6(算术) 2.2.1加法指令(1) 加法指令(2) 加法指令(3) 加法指令(4) 加法指令5 end 2.2.2减法指令(1) 减法指令(2) 减法指令(3) 减法指令(4) 减法指令(5) 减法指令(6)(end) 2.2.3乘法指令(1) 乘法指令(2) 乘法指令(3)(end) 2.2.4除法指令(1) 除法指令(2)(end) 2.2.5符号扩展指令(end) 符号扩展说明 2.2.6十进制调整指令(1) 十进制调整指令(2) 十进制调整指令(3) 十进制调整指令(4) 十进制调整指令(5) 十进制调整指令(6) 十进制调整指令(7) 十进制调整指令(8) 十进制调整指令(9)(end) 2.3节 目录 2.3.1--2. 3.3(位) 2.3.1 逻辑运算指令(1) 逻辑运算指令(2) 逻辑运算指令(3) 逻辑运算指令(4) 逻辑运算指令(END) 2.3.2 移位指令(1) 移位指令(2) 移位指令(3) 移位指令(4)(end) 2.3.3 循环移位指令(1) 循环移位指令(2)(end) 2.4节 目录 2.4.1 无条件转移指令(1) 短转移的转移范围 无条件转移指令(2) 无条件转移指令(3) 无条件转移指令(4)(end) 2.4.2 条件转移指令(1) 条件转移指令(2) 条件转移指令(3) 条件转移指令(4) 条件转移指令(5)(end) 2.4.3 循环控制指令(1) 循环控制指令(2)(end) 2.4.4 子程序调用及返回指令(1) 子程序调用及返回指令(2) 子程序调用及返回指令(3) 子程序调用及返回指令(4) 子程序调用及返回指令(5) 子程序调用及返回指令(6) (end) 2.4.5 中断控制指令(1) 中断控制指令(2) 中断控制指令(3) 中断控制指令(4) 中断控制指令(5) 中断控制指令(6) 中断控制指令(7) 中断控制指令(8)(end) 2.4.6 系统功能调用(1) 系统功能调用(2) 系统功能调用(3)(end) 2.5节 目录 1---6(串操作) 串操作(1)传送 串操作(2) 串操作(3) 串操作(4)存串 串操作(5)读串、比较 串操作(6)搜索、重复前缀 串操作(7)REP 串操作(8)REPZ/REPNZ 串操作(9)前缀注释 串操作(10)例题 串操作(11)注释(end) 2.6 处理机控制类指令(1)(end)
上传时间: 2013-10-30
上传用户:大三三
一、实验目的1.掌握定时/计数器、输入/输出接口电路设计方法。 2.掌握中断控制编程技术的方法和应用。3.掌握8086汇编语言程序设计方法。 二、实验内容与要求 微机灯光控制系统主要用于娱乐场所的彩灯控制。系统的彩灯共有12组,在实验时用12个发光二极管模拟。1. 基本要求:灯光控制共有8种模式,如12个灯依次点亮;12个灯同时闪烁等八种。系统可以通过键盘和显示屏的人机对话,将8种模式进行任意个数、任意次序的连接组合。系统不断重复执行输入的模式组合,直至键盘有任意一个键按下,退出灯光控制系统,返回DOS系统。2. 提高要求:音乐彩灯控制系统,根据音乐的变化控制彩灯的变化,主要有以下几种:第一种为音乐节奏控制彩灯,按音乐的节拍变换彩灯花样。第二种音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大,且被点亮的数目增多。第三种按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点亮;高音时,另一部分点亮。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理我们以背景霓虹灯的一种显示效果为例,介绍控制霓虹灯显示的基本原理。设有一排 n 段水平排列的霓虹灯,某种显示方式为从左到右每0.2 秒逐个点亮。其控制过程如下: 若以“ 1 ”代表霓虹灯点亮,以“ 0 ”代表霓虹灯熄灭,则开始时刻, n 段霓虹灯的控制信号均为“ 0 ”,随后,控制器将一帧 n 个数据送至 n 段霓虹灯的控制端,其中,最左边的一段霓虹灯对应的控制数据为“ 1 ”,其余的数据均为零,即 1000 … 000 。当 n 个数据送完以后,控制器停止送数,保留这种状态(定时) 0.2 秒,此时,第 1 段霓虹灯被点亮,其余霓虹灯熄灭。随后,控制器又在极短的时间内将数据 1100 … 000 送至霓虹灯的控制端,并定时 0.2 秒,这段时间,前两段霓虹灯被点亮。由于送数据的过程很快,我们观测到的效果是第一段霓虹灯被点亮 0.2 秒后,第 2 段霓虹灯接着被点亮,即每隔 0.2 秒显示一帧图样。如此下去,最后控制器将数据 1111 … 111 送至 n 段霓虹灯的控制端,则 n 段霓虹灯被全部点亮。 只要改变送至每段霓虹灯的数据,即可改变霓虹灯的显示方式,显然,我们可以通过合理地组合数据(编程)来得到霓虹灯的不同显示方式。 五、总体方案论证分析系统设计思路如下:1) 采集8位开关输入信号,若输入数据为0时,将其修改为1。确定输入的硬件接口电路。采样输入开关量,并存入NUM的软件程序段。2) 以12个灯依次点亮为例(即灯光控制模式M1),考虑与其相应的灯光显示代码数据。确定显示代码数据输出的接口电路。输出一个同期显示代码的软件程序段(暂不考虑时隙的延时要求)。3) 应用定时中断服务和NUM数据,实现t=N×50ms的方法。4) 实现某一种模式灯光显示控制中12个时隙一个周期,共重复四次的控制方法。要求在初始化时采样开关输入数据NUM,并以此控制每一时隙的延时时间;在每一时隙结束时,检查有无键按下,若是退出键按下,则结束灯光控制,返回DOS系统,若是其他键就返回主菜单,重新输入控制模式数据。5) 通过人机对话,输入8种灯光显示控制模式的任意个数、任意次序连接组合的控制模式数据串(以ENTER键结尾)。对输入的数据进行检查,若数据都在1 - 8之间,则存入INBUF;若有错误,则通过屏幕显示输入错误,准备重新输入灯光显示控制模式数据。6) 依次读取INBUF中的控制模式数据进行不同模式的灯光显示控制,在没有任意键按下的情况下,系统从第一个控制模式数据开始,顺序工作到最后一个控制模式数据后,又返回到第一个控制模式数据,不断重复循环进行灯光显示控制。7) 本系统的软件在总体上有两部份,即主程序(MAIN)和实时中断服务程序(INTT)。讨论以功能明确、相互界面分割清晰的软件程序模块化设计方法。即确定有关功能模块,并画出以功能模块表示的主程序(MAIN)流程框图和定时中断服务程序的流程框图。 六、硬件电路设计 以微机实验平台和PC机资源为硬件设计的基础,不需要外加电路。主要利用了以下的资源:1.8255并行口电路8255并行口电路主要负责数据的输入与输出,可以输出数据控制发光二极管的亮灭和读取乒乓开关的数据。实验时可以将8255的A口、B口和一组发光二极管相连,C口和乒乓开关相连。2.8253定时/计数器8253定时/计数器和8259中断控制器一起实现时隙定时。本设计的定时就是采用的t=N×50ms的方法,50ms由8253定时/计数器的计数器0控制定时,N是在中断服务程序中软件计时。8253的OUT0接到IRQ2,产生中断请求信号。8253定时/计数器定时结束会发出中断信号,进入中断服务程序。3.PC机资源本设计除了利用PC机作为控制器之外,还利用了PC机的键盘和显示器。键盘主要是输入控制模式数据,显示器就是显示提示信息。 七、软件设计 软件主要分为主程序(MAIN)和中断服务程序(INTT),主程序包含系统初始化、读取乒乓开关、读取控制模式数据以及按键处理等模块。中断服务程序主要是定时时间到后根据控制模式数据点亮相应的发光二极管。1.主程序主程序的程序流程图如图1所示。
上传时间: 2014-04-05
上传用户:q986086481
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中断1服务程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延时子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。 由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。
上传时间: 2013-12-22
上传用户:tangsiyun
摘要:设计并实现了一个USB/EPP 转接系统,给出其硬件设计方案并讨论了相关技术细节, 使其实现USB 接口到EPP接口的相互数据转发。使仅具有EPP 接口的传统仪器设备借助于USB/EPP 转接系统拥有USB 总线所提供的即插即用和设备插架特性, 方便其通过USB 接口灵活接入同时拥有多个外设的计算机主机系统。关键词:USB;EPP;转接系统中图分类号:TP368.3 文献标识码:A文章编号:1008- 0570(2005)11- 2- 0166- 03 在传统的I/O 模式中,计算机外设通常映射为CPU 中固定I/O 地址,要求由主机分配一个指定的IRQ 中断请求。由于PC 机的端口和中断资源有限,因而使外设的可扩展性受到局限;同时,随着电脑应用的拓展,PC 机的外设接口越来越多,外设对系统资源的独占性也容易导致系统资源冲突。由于各种外部设备不断增加,容易导致各种I/O 冲突。由Intel、Compaq、Microsoft、IBM等厂商所提出的USB 总线标准,基于即插即用和设备插架技术,设备接入时不影响应用程序的运行,具有良好的可扩充性和扩展的方便性。目前USB 协议已经发展到了最新的2.0 版本,可支持峰值传输速率为480Mbps 的高速外设,可提供4~8 个USB 2.0 接口,同时通过USB 集线器(HUB)的扩展还可以支持多达127 个外设同时连接,基本上解决了各种外设同时存在同时使用的所有问题。基于USB 接口的上述优点,目前的计算机,特别是笔记本计算机基本上都只配备USB 接口,而取消了传统的串口和并口,这对那些以前购置的需要与计算机进行通信而只有串口或并口的各种仪器的继续使用造成了极大的障碍。 针对传统的数字化仪器与计算机通信中存在的接口不足的问题,本文设计了一个USB/EPP 转接系统,使其能够从计算机的USB 接口接收数据,经过格式转换,从USB/EPP 转接系统的并行接口EPP 发送给传统的仪器设备;同时也能够从USB/EPP 转接系统的并行接口EPP 接收数据,将其转化为USB 帧格式,并发送到计算机的USB 接口。从而使仅具有EPP 接口的传统仪器设备借助于USB/EPP 转接系统,可以继续正常使用。2 USB 总线2.1 USB 系统描述及总线协议USB 是一种电缆总线,支持在主机和各种即插即用外设之间进行数据传输。由主机预定的标准协议使各种设备分享USB 带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设,这为多个仪器设备共享同一个主计算机提供了可能。USB 协议采用了管道模型的软硬件协议,摒弃了一般外设协议的端口映射方式,从而有效地避免了计算机应用系统I/O 端口地址冲突。根据功能划分,一个USB 系统由三个部分组成:即USB 互连、USB 主机和USB 设备。图1 给出了USB系统的通用拓扑结构。
上传时间: 2013-10-09
上传用户:半熟1994
具有梯形反电动势的永磁同步电动机通常被称为无刷直流电动机,它具有结构简单、体积小、重量轻、效率高、高功率密度、启动扭矩大、惯量小和响应快等其它种类直流电机无法比拟的特性。采用电子换向器替代了传统直流电动机的机械换向装置,从而克服了电刷和换向器所引起的噪声、火花、电磁干扰、寿命短等一系列弊病。由于无刷直流电动机既具备交流电动机的结构简单、运行可靠、维护方便等一系列优点,又具 有直流电动机的运行效率高、无励磁损耗以及调速性能好等诸多优点,故其在在家用消费类产品(空调、冰箱、洗衣机)和IT周边产品(打印机、软驱、硬驱)中得到广泛的应用。 C8051F单片机是美国Silabs公司推出的一种与51系列单片机内核兼容的单片机,具有高速、高性能、高集成度。以C8051F020为例,具有如下特点: C8051F020片上系统单片机片内资源: 一、模块外设 (1)逐次逼近型8路12位ADC0 转换速率最大100ksps 可编程增益放大器PGA 温度传感器 (2)8路8位ADC1输入与P1口复用 转换速率500ksps 可编程增益放大器PGA (3)两个12 位DAC (4)两个模拟电压比较器 (5)电压基准内部提供2.43V 外部基准可输入 (6)精确的VDD监视器 二、高速8051微控制器内核 流水线式指令结构速度可达25MIPS 22个矢量中断源 三、存储器 片内4352字节数据RAM 64KBFlash程序存储器可作非易失性存储
上传时间: 2013-12-21
上传用户:bnfm
单片机应用系统抗干扰技术:第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
由于光纤弯曲时光线不满足全反射的条件,有光线泄漏出来,而这些光线具有光纤中传输信号的特征,我们根据光纤弯曲的理论在不影响光纤通信的条件下给光纤施加适当的弯曲,并由此设计合理的光检测器结构和放大电路,利用嵌入式系统为硬件支撑,研制出光纤识别仪.该仪器能够通过对光检测器检测到的光纤泄漏光信号进行分析,在不中断通信的情况下对光纤进行检测,识别其中的信号.在实际应用当中显示了良好的性能.
上传时间: 2013-12-28
上传用户:lijinchuan
本书介绍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
上传时间: 2013-11-10
上传用户:changeboy