第2节 HC08系列单片机
推荐给好友
打印
加入收藏
更新于2008-07-25 21:25:57

 HC08系列单片机的基本结构大致相同,本节以MC908GP32单片机为例介绍其基本结构,其CPU介绍参见第3章HC08 CPU部分的内容。通过浏览内部结构简图,可以了解MC908GP32单片机的基本特性,目的是建立对HC08单片机的总体印象。引脚功能按分类进行介绍,通过对引脚功能的学习,加深对MC908GP32单片机功能的理解,为实际应用打下基础。

2.2.1 MC908GP32单片机的性能概述

MC908GP系列单片机是HC08系列单片机大家族中具有通用性的一族,MC908GP32是MC908GP系列中的一个型号,MC908GP32单片机具有三种封装形式,它们分别为40脚、42脚、44脚。MC908GP32单片机的主要特点概述如下:

①512B片内RAM;32K片内Flash程序存储器,具有在线编程能力和保密功能。

②时钟发生器模块,具有32KHz晶振PLL电路,可产生各种工作频率;8MHz内部总线频率。

③增强的HC05 CPU结构;16种寻址方式(比HC05多8种);16位变址寄存器和堆栈指针;存储器至存储器数据传送;快速8×8乘法指令;快速16/8除法指令;扩展的循环控制功能;BCD功能。

 ④33根通用I/O脚,包括26根多功能I/O脚和5或7根专用I/O脚;PTA、PTC和PTD的输入口有可选择的上拉电阻;PTC0—PTC4有15mA吸流和放流能力,其他口有10mA吸流和放流能力 (总体驱动电流应小于150mA);所有口有最高5mA输入电流保护功能。

⑤增强型串行通讯口SCI;串行外围接口SPI;两个16位双通道定时器接口模块(TIM1和TIM2),每个通道可选择为输入捕捉、输出比较和PWM,其时钟可分别选为内部时钟的1、2、4、8、16、32和64的分频值;带时钟预分频的定时基模块有8种周期性实时中断(1、4、16、256、512、1024、2048和4096Hz),可在STOP方式时使用外部32KHz晶振周期性唤醒CPU;8位键盘唤醒口。

 ⑥系统保护特性:计算机工作正常(COP)复位;低电压检测复位,可选为3V或5V操作;非法指令码检测复位;非法地址检测复位。

⑦具有PDIP40、SDIP42和QFP44封装形式。

 ⑧优化用于控制应用;优化支持C语言。

  2.2.2 内部结构简图与引脚功能

1.内部结构简图

单片机(以下简称GP32单片机)的三种封装形式只是引脚数量和形式有所区别,其它方面是一致的。图2-1给出了GP32的内部结构框图,它对于我们理解和应用GP32单片机有重要作用,在学习了基本应用方法后,我们应再反过来熟悉这个内部结构图,以便更好地理解GP32单片机的基本原理。图中I/O口是按44引脚的GP32给出的,对于42引脚的GP32单片机则没有PTC5、PTC6两个引脚,对于40引脚的GP32单片机则没有PTC5、PTC6及PTD6/T2CH0、PTD7/T2CH1四个引脚。

从内部结构简图可以看出,GP32内部有以下主要部分:CPU08、存储器、定时器接口模块、定时基模块、看门狗模块、通用I/O接口、串行通信接口SCI、串行外设接口SPI、断点模块、A/D转换模块、键盘中断模块、时钟发生模块及锁相环电路、低电压禁止模块、复位与中断模块、监控模块MON和系统设置模块

2.GP32单片机的引脚功能


图2-2(a)给出了40引脚的MC908GP32单片机的引脚图,引脚功能分类简介如下:
(1) 电源类引脚
VDD、VSS(20脚、19脚):电源供给端。
VDDAD /VREFH、VSSAD /VREFL(31脚、32脚):内部A/D转换器的电源供给及参考电压输入端。
VDDA、VSSA(1脚、2脚):时钟发生器模块(CGM)的电源供给端。
(2) 控制类引脚
(6脚):外部低有效复位输入或输出脚,有内部上拉电阻。
(14脚):外部中断输入脚,有内部上拉电阻。
(3) I/O类引脚
PTA7/KBD7~PTA0/KBD0(40~33脚):8位通用双向I/O口,每个可编程为键盘输入脚。
PTB7/AD7~PTB0/AD0(30~23脚):8位通用双向I/O口,也可作为8路8位A/D转换输入脚。
PTC4~PTC0(11~7脚):5位通用双向I/O口。
PTD5/T1CH1~PTD0/ (22、21、18~15脚):6种特殊功能、双向I/O口,其中T1CH1、T1CH0用于定时器模块(TIM1)。SPSCK、MOSI、MISO、 用于串行外围接口(SPI)。
PTE0/TxD、PTE1/RxD(12脚、13脚):2位双向I/O口或串行通讯口。
(4) 其它
CGMXFC(3脚):CGM的外部滤波电容连接脚。
OSC1、OSC2(5脚~4脚):片内振荡器引脚。

        

