摘要
早期的指南针采用了磁化指针和方位盘的组合方式,整个指南针从便携性、指示灵敏度上都有一定不足。本系统采用专用的磁场传感器结合高速微控制器(MCU)的电子指南针能有效解决这些问题。
系统采用了磁阻(GMR)传感器采集某一方向磁场强度后通过MCU控制器对其进行处理并显示上传,通过对电子指南针硬件电路和软件程序的分析,阐述了电子指南针基本的工作原理及实现。实际测试指南针模块精度达到1°,能够在LCD上显示当前方位并能通过键盘控制上传指南针处理得到的数据到上位机。
关键词 :电子指南针;GMR;MCU;LCD
#include
#include
#include /* T6963驱动库 */
#include "DriverT6963.h"
#include "DataBase.h"
#include "PCF8583.h"
#include "UART.h"
unsigned char GblCnt = 0;
unsigned char T0IRQCNT = 0;
unsigned char oldtempx, oldtempy;
unsigned int Angle;
unsigned char keyflag = 0;
extern unsigned char COMBUF[10];
/******************************************************************************************************************************
**函数名称:delay() **
**函数功能:软件延迟 **
**入口参数:延迟时间倍数 **
**出口参数:无 **
**具体资源:无 **
**调用程序:无 **
**备 注:延时不精确 **
******************************************************************************************************************************/
void delay(unsigned int time)
{
unsigned int i,j;
for (i=0; i