角度传感器程序总结

合集下载

工程倾角传感器解决方案

工程倾角传感器解决方案

工程倾角传感器解决方案引言工程倾角传感器是一种用于测量物体相对于地面的倾斜角度的传感器。

它可以帮助工程师和技术人员在建筑、道路建设、机械设备等领域准确地测量倾斜角度。

本文将介绍工程倾角传感器的工作原理、应用领域、解决方案等内容。

工程倾角传感器的工作原理工程倾角传感器主要基于MEMS技术(微机电系统技术)或倾角传感器芯片来实现。

该传感器能够通过内部的倾斜角度检测装置,测量物体相对于地面的倾斜角度。

倾角传感器主要由加速度计、陀螺仪和磁罗盘等部件组成,它们能够对三轴加速度、三轴角速度和三轴磁场进行监测,并通过算法计算出物体的倾斜角度。

工程倾角传感器的应用领域工程倾角传感器主要应用于以下几个领域:1. 建筑工程:在建筑工程中,工程倾角传感器可以用于测量墙体、地面、天花板等部件的倾斜角度,以确保建筑物的结构和平衡性。

2. 机械设备:在机械设备领域,工程倾角传感器可以用于测量各种设备的倾斜角度,如吊车、挖掘机、铲车等,以确保其工作平稳、安全。

3. 道路建设:在道路建设中,工程倾角传感器可以用于测量路面的倾斜角度,以确保道路平整度和排水系统的设计。

4. 水利工程:在水利工程中,工程倾角传感器可以用于监测水坝、堤坝等水利设施的倾斜情况,以预防地质灾害。

工程倾角传感器的解决方案工程倾角传感器的解决方案主要包括传感器选型、安装调试、数据采集分析等环节。

1. 传感器选型选择合适的工程倾角传感器对于确保测量精度至关重要。

工程师需要根据测量的精度要求、工作环境、通信协议等因素选取合适的传感器型号。

常见的工程倾角传感器有MEMS倾斜传感器、倾角测量仪、倾角传感器模块等,其测量精度一般可达0.1度至0.01度。

2. 安装调试工程倾角传感器的安装位置和安装角度对测量结果具有重要影响。

在安装时,需要确保传感器与被测物体平面垂直安装,并调试传感器的零位和灵敏度,以及校准传感器的零点漂移。

3. 数据采集分析工程倾角传感器通常具有模拟输出、数字输出或模拟数字混合输出等多种输出方式。

角位移传感器的原理及应用

角位移传感器的原理及应用

角位移传感器的原理及应用角位移传感器是一种用于测量物体角位移的传感器,其原理主要基于角度变化引起的信号变化。

本文将介绍角位移传感器的工作原理以及其在各个领域的应用。

一、原理角位移传感器通过测量物体的角位移来获取相关数据。

其原理一般基于以下两种方法:1. 电感式原理:该种传感器利用线圈中的感应电流来感测物体的角位移。

当物体发生角位移时,传感器内线圈的磁通产生变化,从而引起感应电流的改变。

通过测量感应电流的变化,可以间接获取物体的角位移信息。

2. 光电式原理:该种传感器利用光电器件来感测物体的角位移。

一般采用光电编码器的形式,通过编码盘上的光栅刻线和光电传感器的相互作用,将角位移转化为光信号的变化。

再通过对光信号的解码与计数,即可获得物体的角位移数据。

二、应用角位移传感器在工业领域有着广泛的应用。

下面介绍几个常见的应用场景:1. 机械制造:角位移传感器常用于机械制造中的位置测量和控制。

比如在机床中,通过安装角位移传感器可以准确测量和控制机械部件的角度变化,从而实现精确加工。

2. 机器人技术:在机器人技术中,角位移传感器可以实时监测机器人关节的角度变化,从而控制机器人的运动轨迹和姿态。

3. 航天航空:在航天航空领域,角位移传感器被广泛应用于飞行控制和导航系统,用于检测飞行器各部件的角度变化,确保飞行安全。

4. 建筑工程:角位移传感器可以用于测量和监测建筑物的结构位移。

通过安装在建筑物的各个部位,可以及时发现和解决结构变形等问题,保证建筑物的安全性。

5. 汽车行业:角位移传感器在汽车行业中常用于车辆悬挂系统和转向系统的控制。

通过实时监测车轮的角位移,可以保证车辆在行驶过程中的稳定性和操控性。

总结:角位移传感器通过测量物体的角位移来获取相关数据,其原理主要分为电感式和光电式两种。

在工业领域,角位移传感器有着广泛的应用,包括机械制造、机器人技术、航天航空、建筑工程和汽车行业等。

通过精确测量和控制物体的角度变化,角位移传感器在提高生产效率、保证安全性和改善产品质量方面发挥了重要作用。

简易旋转倒立摆及控制装置

简易旋转倒立摆及控制装置

简易旋转倒立摆及控制装置设计报告及总结摘要倒立摆系统机理的研究不仅具有重要的理论价值,而且具有重要的现实意义,是控制类中经久不衰的经典题型。

本题中,简易旋转倒立摆,在C8051F040单片机的基础上,使用ZGB42FM直流减速电机,BTN7971B电机驱动,可变电阻(角度传感器),机械摆杆等模块。

通过编写、烧入程序,调控硬件协调工作,使摆杆首先实现一定角度的转动,再完成圆周运动,以及保持竖直向上的倒立状态。

用以满足题目的基本要求,进而深一步探究倒立摆在保持运动姿态方面的发展与应用。

关键字:单片机,倒立摆,摆杆,可变电阻。

引言:本题整体上只由一个电机A 提供动力,电机直接控制旋转臂C 做往复旋转运动,而通过转轴D 连接在旋臂C 上的摆杆E 是非常灵活的。

旋臂C 转动一定角度时,摆杆E 由于向心力会使摆杆E 继续向上旋转,以达到E 杆转动一个角度的效果。

相似,当C 的转动速度比较快,停下后,E 下端处的速度和向心力都比较大,能够使E 杆完成圆周运动。

为了使摆杆能够倒立,就要求摆杆转动到上半圆周面时,要通过单片机控制电机A 不断的调整使旋转臂C 转动多个角度,尽量的使摆杆E 与竖直面的角度变小,并能够受力平衡,这样就可以保持一段时间的倒立状态。

为达到角度的调整,就要测量出E 杆与竖直面间的角度差,经过单片机的控制,使电机A 做出相应的旋转动作,减小这个角度差。

1、方案设计与讨论: 1.1结构框图1.2方案论证: 1.21控制器模块本题,单片机只要接收来自传感器的信号,向电机驱动输入信号处理后计算出的高低电平即可。

方案一:用ATMEL 公司生产的AT89S52单片机,低功耗,高性能CMOS 8位处理器,使用广泛,算法较为简单,但是在执行复杂动作时,处理速度不够高。

方案二:用宏晶公司生产的STC89C52RC 单片机,STC 的单片机性能与ATMEL 的单片机相似,但是价格相对便宜。

缺点是易受潮湿影响,在调用子程序是频繁出错。

角度传感器安全操作及保养规程

角度传感器安全操作及保养规程

角度传感器安全操作及保养规程角度传感器是一种非常常见的电子元件,它在许多领域都有广泛的应用。

角度传感器能够测量物体的旋转角度,这些角度信息可以被传输到电子系统中进一步处理。

然而,如果角度传感器没有正确地操作和保养,那么它们可能会损坏或失效。

因此,本文将向您介绍角度传感器的安全操作和保养规程,以确保传感器的长期稳定性。

安全操作规程角度传感器的安全操作规程包括以下方面:1. 环境条件角度传感器必须放置在符合其规格的环境条件下。

在操作传感器之前,请确保:•温度符合其规格;•湿度符合其规格;•环境中没有振动和冲击;•环境中没有尘土或任何有害杂质。

2. 能源供应角度传感器需要正确的电源工作,并且必须按照其规格供电。

如果您使用的是自己的电源,那么请通过正确的方式连接电源并连接接地线。

在连接电源时,请仔细检查电源电压是否符合传感器规格,并避免过电压或欠电压的情况。

3. 安装角度传感器必须在正确的位置上安装并正确固定。

在安装传感器之前,请确保:•传感器处于水平位置;•传感器固定牢固,并不会移动或摆动;•安装位置不受外力的干扰;•安装位置不会因为环境条件而受损;•安装的位置与连接的位置保持良好的对准和对齐。

