Silicon Lahoratories公司的C8051F12X是与8051兼容,采用高速流水线工作方式,70%指令的执行时间为1个或2个系统时钟周期的高速集成混合信号SoC微控制器。 片内调试电路提供全速、非侵入式的在片/在系统调试,支持断点、单步、观察点、堆栈监视器,可以观察/修改存储器和寄存器;使用内部集成PLL,时速度可达100MIPS或50MIPS;对于需要大量常量代码而又不想外扩ROM的系统设计,128KB的Flash是个很好的选择。 1 处理大量常量代码面临的困难 通常带中文液晶显示的系统采用的是不带中文字库的图形液晶显示模块,需要给点阵字库分配存储空间。常 C8051F12X是一款高性能的微控制器,由Silicon Laboratories公司生产,它兼容8051架构并采用高速流水线技术,能够以1或2个系统时钟周期执行70%的指令,最大工作频率可达100MIPS或50MIPS。该芯片内置了丰富的调试功能,如全速在片/在系统调试、断点、单步执行、观察点以及堆栈监视器,允许开发者便捷地观察和修改存储器和寄存器。此外,它拥有128KB的Flash内存,对于那些需要大量常量代码但又不想增加外部ROM的系统设计而言,这是一个非常理想的解决方案。 在处理大量常量代码时,面临的主要挑战是如何有效地存储和访问这些数据。例如,对于带有中文液晶显示的系统,通常需要存储点阵字库,16x16点阵的汉字占用32字节空间。标准的51系列MCU仅能直接访问64KB的程序空间,如果使用BANK技术扩展,会增加设计复杂度,并需要额外的I/O口作为BANK选择控制。另外,即使将字库烧录到外部Flash中,受限于51MCU的数据空间(也是64KB),也无法存储超过2048个汉字。然而,C8051F12X的8KB片上RAM和128KB Flash内存,使得无需外部扩展即可实现大容量的中文液晶显示字库。 在编程工具方面,KEIL C51是广泛使用的51系列MCU编译器。如果程序和常量代码总和小于64KB,可以直接在KEIL UV2环境下对C8051F12X进行编译和调试。然而,当代码量超过64KB时,就需要使用BANK编译技术。默认情况下,常量被分配到低32KB的COMMON区,而这个区域还需存放中断处理代码,因此需要特殊方法来将点阵字库常量分配到特定的BANK。 解决这个问题的一种策略是利用Silicon Laboratories的集成开发环境,该环境支持C8051F12X的4个BANK编程。通过将点阵字库或其他常量转换为HEX格式文件,可以直接将常量代码放入任意BANK。例如,如果有3200个汉字的点阵字库,需要102400字节空间,可以将BANK1和BANK2用于存储点阵,BANK3存放剩余部分,剩余的汉字则放在BANK0的高端。生成HEX文件可以通过ASM的DB定义、C51的数组定义,或者编写独立的PC程序来完成。ASM的DB定义方法因不需要额外的编译参数调整,相对更为灵活。 C8051F12X的高性能和大容量Flash内存为处理大量常量代码提供了便利。通过理解芯片的特性,合理分配存储空间,并灵活运用编程和编译技巧,可以实现高效且节省资源的系统设计。在实际应用中,开发者需要根据项目的具体需求,选择合适的编译方法和代码组织策略,确保程序的稳定性和效率。
- 粉丝: 6
- 资源: 934
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助