DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2311|回复: 1
打印 上一主题 下一主题

[待整理] 数显量具和51单片机的接口电路

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 10:54:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
数显量具和51单片机的接口电路

用容栅作为传感器的数显量具,它的数据处理部分是一个模块,模块上设置了一个串行接口,用此接口和单片机连接可以对其功能进行扩展,如增加某些控制功能,或用此模块开发自己的长度测量或控制仪器。本文以BJ200卡尺模块为例给出它与51单片机的接口电路和接口程序。引脚:

图1 、数显模块引脚图

    图1示出了接口的相对位置,1为负1.5V;2为数据信号;3为同步信号;4为0V,即接地端。如果不使用电池,而采用稳压电源,可将电源电压提高为1.8~2.0V,以提高其抗干扰能力。

数据格式:
    串行口的数据是二进制码,约0.2秒输出一次,每次输出两组数据,第一组为绝对相移,不受人工控制,对测量没有意义,第二组为相对相移,是相对于零位置的相移,即是我们所要采集的数据。一组数据24位,低位在前,高位在后,最后一位是符号位。最后一位为“1”表示数据为负数,以补码输出,为“0”表示数据为正数,以原码输出。若用D作为此数据的十进制表示,则最终测得的位移量“l”可表示如下:
与8051接口:
信号电平转换电路:
    电路见图2。由于模块使用负2V电源,所以它的输出信号需经过转换才能和8051相容。R2、Q2、U1D和U1E对数据信号进行变换,输出用DATA表示;R1、Q1和U1A对同步信号进行变换,输出用CLK表示;CLK后面的电路用来给单片机提供一个中断信号,信号未传送时,INT信号为低电平,信号传送期间,由于R3、C1积分电路的作用,INT保持高电平,信号传送完毕,INT又回到低电平,单片机设为脉冲中断方式,检测到这个脉冲下降沿即转入中断服务程序,从串行口读入数据。

8051接口电路:
    电路见图3,其中DATA、CLK、INT各端分别和图2中同名端口相连。MC14053是3刀双掷模拟开关,我们选用其中一组;MC14557是长达64位的可变移位寄存器,移位位数由L1、L2、L4、L8、L16、L32的接法决定,在此接成24位((16+4+2+1)+1=24),其输出端接到8051的串行口。

    8051复位后,P1.7置0,MC14557的时钟端接至模块同步信号CLK。数据传送完毕,INT产生负跳变,单片机转入中断服务程序,将P1.7置1,MC14557时钟端接至8051的串行时钟,程序分三次将24位数据读入单片机,数据通信任务完成。此后,即可对数据进行各种加工处理,达到工作要求。

编程:
    为了和以上电路配合,程序中先将P1.7置0,主程序中开放外中断,中断方式设为脉冲方式。8051采用串行通信方式0从MC14557读取数据,一次读取8位,需三次读完24位。

    程序中用到R0、R1寄存器,数据读入后按高位在前的顺序存入30H、31H、32H单元,即30H的最高位为符号位。

 

;------------开始----------------

CLR P1.7 ;MC14557时钟接到模块同步信号

MOV IE, #81H ;开放外中断0

SETB IT0 ;中断方式置为脉冲方式

;以下为数据接收子程序:

 

MOV IE, #00H ;禁止中断

MOV SCON,#00H ;串行通信方式0

SETB P1.7 ;将MC14557的时钟转为CPU控制

MOV R0,#32H

MOV R1,#03H ;分三次读取数据

L0:SETB REN ;开始接收数据

JNB RI,$

MOV A,SBUF ;数据从缓冲区移至RAM单元

MOV @R0,A

CLR RI

DEC R0

DJNZ R1,L0

CLR P1.7 ;MC14557时钟转换到CLK

RET

    除了本例所用的串行读取数据方式以外,还可以使用串入并出寄存器将模块输出的串行数据转换为并行数据,再读入单片机。

    此接口电路已用于笔者设计的数显测厚仪,用来测量光学玻璃元件的厚度。在这个仪器中,笔者利用采集的数据添加了公差输入、绝对/相对测量方式转换、超差报警等功能,以满足用户的要求。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 05:59 , 耗时 0.096919 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表