2.2.3 GP32最小系统 

上节讲述了以MC908GP32单片机为原型的HC08系列MCU的硬件结构,但仅有一个MCU(微控制器)是无法工作的,它必须与其他相应的外围电路一起,才能构成一个最小系统。如图2-3 所示,MC908GP32芯片(以40脚封装为例)最小系统的外围支撑电路包括电源与滤波电路、晶振电路和复位电路,其中各个部分的功能如下。

      

1.电源供给与滤波 

GP32芯片的20、19脚(VDD、VSS)为芯片的电源输入端,1、2脚(VDDA、VSSA)为内部PLL模块的电源供给。接在电源与地之间的0.1µF电容为滤波电容。PLL电路目的在于由频率小的外部晶振产生较大频率的内部总线时钟,提高芯片的抗干扰性。由于这部分内容涉及的编程内容很少,但原理较难理解,所以放入第14章介绍。这里只要知道GP32内有PLL电路就可以了,而且GP32内的PLL电路模块需要外接电源。在MCU的第3脚,接有内部PLL模块的外部滤波电路。滤波电路的作用主要是增强电路工作稳定性。

2.晶振电路

接MCU第4、5脚(OSC2、OSC1)之间的电路为晶振电路,这里选用的晶振频率为f=32.768KHz。通过内部PLL电路模块,可获得小于等于8MHz的内部总线频率。电路及其元件参数是由GP32参考手册确定的。实际开发中,嵌入式应用工程师往往根据参考手册提供的电路及参数,通过自己的实践,构筑MCU的外围支撑电路,而不深究其工作原理。

3.复位电路

接在MCU第6脚( )的电路为芯片硬件复位电路。正常工作时该脚通过10K电阻接到电源正极(这里设为5V电源供电),所以应为高电平。若按下复位按钮RST,则第6脚通过51Ω接地,为低电平,芯片复位。

2.2.4 GP32存储器组织

CPU08可寻址64K地址空间,所以它的地址范围是$0000~$FFFF,在这$0000~$FFFF的寻址范围内,分成多个不同区段,每个区段的作用不同。MC908GP32单片机的存储器组织及地址分配见图2-4。图中只是画出了64K地址空间的简要映像,各区段的含义和使用方法将逐步说明。作为开始,本节学习512字节RAM的使用方法($0040~$023F),了解64字节I/O寄存器区($0000~$003F)、控制及状态寄存器区($FE00~$FE0C)等相对应的寄存器名和简明含义,为后续章节的进一步学习建立初步印象。

1.RAM区域及其作用
用户RAM的地址范围是:$0040~$023F,共512字节。这个区域既是用户RAM,也是堆栈RAM。一般情况下,这个区域安排用户数据和堆栈空间。由于这个空间较小,必须合理安排初始堆栈指针SP和用户数据,更好地发挥RAM的作用。 在这个区域中,有192字节的RAM属于第0页,也就是地址的高8位为0,第0页RAM的地址范围是:$0040~$00FF,这个地址范围寻址方便,合理分配使用这些内存地址对实际编程很有帮助。

必须注意的是,由于堆栈也在RAM区域,且复位时SP=$00FF,位于第0页内,所以实际编程时,可以把SP从第0页移出,例如使之为$023F,也就是初始的SP在RAM的最高地址处,由于M68HC08系列单片机的进栈指令是使SP-1,所以是堆栈数据向低地址方向依次堆放,这样堆栈使用的地址空间是$023F→更低地址方向。安排用户数据时,可以从RAM的最低地址$0040向更高地址空间安排,即用户数据使用的地址空间是$0040→更高地址方向。这样从两头向中间使用,可以尽量避免两种数据交叠,发生错误。但是,用户数据不宜安排过多,要给堆栈留有足够的空间,否则运行时可能产生错误。若内存安排较满,必须精确计算堆栈最大可能深度,以保证程序的正常执行。

2.映像寄存器名及简明含义

所谓映像寄存器,是指那些通过存储器地址访问的寄存器,它们不像寄存器A、H:X、SP、PC、CCR那样直接通过其“名”来使用它,而是通过它们对应的地址来使用它们。要通过其“名”来使用它们,必须用伪指令定义它们所占用的实际地址与“名”对应。附录C.1给出了映像寄存器简明列表

 

     

   

 

 




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.