微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51手记之C8051F

51手记之C8051F

时间:11-10 来源:互联网 点击:

XBR0、XBR1、XBR2)。

e.使能交叉开关(XBARE = 1)。
所有端口引脚都必须被配置为模拟或数字输入。被用作比较器或ADC输入的任何引脚都应被配置为模拟输入。为使端口P0、P1、P2和P3工作在标准端口I/O输出方式,交叉开关必须被使能。当交叉开关被禁止时,端口输出驱动器被禁止。端口4总是作为标准GPIO使用。

未被交叉开关分配的端口引脚和未被模拟外设使用的端口引脚都可以作为通用I/O。通过对应的端口数据寄存器访问端口P3-0,这些寄存器既可以按位寻址也可以按字节寻址。端口P4(仅C8051F340/1/4/5)使用的SFR只能按字节寻址。
4.中断系统

支持16个中断源,每个中断源有两个优先级。中断源在片内外设与外部输入引脚之间的分配随器件的不同而变化。

两个外部中断源/INT0和/INT1可被配置为低电平有效或高电平有效,边沿触发或电平触发。IT01CF寄存器中的IN0PL(/INT0极性)和IN1PL(/INT1极性)位用于选择高电平有效还是低电平有效;TCON中的IT0和IT1用于选择电平或边沿触发。

在FLASH写/擦除操作期间和USB FIFO MOVX访问期间,CPU暂停执行指令。对于在CPU暂停执行指令期间发生的中断,中断服务响应时间将延长。

5.定时器

内部有4个16位计数器/定时器:其中两个与标准8051中的计数器/定时器兼容,另外两个是16位自动重装载定时器,可用于ADC、SMBus、USB(帧测量)、低频振荡器(周期测量)或作为通用定时器使用。这些定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。

定时器0和定时器1有5个可选择的时钟源,定时器2和定时器3可以使用系统时钟、系统时钟/12或外部振荡器时钟/8作为时钟源。

定时器2,3可以工作在16位自动重装载方式、8位自动重装载方式(两个8位定时器)、USB帧起始(SOF)捕捉方式或低频振荡器(LFO)下降沿捕捉方式。当T2SPLIT =‘0’且T2SOF =‘0’时,定时器2工作在自动重装载的16位定时器方式:

当T2SPLIT =‘1’且T2SOF =‘0’时,定时器2工作双8位定时器方式。两个8位定时器TMR2H和TMR2L都工作在自动重装载方式。TMR2RLL保持TMR2L的重载值,而TMR2RLH保持TMR2H的重载值。TMR2CN中的TR2是TMR2H的运行控制位。当定时器2被配置为8位方式时,TMR2L总是处于运行状态。

TF2H和TF2L标志不能被硬件自动清除,必须通过软件清除。

当T2CE =‘1’时,定时器2工作在两种特殊捕捉方式之一。捕捉事件可以是USB帧起始(SOF)捕捉或低频振荡器(LFO)下降沿捕捉,用T2CSS位选择。

6.串行口

2个全双工串行口,UART0有2种工作方式:提供标准8051串行口的方式1和方式3。

UART0具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率,接收数据缓冲机制允许UART0在软件尚未读取前一个数据字节的情况下开始接收第二个输入数据字节。UART0波特率由定时器1工作在8位自动重装载方式产生。发送(TX)时钟由TL1产生;接收(RX)时钟由TL1的拷贝寄存器(RX定时器)产生,TX和RX定时器的溢出信号经过二分频后用于产生TX和RX波特率。定时器1的时钟可以在6个时钟源中选择:SYSCLK、SYSCLK/4、SYSCLK/12、SYSCLK/48、外部振荡器时钟/8和外部输入T1。

UART0的波特率=T1clk/(256-T1H)/2

多机通讯:所有从机的RX和TX分别并接到主机的TX和RX上,从机的MCE0位(SCON.5)被置‘1’,只有当UART接收到的第九位为逻辑‘1’ (RB80=1)并收到有效的停止位后UART才会产生中断。当主机要发送数据给一个或多个从机时,它先发送一个用于选择目标的地址字节(地址字节所有从机都接收,对应地址的从机收到该地址后,清MCE0,以便能接收数据)。地址字节与数据字节的区别是:地址字节的第9位为逻辑‘1’;数据字节的第9位总是设置为逻辑‘0’。

UART1包含一个由16位定时器和可编程预分频器构成的专用波特率发生器,能产生很宽范围的波特率。UART1数据传输以起始位(逻辑低电平)开始,其后是数据位(LSB在先),数据位之后是奇偶位或额外位(如果选择),最后是一个或两个停止位(逻辑高电平)。数据长度在5 ~ 8位之间。UART1的工作方式设置与标准51不同。多机通讯时,额外位与UART0的第9位功能类似。

UART1的波特率=Fosc/(65536-(SBRLH1:SBRLL1))/2/预分频值

7.增强型串行外设接口SPI0

增强型串行外设接口(SPI0)提供访问一个全双工同步串行总线的能力。SPI0可以作为主器件或从器件工作,可以使用3线或4线方式,并可在同一总线上支持多个主器件和从器件。

8.SMBus

SMBus I/O接

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top