MC908GP32单片机(mc908gp32单片机用什么编程)
MC908GP32单片机
本文内容来自于互联网,分享MC908GP32单片机(mc908gp32单片机用什么编程)
·性能概述 | Top |
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语言。
·内部结构简图 | Top |
单片机(以下简称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和系统设置模块。
·引脚功能 | Top |
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脚):片内振荡器引脚。
·GP32存储器组织 | Top |
CPU08 可寻址64K地址空间,所以它的地址范围是$0000~$FFFF,在这$0000~$FFFF的寻址范围内,分成多个不同区段,每个区段的作用不同。 MC908GP32单片机的存储器组织及地址分配见图。图中只是画出了64K地址空间的简要映像。
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那样直接通过其“名”来使用它,而是通过它们对应的地址来使用它们。要通过其“名”来使用它们,必须用伪指令定义它们所占用的实际地址与“名”对应。