c8051f单片机的主要应用问答

发布者:以泉换泉最新更新时间:2016-08-26 来源: eefocus关键字:C8051F  单片机 手机看文章 扫描二维码
随时随地手机看文章
振荡器

问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?
答:不同器件的内部时钟振荡器的精度是不同的(±20%)。随电源电压变化,它也将发生变化(6.5%/V)。但基本不随温度变化(<1%温度变化范围-40℃~+85℃)。由于不同器件内部振荡器的离散性较大,所以不能用于产生波特率,应该外接标准晶体 。而有些器件,如C8051F3xx/f12x/f04x/f06x内部振荡器精度为±2%,可用于产生波特率 。

问:片内/外振荡器如何配置?
答:正确步骤:

1、允许外部振荡器;

2、等待1ms;

3、查询XTLVLD '0'->'1'

4、切换到外部振荡器。

注意:振荡器频率的选择,即OSCXCN寄存器的配置(外部振荡器频率控制位的设置)。关于更多的信息以及源代码可以参看应用笔记AN002《配置内部和外部振荡器》。应用笔记可以从我公司网站下载:www.xhl.com.cn

 

问:C8051F MCU的指令执行速度为多少?

答:C8051F MCU的CIP-51内核采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。标准的8051单片机执行一个单周期指令需要12个系统时钟周期,而C8051F MCU执行一个单周期指令只需要一个系统时钟周期。如果系统时钟频率为25MHz,执行一个单周期指令所需时间为40ns。

 

问:切换外部晶振时应注意哪些问题?

答:首先要允许外部振荡器,但此时的系统时钟源仍应是内部时钟,直到外部振荡器稳定后,才可将系统时钟源切换到外部振荡器上,否则会出现切换不过去,系统死机的情况。

 

问:使用外部晶振应注意哪些问题?

答:1、所有的模拟和数字电源引脚都应接电源(2.7~3.6V);

2、C8051F3xx系列器件的晶振引脚间应跨接一个10M电阻(在新华龙网站的“主页”—“原理图/PCB库”中有C8051F系列单片机的典型接线图);

3、晶振、电容等相关器件尽量靠近单片机的晶振引脚。

 

问:系统时钟切换到外部时钟后,内部的时钟是否应关闭?

答:可以选择关闭或不关闭,但是从降低功耗的角度来说,应该关闭。

 

问:系统时钟可不可以在程序中随时切换?

答:可以,但是由内部再一次切换到外部时应按照技术问答2所介绍的步骤进行切换。

 

问:使用外部晶振时如何配置芯片的引脚?

答答:对于芯片上有固定晶振引脚的设备(例如C8051F02X);相应时钟输入引脚按选择的晶振模式自动分配引脚;

对于晶振引脚与GPIO共用的芯片(例如C8051F30X);晶振引脚要按下述方式进行设置:

(1).外接晶体体时;XTAL1与XTAL2都要配置为模拟输入

(2).外接振荡电路为“RC”或“C”方式时,XTAL2引脚要配置为模拟输入

(3).外接CMOS时钟电路时,XTAL2引脚要配置为数字输入

(4).以上几种方式在引脚的配置中都要使用跳过功能将此引脚跳过

 


问:外接晶振的最高频率是多少?

答:外接晶振的最高频率是30MHz;

 

 
  
    
模数转换
问:从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?

答:模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREF引脚的电容容量。此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。如果用4.7μF电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10μS。

注意:在开始转化之前,需要一个1.5μS的跟踪时间,这也就决定了ADC多路转换开关(MUX)的切换速度。

问:ADC的最大输入电压及输入阻抗?

答:ADC的最大输入电压为VREF,它的输入电压范围是0V-AV+/VDD。

输入电容为10pF;输入阻抗等价于一个5kΩ电阻和一个10pF电容的串联。

请参考应用笔记AN019“计算开关电容ADC的建立时间”。

问:ADC可编程窗口检测器有什么用途?

答:ADC可编程窗口检测器在很多应用中非常有用。它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限条件时通知系统控制器,这在中断驱动的系统中尤其有效,既可以节省代码空间和CPU带宽又能提供快速响应的时间。

问:为了使ADC或DAC具有更好的性能,是否应在VREF 引脚接电容?

答:推荐在VREF引脚接一个0.1μF的陶瓷电容器与一个大的电容(典型为4.7μF钽电容)。在VREF引脚加电容是为了降低VREF的噪声。因为VREF的噪声越小,ADC或DAC转换结果的噪声也就越小。且这两个电容在PCB板上应尽可能离VREF引脚近。

