欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    c8051f020端口配置说明Word文档格式.docx

    • 资源ID:17068844       资源大小:25.02KB        全文页数:11页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c8051f020端口配置说明Word文档格式.docx

    1、void PORT_Init (void) XBR2 = 0x40; /*使能交叉开关和弱上拉*/ P74OUT |= 0xff; /*使能P4P7推挽输出*/ EMI0CF |= 0x2c; /*EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK周期*/ EMI0TC |= 0x6c; /*地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期*/ P3MDOUT |= 0xdf; /*使能P3.5推挽输出*/11.避免高端口处于“浮空”状态,以避免因输入浮空为无效逻辑电平而导致不必要的功率消耗,为此应采取如下措施的任何一种:a.将

    2、XBR2.7位设置为逻辑0选择弱上拉状态R/W R/W 复位值WEAKPUD XBARE - T4EXE T4E UART1E EMIFLE CNVSTE 00000000位7 位6 位5 位4 位3 位2 位1 位0 SFR地址位7 WEAKPUD 弱上拉禁止位0 弱上拉全局允许1 弱上拉全局禁止位6 XBARE 交叉开关允许位0 交叉开关禁止端口0 1 2 和3 的所有引脚被强制为输入方式1 交叉开关允许位5 未用读0 写=忽略位4 T4EXE T4EX 输入允许位0 T4EX 不连到端口引脚1 T4EX 连到端口引脚位3 T4E T4 输入允许位0 T4 不连到端口引脚1 T4 连到端口

    3、引脚位2 UART1E UART1 I/O 允许位0 UART1 I/O 不连到端口引脚1 UART1 TX 和RX 连到两个端口引脚位1 EMIFLE 外部存储器接口低端口允许位0 P0.7 P0.6 和P0.5 的功能由交叉开关或端口锁存器决定1 如果EMI0CF.4 = 0 外部存储器接口为复用方式则P0.7 (/WR) P0.6 (/RD)和P0.5 (/ALE)被交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定1 如果EMI0CF.4 = 1 外部存储器接口为非复用方式则P0.7 (/WR)和P0.6 (/RD)被交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定位

    4、0 CNVSTE 外部转换启动输入允许位0 CNVSTR 不连到端口引脚1 CNVSTR 连到端口引脚;b.令P74OUT=0xFF,将高端口输出方式配置为推拉方式(P74OUT为高端口输出方式寄存器);c.向高端口数据寄存器P4、P5、P6和P7写0。12.配置端口引脚的输出方式每个端口引脚的输出方式都可被配置为漏极开路或推挽方式。在推挽方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚被驱动到VDD ,在漏极开路方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚处于高阻状态,当系统中不同器件的端口引脚有共享

    5、连接即多个输出连接到同一个物理线时(例如SMBus 连接中的SDA 信号),使用漏极开路方式可以防止不同器件之间的冲突。(推挽方式在有些书中称为推拉方式)关于开漏、推挽方式,漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电 阻或使用如LCX245等电平转换芯片。有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O口设置为漏开,并想输出高电平,但向口线上写1后 对方并未认出高电平,但用万用表测量引脚确有电压,这种认为是不对的,对于高阻状态来说,测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻 值=上拉电压/芯片引脚

    6、最大灌(拉)电流。推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出 低电平(可降低功耗) 将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。如果学过三极管放大电路一定知道,前置单管放大器和功放末级放大电路的区别。单片机内部的逻

    7、辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。 这种驱动电路有两种形式: 其中的一种是采用一只N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部的逻辑运算,c引出,b受内部驱动可以控制三极管是否导通 但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接c(引出脚)另一 端接电源,这样当三极管的b有高电压是三极管导通,c电压为低,当b为低电压时三极管不通,c极在电阻的拉动下为高电压,这种驱动电路有个特点:低电压是 三极管驱动的,高

    8、电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱动led甚至继电器,但电阻的驱动是 有限的,最大高电平输出电流=(vcc-Vh)/r; 另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连 vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响), 当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pn

    9、p导通,由于 三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输 出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是 外部驱动三极管时别忘了在三极管的基极加限流电阻。推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说 明推挽的原理,为了更深的理解可以参考功率放大电路。振荡器问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?答: 不同器件的内部时钟振荡器的精

    10、度是不同的(20%)。随电源电压变化,它也将发生变化(6.5%/V)。但基本不随温度变化(14、切换到外部振荡器。注意:振荡器频率的选择,即OSCXCN寄存器的配置(外部振荡器频率控制位的设置)。关于更多的信息以及源代码可以参看应用笔记AN002配置内部和外部振荡器。应用笔记可以从我公司网站下载:C8051F MCU的指令执行速度为多少?C8051F MCU的CIP-51内核采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。标准的8051单片机执行一个单周期指令需要12个系统 时钟周期,而C8051F MCU执行一个单周期指令只需要一个系统时钟周期。如果系统时钟频率为25MH

    11、z,执行一个单周期指令所需时间为40ns。切换外部晶振时应注意哪些问题?首先要允许外部振荡器,但此时的系统时钟源仍应是内部时钟,直到外部振荡器稳定后,才可将系统时钟源切换到外部振荡器上,否则会出现切换不过去,系统死机的情况。使用外部晶振应注意哪些问题?1、所有的模拟和数字电源引脚都应接电源(2.73.6V);2、C8051F3xx系列器件的晶振引脚间应跨接一个10M电阻(在新华龙网站的“主页”“原理图/PCB库”中有C8051F系列单片机的典型接线图);3、晶振、电容等相关器件尽量靠近单片机的晶振引脚。系统时钟切换到外部时钟后,内部的时钟是否应关闭?可以选择关闭或不关闭,但是从降低功耗的角度来

    12、说,应该关闭。系统时钟可不可以在程序中随时切换?可以,但是由内部再一次切换到外部时应按照技术问答2所介绍的步骤进行切换。使用外部晶振时如何配置芯片的引脚?答答:对于芯片上有固定晶振引脚的设备(例如C8051F02X);相应时钟输入引脚按选择的晶振模式自动分配引脚;对于晶振引脚与GPIO共用的芯片(例如C8051F30X);晶振引脚要按下述方式进行设置:(1).外接晶体体时;XTAL1与XTAL2都要配置为模拟输入(2).外接振荡电路为“RC”或“C”方式时,XTAL2引脚要配置为模拟输入(3).外接CMOS时钟电路时,XTAL2引脚要配置为数字输入(4).以上几种方式在引脚的配置中都要使用跳过

    13、功能将此引脚跳过外接晶振的最高频率是多少?外接晶振的最高频率是30MHz;模数转换从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREF引脚的电容容量。此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。如果用4.7F电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10S。在开始转化之前,需要一个1.5S的跟踪时间,这也就决定了ADC多路转换开关(MUX)的切换速度。ADC的最大输入电压及输入阻抗?ADC的最大输入电压为VREF,它的输入电压范围是0V-AV+/VDD。输入电容为10pF;输入阻抗

    14、等价于一个5k电阻和一个10pF电容的串联。请参考应用笔记AN019“计算开关电容ADC的建立时间”。ADC可编程窗口检测器有什么用途?ADC可编程窗口检测器在很多应用中非常有用。它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限条件时通知系统控制器,这在中断驱动的系统中尤其有效,既可以节省代码空间和CPU带宽又能提供快速响应的时间。为了使ADC或DAC具有更好的性能,是否应在VREF 引脚接电容?推荐在VREF引脚接一个0.1F的陶瓷电容器与一个大的电容(典型为4.7F钽电容)。在VREF引脚加电容是为了降低VREF的噪声。因为VREF的噪声越小,ADC或DAC转换结果的噪声也就

    15、越小。且这两个电容在PCB板上应尽可能离VREF引脚近。内部参考电平是否可以用于外部电路的参考? 可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。注意,VREF引脚只能提供源电流,也就是说,要有负载接地使电流流出 C8051器件。例如,如果你将VREF连到OP运放的(+)节点,你要加一个下拉电阻对地(24K左右)将电流限制在100A。如果测试的模拟输入电压范围是0-5V怎么办? 因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不管ADC或PGA的设置如何)必须使其输入 电压保持在AGND和AV之间,这是为了避免沉(或源)电流通过ESD保护装置。为了测

    16、试0-5V范围的信号,必须使信号衰减(衰减到AV以下)才能 进入到ADC输入。当使用外部VREF时,要求VREF的最大值比AV+小300mV。F02x器件内部有PGA(可编程增益放大器)可以对输入模拟信号进行放大。其中的一个放大倍数为0.5 倍。是否意味着我可以外接+6V的模拟输入电压,经过0.5倍的放大变成3V输入到AINx呢?请注意:任何模拟引脚(数据IO口和VDD引脚除外)的最大输入电压为-0.3V到 VDD+0.3V。如果超出此范围可能造成器件永久损坏。在单端输入方式,有两个限制因素如下:1、AIN输入电压必须在AGND和AV+之间以避免吸/源电流流过ESD保护器件。2、AIN电压必须

    17、在AGND和(VREF / GAIN) 之间。假设一个12位的ADC,AINx 引脚的输入电压小于AGND,结果将是0x000;如果输入电压大于(VREF / GAIN) ,结果将是0xFFF。例如,使用外部1.25V参考,PGA增益为0.5,允许的电压输入范围是0V到 (1.25V / 0.5 = 2.5V)。如何提高系统的ADC的性能?第一、将模拟电源和数字电源分开,可以使用比较简单的方法,如在模拟电源和数字电源之间加简单的滤波。第二、将模拟地和数字地分开,并在电源附近通过磁珠连接。第三、制板时,大面积覆铜。第四、未使用到的模拟引脚要接地。第五、为了确保参考电压的稳定,参考电压引脚一定要接

    18、去耦电容。第六、模拟信号的输入电压范围是0-VDD,如果模拟输入的外围有可能侵入高电压(超过芯片的极限允许范围),就要采取保护措施(如加两个肖特级二极管)。如果模拟输入会有瞬间过电流,也要加限流保护。如果使用内部参考源,C8051F020/F021的参考电压引脚如何连接?C8051F020/F022 共有4个参考电压引脚,VREF,VREF0,VRFE1和VREFD。允许ADC和DAC使用一个外部电压基准或片内电压基准。通过配置VREF0CF 基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基准。内部基准电压必须通过VREF引脚连接到 芯片内

    19、部。所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0,VREF1,VREFD(全部或部分)引脚的连接。C8051F021/F023共有两个参考电压引脚,VREFA和VREF。如果ADC0和ADC1使用内部参考源,必须将VREFA与VREF引脚连接。如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CN寄存器中的BIASE位必须被置为逻辑1。为什么在进行A/D转换时测得的数据跳变很大?当输入信号有干扰脉冲、ADC的转换时间太短、在通道切换后通道还没有稳定就开始转换等原因都会导致转换后的数据跳变大,请仔细检查以上三点并做相应的处理就可以解决此类问题。在进行A/D转换

    20、时所测得的数据与计算所得的数据相差很大,但跳变不大,为什么?1、计算时所用的基准电压是多少,如果用的是内部基准,把内部基准电压通过交叉开关分配到芯片引脚上,再进行测量;2、换别的通道转换看是否正常。ADC的单端输入与差分输入的区别?在单端方式工作时;ADC转换的是单输入引脚对地的电压值;在增益为1时,测量的值就是输入的电压值;范围是0V到VREF;当增益增加时,输入的范围要相应的减小;在差分方式工作时;ADC转换的是AIN+与AIN-两个引脚的差值;在增益为1时,测量的值等于(AIN+)-(AIN-),范围是-VREF到+VREF;当增益增加时,输入的范围要相应的减小。注 意:在差分方式时所提

    21、的负压是指AIN-引脚的电压大于AIN+引脚的电压,实际输入到两个引脚的电压对地都必需是正的;例如:如果AIN+引脚输入的电 压为0V,AIN-引脚的输入电压为1/2VREF时,差分的输入电压为(0V-1/2VREF) = -1/2VREF。端口器件IO口的吸收(sink)电流和源(source)电流是多少?IO口的沉电流和拉电流的极限参数为100mA(但是此时已经不能保证端口的正常逻辑关系了)。具体的参数请参考datasheet的端口IO部分的“端口I/O直流电气特性”。端口是否要加保护?在端口电流瞬间跳变的情况下,建议加限流电阻进行保护。另外如果端口可能有超过极限电压范围的瞬变电平侵入,也

    22、要加瞬态保护。(瞬态保护的通常方式为接入TVS器件)C8051F系列单片机的IO口与传统8051单片机相比有什么区别?C8051F系列单片机的IO口全部为三态双向口(而传统8051单片机P1、P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统8051单片机只有开漏输出)。片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F2xx系列除外,而传统8051单片机不具备这一功能)。IO口的配置更加灵活。C8051F系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?所有I

    23、O口允许5V(极限值为5.8V)输入,但是输出高电平为VDD。如果与5V系统接口,最简单的方法是开漏输出并在输出端加接5V上拉,关键是上拉电阻的选择。具体参考应用笔记AN011“在5V系统中使用 C8051Fxxx”。建议:如果可能,请尽量选用供电电压兼容的芯片,这是一种最理想的选择。模拟引脚能否简单地用于数字IO?如果模拟引脚是独立的是不可以的。但是如果模拟引脚和数字IO是复用的,是可以通过SFR的设置来完成配置。C8051F020/022的p4-p7口和p0-p3口有什么不同?P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7口是通

    24、用口,另外P4-P7寄存器不能位寻址。如果通过Crossbar寄存器使能并分配为P0.0和P0.1引脚,那么,我还可以用这两个引脚为通用I/O吗?如果你通过Crossbar使能一个外设,如UART,那么这个外设将控制这些引脚的输出状态(逻辑高/逻辑低)。你可以在任何时刻读引脚的状态,与Crossbar控制与否无关。当被禁止时,大部分外设的输出引脚被置为高阻态(UART口是一个很好的例子)。因为UART收发器无明确的禁止态,你可将相应的引脚置成开漏输出模式,也可以达到相同的结果,因为UART收发器在空闲时引脚为逻辑1。总的来说,Crossbar置配后在末使用时的外设引脚可以用于数据输入,但不能作

    25、为数据输出。其它器件,如F3xx系列,口引脚可通过Crossbar“重新声明”且用于GPIO引脚对器件管脚无影响,因为这些器件具有“引脚跳过”(PIN SKIP)特性。IO口的开漏和推挽输出如何使用?将端口引脚置成推挽输出方式,这将使能端口引脚驱动器。总体上来讲,数据输入端口引脚置成开漏方式、数据输出端口引脚置成推挽方式。当引脚用于输出连接上拉电阻(也就是说当与5V系统接口时)时配置成开漏输出。引脚P1.4P1.7中断如何使用? 如果外部中断(EX4EX7)使能且相应的引脚P1.4P1.7变低(可以是外部输入信号、写输出端口锁存或是Crossbar定义的外设启动的事 件)。那么中断标志(PRT1IF.n)将置位,如果全局中断使能,将产生一个中断。中断逻辑检测本身的逻辑状态,与产生逻辑状态变化的原因无关。是不是所有的C8051F系列单片机的I/O口都是5V兼容?不是,例如C8051F060只有P0口是5V兼容,具体的要参照相关型号的数据手册。P4口的某些引脚已用为外部存储器的控制信号,剩下的口线能否作为普通I/O使用?可以,但不能直接给此端口送数,应通过“与”或者“或”的方式来对此端口进行操作。为什么端口的数据寄存器置为0时,其引脚上的电平还是为高电平?交叉开关使能位没有置位。问:端口在停机(STOP)模式下是什么状态?端口在停机模式下将保持进入停机模式前的状态。


    注意事项

    本文(c8051f020端口配置说明Word文档格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开