造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

MC908GP32单片机存储寄存器

2018/06/1978 作者:佚名
导读: 在MC908GP32单片机中,与Flash编程有关的寄存器有2个,它们是Flash控制寄存器(FLCR)和Flash块保护寄存器(FLBPR)。对应的地址分别为$FE08和$FF7E,下面分别阐述这些寄存器的功能及用法。 Flash控制寄存器 FLCR的地址:$FE08,定义为:数据位 D7 D6 D5 D4 D3 D2 D1 D0定义 未定义 未定义 未定义 未定义 HVE

在MC908GP32单片机中,与Flash编程有关的寄存器有2个,它们是Flash控制寄存器(FLCR)和Flash块保护寄存器(FLBPR)。对应的地址分别为$FE08和$FF7E,下面分别阐述这些寄存器的功能及用法。

Flash控制寄存器

FLCR的地址:$FE08,定义为:

数据位 D7 D6 D5 D4 D3 D2 D1 D0

定义 未定义 未定义 未定义 未定义 HVEN MASS ERASE PGM

复位 0 0 0 0 0 0 0 0

D7~D4位:未定义。

D3 - HVEN位:高压允许位(High-Voltage Enable Bit)。 HVEN=1,打开电荷泵并将高电平加到Flash阵列上;HVEN=0,撤除Flash阵列上的高电平并关闭电荷泵。当PGM=1或ERASE=1时,可以通过设置HVEN将来自片内电荷泵的高压加到Flash阵列上。

D2 - MASS位:整体擦除控制位(Mass Erase Control Bit)。该位在ERASE=1时有效,用于选择Flash擦除操作方式:整体擦除或页擦除。MASS=1,选择整体擦除方式;MASS=0,选择页擦除方式。

D1 - ERASE位:擦除控制位(Erase Control Bit)。该位用于设置Flash编程操作为擦除操作。ERASE位与PGM位之间存在互锁关系,无法同时被设置为1。ERASE=1,选择擦除操作;ERASE=0,不选择擦除操作。

D0 - PGM位:编程(写入)控制位(Program Control Bit)。该位用于设置Flash编程操作为编程(写入)操作,且无法与ERASE位同时为1。PGM=1,选择写入操作;PGM=0,不选择写入操作。

Flash块保护寄存器

FLBPR的地址:$FF7E,它的内容为Flash保护区域的起始地址的14~7位,保护区域的起始地址的最高位始终为1,而保护区域的起始地址的低7位(位6~0)始终为0。对FLBPR写入,可以设定被保护的Flash区域,它本身也是一个Flash字节。当Flash处于保护状态时,擦除和写入操作都是受限制的,HVEN将无法被正常置起。Flash块保护寄存器设定的只是保护区域的起始地址,保护区域的结束地址始终为Flash存储区的结束地址($FFFF)。例如,设定FLBPR的值为$02(%0000 0010),则保护区域为$8100~$FFFF(%1000 0001 0000 0000 ~ %1111 1111 1111 1111)。

特别情况是:FLBPR的存储内容为$00,整个Flash存储区都受到保护;如果FLBPR的存储内容为$FF,则整个Flash存储区都可以被擦除或写入。

只有当单片机处于运行用户程序时,对FLBPR本身和Flash保护区域的擦写操作保护才是有效的。复位不影响FLBPR。

需要注意的是,FLBPR的8位数据所代表的地址取决于具体型号的芯片的Flash容量。以上是对MC908GP32而言的,FLBPR设定的是16位起始地址的第14~7位(第15位恒为1);而对MC68HC908JL3而言,它们设定的是16位起始地址的第12~5位(第15~13位恒为1)。这两种情况见表13-1。具体设定时可以根据相应芯片手册结合要保护的区域进行计算得到。

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读