1.3.2 LCD接口电路
该设计采用160×160像素LCD液晶显示器,R18是一个滑动变阻器可用于液晶显示器进行灰度的调节,LCD片选信号与处理器的P2.O引脚连接,图3为LCD显示的典型接口电路。
2 PDA系统功能的实现
完成硬件电路设计并调试通过后主要针对以下3方面的软件编程功能实现:
对硬件电路(CPU及主要外围电路)的初始化,NAND_FLASH驱动程序和LCD驱动程序的编写及实现。
2.1 系统的初始化
初始化硬件电路主要完成STR7lO各寄存器的配置及内存映射和中断向量配置、处理器与外芯片的初始化以及功能库函数加载等。其主要步骤是首先调用71x_init.s源文件完成CPU各寄存器的初始化配置后中断异常的处理实现及中断优先级设置、系统堆栈和变量的初始化最后完成初始化后使用BL语句跳转至MAIN功能函数:IMPORT main;B main;main为C语言主函数入口。初始化流程图如图4所示。
2.2 NAND_FLASH驱动程序
NAND_FLASH的驱动主要包括芯片的复位,ID的正确读取,块的擦除,和页的写入和读取几个操作。此外NAND_FLASH允许要2%的坏块,在编写驱动时要做好NANDFLASH的坏块的统计与管理,坏块的识别主要是读取块中第一页的第6字节的1个WORD是否为FF来判断块的好坏。为了便于统计坏块和存储管理须在调用NAND_FLASH内存管理函数时建立坏块统计表,系统不断使用会增加坏块的数量,在每次系统启动时都可以通过调用内存管理函数来更新坏块表实现对内存的最优管理以提高系统的性能。坏块管理流程如图5所示。
NAND_FLASH驱动主要步骤:
(1)向指令寄存器写入0xFF使芯片复位;