4. 连接角度传感器的连接必须按照其规格要求进行。

在连接传感器之前,请确保:•连接电缆符合传感器规格;•连接电缆没有损坏;•连接电缆安装正确;•连接电缆与连接器拧紧。

5. 操作在操作角度传感器时,请遵循以下规程:•不要将传感器拉动或摆动;•不要在传感器上敲打或打击;•不要将外物放在传感器上;•不要让电线过紧,以免破坏电线。

保养规程角度传感器需要进行每日、每周和每月的保养。

以下是细节说明:1. 日常保养每日保养包括以下项目:•检查连接是否牢固;•检查连接器是否有锈迹等损伤;•检查传感器表面,如有尘土请用刷子轻轻刷去;•检查传感器电线,防止被绊倒或弄断;•确保传感器周围的工具和设备不会对其产生碰撞或操作影响。

2. 每周保养每周保养包括以下项目:•检查传感器表面,如有油污或污迹请用干抹布轻轻擦拭;•检查是否有松动的螺丝或接头;•检查是否有磨损或损坏的零部件;•检查传感器的角度测量是否正常;•检查传感器内部是否存在异物或小颗粒。

角位移传感器的工作原理

角位移传感器的工作原理

角位移传感器的工作原理角位移传感器是一种用于测量物体角度或旋转角度的传感器。

它广泛应用于机械、航空航天、汽车等领域,用于监测和控制系统中的角度变化。

本文将介绍角位移传感器的工作原理及其在实际应用中的意义。

一、工作原理角位移传感器的工作原理基于电子学和物理学原理。

它主要通过测量角度传感元件的电特性来实现角位移的测量。

1. 电阻性角位移传感器最常见的电阻性角位移传感器是电位器。

它由一系列可转动的导电材料组成,其材料的电阻随着角度的变化而改变。

当主体物体旋转时,由电源提供的电流将从电位器的一个端口流过,流经不同长度的导电材料,最终返回到电位器的另一个端口。

由于材料长度的改变,电阻值也相应地发生变化。

通过测量电阻值的变化,可以确定物体的角位移。

2. 容性角位移传感器容性角位移传感器利用两个电极之间的电容变化来测量角位移。

当物体旋转时,电容间隙的大小会随之改变,从而导致电容值的变化。

利用电容变化与角度变化之间的关系,可以计算出物体的角位移。

3. 光学角位移传感器光学角位移传感器利用光学原理来测量角位移。

它使用光线在传感器内反射或折射的方式来测量物体的角度。

当物体旋转时,光线经过反射或折射后的路径也会发生变化,通过测量光线传播的路径改变,可以获得物体的角位移。

4. 运动学角位移传感器运动学角位移传感器使用惯性测量单元(IMU)来测量角位移。

IMU包括加速度计和陀螺仪,可以通过测量物体的加速度和角速度来计算角位移。

以上是一些常见的角位移传感器的工作原理,不同的传感器适用于不同的应用场景。

在实际应用中,选择合适的角位移传感器需要考虑多个因素,如测量精度、响应时间、耐久性等。

二、应用意义角位移传感器在工业自动化和控制系统中扮演着重要的角色。

它们被广泛应用于以下领域:1. 机械制造角位移传感器在机械制造中起到关键作用。

它们可以测量机械元件的角位移,从而实现精确控制和监测。

例如,在机床中使用角位移传感器可以确保加工过程的精度和稳定性。

基于步进电机和角度传感器的线控制动装置及控制方法

基于步进电机和角度传感器的线控制动装置及控制方法

基于步进电机和角度传感器的线控制动装置及控制方法1. 引言1.1 概述本篇文章旨在介绍基于步进电机和角度传感器的线控制动装置及其控制方法。

线控制动装置是一种能够实现线性运动的设备,可广泛应用于工业自动化系统、机械加工、仪器仪表等领域。

1.2 文章结构本文共分为五个部分。

首先是引言部分,对文章的主题进行了概述并介绍了整个文章的结构。

之后是正文部分,包括步进电机和角度传感器的介绍以及线控制动装置设计与实现。

