基于C8051F330单片机系统设计入门(5)

2019-03-15 21:52

的步骤如下:

1. 使能外部振荡器。 2. 等待至少1ms。

3. 查询XTLVLD =>?1?。

4. 将系统时钟切换到外部振荡器。

图13.5 OSCXCN:外部振荡器控制寄存器

20

2.3.4 系统时钟选择

寄存器CLKSEL中的SEL1-0位选择用作系统时钟的振荡器。当选择内部振荡器作为系统时钟时,外部振荡器仍然可以给外设(定时器、PCA)提供时钟。系统时钟可以在内部振荡器和外部振荡器之间自由切换,只要所选择的振荡器被使能并稳定运行。内部振荡器的起动时间很短,因此可以在同一个OSCICN写操作中使能和选择内部振荡器。外部晶体和陶瓷谐振器通常需要较长的起动时间,应待其稳定后方可用作系统时钟。当外部振荡器稳定后,晶体有效标志(寄存器OSCXCN中的XTLVLD)被硬件置?1?。在晶体方式,为了防止读到假XTLVLD标志,软件在使能外部振荡器和检查XTLVLD之间至少应延时1ms。RC和C方式通常不需要起动时间。

图13.6 CLKSEL:时钟选择寄存器

2.4 I/O端口和交叉开关特点及配置

数字和模拟资源可以通过17个I/O引脚使用。端口引脚被组织为两个8位口和一个1位口。每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P0.0 ~ P1.7 可以被分配给内部数字资源,如图14.3所示。设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。注意,不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。交叉开关根据优先权译码表(图14.3和图14.4)为所选择的内部数字资源分配I/O引脚。寄存器XBR0和XBR1(见图14.5 – 14.6)用于选择内部数字功能。所有端口I/O都耐5V电压(端口I/O单元示于图14.2)。端口I/O单元可以被配置为漏极开路或推挽方式(在端口输出方式寄存器PnMDOUT中设置,n = 0,1)。表14.1给出了端口I/O的电气特性。

表14.1 端口I/O 直流电气特性

VDD = 2.7V – 3.6V, -40℃到+85℃(除非特别说明)。 条件 最小值 典型值 最大值 单位 I= -10μA,端口I/O为推挽方式 VDD-0.1 OH VDD-0.7 输出高电压(V) I= -3mA,端口I/O为推挽方式 V OHOH I= -10mA,端口I/O为推挽方式 VDD-0.8 OH I= 10μA 0.1 OL 0.6 输出低电压(V) IOL= 8.5mA V OL 1.0 I= 25mA OL参数 21

输入高电压(V) IH 弱上拉禁止 弱上拉使能,V= 0 V IN2.0 25 V 输入低电压(V) IL0.8 V ±1 50 μA 输入漏电流

图14.1 端口I/O功能框图

2.4.1 优先权交叉开关译码器

优先权交叉开关译码器(图14.3)为每个I/O功能分配优先权,从优先权最高的UART0开始。当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源(UART0总是使用引脚4和5)。如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将跳过该引脚。此外,交叉开关还将跳过在PnSKIP寄存器中被置?1?的那些位所对应的引脚。PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚。

22

注意:如果一个端口引脚被一个外设使用而不经过交叉开关,则该引脚在PnSKIP寄

存器中的对应位应被置‘1’。这种情况适用于:

? P0.0(如果使用VREF);

? P0.3和/或P0.2(如果外部振荡器电路被使能);

? P0.6(如果ADC或IDAC被配置为使用外部转换启动信号CNVSTR); ? 任何被选择的ADC或比较器输入。

交叉开关跳过那些已经被分配的引脚,移向下一个未被分配的引脚。图14.3示出没有引脚被跳过(P0SKIP, P1SKIP = 0x00)的优先权交叉开关译码表;图14.4给出了XTAL1(P0.2)脚和XTAL2(P0.3)脚被跳过情况下(P0SKIP = 0x0C)的交叉开关优先权译码表。

图14.3 没有引脚被跳过的交叉开关优先权译码表

23

图14.4 晶体引脚被跳过的交叉开关优先权译码表

寄存器XBR0和XBR1用于为数字I/O资源分配物理I/O引脚。注意,当SMBus被选择时,交叉开关将为其分配两个引脚(SDA和SCL)。当UART被选择时,交叉开关也为其分配两个引脚(TX和RX)。UART0的引脚分配是固定的(这是出于引导装入的目的): UART TX0总是被分配到P0.4;UART RX0总是被分配到P0.5。在优先功能被分配之后,标准端口I/O是连续的。

注意:SPI 可以工作在三线或四线方式,由 SPI0CN 寄存器中的 NSSMD1-NSSMD0 位指 定。根据 SPI 方式,NSS 信号可以连到端口引脚,也可以不连到端口引脚。

图14.10 P0SKIP:端口0跳过寄存器

24


基于C8051F330单片机系统设计入门(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Twido与ATV312的Modbus串行通讯(DO控制命令Modbus给定速度)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: