module cnt1
- 格式:doc
- 大小:23.50 KB
- 文档页数:1
摘要摘要目前高速数据采集在电子产业中的应用越来越广泛,尤其是在软件无线电和遥感,数字示波器、孔径雷达等需要解决大带宽信号的采集和处理的方面。
高速数据采集系统的要求包括具有高的数据采样速率和分辨率,大的模拟输入带宽和大容量存储设备等。
本文结合“瞬态高速运动目标测试雷达系统"对数据采集的要求,设计了采样速率为1Gsps的采集卡。
为了达到系统要求的采样速率,设计采用E2V公司的高速模数转换芯片AT84AD001,并通过三线串行接口设置使其工作在并行交错采样模式下。
使用大规模可编程逻辑器件(FPGA)作为系统时序和逻辑的核心,实现对高速数据的接收以及后续存储电路和USB2.0接口电路的控制。
存储电路部分选用4片镁光公司的大容量SDRAM实现对数据的缓存,并通过USB2.0接口芯片CY7C68013实现与上位机之间的数据交互。
另外,高速电路板的设计过程不同于普通的电路,设计时必须要对电源完整性和信号完整性进行全方位考虑,论文对电路板设计要注意的事项进行了讨论。
论文给出了数据采集卡调试验证的过程,并对其中存在的一些问题进行了分析和修正。
关键词:高速A/D采样;并行交替模数转换;异步FIFO;SDRAM;USB2.02高速数据采集卡及工作原理行多通道采样技术,即并行时间交替(Time.interleaved)技术。
并行时间交替采样是对同一模拟信号直接输入到n片A/D(或者一个芯片的11个通道),A/D按照各自的采样时钟工作,n片A/D的采样时钟的相位差为360/n度,系统的采样率为n片(或n个通道)AJD的总和【10l。
下面结合本系统所采用的ADC芯片AT94AD001B详细阐述其工作过程:系统所用的AT84AD001B中含有两个独立的ADC转换器,时钟CLKO和CLKl的频率相同,相位差为360/2,即相差180度。
其中一路在CLKO的上升沿取样,采样点为奇数点;另一路在CLKI的上升沿取样,采样点为偶数点。
U校园新一代大学英语(提高篇)综合教程1unit2答案U校园新一代大学英语(提高篇)综合教程 1Unit2 答案Ullit 2 Be yourself, be happyi Explore 12-2 {Explore I: ReadingV T ieWing 1-2D CICar2)Pleiι( y細aι1ιele4)WaIk5)guilty6)chance7)IilZy紳terrified9)IlorribIeLO )UnIaZIn g2-3 !Explore I: Buikliiigyour IHnKUage λλ ords IInd expressions 1-11.decisive2.eMihκΠe3.WoUIIIeSS4 ICiIltOrCenlent5.UlKIerh Jiml?B l6.CollIfOrtinIT7.8- IiKUijfcstedλλ ords and expressions 1-2Reterence:1,ICt j*υ Of IhC IlCUaIι? c ClllotiollSW ~ ?2,Clinging to UIIhapPy things'93,take VlnIr IIHlKI υfl' IIle test'94.you are aware Of IHS PCIIn5.goes hand In IIaIKl With a POSitiVC OUtlOOk On IIfC6.in terms OfhaPPineSS7.is IeSolUte in CA ereOIning all difficulties COlIOCatiOnS 11.accomplish2.SenSe3.ObIigation丄baggage5. PUrSUitXOcabuIary IearIliIIg StriltegieS 1-2Referelice:1.Self-reproach; Self-talk2.Self-imposedOcahulary learning StnltegieS 1-31.Seli-deprecating2.SeIf-talk3.SelI-reproaclι4 Selt-imposedLangUage focus 1-2Referenee:1.I decide to do ιn?kιundr? h? FndaV IIiaht if not SooneE2.YOU IOok InUCh better now that VoIfve freetl ? ourself IrOm M ShOUkΓ, Shamine?3.If Ilot a great scholar, he is a bright man.4 No??^ that we know how to USe reiιιiOrCers. we Can gi?eit a tn?■Banked CIOZe 11)ObIigation2)resolute3)reiιtforcement4)guilt5)worthless6)SuCkS7)InaniieSt8)SOlidifX T9)Ilegative10)worth2?4 iExplore 1: Sharing your ideasSliai ing you∣? ideas 1Reierenee:Description Ot thC Problein: I ProCraStilIatC On regularly OrganiZing my PerSOnal belongings in Iny dorm. ?EXamPIe(S) Of IIow IhiS PrOblem is CaUSing troubles: 1) MY desk and bed arc IneSSV aιul UntidVI 2) I Cannot InUl IlIe thinss that I need Iininediatelv; 3) I don,t WaIlt to StaV In the J ?doπn.IiKiuiix about SUeSeStiOllS In a SinCCre tone: WheII VOUr W?fπκl yourself In this SitUation. What would you PoSSibly tell yoursell1? Γm rcalh UI IIeUd of your SUgycs(ιoιIS to help IUC o?ercoιnc this ProbIeIn?iExplore 22-5 iExplore 2: ReadingVleWing 1-2L ShyI awkward: negative; quiet: anti-social2? energetic: OUtgOing: IIOnna1: POSitl? e; Irieiidly; SOCIaI Mewing 1-3Referenee:1 ACCOrding to the ? ideo CIiP? intro? ersion andextro? ersion SPeCilICally (Jeal With how an Indl? idual stains and IOSeS energy? IntdItS ^alil energy from theirJ J ?j j ?internal world, as they enjoy deep Ihinking.COntCInPlatlng new ideas and reflecting UpOlI theirCXPCriCnCCS? Extro wils gain CnCrgy from tlιc CXtCrna I WOrkL as they enjoy SOCialiZing and exploring the WOrld around tlieiii.2.I always think that iιιtroveιts arc quiet, shy. CVCn a bit anti-sociaL WhiIe extro?eιls are MtiyleHuJ aιul Otten quitepopular.3.? The COntent Of the VidDO definitely ChaI12es ιn?“JOI iginaI thoughts JbOUt extro? erts and intro?eιls. They are just Cllfferent Ieniperanients. I o think that extro?βerts arc better Ihan introverts^ Or IhC Other ?va?r aroun<="" p="" sav="" the="" to="">The COntent Of the ? ideo is actually quite SinliIar to What I Ori(JinallV thought about extro?r eιls and IntrO? erts. In fact I have fιieικls WlIO arc SeelI as introverts. AS an CXtro?ert.I get IIlony well ??ith them Wc IUakC great teams Working toward a COInmOn goal. SO IbCheVe the knowledge about these two teιnρeι aments is not a COlnPlete mystery to me.2?6 iExplore 2: BUildin(I your IanSUage W ordS and expressions 1-11.UIUte2? POSSCSS3.(Jccbmion4.IIerOiC5.tierce6.intro?eH7.SParked& Iabel9. inclinedλλ ords and CXPreSSiOIIS 1?21? COnJUre UP2.at OnCe3.SPCak volumes4.COnSiSt Of5.keep to herself(OlioCationS 1Reference:1.knowledge2.aimer工WanunS4.JeSirC5.qualities6.encoιιraeenιentJλ Ocabularv Iearaing StrilteOieS 1-20 01) Introxeits2)IOIkl3) IeSened4) quiet5)JedICated6) ∏erce7) ShV■8) StrOn<2InUISIntiOlI 1-1Reierelice:越來越沾勉的是?我的人物们不是躺任某处的?木巧中: 他们就在这里?等待若我去看,去感受,去经历。
CNC可编程步进电机控制器(说明书)一、概述CNC可编程步进电机控制器可与步进电机驱动器、步进电机组成一个完善的步进电机控制系统,能控制多台步进电机多段分时运行。
本控制器采用计算机式的编程语言,拥有输入、输出、计数、循环、条件转移、无条件转移、中断等多种指令。
具有编程灵活、适应范围广等特点,可广泛应用于各种控制的自动化领域。
二、技术指标1. 可控制3台步进电机(分时工作)2. 可编100段程序指令(不同的工作状态)3. 5条升降速曲线选择4. 最高输出频率:10 KPPS(脉冲/秒)5. 可接受外接信号控制6. 可控制外部其它部件工作7. 数码显示,可显示当前的运行状态、循环次数、脉冲数等8. 采用超高速单片机控制,采用共阳接法,可直接驱动我厂生产的SH系列步进电机驱动器三、控制器的显示及操作键1.面板说明:8位数码显示:作设定、循环作计数、运行状态、电机工作之用。
指示灯显示输入、输出、方向、脉冲等各种工作。
操作键多为复合键,在不同的状态下表示不同的功能。
2.接线说明:见控制器后盖接线图:( 1 )、OPTO、DIR、CP为步进电机驱动器控制线,此三端分别连至驱动器的OPTO、DIR、CP端:其中:OPTO----所有电机公共阳端接所有驱动器OPTO端DIR0-----0号电机方向电平信号接0号电机驱动器DIR端CP0-------0号电机脉冲信号接0号电机驱动器CP端DIR1-----1号电机方向电平信号接1号电机驱动器DIR端CP1-------1号电机脉冲信号接1号电机驱动器CP端DIR2-----2号电机方向电平信号接2号电机驱动器DIR端CP2-------2号电机脉冲信号接2号电机驱动器CP端( 2 )、启动启动程序自动运行,可接霍尔、光电、接近开关等信号端。
(下降沿有效)相当于面板上键。
( 3 )、停止暂停正自动运行的程序,可接霍尔、光电、接近开关等信号端。
(下降沿有效)相当于面板上的键,再次启动后,程序继续运行。
CPM1A指令系统一、概述1、指令的种类2、指令对标志位的影响3、指令的格式、操作数及标志4、指令的两种形式二、基本指令1、LD和LD NOT 指令2、OUT和OUT NOT指令3、AND和AND NOT指令4、OR和OR NOT指令5、AND LD和OR LD指令6、SET和RESET指令7、编程规则8、TIM指令9、计数器CNT指令三、应用指令1、保持指令、微分指令、空操作和结束指令1.1 KEEP指令1.2 DIFU(13)和DIFD(14)指令1.3 NOP(00)指令1.4 END(01)指令2、顺序控制和暂存指令2.1 IL和ILC指令2.2 TR指令2.3 JMP和JME3、定时器和计数器应用指令3.1 TIMH指令3.2 CNTR指令3.3定时器和计数器的扩展4、数据比较类应用指令4.1 CMP和CMPL指令4.2 BCMP指令4.3 TCMP指令4.4 ZCP和ZCPL指令5、数据转换类应用指令5.1 BIN和BCD指令5.2 MLPX和DMPX指令5.3 ASC和SDEC指令5.4 HEX指令5.5 SCL、SCL2和SCL3指令5.6 BINL和BCDL指令5.7 SEC和HMS指令5.8 NEG指令6、数据移位类应用指令6.1 SFT指令6.2 SFTR指令6.3 WSFT指令6.4 ASL和ASR指令6.5 ROL和ROR指令6.6 SLD和SRD指令6.7 ASFT指令7、数据传送类应用指令7.1 MOV和MVN指令7.2 XFER指令7.3 BSET指令7.4 XCHG指令7.5 DIST指令7.6 COLL指令7.7 MOVB和MOVD指令8、数据运算类应用指令8.1 STC和CLC指令8.2 ADD和SUB指令8.3 ADDL和SUBL指令8.4 MUL和DIV指令8.5 MULL和DIVL指令8.6 INC和DEC指令8.7 ADB、SBB、MLB和DVB指令8.8 COM、ANDW、ORW、XORW和XNRW指令9、子程序和中断控制类应用指令9.1 SBS、SBN和RET指令9.2 MCRO指令9.3 INT指令9.4 STIM指令10、高速计数a器应用指令1.CPM2A高速计数器的几种输入模式(CPM1A只有前两种)2. 高速计数器的几种复位方式3. 高速计数器的两种中断功能10.1 CTBL指令10.2 INI指令10.3 PRV指令11、其他特殊应用指令11.1 FAL和FALS指令11.2 MAG指令11.3 IORF指令11.4 BCNT指令11.5 PULS指令11.6 SPED指令11.7 STEP和SNXT指令11.8 PID指令11.9 SRCH指令11.10 SYNC指令11.11 PWM指令11.12 ACC指令11.13 FCS指令12、特殊运算指令12.1 MAX和MIN指令12.2 AVG指令12.3 SUM指令13、通信指令13.1 RXD和TXD指令13.2 STUP指令一、概述CPM1A共有:基本指令14条,应用指令79条(有功能号)。
机器人1+X模拟练习题+参考答案一、单选题(共80题,每题1分,共80分)1.关于TCP点的位置设置,以下说法不正确的是()。
A、TCP点设置在手抓中心B、TCP点设置在焊丝端部C、TCP点设置在点焊静臂前段D、TCP点设置在一轴底座中心正确答案:D2.直接按下TP上哪个按键可以直接进入程序编辑界面。
A、MENUB、SELECTC、EDITD、DATA正确答案:C3.按下( )按键可以显示程序目录界面。
A、【SELECT】B、【EDIT】C、【DATA】D、C.【MENU】正确答案:A4.R[i]是什么寄存器?( )A、码垛寄存器B、数值寄存器C、位置寄存器D、字符串寄存器正确答案:B5.工业机器人是通过()手动操作各轴运动。
A、示教器B、控制柜C、PLCD、搬动本体正确答案:A6.外围设备输出信号UO[3]表示()A、Cmd enable:命令使能输出B、System ready:系统准备完毕输出C、Prg running:程序执行状态输出D、Prg paused:程序暂停状态输出正确答案:C7.Select指令的作用是()。
A、计数B、选择性执行C、循环D、定时正确答案:B8.为了安全,用示教器编程器上手动运行机器人时,机器人的最高速度应限制为()。
A、50mm/sB、250mm/sC、800mm/sD、1600mm/s正确答案:B9.以下哪个选项是进行FANUC工业机器人自动运行时的条件。
()A、TP有效开关置于ON档B、单步执行状态C、系统变量$RMT_MASTER为0D、自动模式为LOCAL(本地控制)正确答案:C10.FANUC工业机器人动作指令中PR[i]位置寄存器为()变量。
A、局部B、全局C、固定D、数字正确答案:B11.码垛寄存器PL[i]进行算数运算时,运算符包含()A、+,-B、+,-,*,/C、+,-,MOD,DIVD、+,-,*,/,MOD,DIV正确答案:A12.通过试运行程序后,观察机器人运动过程,发现有一个点误差较大,以下正确的修改方法为()。
1.常见错误:Failed to find INSTANCE ...,问题出在下面所示的第2步或第4步。
正确处理步骤:(1)Quartus中编译测试码欲调用的顶层模块(设模块名:xxx),设置EDA tool 的simulation 工具,如verilog ,以产生xxx.vo文件及xxx_v.sdo延时文件;(2)打开modelsim,新建工程,添加xxx.vo文件、测试用激励波形文件testbench.v、所用器件的网表文件(以cyclone为例:$Quartus\eda\sim_lib\cyclone_atoms.v)。
全部编译。
!!:确认testbench.v中不包含顶层模块xxx代码。
(3)xxx_v.sdo复制到modelsim工程目录。
(4)最后,建立仿真配置文件:在workspace的project页中右键单击,选simulation configuration,如下图于是,workspace中得到simulation 1。
按下图设置:注意,上面的框中添加xxx_v.sdo,下面的文本框中设置作用域,格式为:\testbench模块名\xxx的实例名。
(5)`timescale 影响仿真结果显示效果。
=================例===================[1]//文件count4.vmodule count4(out,reset,clk);output[3:0] out;input reset, clk;reg[3:0] out;always @(posedge clk)beginif (reset)out <= 0;elseout <= out + 1;endendmodule[2]//测试文件count_tp.v`timescale 1ns/1nsmodule count_tp;reg clk,reset;wire[3:0] out;parameter DELY = 100;count4 mycount(out,reset,clk);always #(DELY/2) clk = ~clk;initialbeginclk = 0; reset = 0;#DELY reset = 1;#DELY reset = 0;#(DELY*20) $finish;endinitial $monitor($time,,,"clk=%d reset=%d out=%d",clk,reset,out); endmodule[3]所用器件:cyclone[4]结果:明显产生了时延p.s.-----------------------网上有朋友指出勾选SDF中的两个选项,将原来的警告禁止,将原来的错误变为警告, 可以成功地进行反标注并运行仿真,但这样做并没有解决实际问题,只能产生功能仿真,没有得到带时延的时序仿真2.** Error: D:/ModelSim_6.5/ModelSimnear "'t": Illegal base specifier in numeric constant.syntax error, unexpected "BASE", expecting "class"错误原因:不是’timescale 而是`timescale,那个是键盘左上角的点,不是一撇。
要想配置思科的防火墙得先了解这些命令:常用命令有:nameif、interface、ip address、nat、global、route、static等。
global指定公网地址范围:定义地址池。
Global命令的配置语法:global (if_name) nat_id ip_address-ip_address [netmarkglobal_mask]其中:(if_name):表示外网接口名称,一般为outside。
nat_id:建立的地址池标识(nat要引用)。
ip_address-ip_address:表示一段ip地址范围。
[netmark global_mask]:表示全局ip地址的网络掩码。
nat地址转换命令,将内网的私有ip转换为外网公网ip。
nat命令配置语法:nat (if_name) nat_id local_ip [netmark]其中:(if_name):表示接口名称,一般为inside.nat_id:表示地址池,由global命令定义。
local_ip:表示内网的ip地址。
对于0.0.0.0表示内网所有主机。
[netmark]:表示内网ip地址的子网掩码。
routeroute命令定义静态路由。
语法:route (if_name) 0 0 gateway_ip [metric]其中:(if_name):表示接口名称。
0 0 :表示所有主机Gateway_ip:表示网关路由器的ip地址或下一跳。
[metric]:路由花费。
缺省值是1。
static配置静态IP地址翻译,使内部地址与外部地址一一对应。
语法:static(internal_if_name,external_if_name) outside_ip_addr inside_ ip_address其中:internal_if_name表示内部网络接口,安全级别较高,如inside。
external_if_name表示外部网络接口,安全级别较低,如outside。
CNT研究背景和意义自从1991年日本NEC的电镜专家Iijima首先用高分辨透射电镜(HRTEM)发现了具有纳米尺寸的多壁碳纳米管(MWNT)]1[,这种结构由长约1 um、直径4-30 nm的多层石墨管构成。
1993年又发现了单臂碳纳米管(SWNT)]2[以来,碳纳米管(CNT)作为一种新型的纳米材料,以其独特的物理、化学特征,重要的基础研究意义及在分子电子器件和复合材料等众多领域的潜在应用价值,而引起了世界各国科学家的极大关注,成为纳米材料领域研究的一个新热点。
对它的应用研究主要集中在复合材料、氢气存储、电子器件、电池、超级电容器、场发射显示器、量子导线模板、电子枪及传感器和显微镜探头等领域,已经取得许多重要进展]53[ 。
1、结构碳纳米管(carbon nanotubes,CNTs),又称巴基管(buckytube),属于富勒碳系,是一维量子材料,是在C60不断深入研究中发现的。
碳纳米管是由单层或多层石墨片围绕同一中心轴按一定的螺旋角卷曲而成的无缝纳米级管结构,两端通常被由五元环和七元环参与形成的半球形大富勒烯分子封住,每层纳米管的管壁是一个由碳原子通过sp2杂化与周围3个碳原子完全键合后所构成的六边形网络平面所围成的圆]6[。
碳纳米管根据碳管壁中碳原子层的数目可以分为单壁碳纳米管和多壁碳纳米管两大类。
Iijima]7[和IBM公司的Bethune]8[等分别采用Fe和Co作为催化剂掺杂在石墨电极中,用电弧放电法各自独立合成出单壁碳纳米管(SWNT),它由单层石墨卷成柱状无缝管而形成(见图1),是结构完美的单分子材料,因合成条件的不同碳纳米管的管径可控制在0.7-3nm,长度可达1-50um]9[;多壁碳纳米管(MWNT)是由多个不同直径的单壁碳纳米管同轴卷曲而成,层数从2-50不等,层间距一般为0.34 nm且层与层之间排列无序,通常多壁管直径为2-30 nm,长度为0.1-50um]10[。
三菱有专门两条指令实现对模块缓冲区BFM的读写,即:TO指令和FROM指令,其它指令都是这两个指令的变形,如:DTO表示32位操作指令(无D时,表示16位操作指令),TOP表示在控制命令的上升沿时执行对BFM的写入,可以根据实际情况分别使用,FROM 也同样。
下面对这两种指令的使用方法做一下简要介绍。
1、FROM指令(FNC78)FROM指令的功能是实现对特殊模块缓冲区BFM指定位的读取操作。
指令格式如下:指令中各软元件、操作数代表的意义如下:CC:FROM指令执行的启动条件。
启动指令可以是X、Y、内部继电器M等。
Kn1:模块地址的高位,K代表模块地址的高位用十进制数表示,也可以用十进制数来表示。
如:当高速计数器模块A1SD62的输入输出地址分别是XA0F~XB1F及YA0F~YB1F时,此值可以是K10,也可以是HA。
实际上此值是指定特殊模块在基板上的位置,在实际设置时,也可按每个位置为16点来计算得到此值(如一个模块占32点则为两个位置)。
Kn2:为要读取的缓冲区的地址,可以是十进制数(以K打头),也可以是十六进制数(以H打头)。
此地址只和模块有关,和模块在基板的位置无关。
Kn3Mn4:读取的数据在PLC CPU中的存储地址(目标地址)。
Kn3代表从特殊模块BFM读取的二进制的位数,以4位(bit)为单位,n3允许值为1~8。
如:K4代表16位(bit)。
Mn4代表数据在PLC存储区域的首地址。
M代表中间继电器,表示读取的数据存储于中间继电器。
存储位置也可以是数据寄存器(常用),此时就不需要前缀Kn3了。
Kn5:需要传送的点数。
采用FROM、FROMP格式时,以16位二进制为单位,K1代表读取16点,K2代表32点等。
采用DFROM、DFROMP格式时,以32位二进制为单位,K1代表读取32点,K2代表64点等。
n5的范围为1~32767。
举例:说明:0行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)的数据保存到M0~M15的16点(K4)中间继电器中。
汇报总结1、偶数分频偶数倍分频相对简单,可以通过计数器对预分频的脉冲沿计数实现,如果要进行N倍(N为整数)偶数分频,可由预分频的时钟触发计数器计数,当计数器从0计数到N/2—1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数,以此循环下去。
分频的主体程序如下:`define div_en 8module freq_div_even(clk_in,reset,clk_out);input clk_in;input reset;output clk_out;reg clk_out;reg[2:0] count;initialbegincount=0;clk_out=0;endalways@(posedge clk_in)beginif(!reset)begincount<=0;clk_out<=0;endelseif(count==(`div_en/2-1))beginclk_out<=~clk_out;count<=0;endelsebegincount<=count+1;endendendmodule下面定义N为8,对一个脉冲8分频,测试程序如下:`timescale 1ns/1nsmodule testbench;reg reset;reg clk_in;reg[2:0] count;wire clk_out;freq_div_even test(.clk_in(clk_in),.reset(reset),.clk_out(clk_out));initialbeginreset=0;clk_in=0;#5 reset=1;endalways #10 clk_in=~clk_in;endmodule波形图如下:2、奇数分频对于对占空比没有特殊要求的奇数分频,需要对上升沿和下降沿脉冲进行计数,利用下降沿产生的波形移相半个输入脉冲的作用,最后用错位“异或”法实现。
C51模块化的各家说法***************************嘿嘿,就是要这样搞,免得被别人用了,那才麻烦。
#ifndef __LCD_H__ //如果未定义__LCD_H__#define __LCD_H__ //则定义__LCD_H__..... //声明其它部分#endif从这个命名可以推知,该文件叫做lcd.h,如果有一个main.h,它里面使用了include<"lcd.h">,另外还有一个hardware.h,里面也用了include<"lcd.h">,而在main.c里面,又有include<"main.h">,include<"hardware.h">,那么就会有重复引用了,在第一个#ifndef __LCD_H__时,由于__LCD_H__未定义,所以就在第一个中定义__LCD_H__,并且声明或者定义一些东西,等遇到第二个#ifndef __LCD_H__时,这时__LCD_H__已经被定义,所以后面的那些东西不声明或者定义,因而就避免了编译时报重复定义的错误.相当于代码自动判断了前面是否已经引用了该头文件!如果前面已经引用一次,则if--end里面的就不会再被编译了,相当于自动删除了,这样多方便啊.又由于这个名字很怪,一般程序员几乎不会在其它地方用到,所以就不用担心被别人定义了去。
***********************所谓C51的头文件就是.H 文件,它分两种:一种是系统自带得头文件,比如reg51.h stdio.h 等,这类文件在调用是直接在程序的开头用#inlcude <**.h>就可以,系统自动识别;另一种就是自己写得,你需要另建一个文档,以.h为后缀,其中的内容主要是你自己定义得公共变量和函数,以方便不同模块调用,在要用到这些变量合函数的文件开头加上#include <*.h>就可以了!-------------bucker:KeilC51不是不支持extern,而是不支持对sbit变量的extern声明(sbit类型是C51特殊规定的,非ANSI C数据类型)。