山东科技大学创新性实验脉冲宽度测量Word格式.docx
- 文档编号:21714420
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:22
- 大小:355.74KB
山东科技大学创新性实验脉冲宽度测量Word格式.docx
《山东科技大学创新性实验脉冲宽度测量Word格式.docx》由会员分享,可在线阅读,更多相关《山东科技大学创新性实验脉冲宽度测量Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
对脉冲宽度的测量方法有用示波器直接测量脉冲宽度及周期、基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法、内插扩展法、基于单片机的脉冲宽度与周期的测量四种方法,其中用示波器直接测量误差大、不精确,对低频信号无法读出;
基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法精度比较高,计数器法可能产生的最大误差绝对值不超过计数脉冲周期;
内插法不做详解。
本次实验主要采用基于单片机的脉冲宽度与周期的方法,可以分别采用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
共阳七段码
显示字符
1
C0H
F9H
A4H
2
B0H
3
99H
4
92H
5
82H
6
F8H
7
80H
8
90H
9
88H
A
83H
B
C6H
C
A1H
D
86H
E
8EH
F
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定时中断
MOVR4,#00H;
R3R4存定时溢出值,此时在低电平计数,需将所记的数值清零
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
MOV34H,A
MOVA,47H
ADDCA,47H
DAA
MOV47H,A
MOVA,46H
ADDCA,46H
DAA
MOV46H,A
MOVA,45H
ADDCA,45H
MOV45H,A
DJNZR7,BCD1
RET;
将得到的压缩BCD码从高到低存入45H46H47H
UBCD:
MOVA,45H
ANLA,#0F0H
SWAPA
MOV50H,A
MOVA,45H
ANLA,#0FH
MOV51H,A
MOVA,46H
MOV52H,A
MOV53H,A
MOV54H,A
MOV55H,A
将非压缩BCD码从高到低存入50H51H52H53H54H55H
DISP:
MOVR0,#55H;
显示缓冲地址
MOVR2,#20H;
送位控初始码
MOVA,#0FFH;
共阳灭码
MOVP0,A
ACALLDIP
MOVR0,#54H;
MOVR2,#10H;
送位控初始码
MOVR0,#53H
MOVR2,#08H
MOVR0,#52H
MOVR2,#04H
MOVA,R2
MOVP2,A
MOVA,@R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR;
查出要显示的字形代码
ANLA,#7FH;
加小数点显示
ACALLDELAY
MOVR0,#51H
MOVR2,#02H
MOVR0,#50H
MOVR2,#01H
SJMPDISP
DIP:
MOVA,R2;
送位控信号
MOVP2,A;
P2存放位控信号
MOVA,@R0;
从显示缓冲中取数
RET
DELAY:
MOVR5,#9FH
DJNZR5,$
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
LJMPMAIN
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
SETBET0
JNBP1.1,$
SETBTR0
高电平开始定时
CLRTR0
MOV35H,RCAP2L
MOV34H,RCAP2H
ACALLBCD
LCALLUBCD
LOOP1:
ACALLDISP
JBP1.1,LOOP3;
待测信号再次出现高电平重新进入中断
AJMPLOOP1
MOVTH0,#0FCH
SETBP1.0
NOP
RETI
MOVP0,#0FFH
MOVDPTR,#TAB
MOVA,55H
MOVCA,@A+DPTR
MOVA,#20H
ACALLDELAY
MOVA,54H
MOVA,#10H
MOVP2,A
MOVA,53H
MOVA,#08H
MOVA,52H
ANLA,#7FH
MOVA,#04H
MOVA,51H
MOVA,#02H
MOVA,50H
MOVA,#01H
ACALLDELAY
DELAY:
MOVR6,#70H
DJNZR6,$
RET
TAB:
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东 科技大学 创新 实验 脉冲宽度 测量