然后是控制方法部分,对开环控制方法和闭环控制方法进行了详细说明,并讨论了控制器选择与调试的相关内容。

接下来是实验与结果分析部分,描述了实验设置和过程,并对结果数据进行了分析和讨论。

最后是结论部分,总结了主要工作并展望了未来研究方向。

1.3 目的本文旨在全面介绍基于步进电机和角度传感器的线控制动装置及其控制方法,并通过实验和结果数据进行验证和分析,以期为相关领域的研究人员提供参考和借鉴。

本文将重点讨论开环控制方法和闭环控制方法的优缺点、适用性以及控制器的选择与调试方法,为读者提供相关技术方案的参考依据。

同时,本文还将深入探讨实验过程中可能遇到的问题,并提出改进方向,为今后研究提供指导思路。

通过本文的阐述,读者将能够全面了解基于步进电机和角度传感器的线控制动装置及其控制方法,并能够在实际应用中进行合理选择和设计。

2. 正文:2.1 步进电机介绍:步进电机是一种转换电能为机械运动的装置,它是一种递次式驱动器,通过在特定的顺序下控制电流来实现旋转。

步进电机通常由一个固定的转子和一个可以旋转的转子组成。

其工作原理基于磁场相互作用。

当电流通过驱动器中的线圈时,产生的磁场会引起转子朝着一个特定的角度移动。

步进电机具有精确定位、高速度以及良好的力矩特性等优点,广泛应用于各种位置控制和运动控制系统。

2.2 角度传感器介绍:角度传感器是一种用于测量物体角度位置的装置。

角度传感器可以通过不同的原理来实现,例如光学、磁性或者电容等方式。

角度传感器安全操作保养规定

角度传感器安全操作保养规定角度传感器是一种广泛应用于机电领域中测量旋转角度、位置和速度的传感器。

在使用过程中,为了确保设备的安全性和稳定性,在操作和保养方面需要注意一些规定。

操作1. 选择合适的安装位置角度传感器应安装在旋转物体的轴上或固定在支撑物上,以确保得到准确的测量结果。

在安装时要避免受到震动、冲击和振动,也要注意避免电磁干扰。

2. 步进电机安装时需要注意步进电机是一种常用的驱动角度传感器的设备,但在安装时应注意以下几点:•应将电机与传感器共同固定在同一基座上,并保证传动装置的静平衡;•安装前应检查电机与传感器的位置,并注意传感器测量范围,以免因安装不当造成误差。

3. 操作时注意以下事项•仔细阅读操作手册,并按要求进行操作;•避免投影、强光、闪烁以及高温、异常湿度等环境影响传感器工作;•在操作过程中避免碰撞、振动和摩擦,防止传感器损坏;•正确接线,确保接线可靠、稳定。

保养1. 定期检查和校正定期(一般情况下半年或一年)进行传感器检查和校正,检查传感器是否正常工作,校正传感器可能存在的误差,以确保传感器测量结果的准确性。

2. 保护传感器传感器是一种精密设备,应避免碰撞、振动和摩擦,以免影响传感器的稳定性和工作效果。

同时,传感器应保持干净,避免灰尘和水分等污染杂质进入传感器,影响测量结果。

3. 保养电源和控制器传感器的电源和控制器也需要定期检修和保养,以确保设备的稳定性和可靠性。

在检修和保养电源和控制器时,应按照相应的操作规定进行,以免操作不当导致设备故障。

总结角度传感器是一种十分重要的测量设备,合理的操作和保养对确保设备的稳定性和测量结果的准确性至关重要。

在使用前,应了解操作规则和保养要点,从而在使用中避免不必要的损失和故障。

霍尔传感器估算角度算法

霍尔传感器估算角度算法【实用版】目录1.霍尔传感器简介2.角度算法的概念与分类3.霍尔传感器估算角度算法的原理4.霍尔传感器估算角度算法的实现5.霍尔传感器估算角度算法的应用6.总结正文一、霍尔传感器简介霍尔传感器是一种基于霍尔效应原理的磁敏传感器,能够将磁场变化转换为电压信号。

它具有响应速度快、结构简单、安装方便等优点,广泛应用于汽车电子、工业控制、磁头读写器等领域。

