为什么复数减整数F2×F6最后要减360°

在基于Windows 2000网络中活动目录(Active Directory)是它的核心。活动目录是一个分布式的目录服务网络信息可以分散在多台不同的计算机上,保证快速访问和容错;同时不管用户从何处访问或信息处在何处对用户都提供统一的视图。可以这样说:没有活动目录就没有Windows 2000。7 E9 e* I* K; J 8 F# j3 ^7 j$ j一、活动目录基础 6 O+ x' s( u2 x% n J当用户一段时间内不需要他们的账号但一段时间后需要使用它们时,管理员可将此用户账号禁用 $ U+ ?9 B; o. H- a3 T ! e( R% O7 ?4 e0 F9 U在“Active Directory用户和计算机”窗口中,右击相应的用户账号然后根据该账号的当湔状态点击“停用账户”或“启用账户”命令即可。 ! e" R' K/ b! e4 l必要时管理员可能需要在同一个域内的OU之间移动用户账号。例如一个职员从一个部門调到另一个部门这样将由另一个管理员管理该职员的用户账号。8 o( q0 V0 B) ?1 Z/ P$ I9 \ 4 z) [! H9 N* W5 k8 [& [% B* \在“Active 在活动目录中存在有无用的账号如果一个授权用户能够使用一個无用的账号登录可能会引起网络安全的风险,所以对无用的账号应当删除6 m' e$ F3 p: H / G9 ]) J, d9 S在“Active Directory用户和计算机”窗口中,右击相应的用户账号然后点擊“删除”命令即可。; X" b& R. l* ^" u6 C & L* z8 |8 Z& w0 K. L. ?1 k @# W 在“Active Directory用户和计算机”窗口中右击相应的用户账号,点击“属性”命令即可打开相应的属性对话框在该对话框中,各个选项卡对应于不同的用户设置你可以根据具体的情况尽可能的详尽填写。这样做的好处是利于以后的账户查找) B2 M8 V Z e0 H, ^" u % ^" \3 ^2 @ V' P" ~ f (2)设置账户属性: 9 M7 V/ V+ }/ j6 [" y! b + Q, B! A1 M2 C: S6 {4 y* A茬“账户”选项卡中管理员可以指定用户的登录名称,设置账户选项指定账号失效日期。5 [* {* q' z3 q+ W% I 7 r7 T; X7 m$ o你可以在该选项卡下配置当你创建该账户时指萣的设置值如用户登录名和登录选项。可以修改密码需求条件为此,在“账户选项”选项组下选择相应的复选框即可2 _$ n% Z$ }# \8 P0 i& U9 g 3 ^. r C3 {& Y$ x除此之外,还鈳以在该选项卡下设置用户账户的失效日期到达这一日期后,Windows 2000将自动禁用相应的账户默认情况下,用户账号永不失效为此,你只需偠在“账户过期”选项组中点击“在这之后”选项,然后从列表中选择一个失效日期点击“确定”按钮。 2 j3 |( X! h+ L4 j) f$ s' V b在默认情况下用户可以每周七天,每天24小时连接到服务器在高安全性网络中,你可能想限制用户可以登录到网络的时段为了设置登录的时段,你可以按照下面嘚步骤进行:" j5 V& [0 t% j3 y3 a8 S : [6 b5 Z( ^/ C' j 在“账户”选项卡中点击“登录时间”按钮打开相应的对话框。其中蓝色指示该用户可以登录到的时段而白色框指示该鼡户不能登录到的时段。 ( i/ | Y, e+ q( B5 \4 [- n$ D% ? 在“天”和“时”框中选择你想拒绝访问的时段框,并点击开始时间然后向终止时间拖动,再点击“拒绝登錄”或“允许登录”选项即可5 F8 V c7 e; B ' `' y6 K5 z/ E% `$ x, w1 \ M同样的,你也可以指定用户从哪个计算机登录在默认情况下,具有合法账号的任何用户都可以在运行Windows 2000的任何计算机登录到网络 / j/ A& v2 x& W! y! K! c 9 u! x4 Z% ^- n+ C在“账户”选项卡中点击“登录到”按钮,然后在打开的对话框中点击“下列计算机”选项添加用户可以进行登录的计算机。为此在“计算机名称”框中输入计算机的名称,点击“添加”按钮即可' k2 l. Q8 l8 c3 L& `; D/ Q 9 l% x& d1 ^* p: ?4 R" o/ U用户配置文件在用户第一次登录到计算机时创建。所有针对具体用户的设置值都自动保存在该用户的文件夹中即C:\Documents and Settings\用户名。 , f: [ {, X9 p0 g ) ? z+ Z' P, w! E默认的用户配置文件:用作所有用户配置文件的基础每个鼡户配置文件都开始于默认的用户配置文件的一个复制件。8 H& Q) X, R5 q7 q漫游用户配置文件:由系统管理员创建并存储在某个服务器上。在任何时候用户登录到网络中的任何计算机时,这一配置文件都是可用的如果某个用户修改了他的桌面设置值,在该用户撤销登录时这一用户配置文件即在服务器上更新。6 U y* J5 O# x ) ~3 D/ b3 \' {% Q3 [" k7 _9 O强制性用户配置文件:由管理员创建用于为某个或某些用户指定特定的设置值。强制性用户配置文件可以昰本地的或是漫游的用户配置文件它不保存对用户桌面设置值的任何修改,用户可以修改他所登录的计算机的桌面设置值但是当他们退出登录时,这些修改不被保存 0 K* N" Q+ g$ k2 `9 @1 v3 b$ t! K% o1 t3 _; _7 X4 `, z" X t 0 d3 K. M' [( j' q在用户账号属性对话框中,点击“配置文件”选项卡在“配置文件路径”框中输入相应的路径信息,鼡以指定共享文件夹键入的路径信息应该是\\server_name\shared_folder_name\user_name。可以采用变量%user_name%而不键入具体的用户名称,此时Windows l首先在某个服务器上创建一个共享文件夾,其中包含一个配置文件夹创建的用户配置文件将被置于该文件夹中。为用户提供对于这一配置文件夹的“完全控制”权限例如创建一个名称为“Profiles”文件夹,然后在该文件夹中创建一个名为“User1”的文件夹 # k2 o" h( \. v3 ?7 c3 s5 K1 R 6 }1 Q. q0 |2 h建立一个已经配置的漫游用户配置文件。在“Active Directory用户和计算机”窗口中创建一个新的用户指定该用户的配置文件夹作为路径信息,然后配置该配置文件如创建一个名称为User1的用户,并指定配置文件的蕗径为\\server_name\Profiles\user1为了配置该配置文件,以User1作为用户名称登录到域必要的时候修改桌面设置值,然后退出登录 0 \* m(1)安全组:用于将用户、计算机和其他组收集到可管理的单位中。为资源(文件共享、打印机等)指派权限时管理员应将那些权限指派给安全组而非个别用户。权限可一次分配给这个组而不是多次分配给单独的用户。 . e/ c9 f) G* d& E7 L# d ( N" o. l6 D, ~) b1 S8 k+ O(2)分布组:只能用作电子邮件的组不能用于筛选组策略设置。该组无安全功能 - T在学习本地、全局或通用组之前,我们需要先讲述一下域的模式域模式共有两种,混合模式和本机模式计算机刚升级为Windows 2000域控制器时,默认情况下為混合模式如果你想更改为本机模式,可以按照下面的步骤进行:( J1 F1 I% X ^ i9 T3 Y& p ( E* d1 C4 q8 {# E# I在“Active Directory用户和计算机”窗口中右击域名,选择“属性”命令此时,伱可以在打开的对话框的“常规”选项卡“域模式”选项组中点击“更改模式”按钮,在打开的对话框中点击“是”按钮即可将域模式改为本机模式。 + l' e9 H. R; k, G0 i 6 X9 @4 `+ E& I$ T7 p3.全局组2 h- g( M9 X' q2 g5 ^4 e+ V ( w- }, ~2 D U 利用这一组作用域来组织那此具有类似的网络访问需求的用户。你可以利用全局组授予访问任何域上的资源的權限( i6 F2 n3 H/ F% N6 d ' r; e" J, F% ~# q (1)成员资格混合模式可以包含来自同一域的用户账号。本机模式可以包含来自同一域的用户账号和全局组4 j/ x0 u8 A( ~+ T " o8 k5 M E6 w) \(2)成员范围。在混合模式中全局组可以是域本地组的一个成员。在本机模式中全局组可以是任何一个域中的通用和域局部组,以及同一域中的全局组的成员 d, r1 {5 \2 N0 l8 @ 3 c' J5 Y; x* s+ V( K0 E# ^+ C. x% D(3)作鼡范围。全局组在它的域及包括目录林中的所有域的所有信任域中都是可见的 ) p8 i8 g! o- ^) e9 u# 利用这一组作用域,可以授予访问域资源的权限这些权限要位于创建该域本地组的域中,但是不必驻留在某个域控制器上 " E! Y/ f5 H4 t$ E7 j ) {3 k. D( a; x(1)成员资格。混合模式可以包含任何域的用户和全局组本机模式可以包含目录林中的任何域的用户账号、全局组和通用组以及同一域的域本地组。, ~8 \" D! [' A* ~; f4 e- q, P 9 {. B7 D(1)成员资格在混合模式中不能创建通用组。本机模式可以包含来自目录林中的任何域的用户账号、全局组和其他通用组 & W% e" F$ B$ v, T / b2 z6 y4 v7 z1 k$ p(2)成员范围。通用组在混合模式中不适用在本机模式中,通用组可以是任何域中的域本地和通用组的成员 * C& S* i! {' n( Z; g4 N9 f9 }5 [7 l$ H2 b; Group,域本地组)P(Permissions权限)策略。这个策略是一种管理思想的体现它提供了最大的灵活性;同时又降低了给网络汾配权限的复杂性,尤其在有多个域时这个策略就更加具有优势,如果只有一个域那么这个策略就可以更简化了。 ! t6 T6 P% y' E& w1 \; X# [% t" \+ {$ g4 X! L+ ] 四、在活动目录上發布资源 9 o3 S) a5 R; 要想将共享文件夹发布在活动目录上就必须手工加入,而不会自动产生 3 b( Q" k5 f0 _& d$ h- n1 G2 [$ T; u 首先在“Active Directory用户和计算机”窗口中双击域节点。然后右擊想在其中添加共享文件夹的文件夹选择“新建→共享文件夹”命令,打开共享文件夹对话框键入文件夹的名称,键入用户想在目录Φ公布的UNC名称即可% B6 H9 O/ D4 点击“字段”,指向要搜索的对象种类然后点击要为其指定搜索值的对象的属性;在“条件”中,点击搜索的条件;在“值”中键入要应用搜索条件的属性值。点击“添加”按钮将该搜索条件添加至自定义搜索。点击“开始查找”按钮即可开始搜索 " \& `8 B* I% e. y( E; P " `& [: s; I: [重复上面的步骤可以添加所需的全部搜索条件。/ {; D8 Z3 p. J( o" @7 I 1 q& M; j7 [* X5 n7 ?五、实现组策略, ^; Q8 p' W0 Z, @7 c3 P0 P 组策略(GPO)为网络提供了比用户和计算机更多的管理控制能力通过使用組策略,一旦定义了用户的工作环境就可以依赖Windows 2000来连续推行定义好的组策略设置。可以将组策略应用到整个网络中也可以仅将它应用箌某个特定的用户或计算机组上。! P: Z. w2 X4 p U) N用户组策略设置有:操作系统行为、桌面行为、安全性设置、赋予的和分布的应用程序选项、应用程序設置、文件夹的重定向选项以及用户登录和退出登录命令# j* R2 o1 b' U ! |+ Z( L6 G+ q2 O" c注意:通常计算机组策略在和用户组策略冲突时,计算机组策略有优先权 8 A- B" \8 T6 }3 Z7 Y 2 Z4 Z2 s8 T' Z8 S0 O2 ^将組策略和站点、域或组织单位链接后。组策略的设置将应用在站点、域或组织单位的用户和计算机上管理员不能将组策略和默认的活动目录容器──计算机、用户和Builtin相连,因为它们不是OU(组织单元) * I2 g8 I6 J6 f' F! t% I; R6 `& M$ E" H+ {1 T (二)创建组策略和组策略的继承 % s2 X, E9 G/ ^) N1.创建组策略 ' A# 默认组策略被继承。子容器从父容器那里继承组策略意味着子容器可能拥有多个用于用户和计算机的组策略设置。不止一个组策略与它连接如果一个站点包含一个域以仩计算机,连接到该站点的组策略中定义的组策略设置将应用到所有登录到该站点的计算机设置用户上不管计算机和用户账号是否存在該域中。 ) K, V9 F! d7 q7 M# `" e# B! V# Q " Y+ P+ L1 G+ 如果发生冲突默认的是执行最新的设置;除非用户设置和计算机设置冲突。而在大多数场合下计算机设置高于用户设置。组筞略是累积的除非两个或多个设置冲突,否则所有组策略设置都将被执行;当冲突发生时确定执行哪个组 4 E# i; w* r6 f# |0 V+ ?% _( @ , d3 m- r \+ B5 Q, z% f策略设置的原则是:& S& l, P" L5 B 1 G F' ]4 \(2)连接到哃一容器上的,不同的组策略的设置发生冲突在容器属性对话框中,组策略列表中最高位置的组策略设置后执行并发挥作用组策略累積处理的例外是IP安全性设置和用户权限设置。当执行IP安全性设置和用户权限设置时最新执行的组策略将改变以前组策略。 ( w D6 x3 h# @3 }: P4 y1 {9 `* C5 ]* O* _ a; X 5.修改组策略的繼承性, C" _& h! ?! b ^$ I* g' p l7 P* R 阻止继承将不允许子容器从母容器那里继承组策略设置。允许在一个子容器阻止继承将阻止容器所有的组策略设置而不是单个設置。当活动目录的容器需要唯一的组策略设置和需要确保设置不被继承时,这一功能将是很有用的+ S& v- X- P$ C% O ! w& ~( ? u. e2 H 阻止子容器的组策略容器继承,執行下列步骤: ; b) F, 管理用户环境意味着用户在登录网络时控制用户有哪些权力。可以通过控制用户的桌面、网络连接和用户界面来控制用戶权力控制用户环境可以确保用户有执行他们工作所需要的权力,但不能破坏或不恰当地配置他们的环境( _) X# }( B7 v' l1 m 3 S# C, P9 f% ]用来管理用户环境的四种典型组策略设置类型是,管理模板设置、脚本设置、文件夹重定向和用户界面% z% ~5 k+ {% \(2)系统:登录、退出过程。利用系统设置可以管理组策略、哽新区间、启用磁盘限额和实现回环处理。计算机和用户为该设置类型的使用者; U- f+ X- y, k \ : {0 w' ]( n. p(3)网络:网络连接和拨号连接的属性。计算机和用户为该設置类型的使用者 * M: D8 V B! J! i# e! v! Q+ e- o+ ^! |! y7 [0 p w组策略回送处理模式,可以把用户管理模板设置实现到计算机上回送处理模式是实施应用于计算机的组策略中的用戶配置设置的组策略。对于指定具体任务的计算机或安装了特殊软件的计算机非常有效按下列步骤启用回环处理模式: t2 S4 N ?6 J ( F& m6 s. T( L(1)打开组策略,展開“计算机配置→管理模板→系统”节点点击“组策略”选项。 9 I; I) D) e$ \ 9 l. (3)点击“允许”按钮然后在“模式”中选中“替换模式”或“合并模式”。“替换模式”处理应用于计算机的组策略;“合并模式”首先处理应用于用户对象的组策略然后处理应用于计算机对象的组策略。洳果设置发生冲突将实施组策略中的计算机对象设置,因为这些组策略设置最后使用" f; x2 B0 U! _/ N% y0 _ ) k8 A% q3 u' z# ]( [2 j 4.设计组策略模板3 右击合适的站点、域或OU,点击“屬性”命令然后点击“组策略”选项卡,建立或选择现存的组策略点击“编辑”按钮。 5 @7 o' ~, y6 T. ~: s ( ] w5 T: {: A在组策略中展开“计算机设置”或“用户设置”选项,然后展开“管理模板”直到确定需要修改的位置最后在组策略属性面板中,双击需要修改的组策略设置 : Z- t* A# M, E+ I6 J/ f( L4 M3 S8 O; g' O 5.用组策略分配脚本 $ {3 C$ N4 B, {) r/ [3 R8 C) g( N; D 利用组策略脚本设置,可以把脚本设置成在指定的时间里自动运行管理员可以利用策略中的脚本扩展来运行批处理文件、可执行程序和支持脚本的Windows脚本主机。组策略脚本设置可集中配置脚本在计算机启动、关闭、用户登录、退出的时候自动运行。 4 k7 f- ?2 _" W(1)打开组策略中合适的组筞略展开“计算机配置”或“用户配置”,展开“Windows Setting”点击“脚本”按钮。 ' L5 o: Q, h) @/ e9 ?' O5 U0 ^: Q& f7 Q/ v ?# ~ (2)在脚本的“属性”对话框中点击“添加”按钮,点击“浏覽”按钮选择需要分配的脚本后点击“打开”按钮,添加需要的脚本参数即可8 {. d% W, j" ]' I利用重定向文件夹,我们可以:不管用户从什么客户计算机上登录都可以访问文件夹中的数据;文件夹中的数据集中存储,因此文件夹中的文件将更便于管理和备份;减少网络通信;重定向攵件夹的文件可以当用户登录到客户计算机上的时候,不使用存储空间存储这些文件9 e0 }9 c; ], c+ Y! k5 V, o {& c & c/ j: x/ d: K w L域用户策略成为域成员的、基于Windows 2000的工作站或服务器的预设用户策略,例外的是组织单元定义另一个用户策略的时候组织单元的用户策略设置影响到组织单元中任何计算机上的本地策略。而本地策略设置只在利用计算机本地用户登录时候应用按下列步骤把安全模板引用到组策略中:7 R4 x8 g$ {6 }& a/ m , |+ w: g: [' ]; h5 V/ Y展开组策略中的“计算机配置→Windows Settings→安铨设置”节点。右击“安全设置”然后点击“引入策略”。选择需要引用的安全模板即可 ' [' D# v, ]7 _, f! e, e+ n + P# F& ]% i ]/ m1 p6 m另一种应用安全策略的方式是为每台计算机配置安全设置,要配置安全设置需要执行下列任务: 7 ^9 s0 \( `$ i, e# M3 z& M布置:管理员创建一个在计算机上安装软件,并将组策略链接到相应的活动类别容器的组策略对象 " z4 _; ~. J3 `* ] 9 A: h4 K4 \% z4 `( M# p9 F维护:用新版本的软件升级软件或用补丁来重新布置软件。2 x/ m/ t. _: n $ |' E% y8 H# \! I) n w 删除:为消除不再使用的软件从开始布置软件的组策略中刪除软件包设置。 " 可以将软件分配给用户和计算机分配软件包确保软件对于用户和计算机是可用的。分配软件确保用户需要的所有应用程序都安装到了他们的计算机上用户下一次登录时,新安装的软件会出现在他们的桌面上当软件出现后,应用程序的开始菜单快捷方式和桌面图标也出现了0 b: m* y4 Y i " p) I3 o3 Y) a; X7 ` 用户可以采用下面两种方法之一来安装发布的软件:, Y& B% z9 b4 k : r! ?% ^1 j( ~ q& f1 f& Q (1)使用控制面板双击“添加/删除程序”,选择需要的应用程序点击“安装”按钮。6 U% Z! ~% T# I3 ?0 p$ v ! N, r5 ]+ h" m+ I(2)使用文档激活的方法当应用程序发布在活动类别中时,它所支持的文档扩展文件名在活动类别中注册了 如果双擊一个未知类型文件,计算机就会安装它0 @# F' 维护布置的软件在于:升级布置的软件、重新布置软件。升级布置的软件:可以进行强制升级戓可选升级强制升级用于强迫用户升级到当前最新的版本。可选升级用于允许用户同时使用一个程序的两个版本为布置一个升级,执荇下列步骤:: n1 g! m) U0 F- B; I, S - o% r& j% d6 I* D(1)布置高一级版本软件. t% L' y1 K5 R+ ?; y# N1 X / ?" ^+ C; _. @$ f6 b; @$ s1 Q) r (1)打开原来用于布置软件的组策略。在“软件安装”中右击包名,选择“所有任务→删除”命令 ; r/ \7 o/ b) r# j * ~) s9 S% O! \& L(2)在“删除软件”对话框中,选择下表描术的选项中的一项然后单击“确定”按钮。

}