问:内部参考电平是否可以用于外部电路的参考?

答:可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。注意,VREF引脚只能提供源电流,也就是说,要有负载接地使电流流出C8051器件。例如,如果你将VREF连到OP运放的(+)节点,你要加一个下拉电阻对地(24K左右)将电流限制在100μA。

 

问:如果测试的模拟输入电压范围是0-5V怎么办?

答:因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不管ADC或PGA的设置如何)必须使其输入 电压保持在AGND和AV+之间,这是为了避免沉(或源)电流通过ESD保护装置。为了测试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电压必须在AGND和(VREF / GAIN) 之间。假设一个12位的ADC,AINx 引脚的输入电压小于AGND,结果将是0x000;如果输入电压大于(VREF / GAIN) ,结果将是0xFFF。

例如,使用外部1.25V参考,PGA增益为0.5,允许的电压输入范围是0V到 (1.25V / 0.5 = 2.5V)。

 

问:如何提高系统的ADC的性能?

答:第一、将模拟电源和数字电源分开,可以使用比较简单的方法,如在模拟电源和数字电源之间加简单的滤波。

第二、将模拟地和数字地分开,并在电源附近通过磁珠连接。

第三、制板时,大面积覆铜。

第四、未使用到的模拟引脚要接地。

第五、为了确保参考电压的稳定,参考电压引脚一定要接去耦电容。

第六、模拟信号的输入电压范围是0-VDD,如果模拟输入的外围有可能侵入高电压(超过芯片的极限允许范围),就要采取保护措施(如加两个肖特级二极管)。如果模拟输入会有瞬间过电流,也要加限流保护。

 

问:如果使用内部参考源,C8051F020/F021的参考电压引脚如何连接?

答:C8051F020/F022共有4个参考电压引脚,VREF,VREF0,VRFE1和VREFD。允许ADC和DAC使用一个外部电压基准或片内电压基准。通过配置VREF0CF基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基准。内部基准电压必须通过VREF引脚连接到芯片内部。所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0,VREF1,VREFD(全部或部分)引脚的连接。

C8051F021/F023共有两个参考电压引脚,VREFA和VREF。如果ADC0和ADC1使用内部参考源,必须将VREFA与VREF引脚连接。

注意:如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CN寄存器中的BIASE位必须被置为逻辑1。

 

问:为什么在进行A/D转换时测得的数据跳变很大?

答:当输入信号有干扰脉冲、ADC的转换时间太短、在通道切换后通道还没有稳定就开始转换等原因都会导致转换后的数据跳变大,请仔细检查以上三点并做相应的处理就可以解决此类问题。

 

问:在进行A/D转换时所测得的数据与计算所得的数据相差很大,但跳变不大,为什么?

答:1、计算时所用的基准电压是多少,如果用的是内部基准,把内部基准电压通过交叉开关分配到芯片引脚上,再进行测量;

2、换别的通道转换看是否正常。

 

问:ADC的单端输入与差分输入的区别?

答答:在单端方式工作时;ADC转换的是单输入引脚对地的电压值;在增益为1时,测量的值就是输入的电压值;范围是0V到VREF;当增益增加时,输入的范围要相应的减小;

在差分方式工作时;ADC转换的是AIN+与AIN-两个引脚的差值;在增益为1时,测量的值等于(AIN+)-(AIN-),范围是-VREF到+VREF;当增益增加时,输入的范围要相应的减小。

注意:在差分方式时所提的负压是指AIN-引脚的电压大于AIN+引脚的电压,实际输入到两个引脚的电压对地都必需是正的;例如:如果AIN+引脚输入的电压为0V,AIN-引脚的输入电压为1/2VREF时,差分的输入电压为(0V-1/2VREF) = -1/2VREF。

 
  
  
端口
问:器件IO口的吸收(sink)电流和源(source)电流是多少?

答:IO口的沉电流和拉电流的极限参数为100mA(但是此时已经不能保证端口的正常逻辑关系了)。具体的参数请参考datasheet的端口IO部分的“端口I/O直流电气特性”。

 

问:端口是否要加保护?

答:在端口电流瞬间跳变的情况下,建议加限流电阻进行保护。另外如果端口可能有超过极限电压范围的瞬变电平侵入,也要加瞬态保护。(瞬态保护的通常方式为接入TVS器件)

 

问:C8051F系列单片机的IO口与传统8051单片机相比有什么区别?

答:①C8051F系列单片机的IO口全部为三态双向口(而传统8051单片机P1、P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统8051单片机只有开漏输出)。

