




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 第九届“博创杯”全国大学生嵌入式物联网设计大赛 作品设计报告 基于 gps 授时的点阵 led 屏显示时钟 a led clock based on gps 设 计 报 告 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 1 摘摘 要要 本设计采用了大赛指定硬件开发平台: nxp lpc11c24fb(arm cortex-m0 微控制器 ),设 计了 gps 授时的点阵 led 屏时钟显示系统。系统从 gps 卫星上获取标准的时 钟信号,并将这 些信息通过 uart 接口传到 lpc11c24 主控模块 上,再通过 led 点阵屏将经过 lpc11c24 处理 后的时间信息显示出来。 如果 uart 未收到 gps 数据则系统将采用 lpc11c24 的内部定时器计 时,该设计以软硬件相结合的方式完成整个gps 数据的接 收和显示过程 完成了一台 led 点阵 屏显示 gps 时钟的设备。此设计由于使用的是 gps 时钟信号 ,所以时间精确度可以达到纳秒级, 同时结合了点阵 led 屏,就使得系统整体 显示效果好 。 关键词:关键词: lpc11c24、 gps、 led 点阵屏 abstract nxp lpc11c24(cortex m0 micro controller)is used as the specified hardware platform in the design ofthe gps timing lattice led clock display system . system standard for the clock signal from gps satellites, and upload the information through the uart interface lpc11c24 master control module, through the led lattice screen will be displayed after lpc11c24 processing time information. if uart is not received gps data system will adopt lpc11c24 internal timer timing, the design with a combination of hardware and software to complete the whole process of gps data receiving and display completed a led dot matrix screen gps clock device. this design is due to the use of gps clock signal, so the precision can reach nanosecond time, combined with lattice led screen at the same time, makes the system as a whole display effect is better. keyword:lpc11c24、 gps、 ledlatticescreen 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 2 目录目录 摘摘 要要1 目录目录2 第一章第一章 绪论绪论.4 1.1 设计背景设计背景 4 1.2 arm cortex-m0 处理器处理器4 第二章第二章 系统方案系统方案.5 2.1 系统总体方案系统总体方案5 2.2 系统方案结构图系统方案结构图5 第三章第三章 基于基于 gps 授时的点阵授时的点阵 led 屏显示时钟的系统屏显示时钟的系统 6 3.1 nxp lpc11c24 主控板主控板.6 3.1.1 nxp lpc11c24 简介6 3.1.2 开发环境7 3.1.3 lpcxpresso的项目建立 .8 3.2 点阵点阵 led 屏显示模块屏显示模块.8 3.2.1 p10 led 点阵屏电路图9 3.2.2 p10 led 点阵显示屏的指标9 3.2.3 led 点阵屏上控制 led 的亮灭原理.10 3.2.4 led 点阵屏的动态扫描原理.10 3.2.5 主控模块 lpc11c24 与 led 点阵屏的引脚连接 .11 3.2.6 led 点阵屏的显示的软件设计.12 3.2.6.1 控制 led 亮灭的设计过程.13 3.2.6.2led 点阵屏的动态扫描设计过程.14 buf缓冲区数据组织 .15 3.2.7 时钟显示秒的控制 .19 3.3 gps 卫星数据接收模块卫星数据接收模块 gr-8720 3. 3.1gps 技术简介技术简介.20 3.3.2 gr-87.21 3.3.3 引脚功能21 gr-87 指标.22 3.3.4 硬件接口uart.23 3.3.5 通信协议 nmea.24 3.3.5 主控模块 lpc11c24 与 gr-87 的连接 .24 3.3.6 uart 接收 gps 数据软件设计.25 3.4 供电电源的选择供电电源的选择.29 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 3 第四章第四章 系统测试系统测试.29 4.14.1 测试仪器和设备测试仪器和设备 .29 4.2 测试方案测试方案30 4.2.1 led 点阵屏显示测试 .30 4.2.2 gps 通信测试30 4.2.3 nxp lpc11c24 测试 30 4.2.4 系统综合测试.30 4.3 测试测试30 4.3.1 led 点阵屏显示测试 .30 4.3.2 gps 通信测试31 4.3.3 系统综合测试32 4.3.4 结果分析32 第五章第五章 系统特色系统特色.33 5.1 高精度的时钟信号高精度的时钟信号.33 5.2 led 点阵屏特色点阵屏特色33 第六章第六章 结结 论论.34 附录附录34 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 4 第一章第一章 绪论绪论 1.1 设计背景设计背景 随着社会的进步人们对于时间信号的精度要求越来越高,而 传统的时钟一般是采用内部晶振 精确度不高,长期运行过程中由于种种原因都会产生 误差已经不能满足工业生产的需要 ,因此我们 要寻找一种稳定可靠的方法 来来产生精确的时钟 。使用原子钟可以使时间精度达到纳秒级, 所以 在科学技术领域 、人们日常的生活生产领域都可以广泛的运用 “原子钟”。另外,led 显示屏是利 用发光二级管点阵模块组成的平面式显示屏幕由于它具有发光率高、使用寿命长、组态灵活、适应 能力强等优点在国内外的到广泛应用 。基于 gps 授时的点阵 led 屏显示时钟就是利用 gr-87 接 收卫星上“原子钟”精确的时间信号传送给 lpc11c24,经过 lpc11c24 处理后发往点阵 led 显示屏 并显示出时间。 1.2 arm cortex-m0 处理器处理器 作为 arm cortex 处理器系列的最新成员, 32 位 cortex-m0 处理器采用了低成本 90 纳米低功 耗(lp)工艺,耗电量仅 9a/mhz,约为目前主流 8 位或 16 位处理器的三分之一,却能提供更 高的性能。这种行业领先的低功耗和高性能的结合为仍在使用8 位或 16 位架构的用户提供了一个 转型开发 32 位器件的理想机会,从而在不牺牲功耗和面积的情况下,提高日常设备的智能化程度。 cortex-m0 处理器的特点促成了智能、低功耗微控制器的面市,并为 “物联网”中大量的无线连 接设备提供高效的沟通、管理和维护。低功耗联网功能深具潜能,可驱动各种节能和生活关键应用, 包括从无线方式分析住宅或办公大楼性能与控制的感测器,到以电池运作、通过无线方式连接监控 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 5 设备的身体感测器。而现有的 8 位或 16 位微控制器(mcu)缺少足够的智能和功能来实现这些应 用。 cortex-m0 处理器不仅延续了易用性、 c 语言编程模型的优势,而且能够二进制兼容已有的 cortex-m0 处理器工具和实时系统( rtos)。作为 cortex-m 处理器系列的一员, cortex-m0 处理 器同样能够获得 arm cortex-m 生态系统的全面支持,而其软件兼容性使其能够方便地被移植到更 高性能的 cortex-m3 或 cortex-m4 处理器。率先获得 cortex-m0+处理器授权的厂商包括飞思卡尔 半导体和恩智浦半导体。 第二章第二章 系统方案系统方案 2.1 系统总体方案系统总体方案 本系统利用 nxp lpc11c24 作为主控模块。首先从 gps 系统获取全球标准时间源,经过 cpu 处 理后将时间数据通过 uart 接口输出到 lpc11c24 主控模块上,lpc11c24 可把接收到的 gps 时间数 据利用软件来处理, 再把数据发送到显示模块,实现时间的显示。 led 点阵屏为主要的显示模块, 把从 lpc11c24 传来的数据显示出来,并且可以实现左右移动等功能。 2.2 系统方案结构图系统方案结构图 根据总体方案画出了系统的结构图,是按照结构层次划分 三层:硬件平台 nxp lpc11c24 为核 心,同 uart 连接的是 gps 模块,32*16 的点阵屏是用杜邦线和和控制系统相连的。 整体方案 结构框图如下: 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 6 gps 模块 32*16 led 点阵屏 系统控制中心 nxplpc11c24 核心板电路 u a r t 串 口 杜 邦 线 电源供电模块 行驱动电路 列驱动电路 图 2.1 系统总体方案结构图 第三章第三章 基于基于 gps 授时的点阵授时的点阵 led 屏显示时钟屏显示时钟的系统的系统 3.1 nxp lpc11c24 主控板主控板 lpc11c24 为核心控制芯片,工作过程分为两个部分 :数据接受处理和时钟数据扫描显示。 lpc11c24 开发板内部集成了串口通信电路,本设计就是应用uart 通用串行数据接口接受外部 gr-87 发来的卫星数据,有选择的将数据存储到数据缓冲区,然后我们将缓存区里的数据取出经过 cpu 的处理后送到 led 点阵显示屏上显示出我们所需要的时钟信息 。 3.1.1 nxp lpc11c24 简介简介 lpc11c24fbd48 是 arm cortex-m0 微控制器,设计用于 8 位/16 位微控制器应用, 具有高 新能,低功耗,简单指令集,统一编址寻址等优点,而且, lpc11c24 可以比传统的 8 位/16 位单 片机在执行大多数普通的微控制器任务时减少 40%到 50%的代码量,这是通过强大的 cortex-m0 v6-m 指令集实现的。这种指令集以 16 位的 thumb 指令为基础,迄今唯一应用于 32 位微处理器。 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 7 具有高于 45dmips 处理能力的 lpc11c24 为 can 节点提供了强有力的信息和数据处理能力。这 种对电源的优化能力是当今的 8 位/16 位单片机难以实现的 特色和优点 arm cortex-m0 处理器,工作频率高达 50 mhz arm cortex-m0 内置可嵌套中断向量控制器 (nvic) 程序代码的密度要比 8/16 位 mcu 更小 闪存 isp 命令可通过 uart 或 c_can 发出 超快速模式下, 2 个 ic 总线引脚上的大电流吸收驱动器 (20 ma) 带小数波特率生成器的 uart 36 个高速 5v 相容 gpio 引脚,可选择引脚高电流驱动( 20 ma) 12mhz 内部 rc 振荡器,温度及电压范围精确度可达 1% 支持完整 ic 总线规范及超快速模式的 ic 总线接口 can 2.0 b c_can 控制器具备 on-chip canopen 驱动器与整合式收发器 片内高速 can 收发器 工作范围从 1 mhz 到 25 mhz 的晶体振荡器 频率范围从 7.8 khz 到 1.8 mhz 的可编程看门狗振荡器 最大限度降低功耗的集成式 pmu(电源管理单元) 采用中断和强制复位的 4 个独立阀值进行的掉电检测 可用作芯片识别的唯一序列号 3.3 v 单电源(1.8 v 至 3.6 v) 3.1.2 开发环境开发环境 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 8 此次设计的软件开发环境使用的大赛的合作方恩智浦半导体针对它旗下采用的arm 处理器的 lpc 系列微控制器推出的开发工具平台 lcxpresso。lcxpresso 根据简单易用的理念设计而成, 它为系统设计人员提供了一种快速便捷的使用 lpc1100 的方式。利用 lpcxpresso 这款功能全面 的工具链还可以轻松实现在高性能的 arm7、arm9 以及包括 lpc1300 和 lpc1700 在内的 cortex 系列微控制器之间的产品移植。 lpcxpresso 开发平台基于功能强大的 eclipse 集成开发环境( ide)工具,拥有由恩智浦设计 的全新、直观的用户界面、针对 cortex-m0 优化的编译器和函数库、 lpc-link jtag/swd 调试 探针和目标板,同时具有一流的 c 编程环境以及语法高亮度显示、代码折叠和展开、快速点击导航 变量和函数定义及声明的高级功能, 为用户提供丰富的开发工具,加速产品开发,缩短新品上市时 间。 3.1.3 lpcxpresso 的项目建立的项目建立 1打开 lpcxpresso 软件弹出 workspace launcher 对话框选择项目要放的文件夹 2.菜单栏 file-new-project 弹出 new project 对话框选择 lpcxpresso c project-next 再选择 lpc 11xx- c progect next -在 project neme 中输入项目名称 -netx -选择 lpc11c24/301next 在 cmsis library to link project to:中选择 none - finish 3这样项目就建立好了,在编译过程中缺什么头文件就去示例文件夹中复制到src 文件夹下就 可以了 3.2 点阵点阵 led 屏显示模块屏显示模块 这次我们选用的是 p10 led 成品屏。p10 led 点阵显示屏作为此次设计的 数据显示模块, 它的 作用就是将从缓冲区里取出的数据经过 cpu 的处理后显示出我们所需要的 信息。我们可以利用 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 9 lpc11c24 的 gpio 端口控制 led 点阵屏显示相应的信息。 3.2.1 p10 led 点阵屏电路图点阵屏电路图 下图是 p10 led 点阵屏的电路图,其中 74hc245d 是驱动放大芯片、74hc595 是移位寄存器、 74hc138d 是译码器 图 4.2 p10 led 点阵屏电路图 3.2.2 p10 led 点阵显示屏的指标点阵显示屏的指标 led 分辨率:led 显示屏像素的行列数称为 led 显示屏的分辨率 ,我们所用的 p10 led 点 阵屏的分辨率是 32*16。 led 点距: 10mm 像素配置: 1r(纯红) 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 10 视距: 3m300m 3.2.3 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 个点都亮了起了。这就是动态扫描。后面还会详细解释。 3.2.4 led 点阵屏的动态扫描原理点阵屏的动态扫描原理 通过上面已经可以把一个点点亮了,接下来就是要在屏幕上显示要显示的内容了。如果 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 11 138 的输出内容不变只能显示 4 行,只有把 138 输出的内容改变,且速度要快这样 16 行就可以全 部显示出来了。这就是动态扫描。 比如我们要在左边的 16*8 的区域显示一个数字 “1”首先就要的编写 “1”在 16*8 的区域 的 16 进制编码并放入一个数组中,这就是字库。编写好字库后还要再加一个64 字节的数据缓存 区用来存放屏上所用点的数据, 595 就从数据缓存区中取数据送去显示。而缓存区中的内容是从字 库通过算法加载进去的。现在我们把 “1”的数据放入数据缓存区中对应显示的地方。 595 取 128 位送入屏幕,这时 138 选择的是 4*8 的第一行,这时在要显示的 16*8 中亮了 1,5,9.13 行,接 着 595 再取下一行的 128 位数据送入屏,138 选中 4*8 的第二行。这时在要显示的 16*8 中亮了 2,6,10,14 行,依次类推共 4 次,就把 16*8 的所有行就都显示了。由于程序执行速度很快,肉 眼看不出切换所以就看到一个完整的 “1”了。这就实现了动态扫描。 3.2.5 主控模块主控模块 lpc11c24 与与 led 点阵屏的引脚连接点阵屏的引脚连接 lpc11c24 引脚led 点阵屏引脚 +5vin 5v 供电电源 gndgnd p0_3oe p1_8sclk p2_6r p2_7clk p2_8b p2_10a lpc11c24 32*16 led 点阵屏 p0_3 p1_8 p2_6 p2_7 p2_8 p2_10 oe sclk r clk b a 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 12 图 5.4 led 点阵屏与 lpc11c24 引脚的连接图 lpc11c24 与 led 点阵屏的连接图 3.2.6 led 点阵屏的显示的软件设计点阵屏的显示的软件设计 对于这个系统的软件设计一开始是我们是从控制led 点阵屏的显示入手,而 为了防止在控制 led 显示的初始阶段烧坏 lpc11c24 开发板以及更快的入手 lpc11c24 开发板,我们首先决定先用 51 单片机来写程序点亮控制 led 点阵屏,在可以任意的控制 led 屏的显示之后再将程序移植到 lpc11c24 开发板上。而控制 led 点阵屏的首要问题就是点阵屏上每一行的亮灭是如何在单片机中实 现的,接下来我们就试着去控制点阵屏的的每一个点的亮灭,直到可以控制任意点亮和灭。然后, 我们再考虑去让点阵屏去显示数字以及在哪个位置去显示,最后我们才再想方设法的使led 点阵 屏的不同位置显示出我们想要显示的数字而这又是最困难的一步,由于在一个时刻led 点阵屏只 能让一块显示所以要想让整个的屏都显示不同的数字就使用到动态扫描的技术。这里要真正实现 动态扫描则分为两部分第一部分是 buf 数据缓存区的数据的动态变化,第二部分是对 led 屏的行 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 13 的动态扫描。 图 led 点阵屏显示设计思路程 3.2.6.1 控制控制 led 亮灭的设计过程亮灭的设计过程 首先我们是先通过看对 p10 led 点阵屏电路图走线方式,电路的芯片的作用来理解电路。电路 是用 74hc138 译码器和 74hc595 移位寄存器组合实现的,这样就大概知道电路是如何工作的,我 们就试着按自己的理解去连接的电路并给通过单片机控制led 点阵屏,写了几个程序发现 led 点阵屏上一直不亮,就考虑是否是硬件出了问题,但是经过测试后发现led 屏的正负极是有 +5v 电压的,并且 led 的引脚同 51 单片机的连接也正确。只能是程序写的不对,然后我们就上网查阅 各种资料,包括 595 移位寄存器和 138 译码器的手册、例程,通过查阅之后才对 595 和 138 的工 作有了更进一步的了解,我们之后又重新编写了一个程序和发现还是不能点亮led 屏,问了老师 后才知道是我们对 595 理解有误, 之后我们试着写了一个程序发现 led 点阵屏果真亮了,但是 led 灯都是在乱闪的,琢磨的一 晚上也没找到是什么原因, 直到第二天问了老师才发现是 led 屏和单片机没有共地,我们找了一 跟线将 led 的地和单片机的地线连接起来这下屏上的显示就稳定了, 但是是 4 行一起亮的,看了 控制一个点显示控制一行显示任意显示数字 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 14 原理图后发现 138 的输出信号又通过 led 驱动芯片分出 4 个一样的信号,输出的信号被用于控制 4 行,所以 16 行需要 4 个 138 译码输出信号,这样 2 个 138 的输入信号输出 00、01、10、11 四个 信号,就能把整块屏的 16 行给控制起来。 能够控制行,还得能控制任意一个点。一开始只知道595 是如何工作的,就全送入 0,后来改 变输入 595 的 128 位,发现第一个送进去的 0 会在 4 行中的最后一个点上,就理解了什么叫 “位 显示的先送”这句话,这样就已经能控制 128 位中的任意一点的亮和灭。 3.2.6.2led 点阵屏的动态扫描设计过程点阵屏的动态扫描设计过程 实际上,我们要做的远不止让行和点亮起来这么简单,因为引脚的有限,我们只能用动态扫描 的方式来让屏幕显示全部的内容,但是问题有来了, 138 和 595 的组合输入究竟是什么样的。时序 是如何组合在一起的,我们就试了一下发现屏上的显示规律并不是我们想的那样从左到右依次来的, 而是 8 位一组从左下方开始再到左上方,然后再从下方的往右8 位再往上依次类推,直到右上方。 这样就影响到了数据组织问题,做到这里老师对我们提出了一个数据缓冲区的概念,说这块屏的显 示程序对应有三部分,第一部分就是一个 64 字节的缓冲区里面是屏上的每个点对应的值,第二个 部分是 4 个变量也就是屏上列分成 8 位一组的点钟要现实的内容的值。第三个部分就是扫描输出程 序,这个程序只需要扫描 64 字节的缓冲区其它的不用管,这三部分的工作 过程是,程序通过 4 个 变量在字库中选择要显示的值的编码送入 64 字节的显示缓冲区中对应的位置,在通过扫描程序来 把显示缓冲区中的内容送给显示屏。这个过程也是成为整个程序的主要框架后面的功能在这些基础 上添加和修改的。程序写到这里出现了单片机 无法解决的问题ram 的大小不够用无法执行程 序。这时就不再使用单片机来编写了,我们把程序移植到lpc22c24 上面去,由于 lpc11c24 中 引脚的使用不同单片机引脚使用初始化引脚即 gpiosetdirl(x,x,1)第三位为 1 表示引脚的状态 为输出,前面两位分别为第几个 io 口的第几位。而 io 口的输出要用 gpiosetvail(x,x,x).第一个 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 15 x 表示第几个 io 口,第二个 x 表示第几个 io 口的第几位,第三个 x 表示输出 0 或 1.由于这种输出 方式带来的问题是只能用 0 和 1 来输出,所以只能把原来程序中的数据移位一个一个输出,这是和 单片机的一个区别。原来程序移植到 lpc11c24 中后下载可用位就可改变现实的内容了。原来只能 显示 4 位数字,现在要把时间和日期一起显示了。这样就要重新规划数据缓冲区的数据组织和传入 数据缓冲区的算法了,用移位来把重新规划的数据缓冲区填入正确的值,并正确显示年-月-日-时- 分 buf 缓冲区数据组织缓冲区数据组织 控制点阵屏显示时钟就要知道 点阵屏上每个点在 buf 缓冲区中对应的存储位置, 因为我们所使 用的是 32*16 的 led 点阵屏,所以 buf 缓冲区就应该是一个 64 字节的数据缓冲区,每一个字节表 示 led 屏上的 8 个点如果我们要在某个位置上显示某一个数字就把 buf 缓冲区中对应位置的值改 成要显示数字的编码。 下图是我们定义时间的年、月、日、时、分在点阵屏上的显示位置和buf 缓冲区对应关系。 注:图中 063 每个数字代表一个字节,数字表示这个字节在 buf 缓冲区数组中的位置。 比如说图中51就是从左往右的八个小方格 ,图中的6就是从左往右的八个小方格。 55 39 23 7 点 点 54 38 51 35 年十位 19 3 显示 50 34 位置 18 年个位 显示 位置 22 月十位 显示 位置 59 月个位 43 显示 27 位置 11 58 42 26 63 日十 47 显示 31 位置 15 62 46 30 日个位 显示 位置 2 6 10 14 49 53 57 61 33 37 41 17 21 点 25 1 5 9 48 52 56 32 36 40 16 20 点 24 0 时十位 显示 位置 4 时个位 显示 位置 8 分十位 显示 位置 45 分个位 29 显示 13 60 位置 44 28 12 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 16 图 4 led 点阵屏上的点与 buf 缓冲区的对应关系 在这里要真正实现动态扫描则分为两部分第一部分是buf 数据缓存区的数据的动态变化,第二 部分是对 led 屏的行的动态扫描 1 1. .b bu uf f 数数据据缓缓冲冲区区的的动动态态变变化化 例如: 这是对显示的时钟分的个位的数字在缓冲区的动态变化的计算方法 比如要显示数字 8 buf45=(buf45|0xf0) if (uartcount = bufsize) uartcount = 0; 这段程序就是如果收到的数据是有效的就会把 fifo中的最高位的数据给缓存区, 知道缓存区64 字节全满。 2.uart数数据据的的处处理理 开始 系统初始化 uart 是否收到数据? 筛选并处理数据 送入临时数组 结束 定时器秒 1+1 进入时间控制程序 n y 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 27 我们要用的数据是 gps中的$gprsm中的时间和日期的内容。 时间的格式是:时时分分秒秒 日期格式是:日日月月年年 gps信息的数据是以$为开始,以*号结束 筛选gps数据的方法是: a. 判断是不是收到了开头 $以及后面的gprmc是否都满足 b. 把缓存数组中的第 713,4752的数据通过字符转数字并赋给对应的变量。当然因为是 在东 八区,小时要+8之后判断是不是超过了 24小时。 c. 这样就把时间和gps上的数据同步了 以下是这段程序代码: if ( uartcount != 0 ) lpc_uart-ier = ier_thre | ier_rls; /关闭uart接收 for(i=0;i24) shi-=24;/过了24小时就减去24小时 shi1=shi%10;/分别把对应的在缓存区的数据给对应的变量 shi2=shi/10; fen2=cmd9-0x30; fen1=cmd10-0x30; miao2=cmd11-0x30; miao1=cmd12-0x30; if(cishu=0|fchange!=shi2)/由于在调试时发现日期的数据有可能丢失 就在第一次对时改变一下,以后分钟变化是才让日期对一次,这样可以降低出错率 ri2=cmd47-0x30; ri1=cmd48-0x30; yue2=cmd49-0x30; yue1=cmd50-0x30; 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 29 nian2=cmd51-0x30; nian1=cmd52-0x30; cishu=1; fchange=shi2; choice(); f=0;/对时时步用定时器计时 fcmd=0; phead=0; uartcount = 0;/对时结束清空计数位 lpc_uart-ier = ier_thre | ier_rls | ier_rbr;/开uart接收 3.4 供电电源的选择供电电源的选择 采用开关电源作为整个系统的供电电源,因为当电压输出为 +5v 时最大的直流电流可以达到 22a,能满足驱动 led 点阵屏显示时所需大电流的要求。 第四章第四章 系统测试系统测试 4.14.1 测试仪器和设备测试仪器和设备 1、pc 一台 2、数字万用表 1 块 3、数字示波器 1 台 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 30 4.2 测试方案测试方案 4.2.1 led 点阵屏显示测试点阵屏显示测试 将 led 点阵屏与主控制芯片 nxp lpc11c24 连接,直接给其写入一个显示年月日时分的程序观 察 led 屏的的响应速度和显示的效果 。 在夜间测试 led 点阵屏的亮度观察它的亮度是否 同样达到我们所预想的要求 4.2.2 gps 通信测试通信测试 先将 gps 模块连接到 rs232 电平转换芯片 max3232 上,再通过 rs232 串口连接到电脑上, 设置 串口调试助手(波特率为 4800bit/s,8 位有效数据 1 个停止位,无奇偶校验位)打开串口 接受 gps 的信息,观察串口调试助手中的显示缓冲区中 所接受的内容是否准确。 4.2.3 nxp lpc11c24 测试测试 我们在测试这个主芯片的时候,将 事例程序中的 blink 程序烧入主控模 板 lpc11c24,我们还将 其它的模块与它相连来测试他们是否正常工作 。 4.2.4 系统综合测试系统综合测试 把系统的各个模块电路全部连接到一起,将系统放在有 gps 接收到信号的地方,给系统上电观 察点阵屏上的时间信息是否是 将 gps 的时钟信号准确的显示出来 。 4.3 测试测试 4.3.1 led 点阵屏显示测试点阵屏显示测试 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 31 ledled 点阵屏夜晚显示效果点阵屏夜晚显示效果 4.3.2 gps 通信测试通信测试 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 32 4.3.3 系统综合测试系统综合测试 4.3.4 结果分析结果分析 1. led 点阵屏的响应速度几乎是在上电的同时就 显示出自己所设定的时间,在大约 12s 后就 可以显示出同步 gps 时钟。而且在夜间测试更亮,由于 led 点阵屏的长度不够所以秒只能通过时 和分之间的两个点来体现。 2. gps 模块通过 rs232 串口连接到电脑上之后,看到串口调试助手接受缓冲区能接受到所需要的 全全 国国 大大 学学 生生 嵌嵌 入入 式式 物物 联联 网网 设设 计计 大大 赛赛 33 内容。 3 3、我们观察 lpc11c24 上的 led2 灯闪烁,说明下载模块和主控模块是好的。 4、将所有模块连接到一起, 给系统上电大约 2s 之后就可以观察到 led 显示屏上就可以显示正 确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 太原旅游职业学院《基础写作一文学文体写作》2023-2024学年第二学期期末试卷
- 新疆铁道职业技术学院《辐射防护课程设计》2023-2024学年第二学期期末试卷
- 海南比勒费尔德应用科学大学《教育科学研究方法与论文写作》2023-2024学年第二学期期末试卷
- 安徽财经大学《计算机组成原理理论》2023-2024学年第二学期期末试卷
- 大庆职业学院《工程伦理学》2023-2024学年第二学期期末试卷
- 广西科技大学《组织社会学》2023-2024学年第二学期期末试卷
- 黄河交通学院《电工电子学B》2023-2024学年第二学期期末试卷
- 辽宁现代服务职业技术学院《娱乐空间设计与创新实训》2023-2024学年第二学期期末试卷
- 2024年家具清洗用品:洗衣皂项目投资申请报告代可行性研究报告
- 2024年多翼式鼓风机项目投资申请报告代可行性研究报告
- 2008年安徽省中考英语试卷及答案
- 眼动的检查与训练
- 超市项目投标书(宜佳)标书模板
- 朗文4B 复习提要及朗文4B单词及句子
- 仁爱版八年级下册英语unit5-topic2-教案
- 高中课本剧-鸿门宴剧本
- 分级护理课件完整版
- XXXX项目总指挥部组织机构设立及相关职责
- 营销策划 -上汽大众“11.11”众享购车季网络直播会
- 2022《包饺子》说课稿
- 【公开课课件】闽教英语四年级下册Unit8 Summer Vacation Part A
评论
0/150
提交评论