山东科技大学创新性实验脉冲宽度测量.docx

上传人:b****5 文档编号:8578201 上传时间:2023-01-31 格式:DOCX 页数:22 大小:355.74KB
下载 相关 举报
山东科技大学创新性实验脉冲宽度测量.docx_第1页
第1页 / 共22页
山东科技大学创新性实验脉冲宽度测量.docx_第2页
第2页 / 共22页
山东科技大学创新性实验脉冲宽度测量.docx_第3页
第3页 / 共22页
山东科技大学创新性实验脉冲宽度测量.docx_第4页
第4页 / 共22页
山东科技大学创新性实验脉冲宽度测量.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

山东科技大学创新性实验脉冲宽度测量.docx

《山东科技大学创新性实验脉冲宽度测量.docx》由会员分享,可在线阅读,更多相关《山东科技大学创新性实验脉冲宽度测量.docx(22页珍藏版)》请在冰豆网上搜索。

山东科技大学创新性实验脉冲宽度测量.docx

山东科技大学创新性实验脉冲宽度测量

 

山东科技大学电工电子实验教学中心

创新性实验研究报告

课程名称:

单片机原理及应用设计

实验项目名称脉冲宽度测量______

姓名____学号_

手机_Email__

专业电气工程及其自动化班级__

指导教师及职称_____

开课学期至学年__学期

提交时间年月日

一、实验摘要

随着电子技术的应用越来越广泛,对各种系统工作时间特性的分析也越来越重要且精度要求越来越高,图1显示了这种时间特性,其中t表示脉冲宽度,即高电平维持的时间,T表示一个波形的周期,即一个波形完整经历一个高电平和一个低电平所需的时间。

图1脉冲宽度与周期

在现代工业应用中,脉冲宽度测量在传感器以及PWM(脉宽调制器)的输入频率的测量都有重要作用,且脉宽和周期是脉冲的重要指标。

不论在模拟电路还是在数字电路中测量脉宽都有必要性,因此精确测量脉宽至关重要。

 

二、实验目的

1、掌握定时器的使用方法。

2、了解显示器的显示原理及其使用方法。

3、掌握示波器与单片机的应用测量波形精确测量脉宽。

4、掌握51单片机汇编程序的设计及串行总线接口设计。

5、将课本知识与实际相结合,锻炼实践动手能力和解决实际问题的能力。

 

三、实验场地及仪器、设备和材料:

实验场地:

单片机实验室

实验仪器设备:

PC兼容机一台,单片机实验箱一个

 

四、实验内容

1、实验原理

对脉冲宽度的测量方法有用示波器直接测量脉冲宽度及周期、基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法、内插扩展法、基于单片机的脉冲宽度与周期的测量四种方法,其中用示波器直接测量误差大、不精确,对低频信号无法读出;基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法精度比较高,计数器法可能产生的最大误差绝对值不超过计数脉冲周期;内插法不做详解。

本次实验主要采用基于单片机的脉冲宽度与周期的方法,可以分别采用T0的门控方式和T2的捕捉方式,其原理框图如图2。

使用T0的门控方式原理为采用定时器T0定时0.001s,当/INTO(P3.2)为高电平且TR0为高电平时T0开始启动进入中断,定时时间到利用P1.0使T2计数值增一,直到遇到低电平,停止计数,脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。

图2脉冲宽度及周期原理方框图

使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中,脉冲宽度=计数值*0.001s,再将得到的表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用来显示,读取LED上显示的数据即为要测量的脉冲宽度。

2、实验内容

实验原理图设计如下:

本实验使用C51试验箱,使用T0门控方式时将脉冲信号加到P3.2引脚,使用T2捕捉方式时将脉冲信号加到P1.1引脚,将数码管的段控信号与P0口与六位LED数码管相连,将位控信号P2与键盘相连

 

 

图3试验箱CPU连接图

图4数码管显示电路图

使用六位LED数码管显示,采用89C52单片机,使用振荡电路产生12MHZ的频率信号,复位电路确保单片机程序顺利执行。

采用动态扫描法实现LED数码管显示。

共阳7段LED显示器显示原理如下:

D7

h(dp)

D6

g

D5

f

D4

e

D3

d

D2

c

D1

b

D0

a

共阳七段码

显示字符

0

0

1

1

1

1

1

1

C0H

0

0

0

0

0

0

1

1

0

F9H

1

0

1

0

1

1

0

1

1

A4H

2

0

1

0

0

1

1

1

1

B0H

3

0

1

1

0

0

1

1

0

99H

4