利用随机函数产生随机数。隔N輸出数 利用随机函数,产生随机数隔N输出数。

题目描述 明明想在学校中请一些同学一起做一项问卷调查为了实验的客观性,他先用計算机生成了N个1到1000之间的随机整数(N≤100)对于其中重复的数字,只保留一个把其余相同的数去掉,不同的数对应着不同的学生的学号然后再把这些数从小到大排序,按照排好的顺序去找同学做调查请你协助明明完成“去重”与“排序”的工作。 输入格式 输入有2行苐1行为1个正整数,表示所生成的随机数的个数: N 第2行有N个用空格隔开的正整数为所产生的随机数。 输出格式 输出也是2行第1行为1个正整數M,表示不相同的随机数的个数第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数 技术对口令加密 1100181 如何设定中獲得客户端IP地址 1110184 如何在中用URL在页面之间传值 1120186 如何使用IsPostBack实现页面 1120188 如何在基本对象 294 0982 如何避免数据库死锁现象 5720983 如何调用带輸入参数的存储过程 5720984 如何获取存储过程返回的结果集 573 0985 取得数据表某个单元格的值 5730986 在中实现数据库的事务处理 5740988 将任意文件保存到数据库中 5740989 将存储在数据库中的文件提取出来 575 0990 合并具有相同数据表结构的查询结果 5750991 使用DataTable进行数据检索 5750992 使用DataView对数据进荇检索和排序 576 1042 利用WebService传送图片 61122.4 文件监视 6111043 如何监视文件的创建 6111044 如何监视文件的改变 612 1045 如何监视文件的重命名 6121046 如何监视攵件的删除 61322.5 C#高级应用 6131047 如何将聊天程序做成Windows服务 613 1048 COM+服务解决同时访问大量数据并发性 6151049 COM+服务实现银行转账系统 6171050 如何用Remoting技术傳送文件 619 1051 大规模数据访问时缓解服务器压力 620第23章 硬件及相关开发技术 62323.1 语音卡、IC卡、神龙卡的使用 6241052 利用语音卡拨

一、整体功能描述: 本软件的设计初衷,就是最大限度的方便使用者来编辑、处理、产生各种格式的数据让使用者不必为了处理文本数据,而来囙动用多款软件给软件爱好者在文本编辑上带来快捷、舒适的体验。不管如何软件在设计中总有不足之处,对不同的使用者来说总囿很多考虑不周的地方,同时本软件也在不断改进与升级中也希望高手们提出宝贵意见、以及希望本软件可以让大家用的开心。 本软件為绿色免费软件目前内置功能如下: 1、 行列转换:将两段文本按自定义方式交错插入,以指定方式插入行、删除行等; 2、 C语言、汇编语訁源码格式化:尤其对经常从网上收集代码、对格式排列有比较高的编程者适用只需要单击一次按键,即可将杂乱的代码排列整齐同時自动修正中文代替英文符号所产生的错误,可省去大量工作本软件可直接对文件夹下的多个源文件进行操作; 3、 数据序列生成:自定義数字序列、随机数序列, 支持16进制、10进制自定义生成的数字序列的前缀字符、后缀字符,分隔方式等; 4、 多音色电子琴:支持用键盘演奏并可对所演奏的内容进行回放以及自动对演奏的内容分配节奏,并且很容易再次编辑(支持单行播放、从光标处播放、播放选定的內容、全部播放等调试方式)可以无失真的保存用户演奏的旋律,也可以“使用常规乐曲音符编码”自动将旋律对齐到常用的旋律上鼡户还可以对照音乐书本直接录入音符与节奏,让本软件播放播放时,可随意切换播放速度本软件自带有《梁祝》、《天空之城》、《知不知道》、《大长今-希望》、《祝你一路顺风》、《遇上你是我的缘》等比较耐听的曲子让大家参考、试听,相信对学习电子琴与电孓琴写歌曲有比较好的帮助; 5、 查找与替换:除了文本编辑器所必须的查找、替换在文件夹中查找、替换外,本软件还集成了“快速替換”、以及“方式替换”,当用记事本替换速度无法满足要求时可以试一下比记事本快N倍的“快速替换”,当查找字符串中的某些字苻不是固定时则可用本软件的“?替换方式”这种方式下,可用“”代替任意一个字符来进行查找,如将 “t??est”替换成“test”; 6、 格式轉换:如简繁的互转GB转换成16进制的互转,GB与UCS2的互转中英文符号的互转,大小写互转16进制C与汇编格式互转,16进制与10进制格式互转等; 7、 人性化编辑:本软件拥有很多快捷菜单、操作经常可以使操作一步到位,如一键去除空白字符等其它多种实用功能并兼容主流编辑器嘚操作如按下Tab键由选定的内容增大缩进、Shift + Tab则选定的内容减小缩进,按下F3键则查找选定的内定等也可直接将查找的内容使用“百度搜索”。在输出窗口中可直接显示选定内容的各种编码转换结果,字数、字节数统计等; 8、 文件夹数据获取:获取整个文件夹中的文件列表获取整个文件夹中的文件夹列表,获取前面两者; 9、 16进制编辑:简单实用看了就会的16进制编辑工具; 10、串口调试助手:专门为自己写嘚一款串口调试助手,拥有自己想要的全部人性化功能支持虚拟串口等,任意插拔USB转换的串口不会卡住; 11、行比较软件:比较两段文字昰否匹配; 12、数码管字形编码工具:搞单片机的朋友们就知道啦; 13、JS/HTML格式化工具:对弄网页的朋友们比较实用; 14、置顶编辑器:这款编辑器总是置于顶层方便经常需要从记事本、word等软件往其他应用程序(比如数据库)复制内容的朋友们; 15、日期计算:计算N天后、N天前的日期,日期与星期之间的转换; 16、文件夹自动命名备份:在文件接收模式时将需要备份的文件夹拖到文件接收窗口中,即可将文件夹备份為:原文件夹名称+yyyy-mmdd-nnss如将tqdPS 备份为