二、角度算法的概念与分类角度算法是一种计算物体旋转角度的方法,常用于旋转传感器、陀螺仪等设备。

根据计算方法的不同,角度算法可以分为模拟算法和数字算法两大类。

其中,模拟算法主要基于模拟电路实现,计算精度较低;数字算法则基于数字电路实现,具有较高的计算精度和稳定性。

三、霍尔传感器估算角度算法的原理霍尔传感器估算角度算法基于霍尔效应原理,通过对霍尔传感器输出的电压信号进行处理,得到物体的旋转角度。

具体来说,当磁场方向改变时,霍尔传感器输出的电压信号会发生变化。

通过检测电压信号的变化,可以判断物体的旋转角度。

四、霍尔传感器估算角度算法的实现霍尔传感器估算角度算法的实现主要包括以下几个步骤:1.对霍尔传感器输出的电压信号进行放大和滤波处理,以提高信号的稳定性和精度。

2.根据霍尔传感器输出电压信号的变化,计算物体的旋转角度。

常用的计算方法有基于三角函数的计算方法、基于比例关系的计算方法等。

3.对计算得到的角度进行校正,以消除系统误差。

常用的校正方法有零点校正、增益校正等。

五、霍尔传感器估算角度算法的应用霍尔传感器估算角度算法广泛应用于各种测量旋转角度的场合,如汽车电子节气门控制、工业控制中的电机转速测量等。

此外,结合其他传感器,如加速度计、陀螺仪等,霍尔传感器估算角度算法还可以实现更高精度的角度测量。

六、总结霍尔传感器估算角度算法是一种基于霍尔传感器输出电压信号的旋转角度计算方法。

它具有结构简单、安装方便、精度高等优点,广泛应用于各种测量旋转角度的场合。

倾角传感器程序编写指南

倾角传感器程序编写指南编写一个倾角传感器程序需要以下几个步骤:1.硬件设置:首先,需要初始化传感器和进行基本的设置。

这包括选择传感器的量程范围、设置滤波器和采样率等参数。

这些设置根据具体的传感器型号和使用需求来确定。

2.数据采集:接下来,需要实时采集传感器的数据。

通常,倾角传感器会以一定的频率生成数据,我们需要定期读取这些数据。

可以在程序中设置一个循环来实现数据的连续采集。

3.数据处理:一旦成功采集到传感器的数据,就需要对它进行处理。

首先,需要读取加速度计的数值,这些数值反映了物体在X轴和Y轴方向上的加速度。

然后,可以使用数学公式计算出倾角角度。

一种常用的方法是使用反正切函数将加速度计的数值转换为角度值。

4.角度滤波:由于受到噪声和干扰的影响,从传感器中读取到的数据可能会有一些误差。

因此,为了提高测量精度,需要对角度数据进行滤波处理。

常用的滤波算法包括均值滤波、中值滤波和卡尔曼滤波等。

5.显示结果:最后,将测量的倾角角度显示出来。

可以使用图形界面或命令行界面来展示倾角数据。

在实现界面时,可以设置一个刷新频率,将采集到的倾角数据周期性地显示在界面上。

在编写倾角传感器程序时,还需要考虑一些其他因素:1.精度和范围:不同的倾角传感器在精度和量程上可能有所不同。

要根据具体的应用需求来选择合适的传感器,并在程序中进行相应的设置和处理。

2.稳定性和响应时间:倾角传感器的稳定性和响应时间也是需要注意的因素。

在选择传感器和进行数据处理时,要权衡稳定性和响应时间的关系,并做出合适的调整。

3.错误处理:在程序编写过程中,需要考虑到可能的错误情况,并设置相应的错误处理机制。

例如,如果读取到的传感器数据超出了范围,可以给出警告或进行修正。

4.跨平台兼容:如果希望倾角传感器程序能在不同的平台上运行,还需要考虑跨平台兼容性。

这涉及到对不同操作系统和硬件的兼容性测试和适配。

总结起来,编写倾角传感器程序需要对传感器进行硬件设置,实时采集数据,处理数据并进行滤波,最后展示测量结果。

磁角度传感器的工作原理

磁角度传感器的工作原理1. 引言磁角度传感器是一种用于测量物体相对于参考方向的角度的设备。

