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

上传人:pu****.1 文档编号:561089604 上传时间:2023-10-22 格式:DOC 页数:14 大小:2.04MB
返回 下载 相关 举报
山东科技大学创新性实验:脉冲宽度测量.doc_第1页
第1页 / 共14页
山东科技大学创新性实验:脉冲宽度测量.doc_第2页
第2页 / 共14页
山东科技大学创新性实验:脉冲宽度测量.doc_第3页
第3页 / 共14页
山东科技大学创新性实验:脉冲宽度测量.doc_第4页
第4页 / 共14页
山东科技大学创新性实验:脉冲宽度测量.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《山东科技大学创新性实验:脉冲宽度测量.doc》由会员分享,可在线阅读,更多相关《山东科技大学创新性实验:脉冲宽度测量.doc(14页珍藏版)》请在金锄头文库上搜索。

1、山东科技大学电工电子实验教学中心创新性实验研究报告课程名称:单片机原理及应用设计实验项目名称 脉冲宽度测量 姓名 学号 手机 Email 专业 电气工程及其自动化 班级 指导教师及职称 开课学期 至 学年 学期提交时间 年 月 日一、实验摘要 随着电子技术的应用越来越广泛,对各种系统工作时间特性的分析也越来越重要且精度要求越来越高,图1显示了这种时间特性,其中t表示脉冲宽度,即高电平维持的时间,T表示一个波形的周期,即一个波形完整经历一个高电平和一个低电平所需的时间。图1 脉冲宽度与周期在现代工业应用中,脉冲宽度测量在传感器以及PWM(脉宽调制器)的输入频率的测量都有重要作用,且脉宽和周期是脉

2、冲的重要指标。不论在模拟电路还是在数字电路中测量脉宽都有必要性,因此精确测量脉宽至关重要。二、实验目的1、掌握定时器的使用方法。2、了解显示器的显示原理及其使用方法。3、掌握示波器与单片机的应用测量波形精确测量脉宽。4、掌握51单片机汇编程序的设计及串行总线接口设计。5、将课本知识与实际相结合,锻炼实践动手能力和解决实际问题的能力。三、实验场地及仪器、设备和材料:实验场地:单片机实验室实验仪器设备:PC兼容机一台,单片机实验箱一个四、实验内容1、实验原理 对脉冲宽度的测量方法有用示波器直接测量脉冲宽度及周期、基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法、内插扩展法、基于单片机的脉冲

3、宽度与周期的测量四种方法,其中用示波器直接测量误差大、不精确,对低频信号无法读出;基于定时/计数器测量脉冲宽度及周期的一般原理及采用的方法精度比较高,计数器法可能产生的最大误差绝对值不超过计数脉冲周期;内插法不做详解。本次实验主要采用基于单片机的脉冲宽度与周期的方法,可以分别采用T0的门控方式和T2的捕捉方式,其原理框图如图2。使用T0的门控方式原理为采用定时器T0定时0.001s,当/INTO(P3.2)为高电平且TR0为高电平时T0开始启动进入中断,定时时间到利用P1.0使T2计数值增一,直到遇到低电平,停止计数,脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩B

4、CD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。信号源STC89C52单片机控制器6位LED显示驱动电路振荡电路图2 脉冲宽度及周期原理方框图使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中,脉冲宽度=计数值*0.001s,再将得到的表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用来显示,读取LED上显示的数据

5、即为要测量的脉冲宽度。2、实验内容实验原理图设计如下:本实验使用C51试验箱,使用T0门控方式时将脉冲信号加到P3.2引脚,使用T2捕捉方式时将脉冲信号加到P1.1引脚,将数码管的段控信号与P0口与六位LED数码管相连,将位控信号P2与键盘相连图3 试验箱CPU连接图图4 数码管显示电路图 使用六位LED数码管显示,采用89C52单片机,使用振荡电路产生12MHZ的频率信号,复位电路确保单片机程序顺利执行。采用动态扫描法实现LED数码管显示。共阳7段LED显示器显示原理如下:D7h(dp)D6gD5fD4eD3dD2cD1bD0a共阳七段码显示字符00111111C0H000000110F9H

