免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARMARM 开发板使用手册开发板使用手册 PHILIP LPC2132 ARM7TDMIARM7TDMI 第一章 介绍 LPC2132LPC2132 开发板是专门为开发板是专门为 armarm 初学者开发的实验板 用户可以做基础的初学者开发的实验板 用户可以做基础的 armarm 实验 也可以做基于实验 也可以做基于 ucos iiucos ii 的操作系统实验 本系统的实验源代码全部开放 用户可以在此基础上开发产品 减少重复劳动 的操作系统实验 本系统的实验源代码全部开放 用户可以在此基础上开发产品 减少重复劳动 由于由于 LPC2132LPC2132 体积很小 并且功能强大 因此特别适合需要复杂智能控制的场合 其运行速度高于早期的体积很小 并且功能强大 因此特别适合需要复杂智能控制的场合 其运行速度高于早期的 8048680486 计算机 而体积只有指甲大 我们已经将计算机 而体积只有指甲大 我们已经将 LPC2132LPC2132 产品成功应用在干扰比较强的工业场合 经过产品成功应用在干扰比较强的工业场合 经过 6 6 个月的运行 各项指标符合要求 因此我们特别推荐这一款开发板作为个月的运行 各项指标符合要求 因此我们特别推荐这一款开发板作为 ARMARM 初学者入门 由于此款开发板初学者入门 由于此款开发板 体积很小 非常适合直接应用在工业以及民用智能控制器的场合 体积很小 非常适合直接应用在工业以及民用智能控制器的场合 LPC2132 CPU 介绍介绍 LPC2131 2132 2138 是基于一个支持实时仿真和跟踪的 16 32 位 ARM7TDMI STM CPU 并带 有 32kB 64kB 和 512kB 嵌入的高速 Flash 存储器 128 位宽度的存储器接口和独特的加 速结构使 32 位代码能够在最大时钟速率下运行 对代码规模有严格控制的应用可使用 16 位 Thumb 模式将代码规模降低超过 30 而性能的损失却很小 较小的封装和很低的功耗 使 LPC2131 2132 2138 特别适用于访问控制和 POS 机等小型应用中 由于内置了宽范围的 串行通信接口和 8 16 32kB 的片内 SRAM 它们也非常适合于通信网关 协议转换器 软件 modem 语音识别 低端成像 为这些应用提供大规模的缓冲区和强大的处理功能 多个 32 位定时器 1 个或 2 个 10 位 8 路的 ADC 10 位 DAC PWM 通道 47 个 GPIO 以及多 达 9 个边沿或电平触发的外部中断使它们特别适用于工业控制应用以及医疗系统 主要特性 16 32 位 ARM7TDMI S 核 超小 LQFP64 封装 8 16 32kB 的片内静态 RAM 和 32 64 512kB 的片内 Flash 程序存储器 128 位宽 度接口 加速器可实现高达 60 MHz 工作频率 通过片内 boot 装载程序实现在系统编程 在应用编程 ISP IAP 单扇区或整片 擦除时间为 400ms 256 字节行编程时间为 1ms EmbeddedICE RT 和嵌入式跟踪接口通过片内 RealMonitorTM 软件对代码进行实时 调试和高速跟踪 1 个 LPC2131 2132 或 2 个 LPC2138 8 路 10 位的 A D 转换器 共提供 16 路模拟输入 每个通道的转换时间低至 2 44us 1 个 10 位的 D A 转换器 可产生不同的模拟输出 仅适用于 LPC2132 2138 2 个 32 位定时器 计数器 带 4 路捕获和 4 路比较通道 PWM 单元 6 路输出 和看门狗 实时时钟具有独立的电源和时钟 可在节电模式中极大地降低功耗 多个串行接口 包括 2 个 16C550 工业标准 UART 2 个高速 I2C 接口 400 kbit s SPITM 和具有缓冲作用和数据长度可变功能的 SSP 向量中断控制器 可配置优先级和向量地址 小型的 LQFP64 封装上包含多达 47 个通用 I O 口 可承受 5V 电压 多达 9 个边沿或电平触发的外部中断管脚 通过片内 PLL 100us 的设置时间 可实现最大为 60MHz 的 CPU 操作频率 片内晶振频率范围 1 30 MHz 低功耗模式 空闲和掉电 可通过个别使能 禁止外部功能和外围时钟分频来优化功耗 通过外部中断将处理器从掉电模式中唤醒 单电源 具有上电复位 POR 和掉电检测 BOD 电路 CPU 操作电压范围 3 0V 3 6 V 3 3 V 10 I O 口可承受 5V 的电压 实验开发板的中央处理器采用 Philips 最新的 LPC2132 低功耗 32 位 ARM 处理器 内带 16k RAM 64K flash 工作频率最高 60M 实验种类实验种类 可以做如下实验 实际上不限于这些 LCD 液晶控制器实验 您可以掌握在没有操作系统的支持下编写 LCD 液晶驱动以及菜单制 作 GPIO 实验 通过 GPIO 驱动发光管 SPI 总线实验 可以掌握对 SPI 外设的操作 如 74HC595 的操作 A D D A 实验 掌握模拟信号采样并转化为数字量 以及数字量生成模拟电压 PWM 实验 掌握脉宽调制的生成 实时时钟实验 掌握对内部时钟的设置以及读取 脉冲计数实验 掌握用中断方式对外部跳变信号的计数以及查询方式计数 串行通信实验 掌握 RS232 通信 不同波特率的设置 查询方式通信以及中断方 式通信 I2C 总线实验 掌握如何通过 I2C 对 E2ROM 24C04 操作 键盘实验 掌握键盘扫描原理以及如何获得键码 7 段 LED 实验 掌握在 LED 显示数字的技巧 低功耗实验 掌握如何使处理器进入节电模式 通过串口下载程序代码 掌握远程程序修改的方法 中断控制实验 学习如何使程序进入管态以及核态 学习中断向量的设置 以及 C 语言环境下对中断的处理 掌握如何在没有硬件的情况下在 VC 环境编写嵌入式应用程序 并模拟真实环境调 试 进一步掌握在硬件平台已经完成后如何把 VC 环境编写嵌入式应用程序移植到硬件 平台上 掌握硬件驱动的 API 函数的编写 API 调用的方法 掌握函数库的生成以及库函数 的调用 从而使源程序中关键部分的源代码不可见 保护知识产权 掌握用 C 对嵌入式应用编程 掌握 C C 以及汇编混合编程 掌握如何用 UML 建立模型并且生成 C 程序 掌握对自动生成的 C 程序的嵌入式 改写并移植到目标系统 操作系统实验 ucos ii 也可以直接用开发板做智能控制器 智能仪表等工业设备 实验器材清单实验器材清单 简易仿真头一个 20 芯扁平电缆 1 根 并口电缆一根 串口电缆一根 实验板一块 5v 电源一个 光盘一张 光盘包括 ads1 2 arm 参考资料 实验源代码 调试代理 外设资料 原理图 在使用本开发板前 应该具备的基础知识包括 在使用本开发板前 应该具备的基础知识包括 ARMARM 体系结构和编程 会体系结构和编程 会 C C 语言 语言 第二章第二章开发环境的搭建开发环境的搭建 开发环境我们采用 ADS1 2 集成环境 请先安装 ADS1 2 如何使用 ADS1 2 请参考光盘内 的手册 ARM 开发环境和 51 单片几很不一样 熟悉 51 的都知道用仿真器来调试 但 arm 却不一样 它通过 JTAG 接口仿真 因此这里先介绍 JTAG 仿真的概念 JTAG 调试接口调试接口 为什么现在的微处理器采用 JTAG 当前许多复杂的微处理器的内核不再能通过芯片的外设直接访问 调试芯片程序变得困难 还有 为了缩短开发周期加快产品进入市场的速度 直接将 CPU 安装在电路板上调试也更 接近实际工作情况 这些都需要 JTAG 装置来完成 JTAG 的引脚定义的引脚定义 遵循 JTAG 的器件包含以下几个管脚 TCK 测试时钟输入 它和系统时钟不同 TDI 测试数据输入 通过它数据移位进入器件 TDO 测试数据输出 通过它数据从器件移出 TMS 测试模式选择 在 JTAG 规范中 TMS 命令选择测试模式 TRST 测试复位输入 它为 TAP 控制器提供异步初始化 器件的测试支持功能是通过 TAP 控制器来实现的 TAP 是一个状态机 它控制控制所有相 关操作 每种遵循 JTAG 的器件都有自己的 TAP 控制器 通过 TCK 和 TMS 可以使状态机 内部的状态发生变化 从而支持诸如断点 单步 内部观察等调试工作 本章针对 ARM7TDMI 介绍调试结构 ARM 的调试体系采用协议转换器来使调试器通过 JTAG 与 ARM 核直接通信 前面 JTAG 标准中提到的扫描链功能是测试用 这里把它作为 调试用 捕获数据总线上的信号并向内核或存储器插入新的信息 ARM7TDMI S 核内具有 EmbeddedICE 逻辑 EmbeddedICE 逻辑提供对片内调试的支持 调试指令直接通过扫描链插 入 ARM 内核并执行 根据插入调试指令的不同 内核可以处于观察 保存或改变状态 ARM 的调试体系可以使程序指令执行速度处于调试速度或全速运行 在 ARM 中采用 JTAG 的特点是 通过 JTAG 接口可以观察 ARM 内核状态和系统状态 注意 系统状态包 括片内外设 不同于内核状态 不占用额外的目标系统资源 提供传统的断点访问和观察 点访问 不再需要另外的 UART 端口来和监控程序通信 围绕 ARM 内核有两个扫描链 围绕整个内核外围的一个扫描链以及仅仅覆盖数据总线和 断点的扫描链 由于后者的链比较短 从而使调试指令和数据可以快速插入内核 避免了 额外的时间 ARM 的 JTAG 调试需要如下设备 一台运行调试软件的主机 一个EmbeddedICE协议转换器 EmbeddedICE 协议转换器将远程调试协议命令转 换成所需要的 JTAG 数据 从而对目标系统上的 ARM7TDMI S 内核进行访问 它包 括两个部分 将串行数据信号转换成 JTAG 接口兼容信号的装置以及带有 JTAG 接口 的 ARM 调试体系内核 其中前半部分可以是仿真器硬件 后半部分是 ARM 片子本身就支持的 根据功能需要 仿真器硬件可以做了比较复杂也可以很简单 我们采用简易的仿真器 调试主机运行调试程序 如 ADS RealView SDT 等 ICE 协议转换器其实包含两部分 协议转换硬件和软件 复杂的硬件一般采用 FPGA 实现 简单的可以就用一片数字缓 冲电路实现 协议转换软件一般在调试主机上运行 可以是 API 的方式也可以用后台 服务的方式 调试主机和协议转换硬件之间可以采用各种方式连接 并行 串行 网 络以及 USB 只要最终递交给 ICE 协议转换器的数据一致就可以 这是通过运行在 ICE 协议转换器 上面的通信软件来实现的 ICE 协议转换器和目标板通过遵循 JTAG 电气规范的电缆连接 简易仿真头的使用简易仿真头的使用 简易仿真头采用 wiggler 电缆 其使用过程如下 硬件连接硬件连接 按照下图连接仿真头 计算机以及实验板 调试主机 EmbeddedICE 协议转化 器 带 JTAG 接口 的目标板 软件配置软件配置 1 首次使用时先安装驱动 以后不用再安装 执行文件下的安装驱动 exe 安装好并口驱动和 OCX 2 安装完毕后即可运行 Arm7Agent 或 Arm9Agent 调试 ARM7 系统或 ARM9 系统 3 如果在以后的使用过程中发现程序无法启动重新执行安装驱动 exe 即可 4 在 ADW SDT AXD ADS 的调试配置选项里选择 remote a dll 5 在 ADW AXD 的调试配置里 IP 地址必须填写 127 0 0 1 二 常见问题 1 THUMB ARM 混合编程时断点设置要素 当 CPU 处于一种 CPU 模式时 THUMB 或 ARM 断点只可以设置在当前模式 下的指令处不可以设置在另一种模式下的指令 解决方案设置一个断点在 CPU 模式切换指令处 如 BX 当程序运行到此指 令并停下来后然后通过单步执行 Step 进入另一种状态这时候就可以 在当前模式下任意设置断点了 2 THUMB ARM 混合编程时因为 ADW AXD 启动时默任的 CPU 模式为 ARM 模式如果 你启动调试前你的 ARM CPU 正在执行 Thumb 模式指令那么将会导致调试错 误 解决方案按一下你的板子的复位键 然后再启动 ADW AXD 即可 3 为了加快软件影响单步执行速度现在暂时屏蔽了 semihosting 功能 4 如果出现无法逼使 CPU 进入调试的提示只需要复位你的板子 重新启动软 件即可 5 如果发现软件没有任何动作把它关了再启动 6 如果发现软件根本无法运行看不到其运行界面那么执行安装驱动 exe 重新驱动 OCX 即可 7 如果出现打开并口失败 那么执行安装驱动 exe 重新并口驱动即可 8 如果提示检测不到 ARM 核如果你的 CPU 没坏供电正常那么就一定是你的 JTAG 板子问题了 应该参考常用的那种 SDT 或 Wiggler 接线然后在 JTAG 调试软 件选择对应的选项 SDT 或 wiggler 或自定义 9 排除这些如果出现其他的调试错误 那么就是你设置 ADW AXD 或你的板子问题了 10 有时候 如果你计算机的防火墙开着 可能会使调试不正常 请设置防火墙为允许本代 理程序运行 或者干脆关闭防火墙 安装代理软件安装代理软件 首先在光盘找到调试代理目录 安装并口驱动 出现如下界面 选择 install 出现如下界面 说明驱动安装成功了 然后开始打开该目录下的 arm7 exe 如果 jtag 接口没有连接好 或者 arm 开发板没有上电 就会出现如下界面 否则 成功的话就出现成功检测到 arm 内核界面 然后开始配置 ads 开发环境 打开 AXD 程序 选择 Options Configue Target 在 Choose target 里面选择 ADP 然后 d 点击 Configue 出现 点击 Select 出现 选择 ARM ethernet driver 确认 OK 回到界面 点击 Configure 出现 在 Target IP address 框填入 127 0 0 1 然后 OK 就可以了 这时候 如果你没有打开调试 代理软件 AXD 会出现失败 因此 必须先打开调试代理软件 然后运行 AXD 才能正常 打开一个现有的源程序 并且运行 启动 CodeWarrior for arm develop suite 在 file 下选择一个现有文件 对本例子而言 将光盘的实验程序全部拷贝到 C 盘 选择 c 实验 目录下的 BeeP 文件夹 打开 BeepCProject 工程将出现在主界面下 在 BeepCProject 下 有个调试选项 Debug DebugRel Release 它们分别对应在 RAM 里面运行程序 在 flash 里面运行程序 其实不同仅仅在于 debug setting 的配置上面 这里选择 Debug 也就是在 ram 里面运行程序 这时源程序自动编译 查看调试代理目前是否正常运行 在 Project 里 面选择 Debug 这时候 AXD 将自动运行 并停在当前指令入口处 也就是复位后的地址处 对于 LPC2132 而言 停留在 0 x40000000 处 这里放的是 LDR PC Reset Addr 也 就是管理模式下的第一条指令 然后 run 这时候程序应该开始执行 然后自动停在 main 函数地方 假如没有停在这里 请在 AXD 的 File 下面选择 reload current image 重复上述 过程 这时就停在 Main 上了 接着 Run 程序运行 观察蜂鸣器应该连续发声 万龙万龙 LPC2132 串口写程序步骤串口写程序步骤 LPC2132 的 flash 可以通过 2 种方式写入 IAP 以及 ISP 对于初学者我们推荐采用 ISP 写 在介绍以下方法前 我们认为您已经安装好 ADS 开发环境 配置配置 Codewarrier 1 1 因为写入必须采用 hex 格式 首先设置 hex 输出文件 select codewarrier edit debug rel settings 如上图 post link 选择 arm from elf 在 arm linker 选择 scatter SYSTEM debug in flash scf 在 option image entry point 选 0 x0 在 LINKER arm fromelf output format 选 intel 32 bit hex 在 output file name 填上最终目标 hex 文件 例如 c abc hex 然后 保存 编译工程 看看 c abc hex 是否成功 安装安装 philip lpc2000 flash utility 连接电脑串口与开发板 开发板上电 设置 philip lpc2000 flash utility select device lpc2132 XTAL 11059 2 Uaud rate 9600 短路开发板跳线器 J6 选择 Read device ID 提示复位开发板 按一下开发板 RST 键 松开 点确定 这时候 part id 和 boot loader id 应该出来 说明正常 然后在 flash programming 的 file name 选择你所要写的程序 abc hex 必须采用 hex 格式 执行 upload to flash 下载结束后 执行 compare flash 显示 compare ok 说明正常 断开跳线器 J6 按 RST 程序应该独立运行 第三章第三章 开发板硬件原理介绍开发板硬件原理介绍 了解原理图以前 请先熟悉 LPC2132 CPU 光盘内有 LPC2132 的 datasheet 注意 CPU 所有的引脚全部引出 因此 CPU 所有功能都可以使用 以下介绍的是开发板 接的外部设备 包括以下几个部分 供电电源 CPU 串行通信 复位电路 键盘电路 PWM 电机驱动 SPI 数码管部分 JTAG 接口部分 I2C EEROM 部分 BEEP 以及 LED 部分 模拟输入 在学习以下内容时请对照原理图 元器件资料光盘里有 电源电源 LPC2132 采用单电源供电 供电 3 3V 由于电路板上某些设备采用 5V 供电 因此输入电 源首先经过 7805 稳压形成 5v 电压 然后送给 AS1117 3 3 低压差稳压电路 产生 3 3v 供 CPU 使用 CPU 部分部分 CPU 晶体振荡器采用 11 0592 CPU 内部可以倍频至 60M 实时时钟采用 32 768K 的晶体振荡器 其供电电源独立 通过外接的纽扣电池供 电 因此开发板断电不会对内部的万年历有影响 CPU 的模拟地和数字地分开 有利于保证 a d 转换的精度 片内的 A D 转换精度 10 位 如果需要 14 位转换精度 可以采用 TLC2543 我们对购买的用户提供代码以及 接口资料 CPU 管脚许多是功能复用的 在作 GPIO 输出功能时候不需要外接上拉电阻 由 于引脚在输入模式下为高阻抗 因此对一些输入脚加上拉电阻保证其处于确定的状态 防止不确定的信号引入 RS232 通信通信 RS232 通信有 2 路 通过 MAX232 将 3 3v 电平转换为 RS232 电平 由于 MAX232 适合用 在 5v 的 TTL 电平场合 因此我们通过分压让其适合 3 3v 场合 本机 RS232 最高工作频率 115200bps 如果需要在工业场合用通信 建议直接采用 RS485 通信 需要重布电路板 也 可以在目前的 RS232 输出外接 RS232 RS485 通信转换模块 效果相同 8 段数码管段数码管 开发板上一共 4 个 8 段共阳数码管 采用轮巡的方式动态扫描 每个发光管点亮时间大约 20ms 74HC595 是串并变换电路 SPI 总线的数据在 74HC595 时钟作用下串行输入 变换 为并行 8 位输出 控制数码管段信号 键盘键盘 键盘键数量不多 没有采用动态扫描 直接通过 GPIO 采样 上拉电阻是为了保证按键信 号处于确定状态 而 100ome 的串联电阻为了防止用户自己编程序将这些引脚设置为高电 平的时候 同时按下键而烧毁 CPU 管脚 液晶接口液晶接口 采用的 LCD 有 2 种接口方式 SPI 接口以及并行接口 这里采用 SPI 接口 液晶背光通过 开关管由 CPU 控制 液晶对比度调节通过电路板上黄色的可调电阻调节 出厂前已经调好 请不要自行调节 液晶的编程说明书见光盘资料 串行串行 EEROM 采用 I2c 接口 存储器可能为 24c04 24c02 24c01 不同的开发板焊接的型号不同 I2c 地址 分为设备号码 内部地址号 内部地址号由 2 部分组成 器件地址以及寄存器地址 详细 请察看 24c04 说明书 JTAG 调试接口调试接口 Jtag 接口的 RTCK 必须接一个下拉电阻 用来允许 JTAG 调试 RTC 部分部分 内部的实时时钟外接 32 768k crystal 早先的 LPC2100 系列没有后备电源 调电后时间就 丢失 而这款 CPU 考虑到这个问题 外加了电池供电 至少 3 年时间没问题 A D 转换部分转换部分 A D 转换 10 位精度 通过电位器输入 范围 0 3 3V 如果用户需要 14 位分辨率 可以采 用 TLC2543 我们可以提供接口以及程序 PWM 输出输出 PWM 输出控制马达运行 占空比越大 输出平均电压越高 马达转得也越快 为了防止 开关管关闭的时候电机线圈反向电压多高击穿开关管 在电机并联了续流二极管 另外 由于电机直接用 3 3v 电源供电 为了防止全速启动的开始阶段启动电流太大 影响 CPU 的正常工作 串联了 10ome 的电阻 复位电路复位电路 可以采用专用复位电路 比如 max708 但价格贵 这里采用自行设计的复位电路 实际效 果不错 RST 为低电平复位 正常工作的时候必须为高电平 当开发板发发生瞬间掉电的 时候 电解电容通过二极管快速放电 当重新上电的时候 通过 10K 的电阻向电解电容充 电 达到延迟复位 保证电压正常后 CPU 程序开始运行 否则可能会跑飞程序 第四章第四章 实验程序实验程序 各种实验在光盘的源代码里面都包含了 这里详细介绍 DEMO 程序 其余的程序请读者自 行分析运行 可以在我们程序的基础上改动称为你自己的应用 所有的 C 程序都分为 2 个部分 初始化启动代码以及应用程序 由于启动代码我们已经做 好 因此 用户只需要关心应用程序的编写 不过 为了全方位掌握 arm 建议了解启动 代码 启动代码启动代码 如果你的程序全部用汇编语言 启动代码就不需要 只需要对系统初始化 这和用单片 机汇编开发类似 但如果需要用 C 编写程序 必须提供启动代码 也许有些人觉得奇怪 为什么用 Keil C51 不用写任何启动代码 但在 ARM 下编程序确要写 这是因为 arm 公司 自己不生产 CPU 只出售芯片技术 许多公司扩充 arm 内核 形成具有各自特色的 arm 处 理器 例如 ROM RAM 的地址安排都各不一样 片内外设也各不相同 而 51 的启动代 码已经在 Keil c51 里集成用户不需要自己另外再写 你可能会问 为什么一定要用汇编写 启动代码而不能直接用 C 语言来初始化 因为 C 语言在工作以前必须初始化一些 C 语言的 库 例如 为 C 程序分配栈空间 当这些基本项目没有初始化的时候 C 语言的程序是无 法工作的 虽然 C 语言最终被编译器编译为汇编代码 但只有基本的设置完成 这些代码 才能正常运行 arm 的编译器不会做这些初始化 编写启动代码需要有如下的预备知识 了解 arm 异常的种类 了解各种异常对应的堆栈分配方法 了解 CPSR 和 SPSR 了解汇编程序与 C 程序的调用 了解 ADS 编译器相关的一些知识 了解某些系统相关的外设设置 启动代码的编写可谓千变万化 即使同一型号的 CPU 启动代码也不一样 这是由编写 启动代码的风格 系统的要求决定的 但总的来说 启动代码的工作流程都是一样的 掌 握了编写的要领 你也就会自如地写出适合自己需要的启动代码 启动编写的步骤如下 初始化异常向量 初始化 CPU 芯片 初始化目标板 初始化堆栈 调用 main 函数初始化 C 语言库 具体的代码请自行分析 demo 程序 应用程序应用程序 应用程序可以做成模块化的方式 不同的功能放在不同模块文件里面 然后再主程序里面 调用即可 相信读者有这方面的经验 驱动程序也可以做成此类方式 以下进给出演示程序说明 其它实验的代码都在提供的光盘里 演示程序 演示实验板部分功能 驱动程序包括在驱动模块里 请看对应目录下面的文 件 这里不再列出和说明 首先在 LCD 显示 4 行文字 然后通过 UART0 打印信息 接着通过电位器 R16 检测模拟电 压 经过运算后由 PWM 输出驱动马达 并且同时在 8 段数码管显示 然后测试键盘 轮 流 按键 1 6 发光二极管交替亮灭 注意 由于马达采用了廉价的玩具电机 因此请不要长期 高速运行 否则容易出问题 稍微试验一下 看看效果就可以了 玩具电机的启动转矩比 较大 请把电位器先适当打高 然后等马达启动后打低以降低速度 include config h include misc h define HC595 CS 0 x0008000 P0 15 口为 74HC595 的片选 define BP 0 x0020000 蜂鸣器地址 define LCDLIGHT 0 x4000000 液晶背光选择 define LIGHT 0 x10000 set p1 16 as gpio for led light define length 16 以下是外部函数申明 extern int adc int channel extern char const DISP TAB 16 extern void MSpiIni void extern void LedInit void extern void DisplayNumber int i extern int GetKey void extern void EnableFIQInterrupt void extern void EnableIQRInterrupt void extern void Init Serial A void extern int print char p extern void GetSystemTime STM systemtime extern void DelayNS int extern void RTCIni void extern char itoa char p long int i extern void short beep void extern void TextDisplayInit void extern void clearpicture void extern void displaypicture void extern void graphshow void extern void printsentence unsigned short int x char p define PWMCYCLE 800 pwm 周期定义 const char ad 30 定义显示文字 欢迎使用简易 ARM7 LPC2132 实验平台 这款开发实验板 适合工业控制场合 可以做很多种实验 名称 main int main void int i j 0 int count int pwmdata int result char buffer 100 STM systemtime char p1 p2 p3 p4 p5 char pp 5 16 p1 pp 0 p2 pp 1 p3 pp 2 p4 pp 3 p5 pp 4 PINSEL2 0 x0004 PINSEL0 0 x00055555 管脚功能设置 PINSEL1 0 x06400400 Init Serial A 波特率 9600 8bit 1 没有奇偶校验 IO1DIR BP IO1CLR BP 初始化 BP TextDisplayInit 初始化 LCD DelayNS 1 IO0DIR LCDLIGHT 配置 LCD 北光选择 IO0CLR LCDLIGHT clearpicture 图片显示 准备 DelayNS 1 displaypicture 显示图片 graphshow DelayNS 50 TextDisplayInit 文字显示准备 j 1 DelayNS 1 for i 0 i 4 i 显示 4 行文字 printsentence i char xdenotes the start line the 12864module is 4 line and 8 column IO0DIR HC595 CS IO0SET HC595 CS RTCIni 初始化 RTC DelayNS 1 pwmdata 1 pwm 数据寄存器初始化 PWMPCR 0 x2000 enable pwm5 PWMMC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国牛肉行业市场运行动态及投资发展潜力分析报告
- 中国功能性糖醇行业市场集中度、投融资动态及未来趋势预测报告(智研咨询发布)
- 三七灰土方案
- 2026年最-新网络工程师职业考试试题与答案
- epdm塑胶跑道施工方案
- 2026年软考(网络工程师)考试试题与答案
- Z世代情绪价值消费驱动酸枣糕产品形态创新研究
- RCEP关税减让红利下东南亚美耐皿产能转移的投资套利空间
- ESG评级标准下冷藏羊肉项目环境合规成本与长期资本吸引力
- 2026年上海商学院高职单招笔试化学试题库含答案解析2套试卷
- 2026中国中药配方颗粒标准化进程及市场前景分析
- 中医妇科护理的未来发展方向
- 《眼镜营销与眼镜店管理》课件-第二章 眼镜产品策略
- 把“故乡与小时候”写成文24招-2026年中考语文二轮复习
- 2026年定员定额管理工作计划定员定额管理工作方案
- 2026年大气科学硕士考研复试高频面试题包含详细解答
- 实施指南(2026)《QBT 2564.2-2012 螺钉旋具 一字槽螺钉旋具旋杆》
- 2026年云南高考政治考点命题分析及复习备考策略
- 游泳池人员卫生管理制度
- 一般体格检查头颈部体格检查教案
- DB15∕T 4213-2025 防沙林果类副产物发酵饲料制备技术规程
评论
0/150
提交评论