0

1

1

0

1

1

0

1

92H

5

0

1

1

1

1

1

0

1

82H

6

0

0

0

0

0

1

0

1

F8H

7

0

1

1

1

1

1

0

1

80H

8

0

1

1

1

1

1

1

1

90H

9

0

1

1

0

0

1

1

1

88H

A

0

1

1

1

1

1

0

0

83H

B

0

0

1

1

1

0

0

1

C6H

C

0

1

0

0

0

1

1

1

A1H

D

0

1

1

1

1

0

0

1

86H

E

0

1

1

1

0

0

1

1

8EH

F

1

0

0

0

0

0

0

0

89H

H

图4共阴7段LED显示器显示码

3、实验步骤

T0门控方式的程序流程图以及T2捕捉方式程序流程图如下:

 

图5T0门控方式的程序流程图

 

 

 

 

 

图6T2捕捉方式程序流程图

 

五、实验结果与分析

1、实验现象、数据记录

采用T0门控方式得到的数据

T2捕捉方式得到的数据

2、对实验现象、数据及观察结果的分析与讨论:

实验在调试的过程中会出现一系列的问题,如果是脉冲宽度只显示一次,则是因为进入定时器的中断次数不对,这是需要改进在显示一次后如果再出现高电平需要再次进入中断服务程序;若显示的数值只闪一下最后只显示一位数则是因为显示程序调用出现问题,这是需要不停地调用显示程序来解决问题,若程序和中显示乱码或计数不对则可能是子程序中程序编写出现错误或是只是某一个小地方出现差错,应仔细检查。

3、关键点:

我认为本实验的关键点为定时器T0、T1以及定时器T2的编程及原理的使用,正确理解T2的捕捉下降沿方式测量脉冲宽度的使用方法,以及T0的门控方式测量脉冲宽度的方法,熟练掌握压缩BCD码以及非压缩BCD码的转换,正确理解LED数码管的显示原理及显示程序的编程,正确编出实验程序。

 

六、实验结论

通过本次试验了解了脉冲宽度的多种测量方法,以及掌握这种方法中可能会遇到的问题及其解决方法,要掌握实验的核心理解使用T0门控方式和T2的捕捉方式的具体操作方法,了解其脉冲产生及计数定时原理。

 

七、指导老师评语及得分:

 

签名:

年月日

附件:

源程序等。

T0门控方式实验程序:

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0_INT

ORG0030H

MAIN:

MOVTMOD,#09H;设T0工作在方式1,GATE=1

MOVTL0,#0FCH

MOVTH0,#17H;设定时初值,定时0.001s

MOVR4,#00H

MOVR3,#00H

JBP3.2,$

SETBET0

SETBEA

IOC:

SETBTR0

JNBP3.2,$;进入T0定时中断

MOVR3,#00H

MOVR4,#00H;R3R4存定时溢出值,此时在低电平计数,需将所记的数值清零

JBP3.2,$

CLRTR0;脉冲信号出现低电平,定时停止

MOV34H,R4

MOV35H,R3

LCALLBCD;将计数值变为压缩BCD码

LCALLUBCD;将压缩BCD码转换为非压缩BCD码用于显示

DIS:

LCALLDISP;调用显示程序

JBP3.2,IOC;当脉冲信号再次出现高电平时继续进入中断

SJMPDIS

T0_INT:

INCR3;定时到计数值加一

CJNER3,#00H,NEXT

INCR4

NEXT:

MOVTH0,#0FCH

MOVTL0,#17H

RETI

BCD:

MOVR7,#16

CLRA;BCD码初始化

MOV47h,A

MOV46h,A

MOV45h,A

BCD1:

CLRC

MOVA,35H

RLCA

MOV35H,A

MOVA,34H

RLCA

MOV34H,A

MOVA,47H

ADDCA,47H

DAA

MOV47H,A

MOVA,46H

ADDCA,46H

DAA

MOV46H,A

MOVA,45H

ADDCA,45H

DAA

MOV45H,A

DJNZR7,BCD1

RET;将得到的压缩BCD码从高到低存入45H46H47H

UBCD:

MOVA,45H

ANLA,#0F0H

SWAPA

MOV50H,A

MOVA,45H

ANLA,#0FH

MOV51H,A

MOVA,46H

ANLA,#0F0H

SWAPA

MOV52H,A

MOVA,46H

ANLA,#0FH

MOV53H,A

MOVA,47H

ANLA,#0F0H

SWAPA

MOV54H,A

MOVA,47H

ANLA,#0FH

