编辑: kr9梯 | 2019-07-09 |
程序存储器采用8MB大小的NORFLASH,分两个区,第一个分区存储BOOT代码、内核映像和文件系统,第二个分区可以用来存储数据.为了满足存储大数据的需要,本设计还实现了可插拔式NAND存储器,将数据存储模块与系统主板分离. (4)通讯模块:W90P710支持3个串口,用户可接扫描枪、VFD模块、调试口及Bluetooth模块等,W90P710内建了一个MAC,只需外加PHY即可组建成一个10/100Mbps的网口,同时内建usb host和usb device控制器,usb device可以模拟串口使用. (5) 显示模块: W90P710内建高分辨率的TFT、STN LCD 控制器[1],支持8位LCD 模块,192x64点,支持简单的图形界面,包括菜单,滚动条等.通过SPI接口支持VFD模块显示. (6)键盘:支持16键的矩阵键盘和ps2键盘. 第3章 硬件电路设计及简要描述 3.1 W90P710原理结构框图及简要说明 华邦的W90P710采用 ARM®
的ARM7TDMI微处理器核心,采用 0.18um制程生产,标准操作频率可达 80MHz,并采用 176-Pin/128-Pin LQPF封装,具有省电与低成本的优势. W90P710内建的 4KBytes I-Cache与4KBytes D-Cache,也可以随产品开发人员的需求,设定为On-Chip RAM. W90P710整合具高度弹性的 EBI (External Bus Interface) 接口,可透过 EBI接取 ROM 、 Flash、 SDRAM、 PCMCIA Card等各种 I/O组件. W90P710 更为显示屏幕支持了高分辨率的 TFT、 STN LCD controller. 除了 USB 与EBI, W90P710也留有四组 UART界面,可以让客户设计各种应用时,连接更多设备,比如条形码扫瞄仪、 VFD模块、调试口及 Bluetooth®
模块等等. 在系统整合上, W90P710 除了 POS (Point-Of-Sale) 运用外,也适用于数据采集器 (data collector)、电子相框等需要用到 LCD display的产品. 第4章LCD上显示日期与时间程序 4.1 程序流程图及流程描述 4.2在LCD上显示日期与时间程序源代码 Main.c函数: #include #include "710defs.h" #include "HB_it.h" #include "main.h" #include "lcd_pattern.h" U32 temp = 0;
U32 i = 0x3c0;
U32 KEYNUM=0;
int main(void) { LCD_IMAGE_T LCD_Size;
LCD_LOCATION_T LCD_Location;
LCD_Size.width = 480;
LCD_Size.height = 240;
LCD_Location.StartX = 0;
LCD_Location.StartY = 0;
LCD_Location.EndX = 960;
LCD_Location.EndY = 240;
KPIInit();
hanzi();
timer();
LCDInit();
LCDShow(LCD_Size, LCD_Location);
LCDFIFOBufferSet(image_NEU);
temp = (U32)image_NEU;
LCDDisplayOn();
Timer0Init();
Timer0On();
Timer0Off();
REG_LCD_F1SADDR = temp;
while(1) { } return 0;
} void hanzi(void) { U8 wchar[]= "欢迎使用华邦试验嵌入式系统显示";
U8 time[]= "电子一班暑期课程设计张云山制作";
LCD_IMAGE_T LCD_Size;
LCD_LOCATION_T LCD_Location;
LCDShowParameter LSP;
LCDShowParameter LP;
LCD_Size.width = 480;
LCD_Size.height = 240;
LCD_Location.StartX = 0;
LCD_Location.StartY = 0;
LCD_Location.EndX = 960;
LCD_Location.EndY = 240;
LCDInit();
LCDShow(LCD_Size, LCD_Location);
LCDFIFOBufferSet(BlackBoard);
LCDDisplayOn();
LSP.StartX = 8;
LSP.StartY = 7;
LSP.LibPlace = 0x400000;
LSP.Color = 0x07ff;
LSP.LetterChar = wchar;
LSP.LCDBuffer = BlackBoard;
LP.StartX = 10;
LP.StartY = 9;
LP.LibPlace = 0x400000;
LP.Color = 0x07ff;
LP.LetterChar =time;
LP.LCDBuffer = BlackBoard;
LCDOutputShow(LSP,15);
LCDOutputShow(LP,15);
} * Function Name : LCDInit * Description : LCD初始化 * Input : None * Output : None * Return : None void LCDInit(void) { REG_GPIO_CFG6 = 0x555555;