关于使用c8051fxxx单片机用户常见疑问如下

发布者:atech123最新更新时间:2015-10-26 来源: eefocus关键字:c8051f  单片机  常见疑问 手机看文章 扫描二维码
随时随地手机看文章
1.  振荡器
问:内部时钟振荡器是不是不稳定?是否可以用于产生波特率的时基?
答:不同器件的内部时钟振荡器的精度是不同的(±20%)。随电源电压变化,它也将发生变化(6.5%/V)。但基本不随温度变化(<1%温度变化范围-40-+85℃)。由于不同器件内部振荡器的离散性较大,所以不能用于产生波特率,应该外接标准晶体 (而C8051F300/301内部振荡器精度为±2%,可用于产生波特率) 。
问:片内/外振荡器如何配置?
答:正确步骤:
  1. 允许外部振荡器;
  2. 等待1ms;
  3. 查询XTLVLD '0'->'1'
  4. 切换到外部振荡器。
注意:振荡器频率的选择,即OSCXCN寄存器的配置(外部振荡器频率控制位的设置)。
汇编和C的部分源代码如下:
汇编:
mov OSCXCN, #67h       ;允许外部振荡器频率为 18.432MHz
clr A              ; 最少等待1ms
djnz acc, $           ; 等待 ~512us
djnz acc, $          ; 等待 ~512us
osc_wait:           ; 查询 XTLVLD是否为1
mov a, OSCXCN
jnb acc.7, osc_wait
orl OSCICN, #08h       ; 选择外部振荡器作为系统时钟源
orl OSCXCN, #80h        ; 使能丢失时钟检测器
C语言:
void SYSCLK_Init (void)
{
int i              ; //延时计数器
OSCXCN = 0x67         ; //启动外部振荡器用 22.1184MHz 晶体
for (i=0; i < 256; i++)    ; // 最少等待>1ms
while (!(OSCXCN & 0x80))    ; // 等待晶体稳定
OSCICN = 0x88         ; //选择外部振荡器作为系统时钟源
                 //使能丢失时钟检测器
}
 
 

 

 
2.  模数转换
问:从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?
答:模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREF引脚的电容容量。此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。如果用4.7uF电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10us。
注意:在开始转化之前,需要一个1.5us的跟踪时间,这也就决定了ADC多路转换开关(MUX)的切换速度。
问:ADC的最大VREF电压:
答:内部参考:2.40±0.03V;
外部参考:VA+-0.3V。
问:ADC的最大输入电压及输入阻抗?
答:ADC的最大输入电压为VREF。输入电容为10pF;输入阻抗等价于一个5kΩ电阻和一个10pF电容的串联。
请参考应用笔记AN019"计算开关电容ADC的建立时间"。
问:ADC可编程窗口检测器有什么用途?
答:ADC可编程窗口检测器在很多应用中非常有用。它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限条件时通知系统控制器。这在中断驱动的系统中尤其有效。既可以节省代码空间和CPU带宽又能提供快速响应的时间。
问:C8051F020/F021的内部参考如何使用?
答:F020:如果ADC0、ADC1及DAC都使用内部参考,将VREF连接到VREF0、VREF1、VREFD引脚,
   F021:将VREF连到VREFA引脚即可。  
 
   
3.  端口
问:器件IO口的吸收(sink)电流和源(source)电流是多少?
答:GPIO(通用IO)引脚当电压为0.6V时可以吸收8.5mA的电流。当电压为VDD-0.7V时的源电流为3mA。
问:在GPIO引脚上的弱上拉的值是多少?
答:当VDD=3.0V时,上拉值大约为100KΩ左右。
问:Silicon Lab C8051FXXX系列单片机的IO口与传统8051单片机相比有什么区别?
答:①Cygnal C8051FXXX系列单片机的IO口全部为三态双向口(而传统8051单片机P1、P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统8051单片机只有开漏输出)。
  ②片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F2XX系列除外,而传统8051单片机不具备这一功能)。
问:Silicon Lab 8051FXXX系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?
答:所有IO口允许5V(极限值为5.8V)输入,但是输出为VDD电平。如果与5V系统接口,最简单的方法是在输出端加上拉电阻,关键是上拉电阻的选择。具体参考应用笔记AN011"在5V系统中使用C8051FXXX"。
建议:如果可能,请尽量选用电压供电兼容的芯片,这是一种最理想的选择。
问:模拟引脚能否简单地用于数字I/O?
答:如果模拟引脚是独立的是不可以的。但是如果模拟引脚和数字IO是复用的,是可以通过SFR的设置来完成配置。
问:C8051F020/022的p4-p7口和p0-p3口有什么不同?
答:P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7口是通用口,另外P4-P7寄存器不能位寻址。

关键字:c8051f  单片机  常见疑问 引用地址:关于使用c8051fxxx单片机用户常见疑问如下

上一篇:51单片机232多机通信
下一篇:51单片机交通灯程序以及仿真

推荐阅读最新更新时间:2024-03-16 14:37