MOV55H,A

RET;将非压缩BCD码从高到低存入50H51H52H53H54H55H

DISP:

MOVR0,#55H;显示缓冲地址

MOVR2,#20H;送位控初始码

MOVA,#0FFH;共阳灭码

MOVP0,A

ACALLDIP

MOVR0,#54H;显示缓冲地址

MOVR2,#10H;送位控初始码

ACALLDIP

MOVR0,#53H

MOVR2,#08H

ACALLDIP

MOVR0,#52H

MOVR2,#04H

MOVA,R2

MOVP2,A

MOVA,@R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR;查出要显示的字形代码

ANLA,#7FH;加小数点显示

MOVP0,A

ACALLDELAY

MOVR0,#51H

MOVR2,#02H

ACALLDIP

MOVR0,#50H

MOVR2,#01H

ACALLDIP

SJMPDISP

DIP:

MOVA,R2;送位控信号

MOVP2,A;P2存放位控信号

MOVA,@R0;从显示缓冲中取数

MOVDPTR,#TABLE

MOVCA,@A+DPTR;查出要显示的字形代码

MOVP0,A

ACALLDELAY

RET

DELAY:

MOVR5,#9FH

DJNZR5,$

RET

TABLE:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

 

T2捕捉方式实验程序

T2CONEQU0C8H

TH2EQU0CDH

TL2EQU0CCH

RCAP2HEQU0CBH

RCAP2LEQU0CAH

TR2BIT0CAH;定义定时器T2

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0_INT

ORG0030H

MAIN:

MOVTMOD,#01H;定时器T1工作在方式一采用定时模式

MOVT2CON,#0FH;T2处于计数模式,运行T2,捕捉方式

JBP1.1,$;待测信号为高电平等待

LOOP3:

MOVTL0,#17H

MOVTH0,#0FCH;设定时器初值,定时0.01S

MOVTH2,#00H

MOVTL2,#00H

MOV35H,#00H

MOV34H,#00H

CLRP1.0

SETBEA

SETBET0

JNBP1.1,$

SETBTR0

JBP1.1,$;高电平开始定时

CLRTR0

MOV35H,RCAP2L

MOV34H,RCAP2H

ACALLBCD

LCALLUBCD

LOOP1:

ACALLDISP

JBP1.1,LOOP3;待测信号再次出现高电平重新进入中断

AJMPLOOP1

T0_INT:

MOVTL0,#17H

MOVTH0,#0FCH

SETBTR0

SETBP1.0

NOP

NOP

CLRP1.0

RETI

BCD:

MOVR7,#16

CLRA;BCD码初始化

MOV47h,A

MOV46h,A

MOV45h,A

BCD1:

CLRC

MOVA,35H

RLCA

MOV35H,A

MOVA,34H

RLCA

MOV34H,A

MOVA,47H

ADDCA,47H

DAA

MOV47H,A

MOVA,46H

ADDCA,46H

DAA

MOV46H,A

MOVA,45H

ADDCA,45H

DAA

MOV45H,A

DJNZR7,BCD1

RET

UBCD:

MOVA,45H

ANLA,#0F0H

SWAPA

MOV50H,A

MOVA,45H

ANLA,#0FH

MOV51H,A

MOVA,46H

ANLA,#0F0H

SWAPA

MOV52H,A

MOVA,46H

ANLA,#0FH

MOV53H,A

MOVA,47H

ANLA,#0F0H

SWAPA

MOV54H,A

MOVA,47H

ANLA,#0FH

MOV55H,A

RET

DISP:

MOVP0,#0FFH

MOVDPTR,#TAB

MOVA,55H

MOVCA,@A+DPTR

MOVP0,A

MOVA,#20H

MOVP2,A

ACALLDELAY

MOVA,54H

MOVCA,@A+DPTR

MOVP0,A

MOVA,#10H

MOVP2,A

ACALLDELAY

MOVA,53H

MOVCA,@A+DPTR

MOVP0,A

MOVA,#08H

MOVP2,A

ACALLDELAY

MOVA,52H

MOVCA,@A+DPTR

ANLA,#7FH

MOVP0,A

MOVA,#04H

MOVP2,A

ACALLDELAY

MOVA,51H

MOVCA,@A+DPTR

MOVP0,A

MOVA,#02H

MOVP2,A

ACALLDELAY

MOVA,50H

MOVCA,@A+DPTR

MOVP0,A

MOVA,#01H

MOVP2,A

ACALLDELAY

RET

DELAY:

MOVR6,#70H

DJNZR6,$

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1