LabVIEW与物联网:分布式家庭智能监控系统的代码保护与闪存操作

需积分: 49 20 下载量 37 浏览量 更新于2024-08-08 收藏 9.25MB PDF 举报
"这篇文档详细介绍了在代码保护期间如何操作基于PIC微控制器的闪存程序存储器,特别是涉及到了程序的写入过程和相关的寄存器设置。文档以PIC18F66K80系列微控制器为例,该系列采用nanoWatt XLP技术,并具有增强型闪存功能。" 在代码保护期间操作闪存程序存储器的过程至关重要,因为它确保了程序代码的安全性和完整性。在标题提到的"基于labview和物联网的分布式家庭智能监控系统"中,这种保护措施可能是为了防止未经授权的访问或修改嵌入式系统的固件。 首先,我们需要了解几个关键寄存器的作用: 1. **EECON1**:这是一个重要的控制寄存器,用于控制闪存和EEPROM的操作。例如,设置EECON1的EEPGD位可以指向Flash程序存储器,CFGS位用于访问配置或数据存储区。WREN位用于启用内存写入,WR位启动编程操作,WRERR位指示写错误,RD位则用于启动读取操作。 2. **EECON2**:虽然这个寄存器实际上不存在,但在编程过程中,需要连续写入55h和0AAh来启动编程序列。 3. **TBLPTR**系列寄存器:TBLPTRU、TBPLTRH和TBLPTRL共同构成了程序存储器的表指针,用于指定要访问的位置。 编程过程如下: 1. 设置EECON1寄存器,使能写操作(BSF EECON1, WREN)。 2. 关闭中断(BCF INTCON, GIE),以防编程过程中被中断。 3. 连续写入55h和0AAh到EECON2寄存器,这是编程操作的必要步骤。 4. 触发编程操作(BSF EECON1, WR)。 5. 重新开启中断(BSF INTCON, GIE)。 6. 禁止写操作(BCF EECON1, WREN)以保护闪存。 此外,文档还提到了一些中断和事件标志寄存器,如INTCON,它们在微控制器的中断管理中起到关键作用。INTCON中的GIE位用于全局中断使能,其他位如TMR0IF、INT0IF等则表示不同中断源的状态。 在基于PIC的物联网系统中,这样的操作对于确保固件的安全更新和防止恶意篡改至关重要。通过精确控制这些寄存器和执行严格的编程序列,开发者可以确保代码保护的有效性,从而保护智能家庭监控系统的正常运行和数据安全。