数显倾斜角测量仪的设计
2016-04-26陈晓虎
陈晓虎
【摘 要】本设计以单片机AT89C51作为控制核心,外围电路由角度传感器模块,A/D转换模块,液晶显示模块,电源模块几部分电路组成。角度传感器将0-90°的角度信号转换成为0-5V的电压模拟信号,然后传给ADC0809,ADC0809则将此模拟信号转换成数字信号,再送入AT89C51,经过数据处理后,驱动YJ-162A液晶显示器,实现角度的显示。
【关键词】AT89C51单片机;YJ-162A液晶;AME-B001角度传感器;JM106ATADC0809CCN模数转换器
0 引言
在现实生活中有许多转动问题,而这些问题中一般都涉及到角度的测量,怎样方便的、准确的测量出角度,十分重要,尤其是野外勘探对测量仪器的要求更苛刻。数显倾斜角测量仪,就是在这种需求下诞生的,具有使用方便,功耗小,性能稳定,耐用等特点。
随着科技的进步,它已经被用到新兴的产业,比如智能汽车,可以根据坡度的变换自动调整档位,从而实现全地形匹配。它还可以用与其他飞行器的设计中,未来的使用前景相当的可观。
1 系统设计与实现
根据设计要求,本系统可由图1所示的几部分组成。
图1 系统设计图
AME-B001角度传感器将0~90°的角度信号转换成为0~5V的电压模拟信号,然后传给ADC0809,ADC0809则将此模拟信号转换成数字信号,再送入AT89C51,经数据处理后,驱动YJ-162A液晶显示器,实现角度的显示。
1.1 硬件系统的设计
1.1.1 角度传感器模块电路
AME-B001角度传感器有三个端口,5V,GND,SIGNAL,在正常工作状态下将0~90°的角度信号转换成为0~5V的电压模拟信号为系统采集角度信号。
1.1.2 A/D转换模块电路
ADC0809数模转化器将角度传感器采集到的角度模拟信号,通过逐次积分后转换成8位数字信号。其正常工作需要500K的转换时钟CLK,需要启动脉冲STR,需要转换允许OE,地址锁存A.B.C,基准电压REF等等,其中500K时钟信号可以将单片机的ALE脚的2M频率的信号进行4分频得到,所以要使用74LS393进行辅助,其启动脉冲则由单片机控制,采用延时方式进行转换,从而达到转换要求。
1.1.3 AT89C51控制模块电路
AT89C51作为整个系统的核心,担负着整个系统的控制作用,它和12M晶振,以及少量的电容和电阻,以及一个常开触点的开关组成的最小系统,通过通用烧录器将程序烧入其中,给其赋予灵魂,实现其优越的控制功能。
1.1.4 液晶显示模块电路
液晶显示模块主要由YJ-162A液晶显示器组成,其有16个引脚,其中8个数据端口,一个使能端,两个控制端,电源脚,GND脚,还有两个背光控制端和一个对比度控制端,在液晶开始使用是需要对其进行初始化,从而确定液晶的工作方式,为后期的显示工作做好准备。
1.1.5 电源模块电路
电源模块主要由L7805CV三端稳压管和少量的电容组成,7805的1脚接输入电源的正极,2脚为公共地,3脚为5V稳压输出,C1-C6主要作整容滤波处理,7805正常工作最大电流1A,加上散热片后最高可达1.5A而本系统最大电流180mA,所以足以提供稳定的电源。
1.2 软件设计
1.2.1 软件框图
图2 软件设计框图
软件采用循环方式,不断将0809转换得到的数据通过单片机处理,公式是由角度传感器的量程决定的,从而实现8位单片机的浮点计算,所以这部分程序也是这个程序的一个亮点,然后将已经数学计算的数据写入液晶显示,待显示完成后跳回0809转换程序,从而实现循环转换,循环计算,循环显示。
1.2.2 初始化液晶模块
液晶初始化程序,设定液晶的工作方式为;5×7双行显示,显示的内容向有移动,光标不显示,8位总线进行数据的传递,液晶的初始显示地址为00H,正确的初始化为后期的正常显示做准备。
1.2.3 启动ADC0809模块
程序用P2.0口来控制ADC0809的ALE口,用P2.1来控制START口,ALE口的上升沿将ABC的地址送到地址锁存器,START口则在上升沿进行复位数据存储器,下降沿进行转换,每次置位和清零中间有一小段的延时,从而使ADC0809工作更加的稳定。
1.2.4 数学运算模块
程序的主要作用有两个,第一进行数学运算,第二进行数据的存储,可以算的上是整个程序的核心,因为在除法中有小数点的引入,所以程序的计算显得有些复杂,运算的结果存在指定的存储空间内,用于后期的液晶显示。
1.2.5 液晶显示模块
程序总体比较简单,主要包括液晶驱动程序和延时子程序,单片机依次将各存储空间的值调出后传给液晶显示,因为在液晶的显示过程中需要一定的时间所以在程序的编写中需要一定的延时,当程序执行到最后时又跳回ADC转换程序从而实现循环检测,循环计算,循环显示。
2 调试及实验中遇到的问题
2.1 单片机正常工作问题
一般说来判断单片机正常工作与否主要通过检测其ALE脚是否有2M赫兹的信号输出。实验刚开始检测AT89C51的ALE脚时,发现没有预期的2M赫兹的信号出现,这表明单片机并没有正常的工作,通过检查晶振电路,复位电路,电源和地线,发现这些电路均正常,排除了这些可能性后,突然发现EA脚本应接高电位却接了低电位,通过分析得到EA如果脚接低电位将读取片外程序存储器,而系统没有扩展,因此找不到设备无法正常工作。
2.2 ADC0809正常转换问题
ADC0809正常工作需要很多的条件,需要500K的转换时钟CLK,需要启动脉冲STR,需要转换允许OE,地址锁存A.B.C,基准电压等等REF,并且检查无误,但测试IN0~IN7没有转换信号输出,经过反复的检查,发现中断结束位EOC一直处于高电位,这表明ADC0809一直处于转换中,随后检查软件找到了原因,是因为转换的延时时间太短,ADC0809转换时间128US,通过更正后,实现了转换。
【参考文献】
[1]丁元杰.单片微机原理及应用[M].北京:机械工业出版社,2005,7.
[2]余孟尝.数字电子技术简明教程[M].北京:高等教育出版社,1995.
[3]孙德文.微型计算机技术[M].北京:高等教育出版社,2001.
[责任编辑:汤静]