开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf

上传人:来看看 文档编号:3581941 上传时间:2019-09-13 格式:PDF 页数:50 大小:1.59MB
返回 下载 相关 举报
开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf_第1页
第1页 / 共50页
开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf_第2页
第2页 / 共50页
开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf_第3页
第3页 / 共50页
开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf_第4页
第4页 / 共50页
开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf》由会员分享,可在线阅读,更多相关《开发板智林测控技术研究所嵌入式ARMZ213X-4X开发板手册.pdf(50页珍藏版)》请在三一文库上搜索。

1、 Z213X/4X 开发板 智林测控技术研究所 版本 1.0 深入浅出的讲解,带您轻松进入嵌入式开发的大门 Simbba 2006121 Z213X/4X 开发板 智林测控技术研究所 12. 1 2 Z213X/4X 开发板 智林测控技术研究所 2006 3 前言 智林测控的Z213X/4X开发板是为了初学者设计的一款入门级开发板,考虑到趣味和实用, 板上带有一块彩色液晶屏,可以更方便地观察试验数据. 在介绍片上接口资源时,不是单纯的理论讲解,而是边做边学,把理论融入实践,使读者了 解 NXP 的 ARM 芯片的核心以及各种片上资源. 嵌入式系统是一个软硬件紧密结合的系统,研发嵌入式系统

2、需要广泛的软硬件知识,嵌入 式开发是实践性很强的领域,除了理论,必须不断实践.我们愿意和大家分享我们的甘苦. 什么是嵌入式系统? 一般来说,嵌入式系统是“执行专用功能并被内部计算机控制的设备或者系统.嵌入式系 统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用 户很难或者不可能改变固件.” 有技术概念的人,理解上面的定义应该没有问题,但是对非技术领域的人们来说可能存在 一些障碍.一个更简单的定义是: “嵌入式系统就是包含了用户所不知晓的计算机的设备.” 但是,甚至这个定义也需要某些解释.首先,大多数非 IT 人士对计算机的概念就是一个米色的 贴着“I

3、ntelInside”标签的箱子.嵌入式计算机的发行量远远高于基于 Intelx86/Pentium 的台 式 PC 的发行量.Intel 或许“inside”,但是嵌入式系统却是无处不在. 人们很少会意识到他们往往随身携带了好几个嵌入式系统手机,手表或者智能卡都嵌 有它们,而且他们在与汽车,电梯,厨房设备,电视,录像机以及娱乐系统的嵌入式系统交互时也 往往对此毫无觉察.嵌入式系统在工业机器人,医药设备,电话系统,卫星,飞行系统等领域扮演 了一个更为重要的角色.正是“看不见”这一个特性嵌入式计算机与通用 PC 计算机相区分. ARM 究竟什么是 ARM 呢?他是英国一家电子公司的名字,全名的意

4、思是 Advanced RISC Machine。我来多说几句,ARM 敢为天下先,12 年前首创了 chipless 的生产模式,即该公司 既不生产芯片,也不设计芯片,而是设计出高效的 IP 内核,授权给半导体公司使用,半导 体公司在 ARM 技术的基础上添加自己的设计并推出芯片产品, 最后由 OEM 客户采用这些芯 片来构建基于 ARM 技术的系 统产品。ARM 的产品是 IP Core,没有任何物理意义上的硬件 或者软件实体。 目前全球有 103 家巨型 IT 公司在采用 ARM 技术, 20 家最大的半导体厂商中 有 19 家是 ARM 的用户, 包括德州仪器, Philips, In

5、tel 等。20 大巨头中唯一没有购买 ARM 授权的是 Intel 的老对头 AMD,而 AMD 则收购了 Alchemy 公司与之抗衡,采用的是 MIPS 结 构 (有少数宽带路由器使用 MIPS 处理器,思科路由器也有使用这个牌子的) 。目前面向市 场的有 ARM7, ARM9, ARM9ES, StrongARM 和 ARM10 系列。 所以说 ARM 处理器有许多 OEM 厂家在生产. ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微 处理器的通称,还可以认为是一种技术的名字。 1991 年 ARM 公司成立于英国剑桥,主要出售

