基于gps授时的点阵led屏显示时钟设计报告(编辑修改稿)内容摘要:

网 ”中大量的无线连接设备提供高效的沟通、管理和维护。 低功耗联网功能深具潜能,可驱动各种节能和生活关键应用,包括从无线方式分析住宅或办公大楼性能与控制的感测器,到 以电池运作、通过无线方式连接监控 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 5 设备的身体感测器。 而现有的 8 位或 16 位微控制器( MCU)缺少足够的智能和功能来实现这些应用。 CortexM0 处理器不仅延续了易用性、 C 语言编程模型的优势,而且能够二进制兼容已有的CortexM0 处理器工具和实时系统( RTOS)。 作为 CortexM 处理器系列的一员, CortexM0 处理器同样能够获得 ARM CortexM 生态系统的全面支持,而其软件兼容性使其能够方便地被移植到更高性能的 CortexM3 或 CortexM4 处理器。 率先获得 CortexM0+处理器授 权的厂商包括飞思卡尔半导体和恩智浦半导体。 第 二 章 系统方案 系统总体方案 本系统 利用 NXP LPC11C24作为 主控模块。 首先从 GPS 系统获取 全球标准 时间源,经过 CPU 处理后 将时间数据通过 UART 接口 输出到 LPC11C24 主控模块上, LPC11C24 可把 接收到 的 GPS 时间数据 利用软件来处理, 再 把数据 发送 到显示模块,实现时间的显示。 LED点阵屏为主要的显示模块,把从 LPC11C24 传来的数据显示出来,并且可以实现左右移动等功能。 系统方案结构图 根据总体方案画出了系统的结构图,是按照结构层次 划分 三 层: 硬件平台 NXP LPC11C24 为核心, 同 UART 连接的是 GPS 模块, 32*16 的点阵屏是用杜邦线和和控制系统相连的。 整体方案结构 框图如下: 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 6 图 系统总体 方案结构 图 第 三 章 基于 GPS 授时的点阵 LED 屏显示时钟 的系统 NXP LPC11C24 主控板 LPC11C24 为核心控制芯片,工作过程分为两个部分 :数据接受处理和时钟数据扫描显示。 LPC11C24 开发板内部集成了串口通信电路,本设计就是应用 UART 通用串行数据接口接受 外部GR87 发来的卫星数据,有选择的将数据存储到数据缓冲区,然后我们将缓存区里的数据取出经过CPU 的处理后送到 LED 点阵 显示 屏上显示出我们所需要的时钟信息。 NXP LPC11C24 简介 LPC11C24FBD48 是 ARM CortexM0 微控制器 ,设计用于 8 位 /16 位微控制器应用, 具有高新能,低功耗,简单指令集,统一编址寻址等优点,而且, LPC11C24 可以比传统的 8 位 /16 位 单片机 在执行大多数普通的微控制器任务时减少 40%到 50%的代码量,这是通过强大的 CortexM0 v6M 指令集 实现的。 这种指令集以 16 位的 Thumb 指令为基础,迄今唯一应用于 32 位 微处理器。 GPS 模块 32*16 LED 点阵屏 系统 控制中心NXPLPC11C24 核心板电路 U A R T 串口 杜 邦 线 电源供电模块 行驱动电路 列 驱动电路 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 7 具有高于 45DMIPS 处理能力的 LPC11C24 为 CAN 节点提供了强有力的信息和数据处理能力。 这种对电源的优化能力是当今的 8 位 /16 位 单片机 难以实现的 特色和优点  ARM CortexM0 处理器,工作频率高达 50 MHz  ARM CortexM0 内置可嵌套中断向量控制器 (NVIC)  程序代码的密度要比 8/16 位 MCU 更小  闪存 ISP 命令可通过 UART 或 C_CAN 发出  超快速模式下, 2 个 I178。 C 总线引脚上的大电流吸收驱动器 (20 mA)  带小数波特率生成器的 UART  36 个高速 5V相容 GPIO 引脚,可选择引脚高电流驱动( 20 mA)  12MHz 内部 RC 振荡器,温度及电压范围精确度可达 1%  支持完整 I178。 C 总线规范及超快速模式的 I178。 C 总线接口  CAN B C_CAN 控制器具备 onchip CANopen 驱动器与整合式收发器 片内高速 CAN 收发器  工作范围从 1 MHz 到 25 MHz 的晶体振荡器  频率范围从 kHz 到 MHz 的可编程看门狗振荡器  最大限度降低功耗的集成式 PMU(电源管理单元)  采用中断和强制复位的 4 个 独立阀值进行的掉电检测  可用作芯片识别的唯一序列号  V 单电源( V 至 V) 开发环境 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 8 此次设计的软件开发环境使用的大赛的合作方恩智浦半导体针对它旗下采用的 ARM 处理器的LPC系列微控制器推出的开发工具平台 LCXpresso。 LCXpresso根据简单易用的理念设计而成, 它为系统设计人员提供了一种快速便捷的使用 LPC1100 的方式。 利用 LPCXpresso 这款功能全面的工具链还可以轻松实现在高性能的 ARM ARM9 以及包括 LPC1300 和 LPC1700 在内的 Cortex系列 微控制器之间的产品移植。 LPCXpresso 开发平台基于功能强大的 Eclipse 集成开发环境( IDE)工具,拥有由恩智浦设计的全新、直观的用户界面、针对 CortexM0优化的编译器和函数库、 LPCLink JTAG/SWD 调试探针和目标板, 同时具有 一流的 C 编程环境以及语法高亮度显示、代码折叠和展开、快速点击导航变量和函数定义及声明的高级功能, 为用户提供丰富的开发工具,加速产品开发,缩短新品上市时间。 LPCXpresso 的项目建立 1.打开 LPCxpresso 软件弹出 workspace launcher 对话框选择项目要放的文件夹 FILEnewproject 弹出 new project 对话框选择 LPCxpresso c projectnext 再选择 lpc 11xx c progect –next 在 project neme 中输入项目名称 x 选择 lpc11c24/301next在 cmsis library to link project to:中选择 NONE  finish 3.这样项目就建立好了,在编译过程中缺什么头文件就去示 例文件夹中复制到 SRC 文件夹下就可以了 点阵 LED 屏 显示模块 这次 我们选用的是 P10 LED 成品屏。 P10 LED点阵显示屏作为此次设计的 数据显示模块, 它的作用就是 将从缓冲区 里 取出的数据经过 CPU 的处理后显示出我们所需要的 信息。 我们可以利用 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 9 LPC11C24 的 GPIO 端口控制 LED 点阵屏显示相应的信息。 P10 LED 点阵屏电路图 下图是 P10 LED 点阵屏的电路图,其中 74HC245D 是驱动放大芯片、 74HC595 是移位寄存器、74HC138D 是译码器 图 P10 LED点阵屏电路图 P10 LED 点阵显示屏的指标  LED 分辨率 : LED 显示屏像素的行列数称为 LED 显示屏的分辨率 , 我们 所用 的 P10 LED 点阵屏的分辨率是 32*16。  LED 点距: 10mm  像素配置 : 1R(纯红 ) 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 10  视距: 3m~300m LED 点阵屏上控制 LED 的亮灭 原理 通过 P10 LED 屏的电路图可以发现,整个屏有通过一个 74HC138 来控制行和 16 个 74HC535 一位寄存器 控制列。 按正常理解 32*16 的 LED 点阵 2 个 138 和 16个 595 才能控制整个屏。 而这里 只用了 1 个 138 是用了 4953LED 驱动芯片,一个 138 输出信号被分成了 4 个一样的信号连接到了每个4*8小模块的 LED的阳极上这样 138输出的 4路信号就被分成了 16个信号,这 16 个信号中每 4个一组一样的信号共 4 组。 这样行就能全部控制了。 因为 屏上 4*8 小模块都配了一个 595 所以一次通过 595 输入端通过移位可以输入 16*8 位数据进入 595 中。 这就移位着当 138输出高电平信号, 595移位移入 128 个 0 进去时这是屏就会显示 4 行且这 4 行是隔 4 个亮一行。 如果要只亮一个点只需把送入 595 的 128 中对应的那一位写 0 其他 127 位写 1就可以显示一个点了。 例如要让 下图中第一行第一列 的那个 LED 亮,只需要 OUT1 送高电平,列 1 送入低电平即可。 OUT1 端的 高低电平由 74HC138 来控制 , 而它阴极的 电平 高低则是由 74HC595 来控制。 让 138输出信号快速的 输出 四个信号,这时屏上显示的就是点亮的那个点的所在的 4*8 的小模块中的亮点所在的列的 4 个点都亮了起了。 这就是动态扫描。 后面还会详细解释。 LED 点阵 屏的动态扫描 原理 通过上面已经可以把一个点点亮了,接下来就是要在屏幕上显示要显示的内容了。 如果 138 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 11 的输出内容不 变只能显示 4 行,只有把 138 输出的内容改变,且速度要快这样 16 行就可以全部显示出来了。 这就是动态扫描。 比如我们要在左边的 16*8 的区域显示一个数字“ 1”首先就要的编写“ 1”在 16*8 的区域的 16进制编码并放入一个数组中,这就是字库。 编写好字库后还要再加一个 64 字节的数据缓存区用来存放屏上所用点的数据, 595就从数据缓存区中取数据送去显示。 而缓存区中的内容是从字库通过算法 加载进去的。 现在我们把“ 1”的数据放入数据缓存区中对应显示的地方。 595 取 128 位送入屏幕,这时 138 选择的是 4*8 的第一行,这时在要 显示的 16*8 中亮了 1, 5, 行,接着595再取下一行的 128位数据送入屏, 138 选中 4*8 的第二行。 这时在要显示的 16*8 中亮了 2, 6,10, 14行,依次类推共 4 次,就把 16*8 的所有行就都显示了。 由于程序执行速度很快,肉眼看不出切换所以就看到一个完整的“ 1”了。 这就实现了动态扫描。 主控模块 LPC11C24 与 LED 点阵屏的 引脚 连接 LPC11C24 引脚 LED 点阵屏引脚 +5VIN 5V 供电电源 GND GND P0_3 OE P1_8 SCLK P2_6 R P2_7 CLK P2_8 B P2_10 A LPC11C24 32*16 LED 点阵 屏 P0_3 P1_8 P2_6 P2_7 P2_8 P2_10 OE SCLK R CLK B A 全 国 大 学 生 嵌 入 式 物 联 网 设 计 大 赛 12 图 LED点阵屏与 LPC11C24引脚 的连接图 LPC11C24与 LED点阵屏的连接图 LED 点阵 屏的显示 的软件设计 对于这个系统的软件设计一开始是我们是从控制 LED 点阵屏的显示入手,而 为了防止在 控制LED显示 的初始阶段烧坏 LPC11C24 开发板以及更快的入手 LPC11C24 开发板,我们首先决定先用 51单。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。