- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲SPCE061A单片机硬件结构2007
第三讲 SPCE061A单片机硬件结构 张秦艳 2.1 μ’nSP?的内核结构 μ’nSP?的内核组成 总线 算术逻辑运算单元 寄存器组 中断系统 堆栈 2.1.1 算术逻辑运算单元ALU 16位基本的算术逻辑运算 带移位操作的16位算术逻辑运算 16位×16位的乘法运算Mul,12个时钟周期 内积运算Muls,10n+6个时钟周期(n为乘积求和的项数) 2.1.2 寄存器组 8个16位寄存器 通用型寄存器:R1~R4 专用型寄存器: 堆栈指针寄存器SP 基址指针寄存器BP:[BP+IM6] 段寄存器SR 程序计数器PC 段寄存器SR 代码段选择字段CS: SR中B5~B0 数据段选择字段DS:SR中BIT15~BIT10 标志位NZSC: SR中BIT6~BIT9 进位标志C 零标志Z 负标志N 符号标志S 2.2 SPCE061A片内存储器结构 2.3 SPCE061A 输入/输出接口 SPCE061A有两个16位通用的并行I/O口:A口和B口 每一位都可通过编程单独定义成输入或输出口 A口的IOA0~IOA7用作输入口时具有唤醒功能 表2.1 I/O端口的组合控制设置 I/O 端口结构 P_IOA_Data (读/写)(7000H):A口的数据单元 P_IOA_Buffer (读/写)(7001H): A口的数据向量单元 P_IOA_Dir(读/写)(7002H):A口的方向向量单元, ‘0’为输入,‘1’为输出。 P_IOA_Attrib(读/写)(7003H):A口的属性向量单元 P_IOA_Latch(读)(7004H) :锁存A口上的输入数据,用于进入睡眠状态前的触键唤醒功能的启动(参见睡眠/唤醒部分)。 例1 并行I/O口的组合控制 P_IOB_Data(读/写)(7005H) P_IOB_Buffer(读/写)(7006H) P_IOB_Dir(读/写)(7007H) P_IOB_Attrib(读/写)(7008H) B口的特殊功能 P_FeedBack(写)(7009H)的设置 例2 //将IOB4设置成悬浮式输入口,IOB2设置成反向输出口 R1=0x0004; [P_IOB_Dir]=R1; R1=00F0; [P_IOB_Attrib]=R1; [P_IOB_Data]=R1; //写入P_Feedback口,设定IOB2,IOB4为特殊功能口 R1=0x0004; [P_Feedback]=R1; 2.4 时钟电路 μ’nSP?时钟电路采用晶体振荡器电路。 图2.9为SPCE061A时钟电路的接线图。 外接晶振采用32768Hz。 推荐使用外接32768Hz晶振,因阻容振荡的电路时钟不如外接晶振准确。 32768Hz实时时钟通常用于钟表、实时时钟延时以及其它与时间相关类产品。 SPCE061A通过对32768Hz实时时钟源分频而提供了多种实时时钟中断源。 例如,用作唤醒源的中断源IRQ5_2Hz,表示系统每隔0.5秒被唤醒一次,由此可作为精确的计时基准。 除此之外,SPCE061A 还支持RTC振荡器强振模式/自动模式的转换(参考系统时钟部分)。 2.5 锁相环PLL (Phase Lock Loop)振荡器 PLL电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频,调整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。 系统默认的PLL自激振荡频率为24.576MHz。 2.6 系统时钟 32768Hz RTC振荡器有两种工作方式: 强振模式 RTC振荡器始终运行在高耗能的状态下。 自动弱振模式 系统在上电复位后的前7.5s内处于强振模式,然后自动切换到弱振模式以降低功耗。 CPU被唤醒后默认的时钟频率为Fosc/8,用户可以根据需要调整该值。 CPU被唤醒后经过32个时钟周期的缓冲时间后再进行其它的操作,这样可以避免在系统被唤醒后造成ROM读取错误。 2.8 定时器/计数器 SPCE061A提供了两个16位的定时/计数器:TimerA和TimerB。 定时器/计数器用途 定时器发生溢出后会产生一个溢出信号(TAOUT/TBOUT)。 它会作为定时器中断信号传输给CPU中断系统; 它又会作为4位计数器计数的时钟源信号,输出一个具有4位可调的脉宽调制占空比输出信号APWMO或BPWMO(分别从IOB8 和IOB9输出),可用来控制马达或其它一些设备的速度。 定时器溢出信号还可以用于触发ADC输入的自动转换过程和DAC输出的数据锁存。 定时器/计数器A P_TimerA_Data(读/写)(700AH) 设时钟源频率为fosc/2,计数初值为X,计数次数为Y
文档评论(0)