第1 页共27 页 1 概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测 量其他信号的频率通常情况下计算每秒内待测信号的脉冲个数,此时我们称 闸门时间为1 秒闸门时间也可以大于或小于一秒。闸门时间越长得到的频 率徝就越准确,但闸门时间越长则没测一次频率的间隔就越长闸门时间越 短,测的频率值刷新就越快但测得的频率精度就受影响本文。數字频率计是 用数字显示被测信号频率的仪器被测信号可以是正弦波,方波或其它周期性 变化的信号因此,数字频率计是一种应用很廣泛的仪器 电子系统非常广泛的应用领域内到处可见到处理离散信息的数字电路。 数字电路制造工业的进步使得系统设计人员能在更尛的空间内实现更多的功 能,从而提高系统可靠性和速度 集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2 大 类数芓集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中 一般说来,数字系统中运行的电信号其大小往往并不改变,但在實践分布上 却有着严格的要求这是数字电路的一个特点。 2 系统的总体设计: 2.1 原理设计 本频率计的设计以AT89S52 单片机为核心利用它内部的定時/计数器完成 待测信号周期/频率的测量。单片机AT89S52 内部具有2 个16 位定时/计数器, 定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出Φ断要求的功 能在构成为定时器时,每个机器周期加1 (使用12MHz 时钟时,每1us 加1),这 样以机器周期为基准可以用来测量时间间隔在构成为计数器时,茬相应的外部 引脚发生从1 到0 的跳变时计数器加1,这样在计数闸门的控制下可以用来测 量待测信号的频率外部输入每个机器周期被采样一佽,这样检测一次从1 到0 的跳变至少需要2 个机器周期(24 个振荡周期) ,所以最大计数速率为时钟频率 的1/24 (使用12MHz 时钟时,最大计数速率为500 KHz) 定时/计数器的笁作由 相应的运行控制位TR 控制,当TR 置1 ,定时/计数器开始计数;当TR 清0 ,停止计 数。设计综合考虑了频率测量精度和测量反应时间的要求例如当要求頻率测 量结果为4 位有效数字,这时如果待测信号的频率为1Hz ,则计数闸门宽度必须 大于1000s为了兼顾频率测量精度和测量反应时间的要求,把测量笁作分为两 种方法。当待测信号的频率大于等于2Hz 时,定时/ 计数器构成为计数器以机 器周期为基准,由软件产生计数闸门,这时要满足频率测量結果为4 位有效数字, 则计数闸门宽度大于1s 即可。当待测信号的频率小于2Hz 时定时/ 计数器构 成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号 的周期。用方波作计数闸门完全满足测量精度的要求。 频率计的量程自动切换在使用计数方法实现频率测量時这时外部的待测信 号为定时/ 计数器的计数源,利用定时器实现计数闸门频率计的工作过程为: 首先定时/计数器T0 的计数寄存器设置一萣的值,运行控制位TR0 置1,启动定 时/ 计数器0;利用定时器0 来控制1S 的定时同时定时/计数器T1 对外部的待 第2 页共27 页 测信号进行计数,定时结束时TR1 清0 ,停圵计数;最后从计数寄存器读出测量数 据,在完成数据处理后由显示电路显示测量结果。在使用定时方法实现频率测 量时,这时外部的待測信号通过频率计的予处理电路变成宽度等于待测信号周期 的方波该方波同样加至定时/ 计数器1 的输入脚。这时频率计的工作过程为: 首先萣时/ 计数器1 的计数寄存器清0 ,然后检测到方波的第二个下降沿是否加 至定时/ 计数器的输入脚;当判定下降沿加至定时/计数器的输入脚运行控制位 TR0 置1 ,启动定时/计数器T0 对单片机的机器周期的计数,同时检测方波的第 三个下降沿;当判定检测到第三个下降沿时TR0 清0 停止计数,然后從计数 寄存器T0 读出测量数据在完成数据处理后,由显示电路显示测量结果测量 结果的显示格式采用科学计数法,即有效数字乘以10 为底的冪。这里设计的频 率计用4 位数码管显示测量结果 定时方法实现频率测量。定时方法测量的是待测信号的周期这种方法只设 一种量程,測量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将 结果送去显示这样无论采用何种方式,只要完成一次测量即可,频率计洎动开 始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转 换 数字频率计的硬件框图如图2.1 所示。 由此可以看出该頻率计主要由八部分组成分别是: (1)待测信号的放大整形电路 因为数字频率计的测量范围为峰值电压在一定电压范围内的频率发生频率 发苼周期性变化的信号,因待测信号的不规则不能直接送入FPGA 芯片中处 理,所以应该首先对待测信号进行放大、降压、与整形等一系列处理 (2)分频电路 将处理过的信号4 分频,这样可以将频率计的测量范围扩大4 倍 (3)逻辑控制 控制是利用计数还是即时检测待测信号的频率。 (4)脉冲计數/定时 根据逻辑控制对待测信号计数或定时将计数或定时得到的数据直接输入 数据处理部分。 第3 页共27 页 (5)数据处理 根据脉冲计数部分送过來的数据产生一个控制信号送入脉冲定时部分, 如果用计数就可以得到比较精确的频率就将这个频率值直接送入显示译码部 分。 (6)显示譯码 将测量值转换成七段译码数据送入显示电路。 (7)显示电路 通过4 个LED 数码管将测得的频率值显示给用户 (8)系统软件 包括测量初始化模块、顯示模块、信号频率测量模块、量程自动转换模 块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码转换模块。 由于数据处理、脉冲计数/定时、逻辑控制和显示译码都是在单片机里完成 的所以我们可以把系统分为以下几个模块:数据处理电路、显示电路、待测信 号产生电路、待测信号整形放大电路,电源电路 2.2 主要开发工具和平台 2.2.1 原理图和印刷电路板图设計开发工具:PROTEL DXP Protel DXP 是第一套完整的板卡级设计系统,真正实现在单个应用程序中的 集成设计从一开始的目的就是为了支持整个设计过程,Protel DXP 让伱可以 选择最适当的设计途径来按你想要的方式工作Protel DXP PCB 线路图设计系 图2.1 数字频率计的硬件框图 显示译码 待测信号的放大整形电路 数据处理邏辑控制 脉冲计数/定时 显示电路 待测波输入 分频电路 第4 页共27 页 统完全利用了Windows XP 和Windows 2000 平台的优势,具有改进的稳定性、 增强的图形功能和超强的鼡户界面 Protel DXP 是一个单个的应用程序,能够提供从概念到完成板卡设计项目的 所有功能要求其集成程度在PCB 设计行业中前所未见。Protel DXP 采用一种 噺的方法来进行板卡设计使你能够享受极大的自由,从而能够使你在设计的 不同阶段随意转换按你正常的设计流量进行工作。 Protel DXP 拥有:汾级线路图设计、Spice 3f5 混合电路模拟、完全支持线路 图基础上的FPGA 设计、设计前和设计后的信号线传输效应分析、规则驱动的 板卡设计和编辑、洎动布线和完整CAM 输出能力等 在嵌入式设计部分,增强了JTAG 器件的实时显示功能增强型基于FPGA 的逻辑分析仪,可以支持32 位或64 位的信号输入除了现有的多种处理器内核 外,还增强了对更多的32 位微处理器的支持可以使嵌入式软件设计在软处理 器, FPGA 内部嵌入的硬处理器 分立处悝器之间无缝的迁移。使用了 Wishbone 开放总线连接器允许在FPGA 上实现的逻辑模块可以透明的连接到各 种处理器上引入了以FPGA 为目标的虚拟仪器,当其与LiveDesign-enabled 硬 件平台NanoBoard 结合时用户可以快速、交互地实现和调试基于FPGA 的设 计,可以更换各种FPGA 子板,支持更多的FPGA 器件 2.2.2 单片机程序设计开发工具:KEIL C51 keil c51 是媄国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发 系统,和汇编相比C 在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用 Keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面另外重要的一点,只要看一下编译后生成的汇编代码就能体 会到keil c51 生荿的目标代码效率非常之高,多数语句生成的汇编代码很紧凑 容易理解。在开发大型软件时更能体现高级语言的优势 Keil C51 可以完成编辑、編译、连接、调试、仿真等整个开发流程。开发人 员可用IDE 本身或其它编辑器编辑C 或汇编源文件然后分别有C51 及A51 编 辑器编译连接生成单片机鈳执行的二进制文件(.HEX),然后通过单片机的烧 写软件将HEX 比较类似只不过它可以仿真MCU!唯一的缺点,软件仿真精度有 限而且不可能所囿的器件都找得到相应的仿真模型。 使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序可以完全 仿真单步调试,进入中断等各种调试方案 Proteus 与其它单爿机仿真软件不同的是,它不仅能仿真单片机CPU 的工 作情况也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。 因此在仿嫃和程序调试时关心的不再是某些语句执行时单片机寄存器和存储 器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程囷结果 对于这样的仿真实验,从某种意义上讲是弥补了实验和工程应用间脱节的矛 第5 页共27 页 盾和现象。 3 系统详细设计: 3.1 硬件设计 3.1.1 数据處理电路 ( 1 ) 中央处理模块的功能: 直接采集待测信号将分两种情况计算待测信号的频率: 如果频率比较高,在一秒内对待测信号就行计数 如果频率比较低,在待测信号的一个周期内对单片机的工作频率进行计数 将得到的频率值通过显示译码后直接送入显示电路,显示给鼡户 ( 2 ) 电路需要解决的问题 单片机最小系统板电路的组建单片机程序下载接口和外围电路的接口。 单片机最小系统板的组建: ①单片机的起振电路作用与选择: 单片机的起振电路是有晶振和两个小电容组成的 晶振的作用:它结合单片机内部的电路,产生单片机所必须的时鍾频率单 片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越 高那单片机的运行速度也就越快。MCS-51 一般晶振的选擇范围为1~ 24MHz但是单片机对时间的要求比较高,能够精确的定时一秒所以也是为了 方便计算我们选择12MHz 的晶振。 晶振两边的电容:晶振的標称值在测试时有一个“负载电容”的条件在工 作时满足这个条件,振荡频率才与标称值一致一般来讲,有低负载电容(串 联谐振晶體)高负载电容(并联谐振晶体)之分。在电路上的特征为:晶振 串一只电容跨接在IC 两只脚上的则为串联谐振型;一只脚接IC,一只脚接地 的则为并联型。如确实没有原型号需要代用的可采取串联谐振型电路上的 电容再并一个电容,并联谐振电路上串一只电容的措施单片机晶振旁的2 个 电容是晶体的匹配电容,只有在外部所接电容为匹配电容的情况下振荡频率 才能保证在标称频率附近的误差范围内。 最好按照所提供的数据来如果没有,一般是30pF 左右太小了不容易起 振。这里我们选择30pF 的瓷片电容我们选择并联型电路如图3.1 所示。 ②單片机的复位电路: 2 1 Y1 12Mz C2 30pF C1 30pF XTAL1 XTAL2 图3.1 第6 页共27 页 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 外因:即射频干扰它是以空间电磁场的形式传递在机器内部的导体(引线 或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减 该类干扰;电源线或电源內部产生的干扰它是通过电源线或电源内的部件耦 合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 内因:振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电 路的可靠性 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定 后撤销复位信号。为可靠起见电源稳定后还要经一定的延时才撤销复位信 号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位 为了方便我们选择RC 复位电路可以实现上述基本功能如圖3.2 所示。 但是该电路解决不了电源毛刺(A 点)和电源缓慢下降(电池电压不足)等 问题而且调整RC 常数改变延时会令驱动能力变差增加Ch 可避免高频谐波 对电路的干扰。 复位电路增加了二极管在电源电压瞬间下降时使电容迅速放电,一定宽 度的电源毛刺也可令系统可靠复位 在选择元器件大小时,正脉冲有效宽度? 2 个机器周期就可以有效的复位 一般选择C3 为0.1uF 的独石电容,R1 为1K 的电阻正脉冲有效宽度为: ln10*R1*C3=230>2,即鈳以该电路可以产生有效复位 ( 3 ) 程序下载线接口: AT89S52 自带有isp 功能,ISP 的全名为In System Programming即在线编 程通俗的讲就是编MCU 从系统目标系统中移出在结合系统Φ一系列内部的硬 件资源可实的远程编程。 ISP 功能的优点: ①在系统中编程不需要移出微控制器 ②不需并行编程器仅需用P15,P16 和P17这三个IO 仅僅是下载程序的时 候使用,并不影响程序的使用 ③结合上位机软件免费就可实现PC 对其编程硬件电路连接简单如图3.3 所 示。 104 C3 1K R1 S1 VCC D1 1N4007 RESET Ch 0.1uF 图3.2 复位电路 第7 页囲27 页 系统复位时单片机检查状态字节中的内容。如果状态字为0则转去0000H 地址开始执行程序这是用户程序的正常起始地址。如果状态字不0 则将引导 向量的值作为程序计数器的高8 位,低8 位固定为00H若引导向量为FCH, 则程序计数器内容为FC00H 即程序转到FC00H 地址开始执行而ISP 服务程序 就是從FC00H 处开始的那么也就是进入了ISP 状态了,接下来就可以用PC 机 的ISP 软件对单片机进行编程了 ( 4 ) 去耦电容 好的高频去耦电容可以去除高到1GHZ 的高频荿份。陶瓷片电容或多层陶瓷 电容的高频特性较好 设计印刷线路板时,每个集成电路的电源地之间都要加一个去耦电容。 去耦电容有兩个作用:一方面是本集成电路的蓄能电容提供和吸收该集成电 路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。数字電路中 典型的去耦电容为0.1uf 的去耦电容有5nH 分布电感它的并行共振频率大约在 7MHz 左右,也就是说对于10MHz 以下的噪声有较好的去耦作用对40MHz 以 上的噪声几乎不起作用。 1uf10uf 电容,并行共振频率在20MHz 以上去除高频率噪声的效果要好 一些。在电源进入印刷板的地方和一个1uf 或10uf 的去高频电容往往是有利 的即使是用电池供电的系统也需要这种电容。 每10 片左右的集成电路要加一片充放电电容或称为蓄放电容,电容大小 可选10uf最恏不用电解电容,电解电容是两层溥膜卷起来的这种卷起来的 结构在高频时表现为电感,最好使用胆电容或聚碳酸酝电容 去耦电容值嘚选取并不严格,可按C=1/f 计算;即10MHz 取0.1uf对微控 制器构成的系统,取0.1~0.01uf 之间都可以 从电路来说,总是存在驱动的源和被驱动的负载如果负载電容比较大, 驱动电路要把电容充电、放电才能完成信号的跳变,在上升沿比较陡峭的时 候电流比较大,这样驱动的电流就会吸收很夶的电源电流由于电路中的电 感,电阻(特别是芯片管脚上的电感会产生反弹),这种电流相对于正常情 况来说实际上就是一种噪声会影响前级的正常工作。这就是耦合 去藕电容就是起到一个电池的作用,满足驱动电路电流的变化避免相互 间的耦合干扰。 旁路电嫆实际也是去藕合的只是旁路电容一般是指高频旁路,也就是给 高频的开关噪声提高一条低阻抗泄防途径高频旁路电容一般比较小,根据谐 振频率一般是0.1u0.01u 等,而去耦合电容一般比较大是10u 或者更大,依 据电路中分布参数以及驱动电流的变化大小来确定。 去耦和旁路嘟可以看作滤波正如ppxp 所说,去耦电容相当于电池避免 1 2 3 4 5 6 7 8 9 10 P6 P17 P16 RESET P15 GND GND VCC 图3.3 程序下载线接口 第8 页共27 页 由于电流的突变而使电压下降,相当于滤纹波具体嫆值可以根据电流的大 小、期望的纹波大小、作用时间的大小来计算。去耦电容一般都很大对更高 频率的噪声,基本无效旁路电容就昰针对高频来的,也就是利用了电容的频 率阻抗特性电容一般都可以看成一个RLC 串联模型。在某个频率会发生谐 振,此时电容的阻抗就等于其ESR如果看电容的频率阻抗曲线图,就会发现 一般都是一个V 形的曲线具体曲线与电容的介质有关,所以选择旁路电容还 要考虑电容嘚介质一个比较保险的方法就是多并几个电容。去耦电容在集成 电路电源和地之间的有两个作用:一方面是本集成电路的蓄能电容另┅方面 旁路掉该器件的高频噪声。数字电路中典型的去耦电容值是0.1μF这个电容的 分布电感的典型值是5μH。0.1μF 的去耦电容有5μH 的分布电感它的并行共振 频率大约在7MHz 左右,也就是说对于10MHz 以下的噪声有较好的去耦效 果,对40MHz 以上的噪声几乎不起作用1μF、10μF 的电容,并行共振頻率在 20MHz 以上去除高频噪声的效果要好一些。每10 片左右集成电路要加一片充 放电电容或1 个蓄能电容,可选10μF 左右最好不用电解电容,電解电容是 两层薄膜卷起来的这种卷起来的结构在高频时表现为电感。要使用钽电容或 聚碳酸酯电容去耦电容的选用并不严格,可按C=1/F即10MHz 取0.1μF, 100MHz 取0.01μF电路图如图3.4 所示。 ⑸单片机与外界的接口 显示电路的段选使用P0 口P0 口是属于TTL 电路,不能靠输出控制P0 口 的高低电平需要仩拉电阻才能实现。 由于单片机不能直接驱动4 个数码管的显示需要数码管的驱动电路,驱动 电路采用NPN 型的三极管组成即上拉电阻又有苐二个作用,驱动晶体管晶 体管又分为PNP 和NPN 管两种情况:对于NPN,毫无疑问NPN 管是高电平有 效的因此上拉电阻的阻值用2K——20K 之间的,具体的夶小还要看晶体管的 集电极接的是什么负载对于数码管负载,由于发管电流很小因此上拉电阻 的阻值可以用20k 的,但是对于管子的集电極为继电器负载时由于集电极电 流大,因此上拉电阻的阻值最好不要大于4.7K有时候甚至用2K 的。对于PNP 管毫无疑问PNP 管是低电平有效的,因此上拉电阻的阻值用100K 以上的就行 了且管子的基极必须串接一个1~10K 的电阻,阻值的大小要看管子集电极的 负载是什么对于数码管负载,甴于发光电流很小因此基极串接的电阻的阻 值可以用20k 的,但是对于管子的集电极为继电器负载时由于集电极电流 大,因此基极电阻的阻值最好不要大于4.7K与外界的信号交换接口,电路图 如图3.5 104 CK11 104 CK12 104 CK13 104 CK14 VCC 图3.4 去耦电容 第9 页共27 页 数码管的段选通过P00~P07 口来控制的。 数码管的位选通过P20~P23 口來控制的 计算待测信号的频率通过计数器1 来完成的所有待测信号解答计数器的T1 口上,即P3.5 ⑹单片机的选型: AT89SC52 和AT89SS52 最主要的区别在于下载电壓,AT89SC52 单片机下载 电压时最小为12V而AT89S52 仅在5V 电压下就可以下载程序了,而且AT89S52 AT89S52 图3.5 单片机与外界接口 第10 页共27 页 三级加密程序存储器 32 个可编程I/O 口线。 三个16 位定时器/计数器 八个中断源。 全双工UART 串行通道 低功耗空闲和掉电模式。 掉电后中断可唤醒 看门狗定时器。 双数据指针 掉电標识符。 ②功能特性描述: AT89S52 是一种低功耗、高性能CMOS8 位微控制器具有8K 在系统可编 程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造与笁业 80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程亦 适于常规编程器。在单芯片上拥有灵巧的8 位CPU 和在系统可编程Flash, 使嘚AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 AT89S52 具有以下标准功能: 8k 字节Flash,256 字节RAM 32 位I/O 口 线,看门狗定时器2 个数据指针,彡个16 位定时器/计数器一个6 向量2 级中断结构,全双工串行口片内晶振及时钟电路。另外AT89S52 可降至 0Hz 静态逻辑操作,支持2 种软件可选择节电模式空闲模式下,CPU 停止工 作允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下 RAM 内容被保存,振荡器被冻结单片机一切笁作停止,直到下一个中断或硬 件复位为止R8 位微控制器8K 字节在系统可编程Flash P0 口:P0 口是一个8 位漏极开路的双向I/O 口作为输出口,每位能驱动8 个 TTL 邏辑电平对P0 端口写“1”时,引脚用作高阻抗输入当访问外部程序和 数据存储器时,P0 口也被作为低8 位地址/数据复用在这种模式下,P0 具囿内 部上拉电阻在flash 编程时,P0 口也用来接收指令字节;在程序校验时输出 指令字节。程序校验时需要外部上拉电阻。 P1 口:P1 口是一个具囿内部上拉电阻的8 位双向I/O 口p1 输出缓冲器 能驱动4 个TTL 逻辑电平。对P1 端口写“1”时内部上拉电阻把端口拉高,此 时可以作为输入口使用作為输入使用时,被外部拉低的引脚由于内部电阻的 原因将输出电流(IIL)。此外P1.0 和P1.2 分别作定时器/计数器2 的外部计 数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所 示在flash 编程和校验时,P1 口接收低8 位地址字节引脚号第二功能P1.0 T2 (定时器/计数器T2 的外部计数输入),时钟輸出P1.1 T2EX(定时器/计数器 T2 的捕捉/ 重载触发信号和方向控制) P1.5 MOSI ( 在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉電阻的8 位双向I/O 口P2 输出缓冲器 能驱动4 个TTL 逻辑电平。对P2 端口写“1”时内部上拉电阻把端口拉高,此 时可以作为输入口使用作为输入使用時,被外部拉低的引脚由于内部电阻的 原因将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据 存储器(例如执行MOVX @DPTR)时P2 ロ送出高八位地址。在这种应用 第11 页共27 页 中P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX @RI)访问 外部数据存储器时P2 口输出P2 锁存器的內容。在flash 编程和校验时P2 口 也接收高8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口p2 输出缓冲器能驱 动4 个TTL 逻辑電平。对P3 端口写“1”时内部上拉电阻把端口拉高,此时可 以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原 因将输出电流(IIL)。P3 口亦作为AT89S52 特殊功能(第二功能)使用如 下表所示。在flash 编程和校验时P3 口也接收一些控制信号。 引脚号第二功能P3.0 RXD(串荇输入)P3.1 TXD(串行输出)P3.2 INT0(外 部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0 外部输入)P3.5 T1(定时器1 外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通) RST: 复位输叺。晶振工作时RST 脚持续2 个机器周期高电平将使单片机复 位。看门狗计时完成后RST 脚输出96 个晶振周期的高电平。特殊寄存器 AUXR(地址8EH)上的DISRTO 位可鉯使此功能无效DISRTO 默认状态下,复 位高电平有效ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储 器时,锁存低8 位地址的输出脉冲在flash 编程時,此引脚(PROG)也用作 编程输入脉冲在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲可 用来作为外部定时器或时钟使用。然而特别强调,在每次访问外部数据存储 器时LE 脉冲将会跳过。如果需要通过将地址为8EH的SFR 的第0 位置“1”, ALE 操作将无效这一位置“1”,ALE 仅在執行MOVX 或MOVC 指令时有 效否则,ALE 将被微弱拉高这个ALE 使能标志位(地址为8EH 的SFR 的 第0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存儲器选 通信号(PSEN)是外部程序存储器选通信号当AT89S52 从外部程序存储器执 行外部代码时,PSEN 在每个机器周期被激活两次而在访问外部数据存儲器 时,PSEN 将不被激活EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到FFFFH 的外部程序存储器读取指令EA 必须接GND。为了执行内部 程序指令EA 应该接VCC。在flash 编程期间EA 也接收12 伏VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端XTAL2:振荡器反相 放大器的输出端。 ③特殊功能寄存器 特殊功能寄存器(SFR)的地址空间映象如表1 所示 并不是所有的地址都被定义了。片上没有定义的地址是不能用的读这些 地址,一般将 得到一个随机數据;写入的数据将会无效用户不应该给这些未定义的地 址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能复位后,这些位 都为“0” 定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位 (如表2 和表3 所示),寄存器对RCAP2H 和RCAP2L 是定时器2 的捕捉/自动 重载寄存器 中斷寄存器:各中断允许位在IE 寄存器中,六个中断源的两个优先级也可在IE 中设置 3.1.2 显示电路 LCD 与LED 的区别。 第12 页共27 页 LED 仅仅是由8 个led 灯组成的数码显礻器件电路简单,操作容易 LCD 是有点阵组成的显示器件,该器件电路和软件复杂但是交互性好。 该系统展示给用于的数据为频率值鼡LED 数码管显示即可。 LED 数码管按段数分为七段数码管和八段数码管八段数码管比七段数码 管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共 阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管共阳数码管在应用时应将公共极COM 接到+5V,当某一字段 发光二极管的阴极为低电平时相应字段就点亮。当某一字段的阴极为高电平 时相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形 成公共阴极(COM)嘚数码管。共阴数码管在应用时应将公共极COM 接到地线 GND 上当某一字段发光二极管的阳极为高电平时,相应字段就点亮当某一 字段的阳极為低电平时,相应字段就不亮 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码从而显示 出我们要的数字,因此根据数码管的驱动方式的不同可以分为静态式和动态 式两类。 ① 静态显示驱动 静态驱动也称直流驱动静态驱动是指每个数码管的每一个段码都甴一个 单片机的I/O 端口进行驱动,或者使用如BCD 码二-十进制译码器译码进行驱 动静态驱动的优点是编程简单,显示亮度高缺点是占用I/O 端口哆,如驱动 5 个数码管静态显示则需要5×8=40 根I/O 端口来驱动要知道一个89S51 单片 机可用的I/O 端口才32 个呢:),实际应用时必须增加译码驱动器进行驅动 增加了硬件电路的复杂性。 ② 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一动态 驱动是将所有數码管的8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为 每个数码管的公共极COM 增加位选通控制电路位选通由各自独立的I/O 线控 制,当单片机输出字形码时所有数码管都接收到相同的字形码,但究竟是那 个数码管会显示出字形取决于单片机对位选通COM 端电路的控制,所以我们 只要将需要显示的数码管的选通控制打开该位就显示出字形,没有选通的数 码管就不会亮通过分时轮流控制各个数码管的的COM 端,就使各个数碼管轮 流受控显示这就是动态驱动。在轮流显示过程中每位数码管的点亮时间为 1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应尽管实际上各位数 码管并非同时点亮,但只要扫描的速度足够快给人的印象就是一组稳定的显 示数据,不会有闪烁感动态显示的效果和静态显示是一样的,能够节省大量 的I/O 端口而且功耗更低。由于我们使用的FPGA 芯片的型号为EPF10K10 有足够的IO 口分别去控制数码管的段选。这裏我们采用动态显示方式 由于FPGA 的IO 口没有足够的驱动能力去驱动数码管,所以需要数码管的 驱动电路该驱动电路我们选择由三极管组成嘚电路,该电路简单软件容易 实现。其中一个数码管的驱动电路图如图3.6 所示 数码管为共阴极,当CS1=1 时即三极管Q9 被饱和导通,则数码管嘚公共 极被间接接地数码管被选中,数据将在该管上显示当CS=0 时,三极管Q9 被截至则数码管的公共极被没有接地,即使CSACSB,CSCCSD,CSE 第13 页囲27 页 CSF,CSGCSDP 被送入数据也不会有显示。 CSACSB,CSCCSD,CSECSF,CSGCSDP 分别为数码管的位选, 哪一位为“1”即相应的三极管饱和导通,则相应的数码管段被点亮“0”为截 止。相应的数码管段灭这样数码管就有数字显示出来。 我们在该系统使用了4 个数码管使用动态显示,即通过片选昰每个数码 管都亮一段时间,不断循环扫描由于人的眼睛有一段时间的视觉暂留,所以 给人的感觉是每个数码管同时亮的这样4 个数码管就把4 位十进制数据就显示 出来了。 数码管驱动电路:由于单片机芯片没有足够的能力驱动4 个数码管因此需 要增加数码管驱动电路。 驱動电路我们可以选择由三极管组成的电路该电路简单,程序容易实现. 3.1.3 待测信号产生电路 可变基准发生器模块的功能为:主要用于仿真外堺的周期性变化的信号用 于电路的测试,对频率的精度没有要求只要能产生周期性变化的信号即可。 该部分不为频率计的组成部分洅加上为了节省成本我们使用LM555 芯片 组建的多谐振振荡器电路电路如图3.7 所示,电容C,电阻RA 和RB 为外接元 件其工作原理为接通电源后,5V 电源经RA 和RB 給电容C 充电由于电容 上电压不能突变,电源刚接通时555 内部比较器A1 输出高电平,A2 输出低电 平即RD=1,SD=0,基于RS 触发器置“1”,输出端Q 上升到大于5V 嘚电压的三分之一时RD=1,SD=1,基本 RS 触发器状态不变,即输出端Q 仍为高电平当电容两端电压Vc 上升到略大 于2*5V/3 是,RN=0,SD=1,基本RS 触发器置0输出端Q 为低电平,這时Q=1 使内部放电管饱和导通。于是电容C 经RB 和内部的放电管放电电容两端电压 按指数规律减小。当电容两端电压下降到略小于5V 电压的三汾之一时内部比 较器A1 输出高电平,A2 输出低电平基本RS 触发器置1,输出高电平这 时,Q=0内部放电管截止,于是电容结束放电如此循环鈈止,输出端就得 到了一系列矩形脉冲如图3.8 所示。 电路参数的计算: 为了使Q 端输出频率可变RB 用电位器来取代。 电容选择如果选择105的独石电容即C=1uF= uF ,RA选1K的电10?10?6 2 时 f=240Hz, 由此可得, 该电路的输出频率范围为: 240~1443(Hz) 元器件的简介 LM555/LM555C 系列是美国国家半导体公司的时基电路。我国和世界各大 集成电路生产商均有同类产品可供选用是使用极为广泛的一种通用集成电 路。LM555/LM555C 系列功能强大、使用灵活、适用范围宽可用来产生時间 延迟和多种脉冲信号,被广泛用于各种电子产品中 555 时基电路有双极型和CMOS 型两种。LM555/LM555C 系列属于双极 型优点是输出功率大,驱动电流达200mA而另一种CMOS 型的优点是功 耗低、电源电压低、输入阻抗高,但输出功率要小得多输出驱动电流只有几 毫安。 另外还有一种双时基电路LM55614 腳封装,内部有两个相同的时基电路 单元 特性简介: 直接替换SE555/NE555。 定时时间从微秒级到小时级 可工作于无稳态和单稳态两种方式。 可调整占空比 输出端可接收和提供200mA 电流。 输出电压与TTL 电平兼容 温度稳定性好于0.005%/℃。 应用范围 精确定时 脉冲发生 连续定时 频率变换 脉冲宽喥调制 脉冲相位调制 电路特点: LM555 时基电路内部由分压器、比较器、触发器、输出管和放电管等组 成,是模拟电路和数字电路的混合体其Φ6 脚为阀值端(TH),是上比较 器的输入2 脚为触发端( TR ) , 是下比较器的输入3 脚为输出端 (OUT),有0 和1 两种状态它的状态由输入端所加嘚电平决定。7 脚为 放电端(DIS)是内部放电管的输出,它有悬空和接地两种状态也是由输 入端的状态决定。4 脚为复位端(R)叫上低电岼(< 0.3V)时可使输出端为 低电平。5 脚为控制电压端(CV )可以用它来改变上下触发电平值。8 脚为电 源(VCC)1 脚为地(GND)。 一般可以把LM555 电路等效成┅个大放电开关的R-S 触发器这个特殊 的触发器有两个输入端:阀值端(TH)可看成是置零端R,要求高电平;触发 端(TR)可看成是置位端S低電平有效。它只有一个输出端OUTOUT 可 第16 页共27 页 等效成触发器的Q 端。放电端(DIS)可看成由内部放电开关控制的一个接 点放电开关由触发器的反Q 端控制:反Q=1 时DIS 端接地;反Q=0 时 DIS 端悬空。此外这个触发器还有复位端R控制电压端CV,电源端VCC 和接地端GND 这个特殊的R-S 触发器有两个特点:(1)兩个输入端的触发电平要求一高一 低:置零端R 即阀值端TH 要求高电平,而置位端S 即触发端TR 则要求 低电平(2)两个输入端的触发电平,也就昰使它们翻转的阀值电压值也不 同当CV 端不接控制电压是,对TH(R) 端来讲> 2/3VCC 是高电平 1,< 2/3VCC 是低电平0;而对TR(S)端来讲> 1/3VCC 是高电平1,< 1/3VCC 是低电平0如果在控制端CV 加上控制电压VC,这时上触发电平 就变成VC 值而下触发电平则变成1/2VC。可见改变控制端的控制电压值可 以改变上下触发电平值 3.1.4 待测信号整形放大电路 顾名思义该模块的主要功能为:将周期性变化的信号变成方波送入 AT89S52 芯片检测信号也许电压比较高,在这里我们使鼡一个电阻和5.1V 的稳 压管组成的一个降压电路如果输入的信号功率比较低或输入电阻比较低需要电 压跟随器提高功率或输入电阻。然后经過一个电压比较器将不规则的周期性变化 的信号变成方波送入FPGA 处理电路如图3.9 所示。 电压跟随器顾名思义,就是输出电压与输入电压是楿同的就是说,电 压跟随器的电压放大倍数恒小于且接近1电压跟随器的显著特点就是,输入 阻抗高而输出阻抗低,一般来说输入阻抗要达到几兆欧姆是很容易做到 的。输出阻抗低通常可以到几欧姆,甚至更低在电路中,电压跟随器一般 做缓冲级及隔离级因为,电压放大器的输出阻抗一般比较高通常在几千欧 到几十千欧,如果后级的输入阻抗比较小那么信号就会有相当的部分损耗在 前级的輸出电阻中。在这个时候就需要电压跟随器来从中进行缓冲。起到承 上启下的作用应用电压跟随器的另外一个好处就是,提高了输入阻抗这 2 4 5 3 12 U1A R1 D1 VCC 2 4 5 3 12 U2A 10K R3 10K R4 VCC 51K R5 VCC 5V VCC 图3.9 待测信号整形放大电路 第17 页共27 页 样,输入电容的容量可以大幅度减小为应用高品质的电容提供了前提保证。 电压跟随器的另外一个作用就是隔离在HI-FI 电路中,关于负反馈的争议已经 很久了其实,如果真的没有负反馈的作用相信绝大多数的放大电路是不能 很恏的工作的。但是由于引入了大环路负反馈电路扬声器的反电动势就会通 过反馈电路,与输入信号叠加造成音质模糊,清晰度下降所以,有一部分 功放的末级采用了无大环路负反馈的电路试图通过断开负反馈回路来消除大 环路负反馈的带来的弊端。但是由于放大器的末级的工作电流变化很大,其 失真度很难保证 电压比较器是集成运放非线性应用电路,他常用于各种电子设备中它将 一个模拟量電压信号和一个参考固定电压相比较,在二者幅度相等的附近输 出电压将产生跃变,相应输出高电平或低电平比较器可以组成非正弦波形变 换电路及应用于模拟与数字信号转换等领域。 图3.10 所示为一最简单的电压比较器原理图UR 为参考电压,加在运放的 同相的输入端输叺电压ui 加在反相的输入端。 电路图传输特性当ui<UR 时运放输出高电平,稳压管Dz 反向稳压工作 输出端电位被其箝位在稳压管的稳定电压UZ,即uO=UZ当ui>UR 时,运放 输出低电平DZ 正向导通,输出电压等于稳压管的正向压降UD即uo=- UD 因此,以UR 为界当输入电压ui 变化时,输出端反映出兩种状态高电位 和低电位。 表示输出电压与输入电压之间关系的特性曲线称为传输特性。图3-1(b) 为(a)图比较器的传输特性 常用的电压比較器有过零电压比较器、具有滞回特性的过零比较器、滞回电压 比较器,窗口(双限)电压比较器这里我们使用LM339 构成各种电压比较 器。 3.1.5 汾频电路 ⑴频率的功能 为了提高系统的可测信号的频率添加分频器可以扩大频率的测量范围。 ⑵电路的选择与比较 分频电路可以使用CPLD 和74LS74 唍成 CPLD 和74LS74 也可以实现高速频率的分频工作,但是一般情况CPLD 用 于多分频的如10 分频以上。使用1 片74LS74 可以将信号4 分频在本系统 中为了考虑成本使用74LS74,将待测信号4 分频即可时频率计的测量范围扩 图3.10 电压比较器原理 第18 页共27 页 大四倍,电路图如图3.11 所示 74LS74 是两个D 触发器组成的,仿真如圖3.12 所示 3.1.6 5V 电源产生电路 该模块的主要功能是:为电路中的所有的元器件提供电源。 在选择5V 稳压芯片时可以选择5.1V 稳压管或LM7805 集成芯片。由于嘚 不考虑负载的情况下两种选择能得到同样的效果,但是加上许多负载时, 5.1V 稳压管的输出电压会随着后面负载的输入电阻的变化而变囮如果电源的 输出电阻比较大,而负载的输入电阻比较小的时候负载的变化将会引起电源 输出电压的很大的变化,由于LM7805 的输出电阻非瑺的大接近于无穷大, 所以在制作电源时使用LM7805 在性能上将会比5.1V 稳压管好即使负载的功 率很高,我们也可以通过加入扩流电路使电源提高输出功率 电路的选择与特点: 二极管的选择:选择1N400 系列中的1N4007,1N4007 的反向截止电压为 1000V对于我们电路输入整流桥之前就已经通过变压器使220V 市电变为9V 的交流电,1N4007 有足够的能力使9V 电压反向截至通过4 个二极管组成的 整流桥后虽然把有正有负的交流电变成了全是正的角流电,这样嘚交流电即使 有效电压为正5V 的也不能把这样的电压给FPGA 和单片机等芯片供电,需要 流为了电容两端的电压不支持突变,当外界电压高于電容两端电压时外界 就向电容充电,当外界电压低于电容电压时电容就要向外界放电,通过电容 使电压保持在一个恒定的值我们在電路中使用的两个不同的电容为:C4、 C5,C5 使用的是电解质电容因为一般情况下电解质电容容量比较大,存储电 量比较多在滤波电路中多鼡于高频滤波,这里我们使用的是容量100uF最 高电压为25V 的电解质电容。C4 使用的是独石电容容量比电解质的小,一般 在uF 以下多用于低频滤波。这里我们使用比较常用的104即0.1uF。 由Q1,Q2,Q3 组成的是过流保护的扩大输出电流的电路Q2 的输出电流I0 增加为I0=I01+I02。正常时Q1,Q3 截至电阻R1 上产生壓降使T2 导通, 若I0 过流I01 增加,限流电阻R3 上压降增大使T3 导通导致T1 趋于饱和, T2 管基-射间电压|VBE1|降低限制了功率管T2 的电流IC1,保护功率管不致 洇过流而损坏 将电容输出的电压送入LM7805 芯片继续稳压整流,使电压变成FGPA、单 片机可以接收的5V 电源 9V 的交流电输入到4 个二极管组成的整流桥,通过整流桥后有效电压为 输入电压的0.9 倍,即:0.9?9 ? 8.1?V ?当通过接着的两个电容时,这时的电 压为输入电压的1.2 倍即: 。由于LM7805 要求输叺电压高于9?1.2 ?10.8?V ? 标准输出电压2V由于使用的是7805,输出电压为标准的正5V即输入电压 要高于5 ? 2 ? 7(V ),通过整流桥和电容之后的电压为10.8V>7V由此可以看出 LM7805 将正常工作,输出电压为5V电路如图3.10 所示。 元器件的选型与电路参数的计算: LM7805 芯片简介: 外形图及引脚排列H 7805 系列为3 端正稳压电蕗,TO-220 封装能提供 多种固定的输出电压,应用范围广内含过流、过热和过载保护电路。带散 热片时输出电流可达1A。虽然是固定稳压电路但使用外接元件,可获得 不同的电压和电流 主要特点: 1 IN 3 OUT 2 GND U1 LM7805 Q1 PNP Q2 PNP Q3 NPN R1 当稳压器远离电源滤波器时,要求用C1 CO 可改善稳定性和瞬态响应。 该模块的不足和对进一步完善提出建议: 该模块的不足: 转换的效率低:线性稳压器的效率直接与其调整管所消耗的功率有 关调整管的功耗等于电鋶×(输入电压-输出电压),由此可见有些情况下调整 管会产生较大损耗。例如负载为1A 时,将10V 的电压降至5V 输出线性稳 压器的功耗为5W。效率将低于50%该电路将会很耗电。 散热问题:由上可知线性稳压器的功耗将在高于总电路的50%例如,我 们的电路功率为10W那么线性稳压器的功率将会高于5W,这5W 的99%将通 过热量散失到外界如果散热管理不适当将会使整个系统在高温下工作,影响 整个系统的性能之外也严重的影響着整个系统的寿命。 提出建议: 线性稳压器的低效率迫使寻求新的改进方案开关电源引起人们的关注。 根据开关电源的工作原理在鈈同负载和电压下,一个设计良好的开关电源的 效率可达90%甚至更高这相比线性稳压器,效率提高了40%通过直观的比 较,开关电源降压的優势便体现出来了其他开关电源的拓扑结构同样具有相 近或是更高的效率。开关电源设计不仅仅具有高效率这一主要优势由于功耗 的降低还带来许多直接的好处。例如与低效率的竞争产品相比,开关电源的 散热片面积大大减小降低了对热管理的要求;而且更重要的昰,由于器件不 会工作在低效的高温环境中大大提高了器件的可靠性,进而延长工作寿命 图3.11 第21 页共27 页 3.2 软件设计 3.2.1 编程语言的选择: 汇编囷C 语言 汇编语言(Assembly Language)是面向机器的程序设计语言 在汇编语合中,用助记符(Memoni)代替操作码用地址符号(Symbol)或标号 (Label)代替地址码。这样用符号代替机器语訁的二进制码就把机器语言变成 了汇编语言。于是汇编语言亦称为符号语言 使用汇编语言编写的程序,机器不能直接识别要由一种程序将汇编语言 翻译成机器语言,这种起翻译作用的程序叫汇编程序汇编程序是系统软件中 语言处理系统软件。汇编程序把汇编语言翻譯成机器语言的过程称为汇编 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执 行速度快占内存空间少等优点,但在编写复杂程序时具有明显的局限性汇 编语言依赖于具体的机型,不能通用也不能在不同机型之间移植。 C 语言发展如此迅速, 而且荿为最受欢迎的语言之一, 主要因为它具有强大 的功能许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语 言编写的。用C 语言加上一些汇编语言子程序, 僦更能显示C 语言的优势了, 象PC- DOS 、WORDSTAR 等就是用这种方法编写的归纳起来C 语言具有 下列特点: ①C 是中级语言 它把高级语言的基本结构和语句与低级語言的实用性结合起来。C 语言可 以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工 作单元 ② C 是结构式语言 结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必 要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维 护以及调试C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。 ③C 语言功能齐全 C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更 高另外C 语言也具有强大的图形功能, 支持多种显示器和驅动器。而且计算 功能、逻辑判断功能也比较强大, 可以实现决策目的 ④C 语言适用范围大 C 语言比汇编更容易编写和移植,虽然该程序对时間要求比较严格但是如果 我们使用定时器的话对这样就既可以解决用延时带来的不精确的问题,也提 高了编写程序的效率 3.2.2 程序流程图: ⑴主程序 该计数器时通过计数或定时来完成计算待测信号的频率的,所以频率的计算 都是在中断里完成的主函数的流程图如图3.12 为: 第22 頁共27 页 检测一个信号首先在1 秒钟中内对待测频率计数,通过定时器0 来定时1 秒 通过计数器1 对待测频率计数,通过这种方法检测出待测信号嘚频率如果频率 小于2 的话,通过这种方法检测出来的频率精度会很低所以如果频率低于2Hz, 用计数器1 来检测两个下降沿在两个下降沿內,运行定时器0通过这种方法 计算频率比较低的信号。 两种方案的选择由变量flag 控制对一个未知频率信号,我们先假设该频率 高于2Hz当鼡第一种方法检测出来的值小于2Hz,我通过对变量的控制执行第 二种方案 定时器/计数器0 和定时器/计数器1 的主要作用: 首先当待测信号送入箌频率计时,频率计将该信号作为频率大于2Hz 出来 定时器/计数器0 设为定时模式,定时器/计数器1 设为计数模式定时器0 的作 用为定时1 秒,在這一秒里计数器1 对待测信号计数。由此可以测出待测的频 图3.12 主程序流程图 第23 页共27 页 率值当检测到的频率值小于2Hz 时,频率计自动转换到對低频信号处理模式 定时器1 的作用将变为自动检测待测频率的下降沿,定时器0 的作用是在相邻的 两个下降沿里计时由此可以测出频率尛于2 的信号。 定时器0 的程序流程图如图3.13计数器1 的程序流程图如图3.14 所示。 如图3.13 定时器0 中断流程序 图3.14 定时器1 中断流程图 Y N 第24 页共27 页 打开Keil C单击“工程”菜单中的“目标Target1 属性”,跳出一个设置“目标 Target1 属性”的对话框打开“输入”页,在产生执行文件的框里把“E 生成HEX 文件”前的鉤打上,重新编译即工程所在的文件夹里会产生一个HEX 格式的文 件。 用keil C 即可产生的HEX 的二进制文件既可以在PROTES 中仿真使用, 也可以下载到单爿机中运行 3.3 电路板的制作 3.3.1 元器件的封装 在设计装配方式之前,要求将系统的电路基本定型同时还要根据整机的 体积以及机壳的尺寸来咹排元器件在印刷电路板上的装配方式。 具体做这一步工作时可以先确定好印刷电路板的尺寸,然后将元器件配 齐根据元器件种类和體积以及技术要求将其布局在印刷电路板上的适当位 置。可以先从体积较大的器件开始如电源变压器、磁棒、全桥、集成电路、 三极管、二极管、电容器、电阻器、各种开关、接插件、电感线圈等。待体积 较大的元器件布局好之后小型及微型的电子元器件就可以根据间隙面积灵活 布配。二极管、电感器、阻容元件的装配方式一般有直立式、俯卧式和混合式 三种 ①直立式。电阻、电容、二极管等都是竖矗安装在印刷电路板上的这种 方式的特点是:在一定的单位面积内可以容纳较多的电子元件,同时元件的排 列也比较紧凑缺点是:元件的引线过长,所占高度大且由于元件的体积尺 寸不一致,其高度不在一个平面上欠美观,元器件引脚弯曲且密度较大, 元器件之間容易引脚碰触可靠性欠佳,且不太适合频率较高的电路采用 ②俯卧式。二极管、电容、电阻等元件均是俯卧式安装在印刷电路板上 嘚这样可以明显地降低元件的排列高度,可实现薄形化同时元器件的引线 也最短,适合于较高工作频率的电路采用也是目前采用得朂广泛的一种安装 方式。 ③混合式为了适应各种不同条件的要求或某些位置受面积所限,在一块 印刷电路板上有的元器件采用直立式咹装,也有的元器件则采用俯卧式安 装这受到电路结构各式以及机壳内空间尺寸的制约,同时也与所用元器件本 身的尺寸和结构形式有關可以灵活处理。 1、单片机: 单片机使用双列直插式DIP 封装40 个引脚,每个引脚的距离为100mil 封装模型如图3.18 所示: 图3.18 单片机PCB 模型 第25 页共27 页 2、數码管的封装: 数码管的封装采用LEDDIP-10,但是因为每个厂家生产出来的段选并不是都 是相同的但是没必要重新设计数码管的封装,仅仅检查引脚分配即可在本设 计使用的数码管引脚分配如图3.19 所示。 其他元器件封装: 电阻AXIAL 无极性电容RAD 电解电容RB 电位器VR 二极管DIODE 三极管、场效应管TO 电源稳压块78 系列TO-220 单排多针插座SIP 双列直插元件DIP 晶振XTAL1 3.5 软硬件结合测试 当给电板通电时LM555 的3 号输出引脚的电压为2.5V 左右。说明输出脉 冲的占空比为50%通过通过示波器查看波形,和理论的波形一致通过调节 电位器可以改变输出波形的频率。 图3.19 元器件引脚映射 第26 页共27 页 数码管显示当調节电位器时数码管的显示也是在理论范围只内的。 第27 页共27 页 致谢 在本论文结束之际回想本科阶段的学习和生活,感慨甚多毕业课題和 论文是在导师郑老师的指导下完成的,同时也要感谢自动化教研室的老师感 谢他们的耐心指导。感谢所有帮助和支持过我的人 郑咾师对论文的进展付出了大量的汗水和心血,并给予了许多具体的实验 指导方案在论文的最后成稿中提出了许多宝贵的意见,从而使论攵的质量得 以提高从郑老师身上,我学到的不仅是做学问、搞科研的态度、方法和毅 力而且更多的是做人的准则。借此论文完成之际向郑老师表示深深的谢 意! 最后,再一次向关心和帮助我的各位表示我衷心的感谢和深深的敬意!

实验一 程控交换原理实验系统及控制單元实验 一、 实验目的 1、熟悉该程控交换原理实验系统的电路组成与主要部件的作用 2、体会程控交换原理实验系统进行电话通信时的工莋过程。 3、了解CPU中央集中控制处理器电路组成及工作过程 二、 预习要求 预习《程控交换原理》与《MCS-51单片计算机原理与应用》中的有关内嫆。 三、 实验仪器仪表 1、主机实验箱 一台 2、三用表 一台 3、电话单机 四台 四、 实验系统电路组成 (一)电路组成 图1-1是该实验系统的原理框图 圖1-1 实验系统的原理框图 图1—2是该实验系统的方框图其电路的组成及主要作用如下: 1、用户模块电路 主要完成BORSCHT七种功能,它由下列电路组荿: A、 用户线接口电路 B、 二\四线变换器 C、 PCM编译码电路 用户线接口电路 二/ 四线变换器 二/四线变换器 用户线接口电路 用户1 PCM CODEC电路 PCM CODEC电路 用户3 用戶线接口电路 二/ 四线变换器 二/ 四线变换器 用户线接口电路 用户2 PCM CODEC电路 PCM CODEC电路 用户4 时钟信号电路 控制、检测电路 输出显示电路 二次稳压电路 哆种信号音电路 CPU中央处理器 键盘输入电路 直流电源 图1-2 实验系统方框图 2、交换网络系统 主要完成空分交换与时隙交换两大功能它由下列电路组成: A、空分交换网络系统 B、时隙交换网络系统 3、多种信号音电路 主要完成各种信号音的产生与发送,它由下列电路组成: A、450Hz拨号喑电路 B、忙音发生电路 C、回铃音发生电路 D、25Hz振铃信号电路 4、CPU中央集中控制处理器电路 主要完成对系统电路的各种控制信号检测,号码识別键盘输入信息,输出显示信息等各种功能 5、系统工作电源 主要完成系统所需要的各种电源,本实验系统中有+5V-5V,+12V-12V,-48V等5组电源由丅列电路组成: A、内置工作电源:+5V,+12V-12V,-48V B、稳压电源: -8V-5V 控制部分就是由CPU中央处理系统、输入电路(键盘)、输出电路(数码管)、双音哆频DTMF检测电路、用户环路状态检测电路、自动交换网络驱动电路与交换网络转换电路、扩展电路、信号音控制电路等电路组成。 下面简要說明各部分电路的作用与要求: 1、键盘输入电路: 主要把实验过程中的一些功能通过键盘设置到系统中 2、显示电路:  显示主叫与被叫电路的电话号码,同时显示通话时间 3、输入输出扩展电路: 显示电路与键盘输入电路主要通过该电路进行工作。主要芯片是D8155ASN74LS240,MC1413 4、双音多频DTMF接收检测电路: 把MT8870DC输出的DTMF四位二进制信号,接收存贮后再送给CPU中央集中控制处理系统 5、用户状态检测电路: 主要识别主、被叫用户的摘挂机状态,送给CPU进行处理 6、自动交换网络驱动电路: 主要实现电话交换通信时,CPU发出命令信息由此电路实现驱动自動交换网络系统,其核心集成电路为SN74LS374D8255A,GD74LS373等芯片 7、信号音控制电路: 它完全按照CPU发出的指令进行操作,使各种信号音按照系统程序进荇工作 8、振铃控制电路: 它也是按照CPU发出的指令进行工作,具体如下: (A)不振铃时要求振铃支路与供电系统分开。 (B)振铃时鈴流送向话机,并且供电系统通过振铃支路向用户馈电用户状态检测电路同时能检测用户的忙闲工作状态。 (C)当振铃时用户一摘机僦要求迅速断开振铃支路。 (D)振铃时要求有1秒钟振、4秒钟停的通断比 以上是CPU中央集中控制处理系统的主要工作过程,要全面具体实现仩述工作过程则要有软件支持,该软件程序流程图见图1—4 图1-3 键盘功能框图 对图1-3所示的键盘功能作如下介绍: “时间”: 该键可设置系統的延时时间。如久不拔号、久不应答、位间不拔号的延时缺省值为10秒,可选择的时间值有10秒、30秒、1分钟按一次该键则显示下一个时間值,三个值循环显示当按下“确认”键时,就选定当前显示值供系统使用按“复位”键则清除该次时间的设定。 “会议电话”: 该鍵为召开电话会议的按键电话会议设置用户1为主叫方,其他三路为被叫方只能由主叫方主持召开会议,向其他三路发出呼叫电路完铨接通或者接通两路后,主叫方能和任一被叫方互相通话除“复位”键外,其他键均推失去功能会议结束后,可按“复位”键重启系統 “中继”: 该键为局内交换切向中继交换的功能按键,按下此键再按“确认”键进行确认,则工作模式由局内交换切换为中继交换显示器循环显示“d”,此时方可通过中继拨打“长途”电话按“复位”键重启系统,进入正常局内交换模式 “确认”: 该键完成对其他功能键的确认,防止误按键在键盘中除“复位”键外,其他功能键都必须加“确认”键才能完成所定义的功能 “复位”: 该键为偅启系统按键。在任何时候或者系统出现不正常状态时都可按下此键重启系统(有用户通话时会中断通话),所有设置均为默认值 图1-5昰显示电路工作示意说明图。 主叫号码显示 计时显示 被叫号码显示 图1-5 显示电路 开 始 NO 有用户呼叫吗 呼叫??????????????????????????????????????????? YES 去 话 接 续 向主叫送拨号音 NO 第一位号码来了吗? 拨号开始???????????????????????????????? YES 停送拨号音收存号码 内 部 处 理 拨号完毕???????????????????????????????? 被叫闲吗? NO YES 来 话 接 续 向主叫送忙音 向被叫送铃流向主叫送回铃音 被叫应答否? NO 主叫挂机否 应答???????????????????????????????????? YES 停送铃流,回铃音接通电路 YES 话终挂机否? 挂机?????????????????????????????????????? YES 拆线(释放复原) 结 束 图1-4 程序工作流程示意图 五、实验内容 1、测量实验系统电路板中的TP91~TP95各测量点电压值,并记录 2、从总体上初步熟悉两部电话单机用空分交换方式进行通话。 3、初步建立程控交换原理系统及电话通信的概念 4、观察并记录一个正常呼叫的全过程。 5、观察并记录一个不正常呼叫的状态 图1-6 呼叫识别电路框图 五、 实验步骤 1、接上交流电源线。 2、将K11~K14,K21~K24,K31~K34,K41~K44接23脚;K70~K75接2,3脚;K60~K63接23脚。 3、先打开“交流开关”指示发光二极管亮后,再分别按下直流输出开关J8J9。此时实驗箱上的五组电源已供电各自发光二极管亮。 4、按 “复位”键进行一次上电复位此时,CPU已对系统进行初始化处理数码管循环显示“P” ,即可进行实验 5、将三用表拔至直流电压档,然后测量TP91TP92,TP93TP94,TP95的电压是否正常:TP91为-12VTP92为-48V,TP93为+5VTP94为+12V,TP95为-5V(-48V允许误差±10%,其它为±5%) 6、将四个用户接上电话单机 7、正常呼叫全过程的观察与记录。(现以用户1为主叫用户4为被叫进行实验) A、 主叫摘机,听到拨号音数码管显示主叫电话号码“68” 。 B、 主叫拨首位被叫号码“8”主叫拨号音停,主叫继续拨完被叫号码“9” C、 被叫振铃,主叫听到回铃喑 D、 被叫摘机,被叫振铃停主叫回铃音停,双方通话数码管显示主叫号码和被叫号码,并开始通话计时 E、 挂机,任意一方先挂机(如主叫先挂机)另一方(被叫)听到忙音,计时暂停双方都挂机后,数码管循环显示“P” 8、不正常呼叫的自动处理 A、 主叫摘机后茬规定的系统时间内不拨号,主叫听到忙音(系统时间可以设置,在系统复位后按“时间”可循环显示“10”“30”,“100”分别表示10秒,30秒1分钟,选定一个时间按“确定”即系统时间被设置,在复位状态时系统时间默认为10秒。) B、 拨完第一位号码后在规定的系统时间内沒有拨第二位号码时主叫听到忙音。 C、 号码拨错时(如主叫拨“56” )主叫听到忙音。 D、 被叫振铃后在规定的系统时间内不摘机被叫振铃音停,主叫听到忙音 六、 实验注意事项 对实验系统加电一定要严格遵循先打开系统工作电源的“交流开关”,然后再打开直流输出開关J8J9。实验结束后先分别关直流输出开关J8,J9最后再关“交流开关”,以避免实验电路的器件损坏 七、 实验报告要求 1、画出实验系統电路的方框图,并作简要叙述 2、对正常呼叫全过程进行记录。 实验二 用户线接口电路及二\四线变换实验 一、实验目的 1、全面了解用户線接口电路功能(BORST)的作用及其实现方法 2、通过对MH88612C电路的学习与实验,进一步加深对BORST功能的理解 3、了解二\四线变换电路的工作原理。 ②、预习要求 认真预习程控交换原理中有关用户线接口电路等章节 三、实验仪器仪表 1、主机实验箱 一台 2、电话单机 二台 3、20MHz示波器 一台 4、彡用表 一台 四、电路工作过程 在现代电话通信设备与程控交换机中,由于交换网络不能通过铃流、馈电等电流因而将过去在公用设备(洳绳路)实现的一些用户功能放到“用户电路”来完成。 用户电路也可称为用户线接口电路(Subscriber Line Interface Circuit—SLIC)任何交换机都具有用户线接口电路。 模拟用户线接口电路在实现上的最大压力是应能承受馈电、铃流和外界干扰等高压大电流的冲击过去都是采用晶体管、变压器(或混合線圈)、继电器等分立元件构成,随着微电子技术的发展近十年来在国际上陆续开发多种模拟SLIC,它们或是采用半导体集成工艺或是采用薄膜、厚膜混合工艺并已实用化。在实际中基于实现和应用上的考虑,通常将BORSCHT功能中过压保护由外接元器件完成编解码器部分另单荿一体,集成为编解码器(CODEC)其余功能由所谓集成模拟SLIC完成。 在布控交换机中向用户馈电,向用户振铃等功能都是在绳路中实现的饋电电压一般是-60V,用户的馈电电流一般是20mA~30 mA铃流是25HZ, 90V左右而在程控交换机中,由于交换网络处理的是数字信息无法向用户馈电、振铃等,所以向用户馈电、振铃等任务就由用户线接口电路来承担完成再加上其它一些要求,程控交换机中的用户线接口电路一般要具有B(饋电)、O(过压保护)、R(振铃)、S(监视)、C(编译码)、H(混合)、T(测试)七项功能 模拟用户线接口电路的功能可以归纳为BORSCHT七种功能,具体含义是: (1)馈电(B-Battery feeling)向用户话机送直流电流通常要求馈电电压为—48伏,环路电流不小于18mA (2)过压保护(O-Overvoltage protection)防止过压过流沖击和损坏电路、设备。 (3)振铃控制(R-Ringing Control)向用户话机馈送铃流通常为25HZ/90Vrms正弦波。 (4)监视(S-Supervision)监视用户线的状态检测话机摘机、挂机與拨号脉冲等信号以送往控制网络和交换网络。 (5)编解码与滤波(C-CODEC/Filter)在数字交换中它完成模拟话音与数字码间的转换。通常采用PCM编码器(Coder)与解码器(Decoder)来完成统称为CODEC。相应的防混叠与平滑低通滤波器占有话路(300HZ~3400HZ)带宽编码速率为64kb/s。 (6)混合(H-Hyhird)完成二线与四线的轉换功能即实现模拟二线双向信号与PCM发送,接收数字四线单向信号之间的连接过去这种功能由混合线圈实现,现在改为集成电路因此称为“混合电路”。 (7)测试(T-Test)对用户电路进行测试 模拟用户线接口功能见图2—1。 铃流发生器 馈电电源 发送码流 过 振 低通 编 a 压 测 铃 饋 混 码 模 拟 保 试 继 电 合 平衡 器 用 (编码信号) 户 护 开 电 电 电 网络 解 线 b 电 关 器 路 路 码 路 低通 器 接收码流 测试 振铃控台 用户线 总线 制信号弹 状態信号 图2-1 模拟用户线接口功能框 (一)用户线接口电路 在本实验系统中用户线接口电路选用的是MITEL公司的MH88612C。MH88612C是2/4线厚膜混合用户线接口电路它包含向用户话机恒流馈电、向被叫用户话机馈送铃流、用户摘机后自行截除铃流,摘挂机的检测及音频或脉冲信号的识别用户线是否有话机的识别,语音信号的2/4线混合转换外接振铃继电器驱动输出。MH88612C用户电路的双向传输衰耗均为-1dB,供电电源+5V和-5V其各项性能指标符合邮電部制定的有关标准。 (1)该电路的基本特性 1、向用户馈送铃流 2、向用户恒流馈电 3、过压过流保护 4、被叫用户摘机自截铃 5、摘挂机检测和LED顯示 6、音频或脉冲拨号检测 7、振铃继电器驱动输出 8、语音信号的2/4线转换 9、能识别是否有话机 10、无需偶合变压器 11、体积小及低功耗 12、极少量外围器件 13、厚膜混合型工艺 14、封装形式为20引线单列直插 图2-2是它的管脚排列图 Reference:设置向用户电话线送恒流馈电的参考电压恒流通过VRef调节;吔可接地,一般为21mA环流。 5脚:VEE 负供电电源通常为-5V DC。 6脚:GNDA 供电电源和馈电电源的地端模拟接地。 7脚:GS Gain setting(input):低电平时直接接收附加增益为-0.5 dB 此增益除编解码增益设置之外的,高电平时为0dB 8脚:VX Voice 振铃继电器驱动输出端,外接振铃继电器线圈至地端内部有一线圈感应箝位二极管。 15腳:RV Ring Feed Voltage:用户线铃流源输入端外部连接至振铃继电器。 16脚:VRLY 振铃继电器正供电电源能常为+5V DC。 17脚:IC Internal Connection:空端 18脚:VBat 用户线馈电电压,通常为-48V DC 19腳:CAP 连接外部电容作为振铃滤波控制连电阻到地 20脚:SHK 摘挂机状态检测及脉冲号码输出端,摘机时输出高电平 (3)用户线接口电路主要功能 图2-3是MH88612C内部电路方框图,其主要功能说明如下: TF VR TIP RING VX RF RV VRLY RC VRef RD CAP SHK 图2-3 MH88612C内部电路方框图 1、向用户话机供电MH88612C可对用户话机提供恒流馈电,馈电电流由VBAT以及VDD供給恒定的电流为25 mA。当环路电阻为2KΩ时,馈电电流为18 mA具体如下: A、 供电电源VBat采用-48V; B、 在静态情况下(不振铃、不呼叫),-48V电源通过继电器静合接点至话机; C、 在振铃时-48V电源通过振铃支路经继电器动合接点至话机; D、 用户挂机时,话机叉簧下压馈电回路断开回路无电流鋶过; E、 用户摘机后,话机叉簧上升接通馈电回路(在振铃时接通振铃支路)回路。 2、MH88612C内部具有过压保护的功能可以抵抗保护TIP- -RING端口间嘚瞬时高压,如结合外部的热敏与压敏电阻保护电路则可保护250V左右高压。 3、振铃电路可由外部的振铃继电器和用户电路内部的继电器驱動电路以及铃流电源向用户馈送铃流:当继电器控制端(RC端)输入高电平继电器驱动输出端(RD端)输出高电平,继电器接通此时铃流源通过与振铃继电器连接的15端(RV端)经TIP––RING端口向被叫用户馈送铃流。当控制端(RC端)输入低电平或被叫用户摘机都可截除铃流用户电路内部提供一振铃繼电器感应电压抑制箝位二极管。 4、监视用户线的状态变化即检测摘挂机信号具体如下: A、用户挂机时,用户状态检测输出端输出低电岼以向CPU中央集中控制系统表示用户“闲”; B、用户摘机时,用户状态检测输出端输出高电平以向CPU中央集中控制系统表示“忙”; 5、在TIP––RING端口间传输的语音信号为对地平衡的双向语音信号,在四线VR端与VX端传输的信号为收发分开的不平衡语音信号MH88612C可以进行TIP––RING端口与四線VR端和VX端间语音信号的双向传输和2/4线混合转换。 6、MH88612C可以提供用户线短路保护:TIP线与RING线间TIP线与地间,RING线与地间的长时间的短路对器件都不會损坏 7、MH88612C提供的双向语音信号的传输衰耗均为-dB。该传输衰耗可以通过MH88612C用户电路的内部调整也可通过外部电路调整; 8、MH88612C的四线端口可供語音信号编译码器或交换矩阵使用。 由图1-1可知本实验系统共有四个用户线接口电路,电路的组成与工作过程均一样因此只对其中的一蕗进行分析。 图2-4是用户1用户线接口电路的原理图: 图2-4 用户线接口电路电原理图 为了简单和经济起见反映用户状态的信号一般都是直流信號,当用户摘机时用户环路闭合,有用户线上有直流电流流过主叫摘机表示呼叫信号,被叫摘机则表示应答信号,当用户挂机时鼡户环路断开,用户线上的直流电流也断开因此交换机可以通过检测用户线上直流电流的有无来区分用户状态。 当用户摘机时发光二極管D10亮表示用户已处于摘机状态,TP13由低电平变成高电平此状态送到CPU进行检测该路是否摘机,当检测到该路有摘机时CPU命令拨号音及控制電路送出f=450HZ,U=3V的波形 此时,在TP12上能检测到如图2—5所示波形 TP12 0 2VP-P t f = 400~450Hz 图2-5 450Hz拨号音波形 当用户听到450HZ拨号音信号时用户开始拨电话号码,双音多频号码检測电路检测到号码时通知CPU进行处理CPU命令450HZ拨号音发生器停止送拨号音,用户继续拨完号码CPU检测主叫所要被叫用户的号码后,立即向被叫鼡户送振铃信号提醒被叫用户接听电话,同时向主叫用户送回铃音信号以表示线路能够接通,当被叫用户摘机时CPU接通双方线路,通信过程建立一旦接通链路,CPU即开始计时当任一方先挂机,CPU检测到后立即向另一方送忙音,以示催促挂机至此,主、被叫用户一次通信过程结束 通过上述简单分析,不难得出各测量点的波形 TP11:通信时有发送话音波形;拨号时有瞬间DTMF波形;不通信时则此点无波形。 TP12:通信时有接收话音波形:摘机后拨号前有450HZ拨号音信号;不通信时则此点无波形 TP13:摘挂机状态检测测量点 挂机:TP13=低电平。 摘机:TP13=高电平 TP14:振铃控制信号输入,高电平有效即工作时为高电平,常态为低电平 在该实验系统中,二\四线变换由用户线接口电路中的语音单元電路实现图2-6为电路的功能框图,该电路完成二线–––单端之间信号转换在MH88612C内部电路中已经完成了该变换。 T TR R 图2-6 二/四线变换功能框图 二\㈣线变换的作用就是把用户线接口电路中的语音模拟信号(TR)通过该电路的转换分成去话(T)与来话(R)对该电话的要求是: 1、将二线電路转换成四线电路; 2、信号由四线收端到四线发端要有尽可能大的衰减,衰减越大越好; 3、信号由二线端到四线发端和由四线收端到二線端的衰减应尽可能小越小越好; 4、应保持各传输端的阻抗匹配; 以便于PCM编译码电路形成发送与接收的数字信号。 五、实验内容 1、参考囿关程控交换原理教材中的用户线接口电路等单节对照该实验系统中的电路,了解其电路的组成与工作过程 2、通过主叫、被叫的摘、掛机操作,了解B、R、S等功能的具体作用 六、实验步骤 1. 接上交流电源线。 2. 将K11~K14K21~K24,K31~K34K41~K44接2,3脚;K70~K75接23脚;K60~K63接2,3脚 3. 先打开“交流开关”,指示发光二极管亮后再分别按下直流输出开关J8,J9此时实验箱上的五组电源已供电,各自发光二极管亮 4. 按“复位”键进行一次上電复位,此时CPU已对系统进行初始化处理,显示电路循环显示“P”即可进行实验。 5. 用户1用户3接上电话单机。 6. 用户电话单机的直流供电(B)的观测(现以用户1为例) 1) 用户1的电话处于挂机状态,用三用表的直流档测量TP1ATP1B对地的电压,TP1A为-48VTP1B为0V,它们之间电压差为48V 2) 用户1的电话处于摘机状态,用三用表的直流档测量TP1ATP1B对地的电压,TP1A为-10V左右(此时的电压与电话的内阻抗有关所以每部电话的测量值鈈一定相同),TP1B为-3.7V左右 以上给出的电压值只是作为参考。 7. 观察二/四线变换的作用 1) 用正常的呼叫方式,使用户1、用户3处于通话狀态 2) 当用户1对着电话讲话时(或按电话上的任意键),用示波器观察TP11上的波形为语音信号(或双音多频信号),不讲话时无信号 3) 当用户1听到用户3讲话时(或用户3按电话上任意键),用示波器观察TP12上的波形为语音信号(或双音多频信号),对方不讲话时无信号 4) 用示波器观察TP1A。不管是用户1讲话还是用户3讲话(或按电话上的任意键)此测试点都有语音波形(或双音多频信号) 8. 摘、挂机状态检測的观测。 1) 当用户1的电话摘机时用示波器测量TP13为高电平(4V左右)。 2) 当用户1的电话挂机时用示波器测量TP13为低电平(0V左右)。 9. 被叫話机振铃(R)的观测 1) 用户1处于挂机状态,用户3呼叫用户1即用户3拨打“68”,使用户1振铃 2)当用户1的电话振铃时,用示波器观察TP14振铃時TP14为高电平(3V左右);不振铃时TP14为低电平(0V左右)。 七、实验注意事项 当实验过程中出现不正常现象时请按一下“复位”键,以使系统偅新启动 八、实验报告要求 1、画出本次实验电路方框图,并能说出其工作过程 2、画出各测量点在各种情况下的波形图。 实验三 程控交換PCM编译码器实验 一、实验目的 1、掌握PCM编译码器在程控交换机中的作用 2、熟悉单片PCM编译码集成电路TP3067的使用方法。 二、预习要求 1、查阅有关TP3067嘚使用说明及其应用电路 2、认真预习程控交换原理中有关这方面的内容。 三、实验仪器仪表 1、主机实验箱 一台 2、电话单机 二台 3、20MHz示波器 ┅台 4、音频信号源 一台 四、实验电路工作过程 1、PCM编译码器的简单介绍 模拟信号经过编译码器时在编码电路中,它要经过取样、量化、编碼如图3—1(a)所示。到底在什么时候被取样在什么时序输出PCM码则由A→D控制来决定。同样PCM码被接收到译码电路后经过译码低通、放大朂后输出模拟信号到话机,把这两部分集成在一个芯片上就是一个单路编译码器它只能为一个用户服务,即在同一时刻只能为一个用户進行A\D及D\A变换 编码器把模拟信号变换成数字信号的规律一般有二种,一种是μ律十五折线变换法,它一般用在PCM24路系统中另一种是A律十三折线非线性变换法,它一般应用于PCM30\32路系统中这是一种比较常用的变换法,模拟信号经取样后就进行A律十三折变换最后变成8位PCM码头,在單路编译码器中经变换后的PCM码是在一个时隙中被发送出去,这个时序号是由A→D控制电路来决定的而在其它时隙时编码器是没有输出的,即对一个单路编译码器来说它在一个PCM帧里只在一个由它自己的A→D控制电路决定的时隙里输出8位PCM码,同样在一个PCM帧里它的译码电路也呮能在一个由它自己的D—A控制电路决定的时序里,从外部接收8位PCM码 其实电路编译码器的发送时序和接收时序还是可由外部电路来控制的,编译码器的发送时序由A→D控制电路来控制而A→D控制电路还是受外部控制电路的控制,同样在译码电路中D→A控制电路也受外部控制电路嘚控制这样,我们只要向A→D控制电路或D→A控制电路发某种命令即可控制单路编译码器的发送时序和接收时序号从而也可以达到总线交換的目的,但各种单路编译码器对其发送时序和接收时序的控制方式都有所不同象有些编译器就有二种方式,一种是编程法即给它内蔀的控制电路输进一个控制字,令其在某某时隙干什么工作另一种是直接控制,这时它有两个控制端我们定义为FSX和FSr,要求FSX和FSr是周期性嘚并且它的周期和PCM的周期要相同,都为125μS这样,每来一个FSX其中codec就输出一个PCM码,每来一个FSr其codec就从外部输入一个PCM码。 图3-1(b)是PCM的译码電路方框图它的工作过程同图3-1(a)的工作过程完全相反,因此这里就不再讨论了 (a)A→D电路 (b)D→A电路 图3—1 A\D及D\A电路框图 2.在本实验系統的PCM编译码电路中,器件为美国国家半导体公司的TP3067图3-2是它的管脚排列图。 图3-2 TP3067管脚排列图 其引脚符号说明 符号 功能 VP0+ 接收功率放大器的非倒楿输出 GNDA 模拟地所有信号均以该引脚为参考点 VP0- 接收功率放大器的倒相输出 VPI 接收功率放大器的倒相输入 VFRO 接收滤波器的模拟输出 VCC 正电源引脚,VCC=+5V±5% FSR 接收帧同步脉冲它启动BCLKR,于是PCM数据移入DRFSR为8KHz脉冲序列。 DR 接收帧数据输入PCM数据随着FSR前沿移入DR 接收主时钟,其频率可以为1.536MHz、1.544MHz或2.148MHz它允许與MCLKX异步,但为了获得最佳性能应当与MCLKX同步当MCLKR连续联在低电位时,CLKX被选用为所有内部定时当MCLKR连续工作在高电位时,器件就处于掉电模式 MCLKX 模拟环回路控制输入,在正常工作时必须置为逻辑“0”当拉到逻辑“1”时发送滤波器和发送前置放大器输出的连接线被断开,开而改為和接收功率放大器的VP0+输出连接 GSX 发送输入放大器的模拟输出。用来在外部调节增益 VFXI- 发送输入放大器的倒相输入。 VFXI+ 发送输入放大器的非倒相输入 VBB 负电源引脚,VBB= -5V±5% 3、PCM编译码电路的工作时钟 由上述电路分析可知,PCM编译码电路所需的工作时钟为2.048MHZFSR、FSX帧同步信号为8KHZ窄脉冲。它們的时序关系如图3-3 TP2048 0 TPTS0~ TPTS7 0 图3—3 PCM编译码工作钟各测量点波形图 图3-4 PCM编解码电原理图 五、实验内容 PCM编译码(C)的功能实验 六、实验步骤 1. 接上交流电源线 2. 将K11~K14,K21~K24K31~K34,K41~K44接23脚;K70~K74接2,3脚K75接1,2脚;K60~K63接23脚;KTS7接2,3脚;K51、K52接2、3脚 3. 先打开“交流开关”,指示发光二极管亮后再分别按下直鋶输出开关J8,J9此时实验箱上的五组电源已供电,各自发光二极管亮 4. 按“复位”键进行一次上电复位,此时CPU已对系统进行初始化处悝,显示电路循环显示“P”即可进行实验。 5. 将一外加音频信号正弦波(VP-P为1.5伏频率为1KHZ左右)接入至TPIN输入端(在实验箱上面中部)。 6. 鼡示波器逐点观察TPIN、TPDT、TPDTMF各测量点波形 7. 慢慢增加外加音频信号的幅值,并用示波器观察TPDTMF的波形的变化 说明:图3-5是PCM编译码输入输出波形圖。有一点需注意PCM编译码电路中,在没有外加信号输入时PCM编码电路还是有输出的,此时该芯片对输入随机噪声进行编译码一旦有信號输入,它会立即对输入信号进行编码 TPIN 0 t TPTS6 t 125uS TPDT 0 t TPDTMF 0 t 图3-5 PCM编译码电路输入、输出波形图 七、实验注意事项 1、在进行PCM实验时,对TP3067芯片要特别小心谨慎操作+5V、-5V电源必须同时加入,以保证该芯片有接地回路否则,该芯片特别容易损坏 2、观测各测量点波形时,示波器探头不能乱碰到其它测量点 八、实验报告要求 1、画出各测量点的波形,注明在何种状态下测试到的波形 2、当外加信号源的幅值到达一定值时,TPDTMF外的波形就会夨真这是为什么,分析其原因 3、写出对实验电路的改进措施,有何体会 实验四 多种信号音及铃流信号发生器实验 一、实验目的 1、了解电话通信中常用的几种信号和铃流信号的电路组成与产生方法。 2、熟悉这些音信号在传送过程中的技术要求和实现方法 二、预习要求 預习有关拨号音,忙音回铃音,铃流等有关内容 三、实验仪器仪表 1、主机实验箱 一台 2、电话机 二台 3、20MHz示波器 一台 四、电路工作过程 我們知道,在用户话机与电信局的交换机之间的线路上要沿两个方向传递语言信息。但是为了接通一个电话,除了上述情况外还必须沿两个方向传送所需的控制信号。比如当用户想要通话时,必须首先向程控机提供一个信号能让交换机识别并使之准备好有关设备,此外还要把指明呼叫的目的地的信号(被叫)发往交换机。当用户想要结束通话时也必须向电信局交换机提供一个信号,以释放通话期间所使用的设备除了用户要向交换机传送信号之外,还需要传送相反方向的信号如交换机要向用户传送关于交换机设备状况,以及被叫用户状态的信号 由此可见,一个完整的电}

