电子钟毕业设计论文(6)

2019-03-16 22:10

3.SPCE061A输入/输出接口

输入/输出接口是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。μ’nSP内有并行和串行两种方式的I/O口。并行口线路成本较高,但是传输速率也很高;与并行口相比,串行口的传输速率较低但可以节省大量的线路成本。SPCE061A有两个16位通用的并行I/O口:A口和B口。这两个口的每一位都可通过编程单独定义成输入或输出口。A口的IOA0-IOA7用作输入口时具有唤醒功能,即具有输入电平变化引起CPU中断功能。在那些用电池供电、追求低能耗的应用场合,可以应用CPU的睡眠模式(通过软件设置)以降低功耗,需要时以按键来唤醒CPU,使其进入工作状态。

I/O 端口结构如图3.6所示,SPCE061A提供了位控制结构的I/O端口,每一位都可以被单独定义用于输入或输出数据。通常,对某一位的设定包括以下3个基本项:数据向量Data、属性向量Attribution和方向控制向量Direction。I/O端口组合控制设置如表3.3所列。3个端口内每个对应的位组合在一起,形成一个控制字,用来定义相应I/O口位的输入输出状态和方式。与其它的单片机相比,除了每个I/O端口可以单独定义其状态外,每个对应状态下的I/O端口性质电路都是内置的,在实际的电路中不需要再次外接。

图3.6 I/O 端口结构

方向 属性 数据 功能 是否带有唤醒功能 功能描述

0 0 0 下拉* 是** 带下拉电阻的输入管脚 0 0 1 上拉 是** 带上拉电阻的输入管脚 0 1 0 悬浮 是** 悬浮式输入管脚 0 1 1 悬浮 否 悬浮式输入管脚***

1 0 0 高电平输出 否 带数据反相器的高电平输出 1 0 1 低电平输出 否 带数据反相器的低电平输出 1 1 0 低电平输出 否 带数据缓存器的低电平输出 1 1 1 高电平输出 否 带数据缓存器的高电平输出 注

*:口位默认为带下拉电阻的输入管脚; **:只有当IOA [7-0]内位的控制字为000,001和010时, 相应位才具有唤醒的功能; ***:此种悬浮输入作为ADC IOA[6-0] 的输入。

表3.3 I/O端口的组合控制设置 P_IOA_Data(读/写)(7000H)

A口的数据单元,用于向A口写入或从A口读出数据。当A口处于输入状态时,读出是读A口管脚电平状态;写入是将数据写入A口的数

据寄存器。当A口处于输出状态时,写入输出数据到A口的数据寄存器。

P_IOA_Buffer (读/写) (7001H)

A口的数据向量单元,用于向数据向量寄存器写入或从该寄存器读出数据。当A口处于输入状态时,写入是将A口的数据向量写入A口的数据寄存器;读出则是从A口数据寄存器内读其数值。当A口处于输出状态时,写入输出数据到A口的数据寄存器。 P_IOB_Data(读/写)(7005H)

B口的数据单元,用于向B口写入或从B口读出数据。当B口处于输入状态时,读出是读B口管脚电平状态; 写入是将数据写入B口的数据寄存器。当B口处于输出状态时,写入输出数据到B口的数据寄存器。

P_IOB_Buffer(读/写)(7006H)

B口的数据向量单元,用于向数据寄存器写入或从该寄存器内读出数据。当B口处于输入状态时,写入是将数据写入B口的数据寄存器;读出则是从B口数据寄存器里读其数值。当B口处于输出状态时,写入数据到B口的数据寄存器。 4.SPCE061A时钟电路

SPCE061A 的系统时钟由时钟发生器(32768Hz晶振)、锁相环(PLL)和时间基准信号(RTC)组成。SPCE061A时钟电路的接线图如图3.7所示:

1.32768Hz的实时时钟经过PLL倍频电路产生系统时钟频率(Fosc),

Fosc再经过分频得到CPU时钟频率(CPUCLK)可通过对P_SystemClock(写)(7013H)单元编程来控制。默认的Fosc、CPUCLK分别为24.576MHz和Fosc/8。用户可以通过对P_SystemClock单元编程完成对系统时钟和CPU时钟频率的定义。

图3.7 SPCE061A时钟电路的接线图

32768Hz RTC振荡器有两种工作方式:强振模式和自动弱振模式。处于强振模式时,RTC振荡器始终运行在高耗能的状态下。处于自动弱振模式时,系统在上电复位后的前7.5s内处于强振模式,然后自动切换到弱振模式以降低功耗。CPU被唤醒后默认的时钟频率为Fosc/8,用户可以根据需要调整该值。CPU被唤醒后经过32个时钟周期的缓冲时间后再进行其它的操作,这样可以避免在系统被唤醒后造成ROM读取错误。

2.锁相环PLL (Phase Lock Loop)振荡器,PLL电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频,调整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。系统默认的PLL自激振荡频率为24.576MHz。

3.时间基准信号,简称时基信号,来自于32768Hz实时时钟,通过频率选择组合而成。时基信号发生器的选频逻辑TMB1为TimerA的时钟源B提供各种频率选择信号并为中断系统提供中断源(IRQ6)信号。此外,时基信号发生器还可以通过分频产生2Hz、4Hz、1024Hz、2048Hz以及4096Hz的时基信号,为中断系统提供各种实时中断源(IRQ4、IRQ5)

信号。

5.SPCE061A定时器/计数器

SPCE061A提供了两个16位的定时/计数器:TimerA和TimerB。TimerA为通用计数器;TimerB为多功能计数器。TimerA的时钟源由时钟源A和时钟源B进行“与”操作而形成;TimerB的时钟源仅为时钟源A。 定时器发生溢出后会产生一个溢出信号(TAOUT/TBOUT)。一方面,它会作为定时器中断信号传输给CPU中断系统;另一方面,它又会作为4位计数器计数的时钟源信号,输出一个具有4位可调的脉宽调制占空比输出信号APWMO或BPWMO(分别从IOB8 和IOB9输出),可用来控制马达或其它一些设备的速度。此外,定时器溢出信号还可以用于触发ADC输入的自动转换过程和DAC输出的数据锁存。

向定时器的P_TimerA_Data(读/写)(700AH)单元或P_TimerB_Data(读/写)(700C H)单元写入一个计数值N后,选择一个合适的时钟源,定时器/计数器将在所选的时钟频率下开始以递增方式计数N,N+1,N+2,?0xFFFE,0xFFFF。当计数达到0xFFFF后,定时器/计数器溢出,产生中断请求信号,被CPU响应后送入中断控制器进行处理。同时,N值将被重新载入定时器/计数器并重新开始计数。

通过写入P_TimerA_Ctrl(700BH)单元的第6-9位,可选择设置APWMO输出波形的脉宽占空比;同理,写入P_TimerB_Ctrl(700DH)单元的第6-9位,便可选择设置BPWMO输出波形的脉宽占空比。

时钟源A是高频时钟源,来自带锁相环的晶体振荡器输出Fosc;时钟源B的频率来自32768Hz实时时钟系统,也就是说,时钟源B可以作


电子钟毕业设计论文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:碳纤维加固规程

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

马上注册会员

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