6、101011011A4H201001111B0H30110011099H40110110192H50111110182H600000101F8H70111110180H80111111190H90110011188HA0111110083HB00111001C6HC01000111A1HD0111100186HE011100118EHF1000000089HH图4共阴7段LED显示器显示码3、实验步骤 T0门控方式的程序流程图以及T2捕捉方式程序流程图如下:结束调用显示程序调用非压缩BCD码转换程序调用压缩BCD码转换程序开始对TH0、TL0、R3、R4赋初值脉冲信号为高电平?开定时器T0的中

7、断脉冲信号为低电平?进入定时器T0的中断,并将计数值清零进入定时器T0中断服务程序,并将定时溢出值存入两个存储单元调用压缩BCD码转换程序调用非压缩BCD码转换程序调用显示程序结束否是否是图5 T0门控方式的程序流程图开始对TH0、TL0、TH2、TL2赋初值否待测信号为低电平?是启动定时器T0否脉冲信号为高电平是进入T0的定时中断且记录定时次数关定时器T0的中断,将计数值存入新的地址单元调用压缩BCD码转换程序调用非压缩BCD码转换程序调用显示程序结束图6 T2捕捉方式程序流程图五、实验结果与分析1、实验现象、数据记录 采用T0门控方式得到的数据T2捕捉方式得到的数据2、对实验现象、数据及观

8、察结果的分析与讨论: 实验在调试的过程中会出现一系列的问题,如果是脉冲宽度只显示一次,则是因为进入定时器的中断次数不对,这是需要改进在显示一次后如果再出现高电平需要再次进入中断服务程序;若显示的数值只闪一下最后只显示一位数则是因为显示程序调用出现问题,这是需要不停地调用显示程序来解决问题,若程序和中显示乱码或计数不对则可能是子程序中程序编写出现错误或是只是某一个小地方出现差错,应仔细检查。3、关键点: 我认为本实验的关键点为定时器T0、T1以及定时器T2的编程及原理的使用,正确理解T2的捕捉下降沿方式测量脉冲宽度的使用方法,以及T0的门控方式测量脉冲宽度的方法,熟练掌握压缩BCD码以及非压缩B

9、CD码的转换,正确理解LED数码管的显示原理及显示程序的编程,正确编出实验程序。六、实验结论 通过本次试验了解了脉冲宽度的多种测量方法,以及掌握这种方法中可能会遇到的问题及其解决方法,要掌握实验的核心理解使用T0门控方式和T2的捕捉方式的具体操作方法,了解其脉冲产生及计数定时原理。 七、指导老师评语及得分:签名: 年 月 日附件:源程序等。 T0门控方式实验程序: ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0030HMAIN: MOV TMOD,#09H;设T0工作在方式1,GATE=1 MOV TL0,#0FCH MOV TH0,#17H;设

10、定时初值,定时0.001s MOV R4,#00H MOV R3,#00H JB P3.2,$ SETB ET0 SETB EAIOC: SETB TR0 JNB P3.2,$;进入T0定时中断 MOV R3,#00H MOV R4,#00H;R3R4存定时溢出值,此时在低电平计数,需将所记的数值清零 JB P3.2,$ CLR TR0;脉冲信号出现低电平,定时停止 MOV 34H,R4 MOV 35H,R3 LCALL BCD;将计数值变为压缩BCD码 LCALL UBCD;将压缩BCD码转换为非压缩BCD码用于显示DIS:LCALL DISP;调用显示程序 JB P3.2,IOC;当脉冲信

11、号再次出现高电平时继续进入中断 SJMP DIST0_INT:INC R3;定时到计数值加一 CJNE R3,#00H,NEXT INC R4NEXT: MOV TH0,#0FCH MOV TL0,#17H RETIBCD:MOV R7,#16 CLR A;BCD码初始化 MOV 47h,A MOV 46h,A MOV 45h,A BCD1:CLR C MOV A,35H RLC A MOV 35H,A MOV A,34H RLC A MOV 34H,A MOV A,47H ADDC A,47H DA A MOV 47H,A MOV A,46H ADDC A,46H DA A MOV 46H,A MOV A,45H ADDC A,45H DA A MOV 45H,A DJNZ R7,BCD1 RET;将得到的压缩BCD码从高到低存入45H46H47HUBCD:MOV A,45H ANL A,#0F0H SWAP A MOV 50H,A MOV A,45H ANL A,#0FH MOV 51H,A MOV A,46H ANL A,#0F0H SWAP A MOV 52H,A MOV A,46H ANL A,#0FH MOV 53H,A MOV A,47H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号