- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LPC23XX开发讲解 朱明富 LPC23XX开发讲解 简介 Keil开发工具 程序模板 应用程序设计 接口程序设计 硬件设计 LPC23XX简介 ARM 7TDMI-S, 72MHz 512kB Flash, ISP, IAP 64kB RAM + 16kB Enet + 8kB USB + 2kB RTC USB, Ethernet, UART, CAN, I2C, I2S, SPI, SSP GPIO, 10 Bit AD/DA, PWM, 4 Timer, Watch DOG, RTC JTAG, PLL, On-Chip crystal oscillator LPC23XX序列型号 LPC2361/62/64/65/66/67/68 LPC2377/78 (144Pin) LPC2387 LPC2388 (144Pin) LPC23XX开发工具 Keil ARM ADS NXP ISP软件FlashMagic LPC23XX开发板及应用板 开发板-展示功能 应用板-实际应用 LPC23XX应用 选型考虑 是否一定要选择OS uCosII Keil安装 mdk305.exe rtlarm305.exe License Management Keil 软件工程 新建Keil工程 从模板程序建立工程 修改LPCTest2.Uv2 修改LPCTest2.Opt Keil 中源代码管理 选Project-Manage-Components, … Keil 中所支持的设备管理 File-Device Database Keil 中应用程序选项管理 点快捷按钮Options for Target Keil中仿真器 Segger的RDI接口 ULink ULink实际上是并口(打印机口) ULink上用了一颗USB转并口的芯片 ULink只能设单个断点 ULink的驱动程序安装 Keil的调试 设置断点 单步运行 关闭WatchDog LPC23XX程序模板 新建Keil工程 说明:startup.s是汇编程序,完成如下功能: 主晶振起振 PLL配置 中断向量设置 堆栈设置 跳转到C主程序 一个简单的程序 在前面创建的程序中没有C主程序 这个例子是一个模板 编程规则 把代码文件分类 把代码文件按通用性分目录存放 程序模板解析 Main.c 主程序 Startup.s 启动文件 Target.c 目标板初始化 Irq.c IRQ处理接口 Swi_handler.s 软件中断处理 startup.s 文件说明 宏定义 中断向量 复位中断处理 跳转到C主程序 加密处理 内存段分配 target.c 文件说明 TargetInit函数 GPIOResetInit ConfigurePLL TargetResetInit irq.c 文件说明 spurious_handler init_VIC install_irq swi_handler.s 文件说明及宏定义 SoftwareInterrupt IntEnable IntDisable 应用程序设计 基于硬件的程序设计准则 LPC23XX程序主要流程 基于硬件的程序设计准则 软件与硬件分离 功能独立 功能分层 分时处理与实时处理 充分利用C语言的宏定义 LPC23XX程序主要流程 对于通用I/O端口 使用PINSELx定义端口作为通用I/O功能, 每个引脚可能有4个功能, 因此需要用2位来确定其功能 设置SCS寄存器第0位为1, 使其作为快速I/O端口 使用PINMODEx定义端口的模式, 分为上拉, 下拉, 浮空, 因此需要用2位来确定其模式 使用FIOxDIR来确定端口方向 使用FIOxMASK与FIOxCLR, FIOxSET, FIOxPIN联合来设置端口的值 LPC23XX程序主要流程 使用通用I/O端口模拟数据总线 由于通用I/O一般情况下方向是确定的, 通常或者为输入,或者为输出, 要模拟数据总线, 必须在需要的时候, 随时改变端口的方向, 可使用FIOxDIR寄存器完成此项工作。 实例:LCD控制 外部中断 除EXTINT0-EXTINT3外,端口0和端口2均可以作为外部中断源,它们共用EXTINT3这个外部中断。 LPC23XX程序主要流程 上拉与下拉 根据实际情况合理选用。主要对上电时的初始值。上拉或下拉都是弱的,有时也用外部分电阻上/下拉。 对于输入,上拉表示通用端口所连接的外部信号不存在时, 端口值为1, 下拉为0。 对于输出,如果没有更改时,上拉输出为高(1), 下拉输出为低(0)。 FIOxPIN总是可以读出端口的状态。 FIOxPIN对非通用I/O端口也可读出其状态。 LPC23XX程序主要流程 对于内置(片上)外设, 如UART,
文档评论(0)