②片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F2xx系列除外,而传统8051单片机不具备这一功能)。IO口的配置更加灵活。

 

问:C8051F系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?

答:所有IO口允许5V(极限值为5.8V)输入,但是输出高电平为VDD。如果与5V系统接口,最简单的方法是开漏输出并在输出端加接5V上拉,关键是上拉电阻的选择。具体参考应用笔记AN011“在5V系统中使用C8051Fxxx”。

建议:如果可能,请尽量选用供电电压兼容的芯片,这是一种最理想的选择。

 

问:模拟引脚能否简单地用于数字I/O?

答:如果模拟引脚是独立的是不可以的。但是如果模拟引脚和数字IO是复用的,是可以通过SFR的设置来完成配置。

 

问:C8051F020/022的p4-p7口和p0-p3口有什么不同?

答:P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7口是通用口,另外P4-P7寄存器不能位寻址。

 

问:如果通过Crossbar寄存器使能并分配为P0.0和P0.1引脚,那么,我还可以用这两个引脚为通用I/O吗?

答:①如果你通过Crossbar使能一个外设,如UART,那么这个外设将控制这些引脚的输出状态(逻辑高/逻辑低)。

②你可以在任何时刻读引脚的状态,与Crossbar控制与否无关。

③当被禁止时,大部分外设的输出引脚被置为高阻态(UART口是一个很好的例子)。因为UART收发器无明确的禁止态,你可将相应的引脚置成开漏输出模式,也可以达到相同的结果,因为UART收发器在空闲时引脚为逻辑1。

总的来说,Crossbar置配后在末使用时的外设引脚可以用于数据输入,但不能作为数据输出。其它器件,如F3xx系列,口引脚可通过Crossbar“重新声明”且用于GPIO引脚对器件管脚无影响,因为这些器件具有“引脚跳过”(PIN SKIP)特性。

 

问:IO口的开漏和推挽输出如何使用?

答:将端口引脚置成推挽输出方式,这将使能端口引脚驱动器。总体上来讲,数据输入端口引脚置成开漏方式、数据输出端口引脚置成推挽方式。当引脚用于输出连接上拉电阻(也就是说当与5V系统接口时)时配置成开漏输出。

 

问:引脚P1.4~P1.7中断如何使用?

答:如果外部中断(EX4-EX7)使能且相应的引脚P1.4~P1.7变低(可以是外部输入信号、写输出端口锁存或是Crossbar定义的外设启动的事件)。那么中断标志(PRT1IF.n)将置位,如果全局中断使能,将产生一个中断。中断逻辑检测本身的逻辑状态,与产生逻辑状态变化的原因无关。

 

问:是不是所有的C8051F系列单片机的I/O口都是5V兼容?

答:不是,例如C8051F060只有P0口是5V兼容,具体的要参照相关型号的数据手册。

 

问:P4口的某些引脚已用为外部存储器的控制信号,剩下的口线能否作为普通I/O使用?

答:可以,但不能直接给此端口送数,应通过“与”或者“或”的方式来对此端口进行操作。

 

问:为什么端口的数据寄存器置为0时,其引脚上的电平还是为高电平?

答:交叉开关使能位没有置位。

 

问:端口在停机(STOP)模式下是什么状态?

答:端口在停机模式下将保持进入停机模式前的状态。

关键字:C8051F  单片机 引用地址:c8051f单片机的主要应用问答

上一篇:8051单片机的常见问题
下一篇:基于51单片机的电力载波通信开关电路的制作

推荐阅读最新更新时间:2024-03-16 15:07

