基于8031单片机的发动机转速测量

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

文章编号:1671-654X (2003)02-0120-02

基于8031单片机的发动机转速测量

魏沣亭,祝雪平,张海荣

(空军工程大学

工程学院,陕西西安

710038)

收稿日期:2003-01-22

作者简介:魏沣亭(1974—

),男,陕西西安人,硕士研究生,主要研究方向为航空宇航推进理论与工程。摘 要:发动机转速的实时测量已成为高性能航空发动机研制的重要内容。本文介绍了用8031单片机系统对某型发动机转速进行实时测量的方法,给出了测量系统的硬件结构、实现技术及其实时软件设计。系统时效性强,性能可靠,使用方便。关键词:单片机;转速;测量;接口程序

中图分类号:O24211文献标识码:A

引言

利用8031单片机系统对发动机转速进行测量,测量基本电路如图1所示。从传感器来的信号经放大、整形后,送入ADC0809进行模数转换,输出信号通过P1口送入8031单片机应用系统,测量结果由5位数码管显示(图中只画出2位)。

本系统主要由8031单片机、程序存贮器

图1 测量电路图

EPROM2716(2K8)、数据存贮器RAM6116(2K8)和

外围接口芯片8155等组成,测量系统结构图如图2。图2 测量系统结构图

1 ADC0809与单片机的接口

由于ADC0809带有三态输出锁存缓冲器,因此其8位数据输出引脚可直接与8031数据总线相连。地址线A 、B 、C 分别与地址总线的低3位A 0、A 1、A 2相连,以选通IN0—IN7中的一个通道。在启动A ΠD 转换时,8031的写信号WR 和P2.7进行或非操作得到一个正脉冲,同时加到ADC0809的AL E 和STAR T 引脚,则ADC0809在锁存通道地址的同时

也启动A ΠD 转换。在A ΠD 转换期间EOC =0,A ΠD 转换结束时EOC 为高电平。EOC 反相后加到8031的IN T1作为中断请求信号。在IN T1中断服务程序读取转换结果时,8031的读信号RD 和P2.7或非后产生一个正脉冲,作为OE 信号,用以打开三态输出锁存器。

设8个模拟输入通道IN0—IN7的地址分别为07F8H —07FFH 。若对8路模拟输入巡测一遍,并将

A ΠD 转换结果依次存放在内部RAM 的30—37H 单

元中。采用中断控制方式读取A ΠD 转换结果的程序

如下:

第33卷 第2期2003年6月 航空计算技术Aeronautical Computer Technique

Vol 133No 12

J un 12003

OR G 0000H ;主程序入口地址

AJ MP MA IN ;跳转主程序

OR G OO13H ;IN T1中断入口地址

LJ MP IN T1 ;跳转2N T1中断服务程序主程序:

MA IN:MOV R0,#30H ;数据区首地址

MOV R1,#08H ;置通道数

SETB IT1 ;选择IN T1为边沿触发

SETB EX1 ;允许IN T1中断

SETB EA ;CPU开放中断

MOV DPTR,#07F8H;通道IN0的地址

MOVX@DPTR,A ;启动AΠD转换

HERE:S J MP HERE ;等待中断

中断服务程序:

IN T1:MOVX A,@DPTR;读AΠD转换结果

MOV@R0,A ;存入内部RAM单元

INC DPTR ;修改模拟通道地址

INC R0 ;数据区指针加1

MOVX@DPTR,A ;启动AΠD转换

DJ NZ R1,N EXT;8路未采集完,则循环

CL R EX1 ;关中断

N EXT:RETI ;中断返回

2 8155与单片机的接口

8031通过8155扩展IΠO控制5位L ED动态显示。8155提供2个输出口,图中PB口为输出段选码,PA口输出位选码。B IC-8718为8位集成驱动芯片。

设8031片内RAM的7BH—7FH单元为显示缓冲区,依次(从低位到高位)存放五个要显示的数据。以分离的BCD码形式存放。

程序清单:

DIS:MOV A,#03H ;8155初始化

MOV DPTR,#0700H

MOVX@DPTR,A

MOV R0,#7BH;动态显示初始化,存缓冲

区首址

MOV R3,#7FH;存首位位选字

MOV A,R3

LD0:MOV DPTR,#0701H;指定PA口

MOV@DPTR,A ;送位选字入PA口

INC DPTR ;指向PB口

MOV A,@RO ;查段选码

ADD A,#0DH;#ODH为从查表指令

下一个机器码至段选

表首的偏移量

MOVC A,@A+PC

MOV@DPTR,A ;段选码送PB口

ACALL DL1 ;延时1ms

INC R0 ;指向显示缓冲区下一单元

MOV A,R3;

J NB ACC.0,LD1;判断五位显示完?

RR A ;未显示完,变为下一位位选字 MOV R3,A;

AJ MP LD0 ;转显示下一位

LD1: RET

DSEG: DB 3FH,O6H,5BH,4FH,66H,6DH, 7DH,07H,7FH,6FH,77H,7CH,39H,5EH, 79H,71H

“0”“1”“2”“3”“4”“5”“6”“7”“8”“9”“A”“B”“C”“D”“E”“F”

DL1: MOV R7,#02H ;延时子程序

DL: MOV R6,#0FFH

DL6: DJ NZ R6,DL6

DJ NZ R7,DL

RET

参考文献:

[1] 何立民.Mcs-51系列单片机应用系统设计[M]1北京:

北京航空航天大学出版社,1990.

[2] 潘永雄,刘 殊.单片机原理与应用[M]1西安:西安电

子科技大学出版社,2000.

[3] 严钟豪.谭祖根1非电量电测技术[M]1北京:机械工

业出版社,2001.

(下转第124页)

121

2003年6月 魏沣亭等:基于8031单片机的发动机转速测量

相关文档
最新文档