6、芯片设计技术的授权。目前,采用 ARM 技术知识产权(IP)核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、 Z213X/4X 开发板 智林测控技术研究所 12. 1 4 消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处 理器应用约占据了 32 位 RISC 微处理器 75以上的市场份额,ARM 技术正在逐步渗入到我 们生活的各个方面。ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产 权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世 界各大半导体生产商从ARM公司购买其设计的ARM微

7、处理器核, 根据各自不同的应用领域, 加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。 目前, 全世界有几十家大的半导体公司都使用 ARM 公司的授权, 因此既使得 ARM 技术 获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市 场被消费者所接受,更具有竞争力。 ARM 公司是知识产权出售公司,ARM 公司只设计内核的不生产具体的芯片. 90 年代初,ARM 率先推出 32 位 RISC 微处理器芯片系统 SoC 知识产权公开授权概念,从此 改变了半导体行业. ARM 通过出售芯片技术授权,而非生产或销售芯片,建立起新型的微处理 器设计,生产,

8、和销售商业模式.更重要的是,ARM 开创了电子新纪元: 采用ARM技术的微处理 器遍及各类电子产品,在汽车,消费娱乐,成像,工业控制,网络,存储,安保和无线等市场,ARM 技 术无处不在. ARM 公司自 1991 年正式成立以来, 在 32 位 RISC (Reduced Instruction Set Computer CPU 开发领域不断取得突破,其结构已经从 V3 发展到 V6.由于 ARM 公司自成立以来,一直以 IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权, 而自己从不介入芯 片的生产销售,加上其设计的芯核具有功耗低,成本低等显著优点

9、,因此获得众多的半导体 厂家和整机厂商的大力支持, 在32位嵌入式应用领域获得了巨大的成功, 目前已经占有75% 以上的 32 位 RISC 嵌入式产品市场.在低功耗,低成本的嵌入式应用领域确立了市场领导地位. 现在设计,生产 ARM 芯片的国际大公司已经超过 50 多家,国内中兴通讯和华为通讯等公司 也已经购买 ARM 公司的芯核用于通讯专用芯片的设计. 目前非常流行的 ARM 芯核有 ARM7TDMI, StrongARM, ARM720T, ARM9TDMI, ARM922T, ARM940T, ARM946T, ARM966T, ARM10TDM1等.自V5以后,ARM公司提供Picc

10、oloDSP的芯核给 芯片设计者,用于设计 ARM+DSP 的 SOC(System On Chip)结构的芯片.此外,ARM 芯片还获得了 许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE, Linux, pSOS, VxWorks, Nucleus, EPOC, uCOS, BeOS 等. 随着国内嵌入式应用领域的发展,ARM 芯片必然会获得广泛的重视和应用.ARM 芯片有 多达十几种的芯核结构,70 多家芯片生产厂家,以及千变万化的内部功能配置组合. Z213X/4X 开发板 智林测控技术研究所 2006 5 第一

11、章 NXP LPC213X/4X ARM 处理器 飞利浦半导体推出了一系列非常方便使用 ARM 核心的嵌入式芯片。飞利浦半导体部门 现在已经成为一家独立的公司,采用了新的名称 NXP。 智林测控的Z213X/4X开发板分别使用NXP的ARM嵌入式处理器LPC213X/4X两个系列。 它们共同的特征: 16/32 位 ARM7TDMIS 处理器,小巧的 LQFP64 封装; 8/16/32/40 kB 片内静态 RAM 及 32/64128/256/512 kB 片内 Flash 程序存储器。128 位宽 度接口/加速器支持实现高达 60 MHz 的高速操作; 通过片内 bootloader 软

12、件实现在系统编程(ISP) 和 在应用编程(IAP)。Flash 编程时间:1 毫秒编程 256 字节,单扇区和整片擦除需要 400 毫秒; 嵌入式 ICERT 接口和嵌入式跟踪接口使用片内 RealMonitor 软件实现实时调试以及 对指令的执行实现高速实时跟踪; 1 个或 2 个 8 路 10 位 A/D 转换器提供最多 16 个模拟输入,每个通道转换时间可达 2.44 微秒; 1 个 10 位 D/A 转换器提供可变的模拟输出(LPC2132/2134/2136/2138); 2 个 32 位定时器/外部事件计数器(每个带有 4 路捕获和 4 路比较通道)、PWM 单元 (6 路输出)

13、和看门狗; 低功耗的实时时钟具有独立的电源供电和专门的 32kHz 时钟输入; 多个串行接口包括:2 个 UARTs(16C550)、2 个快速 I2C (400 kbits/s)、SPI 和具有缓冲以 及数据长度可变的 SSP; 小巧的 LQFP64 封装提供多达 47 个可承受 5V 电压的通用 I/O; 最多可提供 9 个边沿或电平触发的外部中断引脚; 通过可编程的片内锁相环可以实现最大 60 MHz 的 CPU 时钟,设置时间约 100 微秒; 可配置优先级和向量地址的向量中断控制器; 带外部晶体的片内振荡器操作范围为1 MHz到30 MHz, 外部振荡器的频率可达50MHz; 两种低

14、功耗模式:空闲和掉电; 通过外部中断或 BOD 将处理器从掉电模式中唤醒; 单独使能/禁用外设功能以实现功耗最优化; 单电源供电,芯片具有上电复位(POR)和掉电检测(BOD)电路: CPU 运行电源电压范围:3.0 V 到 3.6 V (3.3 V 10 ) ,I/O 口可承受 5V 电压; LPC214X 带有 USB 设备接口,而 LPC213X 没有,下表说明了各个不同型号的区别: 型号型号 RAM Flash ADC DAC LPC2131 8K 32K 8ch/10b LPC2132 16K 64K 8ch/10b 1ch/10b LPC2134 16K 128K 2*8ch/10

15、b 1ch/10b LPC2136 32K 256K 2*8ch/10b 1ch/10b LPC2138 32K 512K 2*8ch/10b 1ch/10b LPC2141 8K 32K 8ch/10b Z213X/4X 开发板 智林测控技术研究所 12. 1 6 LPC2142 16K 64K 8ch/10b 1ch/10b LPC2144 16K 128K 2*8ch/10b 1ch/10b LPC2146 32+8K 256K 2*8ch/10b 1ch/10b LPC2148 32+8K 512K 2*8ch/10b 1ch/10b Z213X/4X 开发板 智林测控技术研究所

16、2006 7 第二章 智林 Z213x/4x 开发板 一、Z213x/4x 开发板原理图 智林测控技术研究所 符号说明:符号说明: 第一个或者第二个数字指示图序号 后两个数字说明元件序号。 Z2148 开发板 Z2148 日期 之 編號 版本 梯隊態 頁名 名稱 組織 2005.11.1 13 ZEA7-40.1 Z2148 COVER 嘯然測試 智測控技術研究所 LAST TWO DIGITS INDICATE REFERENCE DESIGNATOR NUMBER. R - RESISTOR 电阻 REFERENCE DESIGNATOR DESCRIPTION: J - CONNEC

17、TOR 连接器 F - FERRITE BEAD 磁珠 C - CAPACITOR 电容 V - VOLTAGE REGULATOR 稳压器 Q - Transistor 晶体管 U - ACTIVE COMPONENT 有源元件 X - CRYSTAL 晶体振荡器 L - INDUCTOR 电感 D - DIODE 二极管 RP - RESISTOR PACK 电阻排 FIRST ONE OR TWO DIGITS INDICATE SHEET NUMBER. SW - Switch 开关 Z213X/4X 开发板 智林测控技术研究所 12. 1 8 P0.28 P1.23 R6 10K

18、3V3 P0.12 ISP P0.30 P0.11 3V3 P0.20 CP2 100NF AOUT P0.10 3V3 CP3 100NF 3V3 CP1 100NF J6 FPS009 DAT1 8 CLK 5 DAT0 7 VSS 6 VDD 4 VSS 3 CMD 2 CD/DAT3 1 DAT2 9 10 10 11 11 M1 12 M2 13 M3 14 M4 15 S2 3V3 CP4 100NF 3V3 BP3 1 42 3 VCC RXD0 TXD0 S3 P0.22 X3 32.768KHz USB 橙色0805 P0.29 JP10 1 2 X1 14.7456MHz

19、3V3 P0.14 P0.25 绿色 P0.30 3V3 P0.2 P0.8 P1.16 P0.21 P0.9 P1.18 P0.27 P0.10 D2 BT C430P C530P BP4 1 42 3 P0.23 P0.11 BP5 1 42 3 VSSA P0.12 BP6 1 42 3 P1.20 JTAG P0.13 D1 BT 3V3 CP7 100NF P0.15 I2C 3V3 CP12 100NF R21 100R 3V3 C833PF R827R C6 15PF R7 1K5 R927R P0.16 J3 USB B 1 4 2 3 5 6 CP5 100NF C7 15P

20、F VCC P0.11 R1 10K P0.28 P0.29 BP7 1 42 3 P0.18 CP14 100NF P0.3 BP8 1 42 3 EXT 3V3 P0.8 DIGITAL INPUT VDDA USB 日期 之 編號 版本 梯隊態 頁名 名稱 組織 2007.5.123 ZEA7-20.1 Z213X/4X CPU 嘯然測試 智測控技術研究所 BT13V 3V3 C230P 3V3 JP5 1 2 P0.12 P0.11P0.10 P0.13 C330P COLOR LCD JTAG J1 HE10 2x10 VCC1 1 NTRST 3 TDI 5 TMS 7 TCK

21、9 RTCK 11 TDO 13 NRST 15 NC0 17 NC1 19 VCC0 2 GND0 4 GND1 6 GND2 8 GND3 10 GND4 12 GND5 14 GND6 16 GND7 18 GND8 20 P0.14 P0.16 P0.15 P0.19P0.18 P0.17 P0.21P0.20 P0.2 nRST 3V3 P0.22 P1.17 VLED+ P1.19 BP1 1 42 3 VLED- 3V3 P0.23 AVIN RP1 103x8 12 3 4 5 6 7 8 9 P0.9 J2 CONN RCPT 22x2 2 4 6 8 10 12 14 16

22、 18 20 22 24 26 28 30 32 34 36 38 40 42 44 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 P1.17P1.16 U1 LPC214x P0.21/PWM5/AD1.6/CAP1.3 1 P0.22/AD1.7/CAP0.0/MAT0.0 2 RTXC1 3 RTXC2 5 P1.19/TRACEPKT3 4 VSS0 6 VDDA 7 P1.18/TRACEPKT2 8 P0.25/AD0.4/AOUT 9 D+ 10 D- 11 P1.17/TRACEPKT1 12 P0.2

23、8/AD0.1/CAP0.2/MAT0.2 13 P0.29/AD0.2/CAP0.3/MAT0.3 14 P0.30/AD0.3/EINT3/CAP0.0 15 P0.31/UP_LED/CONNECT 17 P1.16/TRACEPKT0 16 VSS1 18 P0.0/TXD0/PWM1 19 P1.31/TRST 20 P0.1/RXD0/PWM3/EINT0 21 P0.2/SCL0/CAP0.0 22 VDD0 23 VSS2 25 VSS3 42 VSS4 50 VSSA 59 VDD1 43 VDD2 51 VBAT 49 P1.26/RTCK 24 P0.3/SDA0/MAT

24、0.0/EINT1 26 P0.4/SCK0/CAP0.1/AD0.6 27 P0.5/MISO0/MAT0.1/AD0.7 29 P0.6/MOSI0/CAP0.2/AD1.0 30 P0.7/SSEL0/PWM2/EINT2 31 P1.25/EXTIN0 28 P1.24/TRACECLK 32 P0.8/TXD1/PWM4/AD1.1 33 P0.9/RXD1/PWM6/EINT3 34 P0.10/RTS1/CAP1.0/AD1.2 35 P1.23/PIPESTAT2 36 P0.11/CTS1/CAP1.1/SCL1 37 P0.12/DSR1/MAT1.0/AD1.3 38 P

25、0.13/DTR1/MAT1.1/AD1.4 39 P1.22/PIPESTAT1 40 P0.14/DCD1/EINT1/SDA1 41 P1.21/PIPESTAT0 44 P0.15/RI1/EINT2/AD1.5 45 P0.16/EINT0/MAT0.2/CAP0.2 46 P0.17/CAP1.2/SCK1/MAT1.2 47 P1.20/TRACESYNC 48 P1.30/TMS 52 P0.18/CAP1.3/MISO1/MAT1.3 53 P0.19/MAT1.2/MOSI1/CAP1.2 54 P0.20/MAT1.3/SSEL1/EINT3 55 P1.29/TCK 5

26、6 RESET 57 P0.23/Vbus 58 P1.28/TDI 60 XTAL2 61 XTAL1 62 VREF 63 P1.27/TDO 64 3V3 P1.19P1.18 P1.21P1.20 P0.3 P1.23P1.22 R22 100R nRST P1.25P1.24 VREF LCD1 S1D15G00 VDD 1 RESET 2 SDATA 3 SCLK 4 CS 5 Vlcd 6 nc 7 GND 8 Vled- 9 Vled+ 10 LEFT DOWN RIGHT OK UP ESC 3V3 R3 10K R2410K 3V3 U6 24LC02 VCC 8 SDA

27、5 SCL 6 A0 1 A1 2 A2 3 WP 7 3V3 CP13 100NF R23 100R P1.24 P0.19 P1.21 P0.15 R51K 3V3 C1 100NF 3V3 3V3 P0.14 R4 10K JP1 12 3V3 3V3 P0.14 U5 74AC245/SO A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 OE 19 DIR 1 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 VCC 20 GND 10 SD CARD JP4 1 2 3V3 CP6 100NF P0.25

28、P1.22 CP8 100NF P0.26 P0.27 P0.26 P0.13 R10 1K JP2 12 RESET ISP P1.25 P0.17 JP3 12 S1 3V3 日期 之 編號 版本 梯隊態 頁名 名稱 組織 2007.5.133 ZEA7-20.1 Z213X/4X POWER 嘯然測試 智測控技術研究所 + C18 10uF/35V + C17 10uF 红色 FID1 FID10X20 FID2 FID10X20 AOUT J7 PHONOJACK STEREO-14 1 2 3 4 5 6 C19 100NF R25 10K R26 1K JP8 1 2 R27 1

29、0K C20 33NF C21 100NF JP9 1 2 D7 BT + C22 100uF R31 10K JP6 12 TXD0 ISP RXD0 JP7 12 nRST VCC J5 CONN JACK PWR 3 2 1 3V3 + CP11 10uF + C16 10uF + C15 100uF/10V VCC R18 2K U3 LM2733 SW 1 GND 2 FB 3 SHDN 4 Vin 5 L110uH R19 51K VLED+ R20 120 VLED- U4 LM1117-3.3 ADJ 1 VOUT 2 VIN 3 VOUTG 4 VCC 3V3VCC 3V3

30、+ CP10 100uF/10V TM1 TM 1 TM2 TM 1 TM3 TM 1 TM4 TM 1 R11 22K P1 RS232 5 9 4 8 3 7 2 6 1 D6 1N5817 3V3 3V3 R17 22K Q2 9014 R1610K Q1 9014 R1210K D3 1N4148 D4 1N4148 D5 1N4148 + - U7 LM386 3 2 5 6 1 4 87 UART / 设置发光管引脚为输出方式 IO0SET = LED; / 抬高此引脚电平 IO0CLR = LED; / 拉低此引脚电平 Z213X/4X 开发板 智林测控技术研究所 2006 2

31、1 输出路径 因为在编译过程中, 编译器会产生很多中间文件, 为了使我们的程序文件夹的文件显得不凌 乱,我们可以设置输出文件的路径,点击“目标选项”快捷按钮 弹出窗口 选择 Output Z213X/4X 开发板 智林测控技术研究所 12. 1 22 点击 Select Folder for Objects,弹出对话框,可以新建一个 output 路径,然后选择它。同 样对于 Listing 也做同样设置。然后,我们可以编译程序了。 连接仿真器 编译通过后,就要进入调试阶段了,连接仿真器和目标板的 JTAG 接口, 有两个问题必须注意: 调试准备 为了调试程序需要做一些必要的设置,点击“目标

32、选项”快捷按钮,点选 Debug 选项卡 选择 Use:ULINK ARM Debugger,然后点击 Settings,弹出窗口 一、 先给目标板上电 二、 然后把仿真器插入 USB 口 Z213X/4X 开发板 智林测控技术研究所 2006 23 我们可以看到, 在 JATG Device Chain 窗口里已经发现了 ARM7TDMIS 的 CPU 核心, 勾选 Verify Code Download 和 Download to Flash 及 Use Reset ar Startup 点击 OK 退出,回到“目标选项” ,点选 Utilities 点选 Use Target Dri

33、ver for Flash Programming , 勾选 Update Target before Debugging 开始调试 我们现在可以观察一下板子上的发光管 D2 是熄灭的,点击调试快捷按钮 开发环境进入了调试状态 Z213X/4X 开发板 智林测控技术研究所 12. 1 24 我们可以执行让程序单步、执行到光标位置等等调试动作,非常方便。现在我们把光标停在 主程序开始,让程序执行到光标处,然后单步执行,可以观察发光管,可以变亮,或熄灭。 Z213X/4X 开发板 智林测控技术研究所 2006 25 第六章 GPIO 试验二:输入 智林 Z213x/4x 开发板带有 6 个按钮

34、开关作为开关量输入试验用。 硬件 JP5 是用来使能开关输入的,所以试验前要把 JP5 的跳线插上(短接) 。 软件 P0.12 P0.11 P0.10 BP3 1 42 3 BP4 1 42 3 BP5 1 42 3 BP6 1 42 3 BP7 1 42 3 BP8 1 42 3 3V3 JP5 1 2 3V3 RP1 103x8 12 3 4 5 6 7 8 9 P0.15 P0.14 U5 74AC245/SO A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 OE 19 DIR 1 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13

35、B6 12 B7 11 VCC 20 GND 10 P0.13 / 智林Z213x/4x开发板试验程序 / GPIO输出试验 / 刘笑然 / 智林测控技术研究所 / / 2006.12.1 / 引入相关芯片的头文件 #include / 发光管接在P0.31引脚 #define LED 0x80000000 #define KEY 0x0000FC00 int main(void) IO0DIR = LED; / 设置发光管引脚为输出方式 for(;) if( IO0PIN / 抬高此引脚电平 else IO0CLR = LED; / 拉低此引脚电平 Z213X/4X 开发板 智林测控技术研

36、究所 12. 1 26 这段程序运行后,按下任何一个按键,发光管都会发光。 程序没有设置引脚为输入状态, 因为CPU上电复位后的缺省状态就是 GPIO 的输入状态。 Z213X/4X 开发板 智林测控技术研究所 2006 27 第七章 点亮液晶屏:SPI 接口试验 智林 Z213X/4X 开发板配置了一块彩色液晶屏,驱动芯片是 PCF8833. 硬件 液晶屏提供 SPI 接口,连接到 CPU 的 SPI0 接口。 软件 1:显示英文字符串 主要围绕 CPU 的 SPI 接口讨论。 从 PCF8833 的手册上得知, 其 SPI 接口为 9 位编程方式, NXP 的 CPU 片上集成硬件的

37、SPI,所以只要我们简单的设置其工作模式即可。主要代码如下 TFT LCD 3V3 3V3 VLED+ VLED- U1 LPC214x P0.21/PWM5/AD1.6/CAP1.3 1 P0.22/AD1.7/CAP0.0/MAT0.0 2 RTXC1 3 RTXC2 5 P1.19/TRACEPKT3 4 VSS0 6 VDDA 7 P1.18/TRACEPKT2 8 P0.25/AD0.4/AOUT 9 D+ 10 D- 11 P1.17/TRACEPKT1 12 P0.28/AD0.1/CAP0.2/MAT0.2 13 P0.29/AD0.2/CAP0.3/MAT0.3 14 P0.

38、30/AD0.3/EINT3/CAP0.0 15 P0.31/UP_LED/CONNECT 17 P1.16/TRACEPKT0 16 VSS1 18 P0.0/TXD0/PWM1 19 P1.31/TRST 20 P0.1/RXD0/PWM3/EINT0 21 P0.2/SCL0/CAP0.0 22 VDD0 23 VSS2 25 VSS3 42 VSS4 50 VSSA 59 VDD1 43 VDD2 51 VBAT 49 P1.26/RTCK 24 P0.3/SDA0/MAT0.0/EINT1 26 P0.4/SCK0/CAP0.1/AD0.6 27 P0.5/MISO0/MAT0.1/

39、AD0.7 29 P0.6/MOSI0/CAP0.2/AD1.0 30 P0.7/SSEL0/PWM2/EINT2 31 P1.25/EXTIN0 28 P1.24/TRACECLK 32 P0.8/TXD1/PWM4/AD1.1 33 P0.9/RXD1/PWM6/EINT3 34 P0.10/RTS1/CAP1.0/AD1.2 35 P1.23/PIPESTAT2 36 P0.11/CTS1/CAP1.1/SCL1 37 P0.12/DSR1/MAT1.0/AD1.3 38 P0.13/DTR1/MAT1.1/AD1.4 39 P1.22/PIPESTAT1 40 P0.14/DCD1/E

40、INT1/SDA1 41 P1.21/PIPESTAT0 44 P0.15/RI1/EINT2/AD1.5 45 P0.16/EINT0/MAT0.2/CAP0.2 46 P0.17/CAP1.2/SCK1/MAT1.2 47 P1.20/TRACESYNC 48 P1.30/TMS 52 P0.18/CAP1.3/MISO1/MAT1.3 53 P0.19/MAT1.2/MOSI1/CAP1.2 54 P0.20/MAT1.3/SSEL1/EINT3 55 P1.29/TCK 56 RESET 57 P0.23/Vbus 58 P1.28/TDI 60 XTAL2 61 XTAL1 62 V

41、REF 63 P1.27/TDO 64 LCD1 S1D15G00 VDD 1 RESET 2 SDATA 3 SCLK 4 CS 5 Vlcd 6 nc 7 GND 8 Vled- 9 Vled+ 10 /* -* | S1D15G00 Initialize | *-*/ void S1D15G00SpiInit(void) PCONP |= 0x00000100; PINSEL0 |= 0x00001100; / 设置SPI管脚连接 S0SPCCR = 0x08; / 设置SPI时钟分频 S0SPCR = 0x934; / 设置SPI接口模式,MSTR=1,CPOL=1,CPHA=1,LS

42、BF=0 Z213X/4X 开发板 智林测控技术研究所 12. 1 28 这段代码设置 CPU 的 SPI 设备为主模式,且 9 位操作。 向 SPI 写数据的代码如下: 从 SPI 读数据的代码如下: 剩下的工作,就是按照 PCF8833 的手册进行操作,大家直接读源码就可以理解了,这里 就不罗嗦了。 本节的例子程序的运行结果是在液晶上显示一行文字。 软件 2:显示汉字 我们可以定义一个所用汉字的小字库,其结构如下: /* -* | S1D15G00 Write Command | *-*/ void S1D15G00WriteCommand( INT8U Data) INT16U tem

43、p=Data; IO0CLR= LCD_CS; temp / bit8 = 0 : command S0SPSR=0; S0SPDR = temp; while( 0=( S0SPSR / 等待SPIF置位,即等待数据发送完毕 IO0SET= LCD_CS; /* -* | S1D15G00 Write Data | *-*/ void S1D15G00WriteData( INT8U Data) INT16U temp=Data; IO0CLR= LCD_CS; temp |= 0x100; / bit8 = 1 : Data S0SPSR=0; S0SPDR = temp; while(

44、0=( S0SPSR / 等待SPIF置位,即等待数据发送完毕 IO0SET= LCD_CS; / - 汉字字模的数据结构定义 - / struct typFNT_GB16 / 汉字字模数据结构 unsigned char Index3; / 汉字内码索引 char Msk32; / 点阵码数据 ; Z213X/4X 开发板 智林测控技术研究所 2006 29 然后定义字模数据: 接着我们来做一个显示汉字的函数: / / / 汉字字模表 / / 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下 / / / const struct typFNT_GB16 codeGB_

45、16 = / 数据表 “电“, 0x02, 0x00, 0x02, 0x00, 0x02, 0x10, 0x7F, 0xF8, 0x42, 0x10, 0x42, 0x10, 0x7F, 0xF0, 0x42, 0x10, 0x42, 0x10, 0x7F, 0xF0, 0x42, 0x10, 0x02, 0x00, 0x02, 0x04, 0x02, 0x04, 0x01, 0xFC, 0x00, 0x00, “压“,. ; #include “GB1616.h“ /16*16汉字字模 void PutGB1616( INT8U x, INT8U y, unsigned char *c, INT16U f, INT16U b) unsigned int i,j,k; INT8U fRed,fGreenBlue,bRed,bGreenBlue; fRed = (f8) fGreenBlue = f bRed = (b8) bGreenBlue = b S1D15G00SetPageArea(x, y, x+16-1, y+16-1); /k=0; for (k=0;k #include “LPC214x.H“ /* LPC21xx definitions */ #include “PCF8833.h“ /* -* | Realtime Initial | *-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育


经营许可证编号:宁ICP备18001539号-1