二维电子指南针设计与系统控制器详解

需积分: 0 1 下载量 13 浏览量 更新于2024-08-20 收藏 2.54MB PPT 举报
"这篇学位论文详细探讨了二维高精度电子指南针的设计,涵盖了从硬件到软件的整个系统架构。作者李杨在成都信息工程学院的研究中,由导师侯俊勇指导,于2008年6月提交。论文介绍了电子指南针的发展,以及基于现代磁传感器和ASIC技术的实现方式,替代了传统的机械结构,提高了指南针的精度和可靠性。" 在电子指南针系统中,关键组成部分包括: 1. 前端检测电路:这部分负责获取环境磁场信息,通常采用磁场传感器,如磁阻传感器或磁通门传感器,它们能够感应地球磁场并转换为电信号。 2. 系统控制核心:这一核心通常由微处理器或微控制器组成,例如文中提到的CPU,它处理传感器采集的数据,计算出方位信息,并与其它模块交互。 3. 系统扩展电路:包括通信电路、实时时钟电路等,用于实现系统功能的扩展,提供时间同步、数据传输等功能。 系统中的重要接口包括: - LCD接口:用于连接液晶显示屏,显示指南针的方向、时间和日期等信息。 - 指南针模块:包含了传感器、驱动ASIC和CPU,是整个系统的中心。 - Keypad:用户输入设备,可能用于设置或操作指南针。 - I2C和UART:串行通信接口,用于与其他设备如传感器或微控制器通信。 - 系统时钟:用于保持精确的时间,一般由实时时钟芯片如PCF8583提供。 系统控制器电路原理图中,还包括了关键的组件,如晶振和复位电路,它们确保CPU的稳定工作。系统扩展电路部分,涉及到通信电路,可能包含无线或有线通信协议,用于远程数据传输。实时时钟电路则提供准确的日期和时间信息。 在系统软件层面,主要的程序流程包括初始化、数据获取、数据显示和键盘扫描。例如,`main()`函数中,`InitScreen()`初始化LCD,`GetDirction()`获取指南针方向,`DisCurDirc()`显示当前方向,`DisCurTime()`和`DisCurDate()`分别显示时间和日期,`RollScreen()`滚动显示系统广告,`ScanKey()`则用于键盘输入处理。 此外,实时时钟驱动程序如`DisCurDate()`读取并显示日期,这通常是通过与实时时钟芯片的交互完成的。整个系统通过优化的软件设计,实现了高效且可靠的指南针功能。