STM32单片机对CAN过滤器的设置方法
在使用STM32的CAN控制器进行数据收发,当用到位屏蔽模式的时候,就要设置过滤器了,这个关系到是否能够接收到想要的数据。下面针对几种不同情况对CAN过滤器(Filter)进行设置。 CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;//标示符屏蔽模式 CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; 1、对扩展数据帧进行过滤:(只接收扩展数据帧) CAN_FilterInitStructure.CAN_FilterIdHigh=(EXT_ID》》13)&0xFFFF; CAN_F
[单片机]
STM32<font color='red'>单片机</font>对CAN过滤器的设置方法
AVR单片机入门系列(17)AVR IO输入之矩阵按键扫描程序
系统功能 使用AVR扫描4*4矩阵按键,一旦扫描到按键被按,做出被按的按键号指示。 硬件设计 关于AVR的I/O结构及相关介绍详见Datasheet,这里仅对作部分简单介绍,下面是AVR的I/O引脚配置表: AVR I/O 口引脚配置表 DDRXn PORTXn PUD I/O 方式 内部上拉电阻 引脚状态说明 0 0 X 输入 无效 三态(高阻) 0 1 0 输入 有效 外部
[单片机]
AVR<font color='red'>单片机</font>入门系列(17)AVR IO输入之矩阵按键扫描程序
基于PIC18F系列单片机的嵌入式系统设计
引言 嵌入式系统是指以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、体积、成本、可靠性、功耗严格要求的专用计算机系统。嵌入式系统是面向应用的,系统的硬件选型和软件开发模式都必须根据具体的应用确定。 永磁无刷直流电动机是电机控制研究领域的热点之一,这与其自身固有的技术优势密切相关:以电子换相取代了有刷直流电动机的机械换相。从根本上革除了普通有刷直流电动机由于电刷换相带来的火花、噪音、高故障率等一系列问题,同时又使系统的性能能够与普通有刷直流电动机相媲美,因此得到了广泛的应用。永磁无刷直流电动机的电子换相离不开电机的转子位置信号,传统的方法是采用霍尔器件或其他位置传感器检测位置信号,这使得系统的维护和制造都
[应用]
单片机程序的动态加密措施
众所周知, 有一些公司或个人专门做单片机的解密服务,另外,单片机的指令不论怎样加密最终它还要在明文的方式下才能运行, 而且解密者可以使用单片机开发系统单步调试ROM中的程序。当解密者了解了指令的运行过程之后, 也就获得了加密的程序, 如某些智能计价器的运算方法等,通过修改程序并仿制新的ROM芯片, 就可以达到解密的目的。因此,对单片机的加密还要在程序的运行上进行加密处理, 也就是程序的动态加密措施。   1 程序的动态解码   动态解码是对加密程序的指令或数据代码进行动态恢复。在程序运行时, 有一段指令是专门对某一区域的指令或数据代码解密, 而且当解密后的代码使用完毕, 还要将其重新加密, 使存储器中不存在完整的程序代码。这种
[模拟电子]
针对51单片机的手持编程器(SMP)
  C8051F单片机是高度集成的混合信号系统级芯片(SoC),具有与8051 兼容的高速CIP-51 内核,与MCS-51 指令集完全兼容,内置程序存储器FLASH、数据存储器RAM;片内集成了ADC、DAC 等常用的模拟外设及UART、SMBus、SPI 等数字外设。   C8051F单片机具有片内调试电路,通过4 脚的JTAG 接口或者2线的C2接口可以进行非侵入式、全速的在系统调试及下载。   基于以上特点,C8051F单片机在工业控制、消费电子、通信等领域得到了广泛应用。但是,用户在生产过程中,希望一种方便快捷地对单片机编程,针对这种情况,深圳世强电讯有限公司设计开发了一款手持编程器(以下简称:SMP)方便用户编程。
[单片机]
针对51<font color='red'>单片机</font>的手持编程器(SMP)
单片机C程序main函数之前做了什么
在测试c语言单片机程序的时候,发现在main函数的执行之前,有很长的一段时间的延时,单片机在这段时间在做什么?进行了一下分析,得到结论如下: C程序 #include reg51.h sbit p1_7=P1^7; void interrupt0() interrupt 0 using 2 { p1_7=!p1_7; } void main() { EA=1; IT0=1; EX0=1; p1_7=0; do{}while(1); } 生成的机器码: :03000300020006F2   中断入口 :03000600B297327C   中断程序 :0B000900D2AFD288D2A8C29780FE229E 
[单片机]
基于51单片机的电子万年历设计
硬件方案 随着生活和工作的繁忙,人们在获知时间的同时,对于与人们生活和工作息息相关的信息也不可缺少,比如:温度,日期等;多功能电子时钟的诞生,很好解决了这一问题,它在显示时间的同时,又显示了温度、日期、时间等诸多功能于一身。 硬件主要由51单片机+最小系统+LCD液晶显示电路+DS1302时钟电路+蜂鸣器提示音电路+DS18B20温度采集电路+按键电路; 二.设计功能 (1)本采用STC89C51/52RC(与AT89S51/52、AT89C51/52通用)单片机作为主控制器; (2)时钟芯片采用DS1302,温度传感器采用DS18B20; (3)有一组闹钟和阴历显示功能,有闰年补偿,可以准确及正确的显示时间等信息。 (4
[单片机]
基于51<font color='red'>单片机</font>的电子万年历设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved