基于51单片机的指南针设计与制作_第1页
基于51单片机的指南针设计与制作_第2页
基于51单片机的指南针设计与制作_第3页
基于51单片机的指南针设计与制作_第4页
基于51单片机的指南针设计与制作_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1产品功能分析...............................................................................................................1

1.1设计背景及内容.................................................................................................1

1.2功能分析.............................................................................................................2

2方案设计.......................................................................................................................2

2.1传感器方案论证与选择.....................................................................................2

2.2单片机方案选择.................................................................................................4

2.3系统框图.............................................................................................................4

3硬件电路设计...............................................................................................................5

3.1单片机最小系统.................................................................................................5

3.2HMC5883L传感器模块.........................................................................................6

3.3LCD1602液晶屏模块...........................................................................................8

4软件设计.....................................................................................................................11

4.1HMC5883L和单片机通信软件设计.................................................................11

4.2LCD1602人机界面软件设计.............................................................................12

4.3系统总统软件设计...........................................................................................13

5系统调试.....................................................................................................................14

5.1KEILuVision5使用步骤..................................................................................14

5.2STC-ISP芯片烧录软件的使用........................................................................16

6总结与体会.................................................................................................................18

参考资料.........................................................................................................................20

附录1元件清单............................................................................................................21

附录2电路原理图........................................................................................................22

附录3PCB设计图........................................................................................................23

附录4作品实物照........................................................................................................24

附录5部分软件主程序代码........................................................................................25

湖南商务职业技术学院毕业设计

基于51单片机的指南针设计与制作

1产品功能分析

1.1设计背景及内容

指南针是一种导航工具,能够帮助人们识别地理方向。在户外活动、船舶

导航、军事领域等场景中,指南针具有重要的作用。基于51单片机的指南针设

计与制作可以通过利用单片机和磁传感器技术,实现一个简单的指南针。该设

计可以作为学习嵌入式系统设计和传感器应用的实践项目,同时也可以满足人

们对方向感知的需求。

电子指南针就是一块不会动的芯片,它能和其他的电子设备很好地连接。

它代替了以前的磁性指南针,被广泛使用。它有很多优点,比如精度高、非常

稳定等等。我们设计用的这块芯片是Honeywell公司的HMC5883L,它有一个名

字叫做各向异性磁阻(AMR)传感器芯片,霍尼韦尔HMC5883L是三轴磁传感器,可

以感应周围磁场的强度和方向。它有以下特点:HMC5883L能够同时测量X轴、

Y轴和Z轴方向上的磁场强度。通过这些测量值,可以计算出磁场的方向和强

度。HMC5883L的测量范围可配置,并且能够提供高分辨率的测量结果。这使得

它适用于对磁场进行精确测量的应用领域。HMC5883L采用了低功耗的设计,适

用于电池供电的应用。同时,它用电低,进一步降低了功耗。HMC5883L通过I2C

(Inter-IntegratedCircuit)接口与微控制器通信。同时,其低功耗和集成

度也使其易于集成到各种应用中。本设计详细阐述了电子指南针的运作原理以

及其相应的电路硬件和软件设计。同时,还提供了针对干扰的抗干扰设计方案,

并介绍了信号和数据处理的方法。

(1)设计的内容:

1)系统方案的选择及要求;

2)硬件电路组成以及使用方法;

3)硬、软件之间的调试。

(2)设计的要求及预期的成果:

1)准确性:指南针的测量结果应该能够准确反映当前的方位角度,具备较

高的精度和稳定性。

2)可靠性:设计的指南针应该能够稳定运行,并能适应不同的工作环境和

条件。

1

湖南商务职业技术学院毕业设计

3)用户友好性:操作简单、易于使用,用户可以直观地理解和操作指南针。

4)能耗优化:设计应该尽可能去降低能耗,减少外部电源的损耗。

5)实用性:指南针应该具备足够的实用性,可以满足用户在户外活动、导

航等场景中的实际需求。

1.2功能分析

使用LED数码管、LCD屏幕或OLED显示屏等设备来显示当前的方位角度,

让用户直观地了解自身所处的方向。

2方案设计

2.1传感器方案论证与选择

方案一:利用两轴磁传感器HMC1052

HMC1052是一种精密磁传感器,专门用于测量高精度的磁场强度和方向。

它具有以下特点:1.高精度测量:HMC1052可以对三个轴向的磁场进行高精

度测量,提供出色的分辨率和准确性。2.宽工作温度范围:HMC1052的工作

温度范围广泛,能在各个环境工作。3.低功耗设计:HMC1052采用低功耗设

计,能实现长时间使用。4.SPI接口:HMC1052支持SPI接口,与微控制器

通信或其他数字设备进行通信较为方便C1052在航空航天、导航、自动驾驶、

罗盘、测量仪器、地质勘测等领域广泛应用。其高精度和可靠性使其成为许多

应用中首选磁传感器。

图2.1HMC1052传感器引脚图

方案二:选择Philips公司的KMZ52感应磁场传感器

KMZ52是一种磁性传感器,由InfineonTechnologies生产。可以测量磁

场强度和方向。KMZ52能够同时测量x、y、z三个轴向的磁场强度。通过这些

测量值,可以计算出磁场的方向和强度。KMZ52磁传感器的高灵敏度和能够检

2

湖南商务职业技术学院毕业设计

测微弱的磁场变化使其在对磁场进行高精度测量的应用中非常适用。它采用了

低功耗设计,适合电池供电的移动设备或低功耗要求的应用。KMZ52磁传感器

的高灵敏度、低功耗设计和适应高温环境的能力使其成为广泛应用于导航、工

业自动化、机器人、车辆控制、航空航天等领域的理想选择。它可以帮助实现

精确的磁场测量和控制,并满足各种应用的需求。

图2.2KMZ52传感器引脚图

方案三:使用霍尼韦尔HMC5883L各向异性磁阻传感电路

霍尼韦尔HMC5883L是一种功能强大的三轴磁传感器,用于测量和感应周围磁场

的强度和方向。它具有以下特点:HMC5883L能够同时测量X轴、Y轴和Z轴方

向上的磁场强度。通过这些测量值,可以计算出磁场的方向和强度。HMC5883L

的测量范围可配置,并且能够提供高分辨率的测量结果。这使得它适用于对磁

场进行精确测量的应用领域。HMC5883L采用了低功耗设计,使其适用于电池

供电的应用。此外还提供了省电模式,进一步降低功耗。HMC5883L通过I2C

接口与微控制器通信。它的高分辨率和精确性使其成为测量磁场的理想选择。

同时,其低功耗和集成度也使其易于集成到各种应用中。

图2.3HMC5883L传感器引脚图

3

湖南商务职业技术学院毕业设计

2.2单片机方案选择

方案一:STC89C52系列:这是一系列由国内STC公司生产的单片机,性价

比较高,具有较强的IO口和通信能力。

方案二:AT89系列:这是ATMEL(现在的Microchip)公司生产的一系列经

典的8051系列单片机,具有丰富的资源和广泛的应用支持。

综合考虑我们选择方案一,选用STC89C52芯片。

2.3系统框图

下面的图像展示了地球某一点的地球磁场向量He的三维图。其中x轴和y

轴与地球表面平行,x轴表示前进方向,y轴表示水平面上垂直于x轴的方向。

He代表地磁场的强度,Hex和Hey分别代表He在x和y方向上的水平分量。方

位角α是前进方向与磁场北极之间的夹角,λ是磁偏角,可以通过查表得到。x

轴与南极的实际夹角大小为(α+λ)。因此,只需获得方位角α的数值,就可

以确定水平面的方位。

从图中可以看出,tanα=Hey/Hex,因此只需要计算出y轴和x轴上磁场强

度的比值Hey/Hex,就可以得到方位角α的正切值。δ代表磁倾角,是He与水

平面之间的夹角,可用于校正水平面。磁场传感器可以分别测量Hex、Hey、He

z,并将其大小转化为相应强度的电信号。然而,本系统仅对X和Y方向进行测

量。由于考虑到时间安排有限,Z方向暂时不做,但本系统设计只要平拿平放

并不影响测量结果的准确性。

图2.4测量原理分析图

通过上述测量分析的思路,我们得到了传感器的信号。这些信号经过单片

机的数据预处理和算法补偿后,将被上传到LCD1602液晶屏上进行显示。根据

4

湖南商务职业技术学院毕业设计

以上各个方案选择和设计思路,可以得出以下总体方案框图。

HMC5883L机

I2C最LCD液晶显示器

磁阻传感器系

电源

图2.5总体方案设计框图

3硬件电路设计

对于一个完整的电子电路设计来说,选择适合的微控制器(如51单片机)

以及为整个系统提供电源和其他外设的电源电路是首要问题。电源电路的稳定

性、抗干扰能力等因素是设计的前提。除了使用电池供电,电子设备还可以采

用交流电网供电。本次设计使用干电池供电,因此不需要详细描述稳压电源电

路的原理。

3.1单片机最小系统

基础电路的组成包括单片机、时钟电路、复位电路和电源电路等元器件。

下图3.1展示了单片机最小系统。

时钟电路:单时钟电路提供稳定的时钟信号,用于控制单片机的运行和计

时。常用的时钟源是晶振,通过晶振电路连接到单片机的时钟引脚。晶振的频

率决定了单片机的运行速度。

复位电路:用于在上电或复位时对单片机进行初始化。复位电路通常包括

复位按钮、电源复位芯片和复位电容等元件。

5

湖南商务职业技术学院毕业设计

图3.1单片机最小系统

3.2HMC5883L传感器模块

(1)工作原理

霍尼韦尔HMC5883L磁阻传感器电路可以测量X、Y和Z方向上的磁场强度。

通过对这三个方向上的测量值进行处理,可以计算出外部磁场的磁感应强度和

方向。磁阻传感器通过供电电源,将沿着量测轴方向的入射磁场转变成差分电

压输出。磁阻传感器的核心是一个镍铁薄膜放置在硅片上构成的带式电阻元件。

当存在磁场时,电阻元件的变化会导致跨电桥输出电压相应地变化。这些磁阻

元件两两对齐,形成一个共同的感应轴,随着磁场在感应方向上的增强,电压

也会正向增长。其他磁阻电桥也放置在正交方向上,可以精确测量其他方向的

磁场强度。换句话说,磁阻传感器通过改变电阻值来测量磁场的强度和方向。

(2)电源管理

该设备有两种不同的电源供应方式。一种是通过内部运作的VDD供电电源,

另一种是通过IO接口供电的VDDIO电源。这两种供电模式的电压可以接近。在

一种供电模式下,或者当VDDIO电压低于VDD电压时,HMC5883L可以正常运

行,并且可以与其他设备一起使用。

6

湖南商务职业技术学院毕业设计

图3.2HMC5883L内部示意

(3)I²C接口

控制该装置可以通过I²C总线来实现。I²C接口是一种简单、高速且可靠的

通信方式,适用于各种类型的传感器和设备之间的数据传输。支持双向通信,

这意味着传感器和设备之间可以进行数据交换,实现了信息的实时共享。广泛

用于各种微控制器和电子设备中,使得HMC5883L传感器模块具有广泛的适用性。

此设备支持两种传输模式:标准模式和快速模式,分别有100kHz,400kHz的速

度。然而,它不支持高速模式(Hs)。该设备要求主机的操作必须比内部操作

优先执行。

(5)寄存器访问

下面表格是寄存器和访问。所有地址都为8bits。

表3.1寄存器列表

地址名称访问

00配置寄存器A读/写

01配置寄存器B读/写

02模式寄存器读/写

03数据输出XMSB寄存器读

04数据输出XLSB寄存器读

7

湖南商务职业技术学院毕业设计

05数据输出ZMSB寄存器读

06数据输出ZLSB寄存器读

07数据输出YMSB寄存器读

08数据输出YLSB寄存器读

09状态寄存器读

10识别寄存器A读

11识别寄存器B读

12识别寄存器C读

在该装置中,读取和写入的过程是通过地址指针来确定寄存器位置的。主

机发送包含7位地址和读/写标识符的指针位置到从机,以实现读取或写入操作。

为了减少通信次数,地址指针会在没有主机干预的情况下自动更新。当成功读

取一个寄存器后,地址指针会自动增加1。然而,地址指针本身不能通过I2C总

线读取。

如果尝试读取不存在的地址,将返回0;如果尝试写入不存在的地址,装置

将忽略该操作。要将地址指针移动到特定的随机存储器位置,需要发送一个不

带数据位的“写”指令到寄存器地址。例如,要将地址指针移动到寄存器10,

可以发送指令0x3C0x0A。

3.3LCD1602液晶屏模块

LCD1602液晶屏模块,它是16x2字符型的液晶显示屏,通过I2C总线进行

控制。该模块通常由一个液晶显示屏和一个I2C转换芯片组成。LCD1602液晶

屏它由16列和2行组成,每行可以显示16个字符。这种液晶屏模块通常用于

单片机、嵌入式系统和其他电子设备中,提供清晰可见的字符和图形显示效果。

图3.3LCD1602引脚图

8

湖南商务职业技术学院毕业设计

第1脚:VSS为电源地。

第2脚:VCC电源正极,连接到+5V电源。

第3脚:V0调节液晶屏的对比度,液晶屏的显示效果通过电压调节。

第4脚:RS指令/数据选择引脚,用于选择发送给液晶屏的是指令还是数

据。当RS为低电平时,发送的是指令;当RS为高电平时,发送的是数据。

第5脚:RW为读/选择引脚,当RW低电时写入数据;当RW高电时读取

数据

第6脚:E:使能引脚。

第7~14脚:D0~D7:数据引脚,用于接收来自液晶屏的数据和发送数据

给液晶屏。

第15~16脚:15脚为背光正极,16脚为背光负极。

LCD1602里面有三个存储器,DDRAM、CGROM和CGRAM。其中,DDRAM是用来

存储待显示字符的,存储空间为80个字节。每个字节地址,都与屏幕上像素点

对应,地址和屏幕的对应关系在下面的表格里:

图3.4RAM地址映射图

在LCD1602屏幕上显示字符时,我们可以使用字符发生存储器(CGROM)。

这个存储器中预先存储了各种字符的图形,包括数字、字母、符号和日文假名

等。每个字符都有一个独特的代码,我们只需要将对应字符的代码写入指定的

地址,LCD1602模块就会根据地址中存储的字符图形来显示相应的字符。例如,

如果我们想要显示大写字母"A",只需将该字母对应的代码(01000001B或十六

进制的41H)写入相应的地址即可。这样,我们就可以在屏幕上看到精美的"A"

字显示效果。这种方式让字符显示更加灵活和方便。

其基本操作时序:

读状态输入:RS=L,RW=H,E=H输出:DB0~DB7=状态字

9

湖南商务职业技术学院毕业设计

写指令输入:RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码输出:无

读数据输入:RS=H,RW=H,E=H输出:DB0~DB7=数据

写数据输入:RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据输出:无

图3.5读操作时序

图3.6写操作时序

数据指针设置:

表3.2数据指针设置表

指令码功能

80H+地址码(0-27H,40H-67H)设置数据地址指针

在LCD显示中,除了可以显示内置字符集CGROM以外,还可以用户自定义

的8个字符,也可以显示。为了显示这些字符,我们需要按照与CGROM相同的

步骤操作。首先,设置DDRAM的位置,这样子可以字符码写入DDRAM。然后,我

们可以直接从CGRAM中读取字符数据来显示字符。虽然此处没有详细讲述实现

10

湖南商务职业技术学院毕业设计

方法,但这是LCD显示中比较常用的操作方式。下面是1602与单片机的连线图。

图3.7LCD1602模块连线图

4软件设计

4.1HMC5883L和单片机通信软件设计

HMC5883L是一款数字传感器由于单片机不支持IIC接口,我们选择使用模

拟IIC通信时序来与HMC5883L传感器进行通信。这意味着我们将使用单片机的

GPIO引脚来模拟IIC的时钟和数据线,以实现与传感器的通信。在本设计里,

我们选择多字节读取方式,以便读取传感器XYZ轴的数据值到内存储器。这种

方式使传输效率更高。具体的通信软件设计思路是,通过自行编写通信协议,

按照IIC协议实现START、STOP、ACK、NAK等操作,将数据经由单片机控制引

脚PIO口按位传输,以完成数据的读取和写入操作。这种设计方式需要仔细分

析IIC协议并逐步测试,但是一旦完成,可以很方便地实现模拟IIC通信并读

取HMC5883L的数据。:

11

湖南商务职业技术学院毕业设计

开始

IICStart写信号

发送设备地址

发送读取单元地址

IICStart读信号

连续读取磁场数据

读完?否

IICStop信号

图4.1HMC5883L模块和单片机通信软件流程图

4.2LCD1602人机界面软件设计

在本设计中,我们使用LCD1602显示器来展示磁场强度传感器HMC5883L检

测到的物体方位信息。我们可以使用HMC5883L传感器来获取地球上某一点的磁

场强度,并使用atan2()函数计算该点与地理北极之间的夹角。然后,我们将

这个弧度值变成为角度值,且向右转180°,从而得到地理南极的夹角。为了

方便处理,始终确保所有的角度值为正数。当我们得到角度值后,我们将它乘

12

湖南商务职业技术学院毕业设计

以10倍,从而把它变成整数。然后选出4个角度区间作为地理方位。我们把这

个角度值转换为南极得夹角值,然后判断该值所处的角度区域,从而确定物体

所处的地理方位。最后,我们在显示器上显示角度值和物体的地理方位。这种

方法可以帮助快速准确地显示磁场方位信息。

开始

处理传感器信息

判断、显示方位

转换为液晶显示数据

显示夹角

结束

图4.2LCD1602人机界面软件流程图

4.3系统总统软件设计

将HMC5883L传感器收集到的数据传输到单片机进行处理,并将处理结果

通过LCD1602液晶屏幕同步显示,以方便用户查看当前的方位和方向。由于硬

件组成相对简单,大部分工作是在软件层面上完成的。为了确保每个模块在时

序上的稳定性,我们选择了专门为STC单片机优化的延时函数集合,以避免延

时问题导致系统异常。同时,为了实时显示数据,采取每次读取数据后立即更

新到液晶显示屏的方法,以确保用户每次都能获取到最新的方位和角度信息。

13

湖南商务职业技术学院毕业设计

具体流程图如下:

图4.3系统总体软件流程图

5系统调试

在本设计当中,我们会对系统进行全面的调试,以此保证软件和硬件,按

照我们预期的设计运行。因此,我们选择使用uVision5作为单片机程序的编译

器。将程序下载到单片机后,我们将对整个硬件电路进行调试,以确保其能够

正常工作。

5.1KEILuVision5使用步骤

KEILuVision5开发采用了工程管理的方式组织文件。这意味着所有相关的

源文件、头文件以及技术文档都能被有效地归类并存储在工程项目文件中,从

而实现了文件的统一管理。为了创建一个KEIL应用程序,我们需要按照步骤

进行操作。

14

湖南商务职业技术学院毕业设计

(1)创建一个工程项目文件;

(2)新建一个文档;

(3)输入程序代码;

(4)保存创建好的源程序项目文件;

(5)把源程序文件添加到项目中;

(6)最后进行编译调试创建hex文件,打开工程菜单,点击设置。

图5.1对工程进行设置

1)勾选“生成HEX文件”,保存退出设置。

图5.2允许生成二进制文件

15

湖南商务职业技术学院毕业设计

2)下图先进行编译,然后建立目标文件,如果没有错的话,hex文件顺利

生成。

图5.3译建立目标文件

5.2STC-ISP芯片烧录软件的使用

(1)打开连接好动程序,把单片机接到电脑,运行STC-ISP软件。

(2)选择单片机的型号为STC89C52。

(3)打开KeiluVision5生成的hex文件。

16

湖南商务职业技术学院毕业设计

图5.4选择生成的hex文件

(4)选则设备的COM口,在设备管理器中可以查看,波特率选择默认,

其他选项无需改变,然后我们点击下载编程,给单片机接上电,程序即可烧录

成功。

图5.5选对COM口并开始烧录

17

湖南商务职业技术学院毕业设计

本设计通过在KEILuVision5软件当中,通过对模块程序,进行运行和调试,

以及各个模块的调试,最终确认程序没有错误。

经过测试,在一定条件下进行工作。对指南针进行调试,最终校准HMC5883L

模块的方向。

图5.2整体硬件调试图

6总结与体会

经过这一段时间力,我完成了这次电子设计制作的任务。这个设计锻炼了

我的能力,也让未来工作能力产生了巨大希望,高科技的时代,单片机的应用

十分广泛,更加确定了我要学好单片机的想法。

在项目中,我深刻认识到:我们需要具备电子技术和嵌入式系统方面的认

知,并且要对面向对象编程的概念彻底理解。其次,设计和制作过程中需要注

18

湖南商务职业技术学院毕业设计

重细节和精确度,比如要正确连接传感器的引脚,精确计算地磁方向等。此外,

调试是非常重要的一步,能够及时发现问题并解决,以确保指南针的准确性和

可靠性。

通过这个项目,我对电子技术和嵌入式系统有了更深入的了解,并且锻炼

了自己的解决问题和优化改进的能力。

19

湖南商务职业技术学院毕业设计

参考资料

[1]邵婷婷,马建仓.电子罗盘的倾斜及罗差补偿算法研究[J].传感技术学报,2007

[2]Honeywell.HMC5883三轴磁阻传感器中文规格说明书.

[3]Sunman.LCD1602液晶屏中文规格说明书.

[4]华成英.电子技术[M]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论