下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C8051F的每个I/O 口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到 P0、P1、P2和P3的端口弓I脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配 置 为出现在端口 I/O弓I脚。必须在访问这些外设的I/O之前配置和允许交叉开关。注意的问题:1 .低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。2 .没有被分配到的引脚作为一般的数字通用I/O 口。口还可以用作ADC1的模拟输入。P3MDOUT用于控制I/O端口每一位的输出状态。(外部存储器接口
2、)是用于 CPU与片外XRAM之间的数据传输通道,通过寄存器 EMI0CF和EMI0CN 选择和管理端口实现数据的传输。6 .为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。7 .如果把外部存储器接口( EMIF)设置在高端口则首先要把 EMI0CF的PRTSE位设置为1,选择高端 口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLEB设置为0。8 .复用方式配置:在复用方式下,数据总线和地址总线的第 8位共用相同的弓I脚(AD0AD7)。在该 方式下,要用一个外部锁存器(如 74HC373或相同功能的锁存器)保持 RAM地址的低8位。外
3、部锁 存器由ALE地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。9 .在总线复用时,需要把地址数据复用端口配置为漏极开路。高/低脉宽占1个SYSCL崎期,地址建立/保持时间占0个SYSCL阖期,/WR和/RD占12个SYSCLK 周期,EMIF工 作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c配置EMIF的步骤是:先 将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分 片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择
4、所期望的相关端口的输出方式。如:void PORT_Init (void)XBR2 = 0x40;/*使能交叉开关和弱上拉*/P74OUT |= 0xff; /*使能P4P7推挽输出*/EMI0CF尸0x2c; /*EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK 周期*/EMI0TC |= 0x6c; /*地址建立/保持时间占0个SYSCL倜期,/WR和/RD占12个SYSCL阖期*/P3MDOUT |= 0xdf;/*使能推挽输出*/11.避免高端口处于 浮空”状态,以避免因输入浮空为无效逻辑电平而导致不必要的功率消耗,为此应采取如下措施的任何一种:a.
5、将位设置为逻辑0选择弱上拉状态R/W R/W R/W R/W R/W R/W R/W R/W 复位值WEAKPUD XBARE - T4EXE T4E UART1E EMIFLE CNVSTE 00000000位7位6 位5 位4 位3 位2 位1 位0SFFM址位7 WEAKPUD弱上拉禁止位0弱上拉全局允许1弱上拉全局禁止位6 XBARE交叉开关允许位0交叉开关禁止端口 0 1 2和3的所有引脚被强制为输入方式1交叉开关允许位5未用读0写二忽略位4 T4EXE T4EXt入允许位0 T4EX不连到端口引脚1 T4EX连到端口引脚位3 T4E T4输入允许位 0 T4不连到端口引脚1 T4连
6、到端口引脚位 2 UART1E UART1 I/O允许位0 UART1 I/O不连到端口引脚1 UART1 TX和RX连至I两个端口弓I脚位1 EMIFLE外部存储器接口低端口允许位0 和 的功能由交叉开关或端口锁存器决定1如果=0外部存储器接口为复用方式则(/WR) (/RD)和(/ALE液交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定1如果=1外部存储器接口为非复用方式则(/WR)和(/RD)被交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定位0 CNVSTE外部转换启动输入允许位0 CNVST/连到端口引脚1 CNVSTR连到端口引脚;b.令P74OUT=0xFF将
7、高端口输出方式配置为推拉方式 (P74OUT为高端口输出方式寄存器);c.向高端口数据寄存器 P4、P5、P6和P7写0。12 .配置端口引脚的输出方式每个端口引脚的输出方式都可被配置为漏极开路或推挽方式。在推挽方式下向端口数据寄存器中的相应位写逻辑 0将使端口引脚被驱动到 GND写逻辑1将使端口引脚被驱动到 VDD ,在漏极开路方式下向端口数据寄存器中的相应位写逻辑0将使端口引脚被驱动到GND写逻辑1将使端口引脚处于高阻状态,当系统中不同器件的端口引脚有共享连接即多个输出连接到同一个物理线时(例如SMBus连接中的SDA信号),使用漏极开路方式可以防止不同器件之间的冲突。(推挽方式在有些书中
8、称为推拉方式)关于开漏、推挽方式,漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX24得电平转换芯片。有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O 口设置为漏开,并想输出高电平,但向口线上写1后 对方并未认出高电平,但用万用表测量引脚确有电压,这种认为是不对的,对于高阻状态来说, 测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻值=上拉电压/芯片引脚最大灌(拉)电流。推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小 的电压(可忽略),保证输出与电源相
9、同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R, I会很大,将造成口的烧毁。对与C8051F的很多型号片子,将I/O 口设置为推挽方式的做法为:PnMDOUT=0xff, Pn=0x00,这样设 置I/O 口为推挽,并输出 低电平(可降低功耗) 将I/O 口设置为漏开方式的做法为:PnMDOUT=0x00, Pn=0x11,这样设置I/O 口为漏开。如果学过三极管放大电路一定知道, 前置单管放大器和功放末级放大电路的区别。 单片机内部的逻辑 经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动, 因此在单片机的 输出端口必须有一个驱动电
10、路。这种驱动电路有两种形式:其中的一种是采用一只 N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部 的逻辑运算,c引出,b受内部驱动可以控制三极管是否导通但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的 一端接c©l出脚)另一 端接电源,这样当三极管的 b有高电压是三极管导通,c电压为低,当b为 低电压时三极管不通,c极在电阻的拉动下为高电压, 这种驱动电路有个特点: 低电压是 三极管驱动 的,高电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱
11、动led甚至继电器,但电阻的驱动是有限的,最大高电平输出电流 =(vcc-Vh)/r;另一种是互补推挽输出,采用 2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn (上)的c连vcc, pnp (下)的c接地,两只管子的ee,bb 相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响), 当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱 动能力,当bb接低电压时npn截至,pnp导通,由于 三极管的ec电阻很小因此输出的低电压有很 强的驱动能力,简单的例子,90
12、13导通时ec电阻不到10欧,以Vh=, vcc=5v计算,高电平输 出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现 外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说 明推挽的原理,为了更深的理解可以参考功率放大电路。振荡器问:内部时钟振荡器是否稳定是否可以用于产生波特率的时基答:不同器件的内部时钟振荡器的精度是不同的(±20%)随电源电压变化,它也将发生变化(/V) c但基本不随温度变化(&
13、lt;1%温度变化范围-40C+85C)。由于不同器件内部振荡器的离散性较大, 所以不能用于产生波特率,应该外接标准晶体。而有些器件,如C8051F3xx/f12x/f04x/f06x内部振荡器精度为±2%可用于产生波特率 。问:片内/外振荡器如何配置答:正确步骤:1、允许外部振荡器;2、等待1ms;3、查询 XTLVLD'0'->'1'4、切换到外部振荡器。注意:振荡器频率的选择,即 OSCXCNI?存器的配置(外部振荡器频率控制位的设置)。关于更多的 信息以及源代码可以参看应用笔记 AN002配置内部和外部振荡器。应用笔记可以从我公司网站下
14、载:一问:C8051F MCU的指令执行速度为多少答:C8051F MCU的CIP-51内核采用流水线结构,与标准的 8051结构相比,指令执行速度有很大的 提高。标准的8051单片机执行一个单周期指令需要 12个系统 时钟周期,而C8051F MCU执行一个 单周期指令只需要一个系统时钟周期。如果系统时钟频率为25MHz,执行一个单周期指令所需时间为 40ns。问:切换外部晶振时应注意哪些问题 答:首先要允许外部振荡器,但此时的系统时钟源仍应是内部时钟,直到外部振荡器稳定后,才可将系统时钟源切换到外部振荡器上,否则会出现切换不过去,系统死机的情况。问:使用外部晶振应注意哪些问题答:1、所有的
15、模拟和数字电源引脚都应接电源();2、C8051F3xx系列器件的晶振引脚间应跨接一个10M电阻(在新华龙网站的 主页”一原理图/PCB库中有C8051F系列单片机的典型接线图);3、晶振、电容等相关器件尽量靠近单片机的晶振引脚。问:系统时钟切换到外部时钟后,内部的时钟是否应关闭答:可以选择关闭或不关闭,但是从降低功耗的角度来说,应该关闭。问:系统时钟可不可以在程序中随时切换答:可以,但是由内部再一次切才到外部时应按照技术问答2所介绍的步骤进行切换。问:使用外部晶振时如何配置芯片的引脚答答:对于芯片上有固定晶振引脚的设备 (例如C8051F02X)相应时钟输入引脚按选择的晶振模式自 动分配引脚
16、;对于晶振引脚与GPIO共用的芯片(例如C8051F30X)晶振引脚要按下述方式进行设置:(1) .外接晶体体时;XTAL1与XTAL2都要配置为模拟输入(2) .外接振荡电路为“RC;式时,XTAL2引脚要配置为模拟输入 .外接CMOS时钟电路时,XTAL2引脚要配置为数字输入(4).以上几种方式在引脚的配置中都要使用跳过功能将此引脚跳过问:外接晶振的最高频率是多少答:外接晶振的最高频率是 30MHz;模数转换问:从上电(或退出掉电模式)到 ADC稳定开始转换需要多长时间答:模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREFI脚的电容容量。此电容越大VREF的噪音就越小,ADC转
17、换结果的噪音也就越小。如果用aF电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10注意:在开始转化之前,需要一个 小的跟踪时间,这也就决定了 ADC多路转换开关(MUX)的切换 速度。问:ADC的最大输入电压及输入阻抗答:ADC的最大输入电压为VREF它的输入电压范围是 0V-AV+/VDD。输入电容为10pF;输入阻抗等价于一个5kQ电阻和一个10pF电容的串联。请参考应用笔记AN019'计算开关电容ADC的建立时间问:ADC可编程窗口检测器有什么用途答:ADC可编程窗口检测器在很多应用中非常有用。它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限
18、条件时通知系统控制器,这在中断驱动的系统中尤其有效,既可以节省代码空 间和CPU带宽又能提供快速响应的时间。问:为了使ADC或DAC具有更好的性能,是否应在 VREF引脚接电容答:推荐在VREFI脚接一个 心F的陶瓷电容器与一个大的电容(典型为心唯.电容)。在VREF弓|脚加电容是为了降低 VREF的噪声。因为VREF的噪声越小,ADC或DAC转换结果的噪声也就越小。且这 两个电容在PCB板上应尽可能离VREF弓|脚近。问:内部参考电平是否可以用于外部电路的参考答:可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。注意,VREFI脚只能提供源电流,也就是说,要有负载接地使
19、电流流出C8051器件。例如,如果你将 VREF连到OP运放的(+)节点,你要加一个下拉电阻对地 (24K左右)将电流限制在100 aA)问:如果测试的模拟输入电压范围是 0-5V怎么办答:因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不管ADC或PGA的设置 如何)必须使其输入 电压保持在AGND和AV+之间,这是为了避免沉(或源)电流通过 ESD保护装 置。为了测试0-5V范围的信号,必须使信号衰减(衰减到 AV+以下)才能 进入到ADC输入。当使 用外部VREF寸,要求VREF的最大值比AV+小300mV。问:F02x器件内部有PGA (可编程增益放大器)可以对输入
20、模拟信号进行放大。其中的一个放大倍数为倍。是否意味着我可以外接+6V的模拟输入电压,经过倍的放大变成 3V输入到AINx呢答:请注意:任何卞K拟引脚(数据 IO 口和VDD引脚除外)的最大输入电压为到VDD+。如果超出此范围可能造成器件永久损坏。在单端输入方式,有两个限制因素如下:1、AIN输入电压必须在AGND和AV+之间以避免吸/源电流流过ESD保护器件。2、AIN电压必须在AGND和(VREF/ GAIN)之间。假设一个12位的ADG AINx引脚的输入电压小于 AGND,结果将是0x000;如果输入电压大于(VREF/ GAIN),结果将是0xFFE例如,使用外部参考,PGA增益为,允
21、许的电压输入范围是 0V到/ = o问:如何提高系统的ADC的性能答:第一、将模拟电源和数字电源分开,可以使用比较简单的方法,如在模拟电源和数字电源之间加 简单的滤波。第二、将模拟地和数字地分开,并在电源附近通过磁珠连接。第三、制板时,大面积覆铜。第四、未使用到的模拟引脚要接地。第五、为了确保参考电压的稳定,参考电压引脚一定要接去耦电容。第六、模拟信号的输入电压范围是 0-VDD,如果模拟输入的外围有可能侵入高电压(超过芯片的极限 允许范围),就要采取保护措施(如加两个肖特级二极管)。如果模拟输入会有瞬间过电流,也要加 限流保护。问:如果使用内部参考源,C8051F020/F021的参考电压引
22、脚如何连接答:C8051F020/F022共有4个参考电压引脚, VREF VREF0 VRFE1和VREFD允许 ADC和DAC使 用一个外部电压基准或片内电压基准。通过配置VREF0CF基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基7to内部基准电压必须通过VREF引脚连接到 芯片内部。所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0 VREF1VREFD(全部或部分)引脚的连接。C8051F021/F023共有两个参考电压引脚, VREF解口 VREE如果ADC0和ADC1使用内部参考源,必须 将 VREFAJ V
23、REFI脚连接。注意:如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CNI?存器中的BIASED必须被置为逻辑1。问:为什么在进行A/D转换时测得的数据跳变很大答:当输入信号有干扰脉冲、ADC的转换时间太短、在通道切换后通道还没有稳定就开始转换等原因 都会导致转换后的数据跳变大,请仔细检查以上三点并做相应的处理就可以解决此类问题。问:在进行A/D转换时所测得的数据与计算所得的数据相差很大,但跳变不大,为什么答:1、计算时所用的基准电压是多少,如果用的是内部基准,把内部基准电压通过交叉开关分配到 芯片引脚上,再进行测量;2、换别的通道转换看是否正常。问:ADC的单端输入与差分输
24、入的区别答答:在单端方式工作时;ADC转换的是单输入引脚对地的电压值;在增益为1时,测量的值就是输入的电压值;范围是0V到VREF当增益增加时,输入的范围要相应的减小;在差分方式工作时;ADC转换的是AIN+与AIN-两个引脚的差值;在增益为 1时,测量的值等于 (AIN+)-(AIN-),范围是-VRE届U+VREF当增益增加时,输入的范围要相应的减小。注 意:在差分方式时所提的负压是指 AIN引脚的电压大于AIN+弓|脚的电压,实际输入到两个引脚的 电压对地都必需是正的;例如:如果AIN+弓|脚输入的电压为0V, AIN-引脚的输入电压为1/2VREF时, 差分的输入电压为(0V-1/2V
25、REF) = -1/2VREF端口问:器件IO 口的吸收(sink)电流和源(source)电流是多少答:IO 口的沉电流和拉电流的极限参数为100mA (但是此时已经不能保证端口的正常逻辑关系了)具体的参数请参考datasheet的端口 IO部分的端口 I/O直流电气特性问:端口是否要加保护答:在端口电流瞬间跳变的情况下,建议加限流电阻进行保护。另外如果端口可能有超过极限电压范围的瞬变电平侵入,也要加瞬态保护。(瞬态保护的通常方式为接入TVS器件)问:C8051F系列单片机的IO 口与传统8051单片机相比有什么区别答:C8051F系列单片机的IO 口全部为三态双向口 (而传统8051单片机
26、P1、P2、P3 口为准双向口), 内部有弱上拉可禁止(传统 8051单片机固有),可配置为开漏输出和推挽输出(传统 8051单片机只 有开漏输出)。片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F2xx系列除 外,而传统8051单片机不具备这一功能)。IO 口的配置更加灵活。问:C8051F系列单片机电源电压全部为,那么是否有与5V系统接口的比较简单的解决方案答:所有IO 口允许5V (极限值为)输入,彳!是输出高电平为VDD。如果与5V系统接口,最简单的方法是开漏输出并在输出端加接 5V上拉,关键是上拉电阻的选择。具体参考应用笔记AN011'在5V系统中使用C8051FxxX'。建议:如果可能,请尽量选用供电电压兼容的芯片,这是一种最理想的选择。问:模拟引脚能否简单地用于数字 I/O答:如果模拟引脚是独立的是不可以的。但是如果模拟引脚和数字IO是复用的,是可以通过 SFR的设置来完成配置。问:C8051F020/022 的 p4-p7 口和 p0-p3 口有什么不同答:P0-P3 口复位时为通用口,可通过 Crossbar (数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7 口是通用口,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省德阳市中江县2025-2026学年七年级上学期期末考试数学试题(含答案)
- 【初中语文】《秋天的怀念》课件++统编版语文七年级上册
- 分式专项(课件)中考数学一轮复习讲练测
- 2025-2026学年鲁教版(五四制)数学七年级上册期末模拟试题(含答案)
- 河南省许昌市鄢陵县彭店二中2025-2026学年七年级上册语文期末试卷(含答案 )
- 飞行技术专业
- 11月全球投资十大主线
- 人口分布第一课时课件2025-2026学年高中地理人教版必修二
- 基于MATLAB的四旋翼无人机PID控制研究
- 飞机的科普知识
- 2026中国国际航空招聘面试题及答案
- (2025年)工会考试附有答案
- 2026年国家电投集团贵州金元股份有限公司招聘备考题库完整参考答案详解
- 复工复产安全知识试题及答案
- 中燃鲁西经管集团招聘笔试题库2026
- 资产接收协议书模板
- 数据中心合作运营方案
- 印铁涂料基础知识
- 工资欠款还款协议书
- 石笼网厂施工技术交底
- 新建粉煤灰填埋场施工方案
评论
0/150
提交评论