基于MCS8751单片机的测距仪研究
2013-04-29梅桂静等
梅桂静等
摘要:超声波由于指向性强,能耗低,传播距离远,经常被用于距离测量;单片机体积小,价格低,易编程故在此选用超声波和单片机设计了智能测距仪。
关键词:超声波 测距仪 单片机
0 引言
超声波检测速度快、方便、计算简单、易于实时控制,测量精度高;结合单片机及外围电路,通过超声换能器,设计了具有较高重复频率,精度高的超声测距仪的软硬件系统。并通过RS232串行通讯将报告测距结果传送给计算机显示。
1 硬件设计
MCS-51系列单片机属于8位单片计算机,因其品种齐全,兼容性强,软硬件资源丰富等特点,而成为8为位单片机中的主流。在此选用了MCS8751单片机。
8155芯片介绍 8155H芯片内包含有256个字节的RAM存储器,两个可编程的8位并行口PA和PB,一个可编程的6位并行口PC,以及一个14位减法定时器/计数器。PA口和PB口可工作于基本输入输出方式或选通输入输出方式。
数码显示电路 LED显示器分为:共阴极LED显示器的发光二极管阴极相连并接地;共阳极LED显示器的发光二极管的阳极相连接正电压,当某发光二极管的阴极接低电平时,二极管被点亮,显示相应字段。
点亮显示器有静态和动态两种。静态显示是指显示器显示某一字符时,相应的发光二极管恒定导通或截止;动态显示就是一位一位地轮流点亮显示器各个位,对于显示器的每一位来说,每隔一段时间点亮一次。
若显示器的位数不大于八位,显示器公共极电位只需一个I/O口称为扫描口,显示器各位所显示的字型也需要一个八位口称为段数据口。4位共阴极显示器与8155的A口相连作为扫描口,经反向驱动器75452接显示器公共极,B口作为段数据口,经同向驱动器7407接显示器的各个极。
RS232接口电路在PC机中一般有两个标准RS-232C串行接口COM1和COM2.MCS8751单片机片内含一个全双工的串行接口,通过编程即可实现串行通信。然而PC机的RS-232C标准的电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”,-3V~-15V之间的任意电平为逻辑“1”,计算机接口芯片大都为TTL或CMOS电平,在通信时,须进行电平转换,以便与RS-232C标准的电平匹配。选用了MAX232芯片完成电平转换工作。
超声波换能器 压电式超声波发生器实际上是利用压电晶体的谐振来工作的,内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。
超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,发射头为UCM40T和接收头UCM40R配套使用。单片机在P1.0端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。接收头UCM40R,将超声波调制脉冲变为交变电压信号,经放大整形后加至单片机中断入口,当信号电平由高电平跃变为低电平,作为中断请求信号,送至单片机处理。
硬件电路 MCS8751单片机接6M晶振,同时具有上电复位和手动复位功能,P1.0口作为输出口,输出40KHz方波。方波信号经晶体管T放大后,送给超声波发射头UCM40T,驱动UCM40T发出40KHz超声波。超声波反射回来后,被超声波接收头UCM40R接收。UCM40R将超声波信号转换为交变电压信号,信号由差动放大器两级放大后送给音频译码器LM567,经LM567分频后,40KHz方波信号被选出来,此信号作为中断输入信号接到单片机的外部中断入口INT0。
为了接四位LED数码显示,单片机需外扩一片I/O接口芯片8155。8155加上电复位电路,数据口接单片机P0口,单片机P2.0,P2.7分别接8155的CE和IO/M端。8155的PA口作为输出口,扫描四位LED显示器。PB口作为显示器的段数据口。同时PA口和PB口分别加反向驱动器75452和同向驱动器7407。LED显示器接为共阴极型。
2 软件设计
方波发生 MCS-51单片机内有两个可编程的定时器/计数器,具有计数器、定时器两种工作模式及4种工作方式通过对特殊功能寄存器TCON的编程,可选择适当的工作模式和工作方式。特殊功能寄存器用于控制T0,T1的启动和停止计数,同时包含了T0,T1的状态。TMOD,TCON这两个寄存器的内容由软件设置。
在本设计中,时钟频率采用6MHZ,要在P1.0上输出一个周期为2ms的方波,方波的周期用定时器T0来确定,采用中断的方法来实现。首先确定定时常数,根据13位定时器特性,初值应为:TH0=0F0H TL0=OCH;其次对IP,IE,TCON,TMOD的相应位进行初始化设置,并将时间常数送入定时器中。
计时程序 当M1,M0为10时,定时器/计数器工作于方式2,方式2为自动恢复初值(常数重装入)的8位定时器/计数器,TLX作为常数缓冲器,当TLX计数溢出时,在置1溢出标志TFX的同时,还自动的将THX中的常数送至TLX,使TLX从初值开始重新计数。将T1定义方式2计数,计数初值为00H,计数从0开始。把T0(P3.4),作为外部中断请求输入线,即T0引脚发生负跳变时,向CPU请求中断。
3 结论
基于MCS8751单片机利用超声波原理设计的测距仪能完成远距离的测量,满足测量精度的要求,在数据通信方面还有待改进和提高,尤其是远距离通信方面。
参考文献:
[1]童峰,许天增.一种用于移动机器人导航的全向高精度超聲测距处理方法[J].中南工业大学学报,2000.
[2]杨劲松,王敏,黄心汉.超声波可变阈值测距装置[J].电子技术应用,1998(7):7-9.
[3]丁镇生.传感器及传感器技术应用[M].北京:电子工业出版社,1999.
[4]杜兵华等.MCS-51单片机原理及应用[J].华中科技大学,2003.