它利用磁场的性质来确定物体的旋转角度。

本文将详细讨论磁角度传感器的工作原理。

2. 磁场感应原理磁场是由磁性物质产生的一种力场,它具有方向和大小。

根据法拉第电磁感应定律,当一个导体在磁场中运动时,会在导体两端产生感应电动势。

这个原理被广泛应用于磁角度传感器中。

3. 磁角度传感器的基本原理磁角度传感器通常由一个旋转部件和一个固定部件组成。

旋转部件上安装有一个或多个永久磁铁,固定部件上安装有一个或多个磁场传感器。

当旋转部件转动时,永久磁铁会改变其相对位置,从而改变固定部件上的磁场分布。

通过检测这种磁场分布的变化,可以确定旋转部件相对于固定部件的角度。

4. 磁角度传感器的工作原理磁角度传感器的工作原理可以分为以下几个步骤:步骤1:磁场分布建模在传感器的固定部件上,通过测量和建模永久磁铁在旋转部件不同位置时的磁场分布。

这可以通过实验或计算方法来完成。

建立一个数学模型,描述永久磁铁在不同位置时产生的磁场分布。

步骤2:检测磁场变化当旋转部件转动时,永久磁铁的位置相对于固定部件会发生变化。

这将导致固定部件上的磁场分布发生变化。

传感器将检测这种磁场变化,并将其转换为电信号。

步骤3:信号处理传感器输出的电信号需要进行进一步处理,以得到旋转部件相对于固定部件的角度信息。

这个过程通常包括放大、滤波和数字化等步骤。

步骤4:角度计算根据经过处理的电信号,通过一些算法计算出旋转部件相对于固定部件的角度。

根据具体的传感器设计和应用需求,可能会使用不同的算法,如三角函数、插值等。

步骤5:输出结果通过接口将计算得到的角度信息输出给用户。

这可以是模拟信号或数字信号,具体取决于传感器的设计和应用要求。

5. 磁角度传感器的应用磁角度传感器广泛应用于许多领域,包括汽车工业、航空航天、机械制造等。

它们被用于测量转向角度、发动机位置、舵机位置等。

6. 总结磁角度传感器利用磁场感应原理来测量物体相对于参考方向的角度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

角度传感器程序总结——电信101 吴超琼角度传感器AS5045这种绝对角度测量方式可即时指出磁铁的角度位置,其分辨率达到0.0879°=每圈360°共4096个位置,能够以串行比特流及PWM信号输出的形式给出数字化数据。

2种数字式12位绝对值输出:-串行接口输出-脉冲调制(PWM)输出该程序采用了串行接口输出12位绝对值输出。

角度传感器程序流程图如下:AS5045采集得的数据是角度位置数据,要得到物体真正转过的角度就要进行计算,一圈360°,共4096个位置(5045芯片就是这样分配的),每个位置就有0.00879°,用读取AS5045得到的数据a乘以0.00879就得到我们所要求的角度。

为了精确我们小数点后要有相应的有效数字,若有n位有效数字,就需要再乘以10n。

例如:jiaodu=a*0.00879*10n。

