posts - 25, comments - 7, trackbacks - 0, articles - 0

转点 8051F的 文章

Posted on 2007-09-18 21:05 谢龙飞 阅读(1321) 评论(1)  编辑 收藏 引用

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

 

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:如果ADC0ADC1DAC都使用内部参考,将VREF连接到VREF0VREF1VREFD引脚,
   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单片机P1P2P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统8051单片机只有开漏输出)。
  片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(C8051F2XX系列除外,而传统8051单片机不具备这一功能)。

问:Silicon Lab 8051FXXX系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?
答:所有IO口允许5V(极限值为5.8V)输入,但是输出为VDD电平。如果与5V系统接口,最简单的方法是在输出端加上拉电阻,关键是上拉电阻的选择。具体参考应用笔记AN011"5V系统中使用C8051FXXX"
建议:如果可能,请尽量选用电压供电兼容的芯片,这是一种最理想的选择。

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

:C8051F020/022p4-p7口和p0-p3口有什么不同?
:P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7口是通用口,另外P4-P7寄存器不能位寻址。

Feedback

# re: 转点 8051F的 文章  回复  更多评论   

2008-07-19 16:48 by xaygc
不知用没用过休眠模式或停止模式啊,如何设置?

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理