计算机图形学 输入两端端点 中点畫 (斜率绝对值小于1)

C特性 高速、流水线结构的8051兼容的微控制器内核(可达48MIPS) 全速、非侵入式的在系统调试接口(片内) 通用串行总线(USB)功能控制器有8个灵活的端点管道,集成收发器和1K FIFO RAM 电源稳压器 真正10位200 ksps的单端/差分ADC带模拟多路器 片内电压基准和和温度传感器 片内电压比较器(两个) 精確校准的12MHz内部振荡器和4倍时钟乘法器 多达64KB的片内FLASH存储器 多达4352字节片内RAM(256+4KB) 硬件实现的SMBus/I2C、增强型UART(最多两个)和增强型SPI串行接口 4个通用的16 位定时器 具囿5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA) 片内上电复位、VDD监视器和时钟丢失检测器

Univ的教授,讲授操作系统和计算機网络的课程早在20世纪70午代后期。他就参与了TCP/IP和互联网的研究并成为世界公认的权威,由他设计实现了X25NET和CYpress网络.以及Xinu操作系统David Stevens是普渡大学计算中心的程序员。TCP/IP的世界经典教材就是他们所著他们的著作已誉满全球,我国多家出版社也引进了其多部著作的版权他們的TCP/IP网络互联技术卷1、卷2、卷3在我国都有影印版本。    Douglas E.Comer博士从20世纪70年代开始从事互联网的研究和开发工作他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会的主席该网络是美国早期互联网建设中朂重要的网络之一。他现在是美国普渡大学计算机科学系的教授从事计算机网络和操作系统方面的教学和科研工作。 目录 封面 -26 扉页 -25 版权 -24 構件的重用性不如在B/S要求下的构件的重用性好.   B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,洏不是做在墙上的石头桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新嘚系统   B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问題不同   C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的鼡户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心 118、LINUX下线程,GDI类的解释  LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类庫 119、STRUTS的应用(如STRUTS架构)  Struts 是采用Java Servlet/JavaServer servlet中提供关联支持,帮助开发员创建交互式表单应用三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、國际化的提示和消息。 120、Jdo是什么?  JDO 是Java对象持久化的新的规范为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的對象存储因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来从而集中时间和精力在业务逻辑上。另外JDO很灵活,因为它可以在任何数据底层上运行JDBC只是面向关系数据库(RDBMS)JDO哽通用,提供到任何数据底层的存储功能比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强 121、内部类可以引鼡他包含类的成员吗?有没有什么限制 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释。JSWDL开发包的介绍JAXP、JAXM的解释。SOAP、UDDI,WSDL解释  Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务遵守具体的技术规范,这些规范使得Web  WSDL是一种 XML 格式用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作这种格式首先对操作和消息进行抽象描述,然后将其绑萣到具体的网络协议和消息格式上以定义端点相关的具体端点即组合成为抽象端点(服务)。  SOAP即简单对象访问协议(Simple Object Access Protocol)它是用于交换XML编碼信息的轻量级协议。  UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准 Inc inc=系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟. 4.软件重用不同   C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.   B/S 对的多重结构,偠求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统   B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系統维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同   C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 7.用戶接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且夶部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流姠的变化, 更像交易中心。 118、LINUX下线程GDI类的解释。 LINUX实现的就是基于核心轻量级进程的"一对一"线程模型一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现 GDI类为图像设备编程接口类库。 119、STRUTS的应用(如STRUTS架构) Struts是采用Java Servlet/JavaServer Pages技术开发Web应用程序的开放源码的framework。 object的簡称,也是一个用于存取某种数据仓库中的对象的标准化APIJDO提供了透明的对象存储,因此对开发人员来说存储数据对象完全不需要额外的玳码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上使开发人员解脱出来,从而集中时间和精力在业务逻辑上另外,JDO佷灵活因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等使得应用可移植性更强。 121、内部类可以引用他包含类的成员吗有没有什么限制? 一个内部类对象可以访问創建它的外部类对象的内容 122、WEB SERVICE名词解释JSWDL开发包的介绍。JAXP、JAXM的解释SOAP、UDDI,WSDL解释。 Web ServiceWeb Service是基于网络的、分布式的模块化组件它执行特定的任务,遵守具体的技术规范这些规范使得Web WSDL是一种 XML 格式,用于将网络服务描述为一组端点这些端点对包含面向文档信息或面向过程信息的消息進行操作。这种格式首先对操作和消息进行抽象描述然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合荿为抽象端点(服务) SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议 UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分咘式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册以使别的企业能够发现的访问协议的实現标准。 JAVA代码查错 scape浏览器不能定位到服务器 pareTo(m)<0;i=pareTo( 2003选择【新建】/【项目】,或者选择【新建项目】 在 Visual C#项目中选择【控制台应用程序】选择程序名称和位置后,进入程 序界面(IDE) 第 13 页 C#(WINFORM)学习 这时系统生成一个 技术 392 /fksec/article/details/7888251 UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订) 基本信息 原书名: Unix Network Programming, Volume 1: The 本书为unix网络编程提供全面的指导是网络研究和开发人员公认的权威参考书,无论网络编程的初学鍺还是网络专家都会大受裨益 作译者   获得 。学习网络编程的最好方法就是下载这些程序对其进行修改和改进。只有这样实际编写玳码才能深入理解有关概念和方法每章末尾提供了大量的习题,大部分在附录E中给出答案   本书的最新勘误表也可以在上述网站获取。   致谢   本书第1版和第2版由    序言   本书的第1版本于1990年问世并迅速成为程序员学习网络编程的权威参考书。时至今日计算机网络技术已发生了翻天覆地的变化。只要看看第1版给出的用于征集反馈意见的地址(“uunet!hsi!netbook”)就一目了然了(有多少读者能看出这是20卋纪80年代很流行的UUCP拨号网络的地址?)   现在UUCP网络已经很罕见了而无线网络等新技术则变得无处不在!在这种背景下,新的网络协议囷编程范型业已开发出来但程序员却苦于找不到一本好的参考书来学习这些复杂的新技术。   这本书填补了这一空白拥有本书旧版嘚读者一定想要一个新的版本来学习新的编程方法,了解IPv6等下一代协议方面的新内容所有人都非常期待本书,因为它完美地结合了实践經验、历史视角以及在本领域浸淫多年才能获得的透彻理解   阅读本书是一种享受,我收获颇丰相信大家定会有同感。   Sam Leffler 媒体评論   “所有人都非常期待这本书因为它完美地结合了实践经验、历史视角以及在本领域浸淫多年才能获得的透彻理解。阅读本书是一種享受我收获颇丰。相信大家定会有同感”   ——Sam Leffler,FreeBSD基金会副主席   “这部著作在计算机科学领域里的传奇得以延续Bill Fenner和Andrew Rudoff居功至偉。”   ——Art Sedighi   “这套书是学习网络编程最好的书全世界最最好的,远超群伦”   ——/fksec/article/details/7888251 该资料是《UNIX网络编程 卷1 套接字联网API(第3版)(Φ文版)》的随书源代码 UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订) 基本信息 本书为unix网络编程提供全媔的指导是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益 作译者   获得 。学习网络编程的最好方法就是下载这些程序对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法每章末尾提供了大量的习題,大部分在附录E中给出答案   本书的最新勘误表也可以在上述网站获取。   致谢   本书第1版和第2版由          序言   本書的第1版本于1990年问世并迅速成为程序员学习网络编程的权威参考书。时至今日计算机网络技术已发生了翻天覆地的变化。只要看看第1蝂给出的用于征集反馈意见的地址(“uunet!hsi!netbook”)就一目了然了(有多少读者能看出这是20世纪80年代很流行的UUCP拨号网络的地址?)   现在UUCP网络巳经很罕见了而无线网络等新技术则变得无处不在!在这种背景下,新的网络协议和编程范型业已开发出来但程序员却苦于找不到一夲好的参考书来学习这些复杂的新技术。   这本书填补了这一空白拥有本书旧版的读者一定想要一个新的版本来学习新的编程方法,叻解IPv6等下一代协议方面的新内容所有人都非常期待本书,因为它完美地结合了实践经验、历史视角以及在本领域浸淫多年才能获得的透徹理解   阅读本书是一种享受,我收获颇丰相信大家定会有同感。   Sam Leffler 媒体评论   “所有人都非常期待这本书因为它完美地结匼了实践经验、历史视角以及在本领域浸淫多年才能获得的透彻理解。阅读本书是一种享受我收获颇丰。相信大家定会有同感”   ——Sam Leffler,FreeBSD基金会副主席   “这部著作在计算机科学领域里的传奇得以延续Bill Fenner和Andrew Rudoff居功至伟。”   ——Art Sedighi E.Comer博士从20世纪70年代开始从事互联网的研究和开发工作他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会嘚主席该网络是美国早期互联网建设中最重要的网络之一。他现在是美国普渡大学计算机科学系的教授从事计算机网络和操作系统方媔的教学和科研工作。    Douglas Comer博士是TCP/IP协议和因特网的国际公认专家自20世纪70年代末、80年代初形成因特网以来,他就一直致力于因特网的研究笁作他也是负责指导因特网开发的因特网体系小组(IAB)的成员,还是CSNET技术委员会的主席和CSNET执行委员会的成员 Comer为一些公司提供网络设计和实現的咨询,还给全世界的技术和非技术人员开TCP/IP和互联网络的专业讲座他的操作系统Ximu以及TCP/IP协议的实现在他的书中都有介绍,并且应用到了商业产品中 译者: 蒋慧 蒋慧,女1973年2月出生。1995年毕业于南京通信工程学院计算机系获计算机应用专业工学学土学位。1998年于南京通信工程學院计算机软件专业毕业并获硕士学位。1998年9月至今于解放军理工大学攻读博士学位。自1995年以来在国内外重要学术刊物和会议上发表8篇论文,其中2篇论文被IEEE国际会议录用已出版3本有关网络的译作。目前从事软件需求工程、网络协议验证形式化方法以及函数式语言等方媔的研究 循环服务器的算法 77 8.14 一种循环的、面向连接的服务器的算法 78 8.15 用INADDR_ANY绑定熟知端口 78 8.16 将套接字置于被动模式 78 8.17 接受连接并使用这些连接 79 8.18 循环嘚、无连接的服务器的算法 79 8.19 在无连接的服务器中构造应答 79 8.20 并发服务器的算法 80 8.21 主线程和从线程 80 8.22 并发的、无连接的服务器的算法 81 8.23 并发的、面向連接服务器的算法 81 8.24 服务器并发性的实现 82 8.25 把单独的程序作为从进程来使用 82 8.26 使用单线程获得表面上的并发性 83 8.27 各服务器类型所适用的场合 83 8.28 服务器類型小结 84 8.29 重要问题——服务器死锁 85 8.30 其他的实现方法 85 8.31 小结 85 一组客户和一个服务器之间的资源缺乏 395 31.8 忙连接和资源缺乏 395 31.9 避免阻塞的操作 396 31.10 进程、连接和其他限制 396 31.11 客户和服务器的循环 397 31.12 用文档确认依赖性 397 31.13 小结 398 习题 398 附录1 系统调用与套接字使用的库例程 400 附录2 Linux文件和套接字描述符的操作 422 参考文獻 425 附录页 前言    Douglas E.Comer博士的系列著作——《用TCP/IP进行网际互联》是一套令人瞩目的丛书。能向开放源码(open source)读者介绍该书的第三卷对我来说实茬是荣幸之至。    开放源码和TCP/IP的历史是紧密相连的没有网络把你和合作者连接起来就不能进行协作!而且,最早一批开放源码软件就有TCP/IP协议的实现我记得在20世纪80年代初,“开放源码”还不像现在那样受媒体青睐理解网络体系结构和实现的研究者屈指可数,而Douglas就是其Φ的佼佼者——他是一项广泛研究计划的负责人全线出击,对当时遇到的很多问题提出挑战    记得在20世纪90年代初,我们已经看到将技术应用到大工程领域的巨大趋势这些领域渴望着知识和解决方案。那时为公司构造基于互联网的环境,对工程师来说还是一个巨大嘚挑战于是,Douglas便开始教导他们让他们能够掌握下层网络的复杂性,给他们提供辛勤耕耘得来的经验教训    21世纪来临了,新一代的設计者正在为因特网编写分布式应用程序当前,我们听到许多激动人心的因特网应用如 napster、gnutella以及infrasearcch。但奇怪的是现在的开发人员很少有囚牢固掌握网络工程原理——坦率地说,他们缺乏对基础的理解这种缺乏不可避免地造成了应用程序的适应能力不强或者干脆就不能工莋。 ’    正因为如此Doug与David L.Stevens合著的第三卷:客户—服务器编程与应用才与今天的因特网息息相关。这本书教给我们如何设计和构建客户—服务器应用程序而且更重要的是,它还教给我们如何理解每种设计决策中所蕴涵的利弊得失    我希望读者能够像业界前辈一样,從Comer博士的智慧中获益    Marshall T.Rose    Theorist,Implementor and Agent Linux操作系统声名正旺,作为服务器系统它对联网界尤其重要。这本使用Linux的新版第三卷是为那些渴望叻解如何创建联网应用的程序员撰写的大致说来,本书考察这样的问题“应用软件如何使用TCP/IP协议通过因特网进行通信?”。本书重点研究了客户—服务器范例并考察了在分布式程序中客户和服务器这两部分所用的算法。本卷举例说明了每种设计并讨论了包括应用层網关和隧道等技术。另外本卷还重温了几个标准应用协议,并用它们来说明一些算法和实现技术    尽管本卷可以单独阅读和使用,泹它实际是和另外两卷共同构成了一套丛书丛书第一卷考虑的问题是:“什么是TCP/IP互联网?”;第二卷考察的问题是:“TCP/IP软件是如何工作嘚?”,它给出了更多的细节考察了工作代码,比第一卷探讨得更深入因此,虽然程序员可以只通过第三卷学习创建网络应用但学习其他各卷可以更好地理解下层技术。    第三卷的这个新版本包含了最新的技术如,有一章解释了Linux程序如何利用POSIX线程设施创建并发服务器;关于NFS的章节讨论了NFS的第三版这一版将为Linux界采用。此外还有部分章节解释了slirp等程序所蕴涵的概念,这种程序能通过拨号电话连接访問因特网而不要求每台计算机有一个惟一的IP地址。    还有两章显得特别及时它们集中讨论了流式概念以及相关的技术,这些技术用於通过因特网发送音频和视频数据第28章描述了实时协议(RTP)、编码、抖动缓存等基本概念。第29章展示了用于接收和播放MP3音频的RTP实现    本書代码可在线获得。要通过万维网得到一个副本可在以下网址的联网书籍清单中查找第三卷:    本书前几章介绍了客户—服务器模型,以及应用程序用于访问TCP/IP协议软件的套接字(socket)接口此外,还描述了并发进程和用于创建进程的操作系统函数随后的几章介绍了客户和垺务器设计。    本书阐明了各式各样可能的设计并不是没有规则的实际上,这些设计都遵循了一种模式在考虑了并行性和传输的选擇后,就可以理解这一观点例如,有一章讨论了使用面向连接传输(如TCP)的非并发服务器设计而另一章讨论了相似的设计,但它使用无连接传输(如UDP)    我们描述了每个设计如何适应于各种可能的实现,但是并没有试图开发一种客户—服务器交互的抽象“理论”。我们只昰强调实用的设计原则以及对程序员很重要的技术。每种技术在某些情况下都有其优点并且每种技术都已用于正在工作的软件中。我們相信理解这些设计之间的概念联系,将有助于读者理解每种方法的优缺点并更容易在它们之间进行选择。    本书包含了多个例子程序他们展现了各种设计实际上是如何进行的。大多数例子实现了标准的TCP/IP应用协议在每一种情况下,我们都试图选择一个应用协议使它可表达一种设计思路而又不太难理解。因此虽然很少有令人激动的例子程序,但这里的每一个例子都说明了一个重要的概念在第彡卷的这个版本中,所有的例子程序都使用Linux套接字机制(即套接字API);本书还有两个其他版本他们含有相同的例子,只不过使用了微软的windows 后幾章集中讨论中间件讨论了远程过程调用的概念,并描述它是怎样被用于构造分布式程序的这些章将远程过程调用技术与客户—服务器模型相联系,并说明如何使用软件从远程过程调用描述生成出客户和服务器程序有关TELNET的章节展现了细枝末节如何在一个实际工作的程序中占据支配地位,以及即使是实现一个简单的、面向字符的协议其代码如何会变得复杂。本部分最后两章是关于流式传输协议的    本书很大部分的重点在并发处理。编写过并发程序的学生可能熟悉我们所描述的许多概念因为这些概念适用于所有的并发程序,而不僅仅是网络应用没编写过并发程序的学生可能会觉得这些概念很难。    本书适于作为向高年级学生教授“套接字编程”或向低年级研究生介绍分布式计算的一个学期的课程。由于本书重点是如何使用互联网而不是互联网是如何工作的,因此学生几乎不需要太多的网絡背景知识就能理解这些内容只要教师按合适的进度循序渐进,本科生课程中不会有特别的概念令人感到太难介绍操作系统概念或并發编程实际经验的基础课程,可提供最佳背景材料    学生只有亲手使用教材后,才会欣赏它因此,任何课程都应安排编程实践强迫学生将其想法运用到实际程序中。大学本科生可通过反复设计其他的应用协议来学习基本概念研究生则应构建更为复杂的分布式程序,这些程序强调一些细微的技术(如第16章中的并发管理技术和第18章和第19章中的互连技术)    在此要感谢许多人的帮助。Purdue大学因特网研究小組的成员们给本书原稿提供了许多技术信息和建议Michael Evangelista校对了本书并编写了RTP代码。Gustavo Rodriguez—Rivera阅读了本书的许多章节并做了很多实验测试细节,还編辑了附录1Dennis Brylow对本书许多章节提出了建议。Christine

24.9 小结 938 文摘 版权页:

}

我要回帖

更多关于 复数减整数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信