新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于 PIC18F8520 的 GPS 精准时钟实现

基于 PIC18F8520 的 GPS 精准时钟实现

作者: 时间:2011-01-02 来源:网络 收藏


LCD显示器
系统采用LCD1602作为显示设备。LCD1602液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中应用广泛。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。


2 硬件电路
系统的硬件电路如图2和图3所示。

图2 单片机外围电路连接

图3 单片机与GPS模块的连接


电路板上有3.3V和5V两种电压,其中LCD采用5V供电,而单片机和MAX3232工作在3.3V电压下。外部电源为5V,经AS2830转换为3.3V,给单片机和MAX3232供电。从图2中可以看到,单片机的电源脚没有与3.3V直接相连,而是通过J2、J3跳线即可连到3.3V上,也可连到VDD上。这是因为单片机在采用PIC16-MCD2编程器通过ICSP接口进行在线编程时由MCD2供电,这时,单片机电源脚需连接到VDD上(MCD2输出电压VDD为5V);而正常运行时单片机由电路板供电,J2、J3跳线连接到3.3V上,单片机就工作在3.3V,可以降低功耗。


PIC18F8520既有模拟电源、模拟地引脚也有数字电源、数字地引脚,在电路设计中,采用模拟电源、数字电源分离,模拟地、数字地分离,模拟电源和数字电源之间通过磁珠连接,模拟地和数字地通过0Ω电阻在单点连接,以避免模拟信号与数字信号之间的干扰,提高系统的可靠性。

软件实现
软件由主程序和中断子程序组成,在MPLAB IDE v8.53环境下,采用MPLAB C18编译器,用C语言编程实现。


在主程序中进行系统的初始化、数据处理、LCD显示,GPS数据的接收则通过串口中断实现,每收到一条完整的NMEA语句,就设定一个标志,在主程序中通过查询该标志进行UTC时间的提取以及转换成北京时间,再通过LCD显示。由于将复杂的数据处理放到主程序中,这样就可以使中断程序尽量简短,在发生其他中断时,单片机可以及时做出响应,提高了系统的实时性。流程图如图4所示。



关键词: 收发器

评论


相关推荐

技术专区

关闭