收藏 分销(赏)

基于单片机的脉冲宽度测量.doc

上传人:pc****0 文档编号:5960067 上传时间:2024-11-24 格式:DOC 页数:11 大小:752.21KB
下载 相关 举报
基于单片机的脉冲宽度测量.doc_第1页
第1页 / 共11页
基于单片机的脉冲宽度测量.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
山东科技大学电工电子实验教学中心 创新性实验研究报告 课程名称:单片机原理及应用 实验项目名称 脉冲宽度测量 姓名 学号 _________________ 专 业 _____________ 班级 ____________ 指导教师及职称 ________________________ 开课学期 2011 至 2012 学年 第一 学期 提交时间 2012 年 1 月 3 日 一、实验摘要 通过采用STC89C52RC单片机为中心器件来设计脉冲宽度测量器,并运用MCS—51/52单片机计数功能,选择好工作模式,对脉宽进行计数。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,并在计算机上编写汇编程序调试运行。 二、实验目的 (1)基于 STC89C52RC单片机测量脉冲宽度; (2)研究分别使用定时计数器 0,1 的 GATE 模式和定时计数器 2 的捕捉功能完成外部 脉冲宽度测量; (3)通过6位 LED显示计数值,时间精确到 0.1秒。并熟悉了解试验箱的应用,提高动手能力。 三、实验场地及仪器、设备和材料: 实验场地:J11#324 设备:PC机一台 STC89C52RC单片机试验箱一台 教材:1. MCS51/52单片机原理与实践 公茂法 黄鹤松等编著 北京航空航天大学出版 2. 单片机原理及应用 张毅刚主编 高等教育出版社 3. 其它相关的参考资料及实验教材 四、实验内容 1、实验原理 (1)T0工作方式 通过设置TMOD,使其为定时器模式。在做定时器使用时,将T0定时为0.001S。 当GATE=1时,为门控方式。只有TR0设置为1,且同时外部中断引脚也为高电平时,才能启动T0开始计数工作。 把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。在待测信号高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽。随后,清零TH0和TL0,以便下一个脉宽的测量。 计算方法:脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。 系统原理框图 7407 列驱动 6位数码管显示 89C51 单片机控制器 信号源 振荡电路 (2)T2捕捉工作方式 使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,通过串口P1.0的开关状态使T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中。 计算方法:脉冲宽度=计数值*0.001s,再将得到的表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用来显示,读取LED上显示的数据即为要测量的脉冲宽度。 2、实验内容 计数 被检测脉冲信号 为高则开始计数 为低时停止计数 T0:把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。在待测信号高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,计算出所测。随后,清零TH0和TL0,以便下一个脉宽的测量。显示:将数码管的段控信号与P口与六位LED数码管相连。 T2:使用T2捕捉方式时将脉冲信号加到P1.1引脚,并且同时开通T0定时器,将数码管的段控信号与P0口与六位LED数码管相连,将位控信号P2与键盘相连。 六位数码管显示数码管接线图 共阳7段LED显示器显示原理: 引脚 数字显示 g f a b e d c h 数码显示 0 0 1 1 1 1 1 1 0 C0H 1 0 0 0 1 0 0 1 0 F9H 2 1 0 1 1 1 1 0 0 A4H 3 1 0 1 1 0 1 1 0 B0H 4 1 1 0 1 0 0 1 0 99H 5 1 1 1 0 0 1 1 0 92H 6 1 1 1 0 1 1 1 0 82H 7 0 0 1 1 0 0 1 0 F8H 8 1 1 1 1 1 1 1 0 80H 9 1 1 1 1 0 1 1 0 90H 采用共阳7段LED数码管显示器,P口引入脉冲信号,P2.0至p2.3口作为列扫描输出,P0口输出段码数据,采用12Mhz晶振,可提高计数的精确度。 3、实验步骤 以流程图的方式表现实验步骤: T0门控方式的程序流程图 开始 设定工作方式,TH0,TL0赋值 脉冲是否为高电平? 开定时器T0的中断 检测脉冲是否为低电平? 进入T0的中断,并将计数值清零 进入定时器T0中断服务程序,并将定时溢出值存入两个存储单元 调用压缩BCD码转换程序 然后 调用非压缩BCD码转换程序 调用显示程序 结束 否 是 否 是 T2捕捉方式程序流程图 开始 设定工作方式,并对TH0、TL0、TH2、TL2赋值 脉冲是否为低电平? 开启定时器T0 检测脉冲是否为高电平? 进入T0的中断,记录定时次数,T2将数记下 关闭T0中断服务程序,并将所计数值存入RCAP2H、RCAP2L存储单元 调用压缩BCD码转换程序 然后 调用非压缩BCD码转换程序 调用显示程序 结束 是 否 是 否 五、实验结果与分析 1、实验现象、数据记录 按照流程图所示,按动脉冲按钮,可以看到,显示屏显示出所测脉冲的宽度。再次按动,可以清楚地观察到所示的示数变化。每次显示的示数,都根据所按按钮的时间长短,即高电平的脉宽长度。 第一张图为T0工作方式,第二张图为T2捕捉方式。 2、对实验现象、数据及观察结果的分析与讨论: 通过对T0、T2不同方式的实验观察,两种实验方式都可以达到计数脉宽的长度的要求,两者各有自己的优势。 实验数据均可以达到所要求的:6位 LED显示计数值,时间精确到 0.1秒 做实验时遇到很多问题,比如数码管显示不出数值(P口位置插错),小数点显示错位(没有在程序中编对位置),显示只显示第一次多出数值(调用程序返回时出错)等问题。 3、关键点: 在试验箱硬件连接正确的情况下,程序一定要正确,因为所出的问题,大部分都来源于程序出了问题。 所以这次实验要求我们,要明白试验的原理是什么,如何构思。了解T0、T2工作时的差别在哪,这样可以方便的结合另一个改动程序。 六、实验结论 通过这次试验,让我明白了T0、T2两种工作方式下如何测量脉宽长度,通过什么原理方式计算出数值。并提高了自己的动手能力,让自己对单片机的了解,有提升了一个档次。 七、指导老师评语及得分: 签名: 年 月 日 附件:源程序等。 T0门控方式: ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0030H MAIN: MOV TMOD,#09H MOV TL0,#0FCH MOV TH0,#17H MOV R4,#00H MOV R3,#00H JB P3.2,$ SETB ET0 SETB EA IOC: SETB TR0 JNB P3.2,$ MOV R3,#00H MOV R4,#00H JB P3.2,$ CLR TR0 MOV 34H,R4 MOV 35H,R3 LCALL BCD LCALL UBCD DIS: LCALL DISP JB P3.2,IOC SJMP DIS T0_INT:INC R3 CJNE R3,#00H,NEXT INC R4 NEXT: MOV TH0,#0FCH MOV TL0,#17H RETI BCD: MOV R7,#16 CLR A 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 UBCD: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 ANL A,#0F0H SWAP A MOV 54H,A MOV A,47H ANL A,#0FH MOV 55H,A RET DISP:MOV R0,#55H MOV R2,#20H MOV A,#0FFH MOV P0,A ACALL DIP MOV R0,#54H MOV R2,#10H ACALL DIP MOV R0,#53H MOV R2,#08H ACALL DIP MOV R0,#52H MOV R2,#04H MOV A,R2 MOV P2,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR ANL A,#7FH MOV P0,A ACALL DELAY MOV R0,#51H MOV R2,#02H ACALL DIP MOV R0,#50H MOV R2,#01H ACALL DIP RET DIP:MOV A,R2 MOV P2,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A ACALL DELAY RET DELAY: MOV R5,#9FH DJNZ R5,$ RET TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END T2捕捉方式: T2CON EQU 0C8H TH2 EQU 0CDH TL2 EQU 0CCH RCAP2H EQU 0CBH RCAP2L EQU 0CAH TR2 BIT 0CAH ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0030H MAIN: MOV TMOD, #01H MOV T2CON,#0FH JB P1.1,$ STR: MOV TL0, #17H MOV TH0, #0FCH MOV TH2, #00 MOV TL2 ,#00 MOV 50H,#00H MOV 51H,50H CLR P1.0 SETB EA SETB ET0 JNB P1.1, $ SETB TR0 SETB TR2 JB P1.1, $ CLR TR0 MOV 50H,RCAP2L MOV 51H,RCAP2H LCALL ZHUANHUAN LOOP1: LCALL DISP JB P1.1,STR AJMP LOOP1 T0_INT: MOV TL0, #17H MOV TH0, #0FCH SETB P1.0 NOP NOP CLR P1.0 RETI ZHUANHUAN: CLR A MOV 38H,51H MOV 37H,50H MOV 34H,#0 MOV 35H,#0 MOV 36H,#0 MOV R7,#16 LOOP2: CLR C MOV A,37H RLC A MOV 37H ,A MOV A,38H RLC A MOV 38H ,A MOV A,36H ADDC A,36H DA A MOV 36H,A MOV A,35H ADDC A,35H DA A MOV 35H,A MOV A,34H ADDC A,34H DA A MOV 34H,A DJNZ R7 ,LOOP2 MOV R1,#35H MOV R0,#36H MOV A,#00 XCHD A,@R0 MOV 58H,A MOV A,@R0 SWAP A MOV 57H,A MOV A,#00 XCHD A,@R1 MOV 56H,A MOV A,@R1 SWAP A MOV 55H,A MOV A,#00 MOV R0,#34H XCHD A,@R0 MOV 54H,A MOV A,@R0 SWAP A MOV 53H,A RET DISP: MOV R0,#53H MOV R2,#01H LOP11: MOV A,#0FFH MOV P0,A MOV A,R2 MOV P2,A MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR CJNE R0,#55H,LOP21 ANL A,#7FH LOP21: MOV P0,A ACALL DELAY INC R0 MOV A,R2 JB ACC.5,EXIT1 RL A MOV R2,A AJMP LOP11 EXIT1: RET DELAY: MOV R7,#0FEH LOOP: MOV R6,#70H DJNZ R7,LOOP RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服