单片机编程技巧--功能强大的时钟中断
在单片机程序设计中,设置一个好的时钟中断,将能使一个CPU发挥两个CPU的功效,大大方便和简化程序的编制,提高系统的效率与可操作性。我们可以把一些例行的及需要定时执行的程序放在时钟中断中,还可以利用时钟中断协助主程序完成定时、延时等操作。 下面以6MHz时钟的AT89C51系统为例,说明时钟中断的应用。 定时器初值与中断周期 时钟中断无需过于频繁,一般取20mS(50Hz)即可。如需要百分之一秒的时基信号,可取10mS(100Hz)。这里取20mS,用定时器T0工作于16位定时器方式(方式1)。T0的工作方式为:每过一个机器周期自动加1,当计满0FFFFh,要溢出时,便会产生中断,并由硬件设置相应的标志位供软件查询。即中断
[单片机]
8051单片机波特率计算公式(配套C语言例程)
8051单片机使用定时器1工作在方式2的情况下作为串口波特率发生器,其波特率=(2smod /32)×(定时器T1溢出率),其中smod是PCON 7 ,表示是否波特率加倍,Fsoc是系统的晶振大小。 波特率公式中:T1溢出率=溢出周期的倒数;溢出周期=(256-TH1)×12/Fosc; 最终公式: 波特率:Baud=(2smod × Fsoc)/(32 ×12×(256-TH1)) 我们一般不太关注波特率的计算,而是关心选用的传输速度(波特率)去反算定时器1(自动重装模式)的初值(TH1),所以将上面的公式导一下,得到TH1的公式: TH1=256-(Fsoc×2smod)/(12×32×Baud) 下面针对
[单片机]
采用stc89c52单片机的电磁阀控制程序
下面是一个用stc89c52 单片机 对电磁阀进行一些简单控制的程序 #include reg52.h sbit a=P1^0;//下开关 sbit b=P1^1;//上升 sbit c=P1^2;//下降 sbit d=P1^3;//上线位 sbit e=P1^4;//下限位 void main() { a=1;// 上开关 常开 b=1;// 上升 常开 c=1;// 下降 常开 d=1;// 上限位开关 常开 e=1;// 下限位开关 常开 while(1) //循环 { if(a==0) // 判定上开关闭合 执行语句 { a=1; //断开开关信号 依旧执行 下降 直到碰到下限位开关 c
[单片机]
用Proteus学习51单片机之I2C(IIC)总线
在学习单片机的过程中,我常有这样的烦恼:随随便便一个芯片,少则占用三五个IO口,一般的就占用8个,稍微想用多一点芯片吧,老觉得IO口不够用。学串口的时候觉得串口是个好东西,连两条线就够了,现在学到I2C,觉得这也是一个非常好的东西,也是两条线,还能给每个总线上的设备设立地址,简直就是一个小网络了。 I2C总线使用两条线,一条是时钟线,称为SCL,一条是数据线,称为SDA,各个设备就并在总线上,每一个总线上的设备都有一个自己的地址,主机在操作设备的时候,都会先发送一个地址码,告诉被操作机,接下来的命令由它接收。 接下来说一下I2C总线的数据有效性。I2C总线进行数据传送时,要求SCL为高电平时,SDA上的数据必需保持稳定,换言之,当
[单片机]
用Proteus学习51<font color='red'>单片机</font>之I2C(IIC)总线
信息纽扣DS1991在单片机系统中的应用
摘要:Dallas公司的iButton产品是一系列1-wire总线新型器件。DS1991是一种加密存储器型信息纽扣,封装于直径为16mm的不锈钢外壳中,体积小巧,便于携带、保存,防尘、防腐蚀,可以在恶劣的应用环境中实现带密码保护的数据传送。本文介绍DS1991的特点、工作原理及其带密码保护存储器区的读写方法。 关键词:iButton信息纽扣 1-Wire总线 单片机 DS1991是Dallas公司的1-wire总线信息纽扣家庭中的一员,是一种加密存储器型信息纽扣。它内部集成了1Kbit是非易失性存储器及加密保护逻辑,封装于直径为16mm、厚约6mm的不锈钢外壳中,何种小巧、操作便捷,防潮、抗震、防灰尘,可在恶劣的环境中实现带
[单片机]
一种永磁无刷直流电机的微控制器C504
  一、 概述   无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。永磁无刷直流电机(Permanent Magnet Brushless DC Motor以下简称PMBLDC)由于其固有的特点,在家用消费类产品和IT周边产品中得到广泛的应用。永磁无刷直流电机性能的发挥,除电机本身的设计以外,还要靠驱动技术和实现这一驱动技术的驱动板来保证。永磁无刷直流电机的驱动板的核心器件应是带多路(6路以上)PWM输出的嵌入式微控制器。由于目前国内对INTEL MCS-51系列单片机的应用有了广泛基础,我们选用了完全采用8031核,最高时钟频率可达40MHz的Infineon C504 嵌入式微控制器。   二、 C504
[单片机]
一种永磁无刷直流电机的<font color='red'>微控制器</font>C504
一个简易的51单片机串口接收和发送程序
/********************* 程序功能:接收上位机发过来的一个字符串,然后把该字符串发送给上位机, 字符串必须以!结尾 **********************/ #include reg52.h #define uchar unsigned char #define uint unsigned int sbit LED = P2^7; uchar flag = 0; uchar index = 0; uchar data c ; void Delay_ms(uint n) { uchar i; while(n--) for(i = 0;i 120;i++); } void Send_strin
[单片机]
基于C8051F410单片机实现集装箱的安全监测装置与系统设计
引言 随着当前物流行业的快速发展。作为物流主要运输方式的集装箱运输.其运输效率及货运安全性日益受到人们关注。近几年来,随着RFID技术的发展和推广,将RFID技术用于集装箱信息识别.实现集装箱运输的智能化已经成为各集装箱厂家竞相开发的目标。RFID技术是一种利用射频通信方法实现的非接触式、快速、实时和准确的采集与处理信息的自动射频识别技术。目前集装箱运输上对RFlD技术的应用仅仅限于利用阅读器射频信道识别电子标签内集装箱信息.并有实现其运输安全上的保证。本文设计了一种基于C8051F410单片机的双频固定式阅读器。该阅读器与智能集装箱安全设备及路标设备配合实用.不仅能快速识别集装箱信息,而且能监测集装箱内货物的安全。一旦集装箱被非
[单片机]
基于<font color='red'>C8051F</font>410<font color='red'>单片机</font>实现集装箱的安全监测装置与系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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