程序如下:/*********通过AD转换和数字信号处理(DSP)算法**********//*********AS5045可提供精确的高分辨率*******************//*********绝对角度位置信息*****************************//*********AS5045能够检测磁场的方向并计算出12位的二进制编码*****************此编码通过同步串行接口(SSI)进行访问*****//**********屏蔽掉的程序是另一种算法差不多************************/#include<reg52.h>#include<stdlib.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int/******液晶引脚定义******/sbit RST=P0^0;sbit PSB=P0^1;sbit E=P0^5;sbit RW=P0^6;sbit RS=P0^7;//用了并行PSB=1,数据口用P2/*****AS5045引脚定义**************/sbit D0=P3^2; //同步串行接口的数据输出sbit CLK=P3^3; //同步串行接口的时钟输入sbit CSn=P3^4; //片选,低电平有效,施密特触发器输入,内部上拉电阻uint dd; //算得的最终角度//float cc;uint out,bb;//out为获取得的角度信息(绝对角度位置数据)D[11:0] 串行字包括18位数据,前12位是角度信息uint dis0[7]; //用来存放角度数据uchar code tab[]={"角度传感器实验"};uchar code dis1[]={"当前角度: "};uchar code dis2[]={"."};void delay(uint z){uint x,y;for(y=110;y>0;y--)for(x=z;x>0;x--);}/*******读取忙状态****/bit lcd_busy(){bit result;RS=0;RW=1;E=1;delay(5);result=(bit)(P2&0X80);E=0;return(result);}/******写指令*******/void write_com(uchar com){while(lcd_busy());RS=0;RW=0;P2=com;delay(5);E=1;delay(5);E=0;delay(5); }/******写数据*******/void write_data(uchar dat){while(lcd_busy());RS = 1;RW = 0;E = 0;P2 = dat;delay(5);E = 1;delay(5);E = 0;}//****液晶初始化******//void lcd_init(){PSB = 1; //并行口RST = 0; //复位delay(5);RST = 1;delay(5);write_com(0x30); //基本指令操作delay(5);write_com(0x0c);//开显示delay(5);write_com(0x01); //清屏delay(5);}/*****显示坐标********/void lcd_pos(uchar x,uchar y){uchar pos;if(x==1){x=0x80;}else if(x==2){x=0x90;}else if(x==3){x=0x88;}else if(x==4){x=0x98;}pos=x+y;write_com(pos); //显示地址}/*********获取角度信息(绝对角度位置数据)*****************************/uint ad_change(){uchar i;out=0; //初始化为0CSn=1; //CSn片选先保持高电平CLK=1; //时钟保持高电平CSn=0; //CSn变为低电平,数据输出(D0)将从高阻状态变为高电平并启动读取操作delay(2);CLK=0; //数据在CLK的第一个下降沿锁存至输出移位寄存器内delay(2);for(i=0;i<12;i++) //有12位角度信息{out=out<<1; //一位一位的移出来CLK=1;//每个后续的CLK上升沿将移出一位数据delay(2);out|=D0;delay(2);CLK=0;delay(2);}delay(2);CSn=1; //通过一个CSn(持续一段时间)高脉冲来启动后续测量//CSn=1用于启动下一个角度位置的读取操作CLK=1;delay(1);return(out); //输出角度信息}/********计算角度并拆分*********************/void jiaodu1(){bb=ad_change(); //角度位置数据dd=(uint)(bb*8.79); //可以这样写,也可以像下面这样写// cc=(float)(bb*0.0002442); // 360°/4096=0.0879°(一圈有4096个位置,每个位置占0.0879°)0.0879°/360°=0.0002442 (比率)//// dd=(long int)(cc*100*360); //100是根据下面角度的小数点后面有几位有效数字,比如有2位就乘以100.3位就乘以1000dis0[0]=dd/10000+0x30; //拆分角度,小数点后两位有效数字dis0[1]=dd%10000/1000+0x30;dis0[2]=dd%1000/100+0x30;dis0[3]=dd%100/10+0x30;dis0[4]=dd%10+0x30;//dis0[0]=dd/1000000+0x30; //拆分角度,四位有效数字//dis0[1]=dd%1000000/100000+0x30;//dis0[2]=dd%100000/10000+0x30;//dis0[3]=dd%10000/1000+0x30;//dis0[4]=dd%1000/100+0x30;//dis0[5]=dd%100/10+0x30;//dis0[6]=dd%10+0x30;}void main(){uchar s;delay(5);lcd_init();//初始化delay(5);lcd_pos(1,0); //液晶显示初始化s=0;while (tab[s]!='\0'){write_data(tab[s]);s++;delay(2);}lcd_pos(2,0);//液晶显示初始化s=0;while (dis1[s]!='\0'){write_data(dis1[s]);s++;delay(2);}lcd_pos(3,2);s=0;while (dis2[s]!='\0'){write_data(dis2[s]);s++;delay(2);}while (1){lcd_pos (3,0); //角度显示,小数点前有三位数字,小数点后有2位有效数字jiaodu1();write_data(dis0[0]);write_data(dis0[1]);write_data(dis0[2]);lcd_pos (3,3);jiaodu1();write_data(dis0[3]);write_data(dis0[4]);// write_data(dis0[5]);// write_data(dis0[6]);}}。

相关文档
最新文档