基于89C51单片机脉冲宽度的测量的设计.docx
- 文档编号:14446370
- 上传时间:2023-04-23
- 格式:DOCX
- 页数:15
- 大小:116.01KB
基于89C51单片机脉冲宽度的测量的设计.docx
《基于89C51单片机脉冲宽度的测量的设计.docx》由会员分享,可在线阅读,更多相关《基于89C51单片机脉冲宽度的测量的设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于89C51单片机脉冲宽度的测量的设计
单片机原理与应用课程设计报告
目录
序言……………………………………………………………………2
一.设计内容与技术指标…………………………………………3
1.1设计内容…………………………………………………………3
1.2技术指标…………………………………………………………3
二.工作原理及设计方案
2.1工作原理………………………………………………………4
2.2系统设计方案…………………………………………………4
2.2.1电路原理图…………………………………………………5
2.2.2硬件焊接图…………………………………………………5
2.2.3软件流程图…………………………………………………7
2.2.4程序清单……………………………………………………8
三.系统调试及结果分析…………………………………………14
3.1硬件调试………………………………………………………14
3.2软件调试………………………………………………………14
3.3结果分析………………………………………………………14
四.注意事项………………………………………………………14
五.心得体会………………………………………………………15
六.参考文献 ………………………………………………………16
基于89C51单片机脉冲宽度的测量设计
序言:
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入同时带动传统控制检测日新月益更新。
单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理等。
本次课程设计目的主要是培养学生综合运用所学的知识,完成一个单片机应用系统设计。
主要任务是通过解决一些实际问题,巩固和加深课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力。
加深对单片机软件硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。
在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。
一.设计内容与技术指标
1.1设计内容
利用单片机及4位LED数码管做成四位脉宽显示,在一个脉宽期间对内部周期进行计数,得到的一个高电平脉冲内的计数值显示在四位数码管上,并达到相应的技术指标要求。
1.2技术指标
(1)输入脉冲幅度:
0-5V
(2)脉宽测量范围:
0.1-50ms
(3)测量精度:
±1%
(4)显示方式:
四位数字显示
二.工作原理及设计方案
2.1工作原理
把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。
在待测信号高电平期间,T0对内部周期脉冲进行计数(周期为1us)。
在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽(单位us)。
随后,清零TH0和TL0,以便下一个脉宽的测量。
7407
列驱动
4位数码管显示
振荡电路
89C51
单片机控制器
信号源
复位电路
图1系统原理框图
2.2系统设计方案
2.2.1电路原理图
图2电路原理图
2.2.2硬件焊接图
图3硬件焊接图
采用动态扫描法实现LED数码管显示。
共阴7段LED显示器显示原理:
引脚
数字显示
.P0.7
g
P0.6
f
P0.5
a
P0.4
b
P0.3
e
P0.2
d
P0.1
c
P0.0
h
数码显示
0
0
1
1
1
1
1
1
0
7EH
1
0
0
0
1
0
0
1
0
12H
2
1
0
1
1
1
1
0
0
0BCH
3
1
0
1
1
0
1
1
0
0B6H
4
1
1
0
1
0
0
1
0
0D2H
5
1
1
1
0
0
1
1
0
0E6H
6
1
1
1
0
1
1
1
0
0EEH
7
0
0
1
1
0
0
1
0
32H
8
1
1
1
1
1
1
1
0
0FEH
9
1
1
1
1
0
1
1
0
0F6H
该电路采用AT89C51单片机最小化应用,采用共阴7段LED数码管显示器,P3.2口引入脉冲信号,P2.0至p2.3口作为列扫描输出,P0口输出段码数据,采用12Mhz晶振,可提高计数的精确度。
10μf电容作用:
上电复位;
7407作用:
同相缓冲器,驱动数码管;
12M晶振和两个电容组成晶体振荡器。
2.2.3软件设计流程图
主程序流程图如图4所示,外部中断0服务程序流程图如5所示。
图4主程序流图
图5外中断0服务程序流程图
2.2.4程序清单
ORG0000H
AJMPMAIN
ORG0003H
AJMPSOLVE;外部中断低电平触发处理
ORG0033H
MAIN:
MOVSP,#60H
MOVTMOD,#09H;计数器T0工作在方式1,门控信号为1
MOVTL0,#00H;计数器TO清零
MOVIE,#81H;开放定时器中断和总中断和外部中断0
MOVTCON,#11H
MOVR5,#05H;T0当外部中断输入为高时计数,外部中断0为边沿触发方式,下降沿有效
LOOP:
ACALLBCD;十六位二进制转十进制
ACALLUBCD;压缩BCD码,转非压缩BCD码
LOOP1:
ACALLDISP;显示程序
ACALLPOST
DJNZR5,LOOP1
MOVR5,08H
AJMPLOOP;循环处理显示计数器T0采集得数
SOLVE:
MOV41H,TH0
MOV40H,TL0;将计数器T0中的数转移到40H,41H中
MOVTH0,#00H
MOVTL0,#00H;重新将定时器T0清零
RETI
BCD:
CLRA;将41H,42H中的数值转换成BCD码分别按高低存储在34H35H36H中
MOV38H,41H
MOV37H,40H
MOV34H,A
MOV35H,A
MOV36H,A
MOVR7,#10H
LOOP2:
CLRC
MOVA,37H
RLCA
MOV37H,A
MOVA,38H
RLCA
MOV38H,A
MOVA,36H
ADDCA,36H
DAA
MOV36H,A
MOVA,35H
ADDCA,35H
DAA
MOV35H,A
MOVA,34H
ADDCA,34H
DAA
MOV34H,A
DJNZR7,LOOP2
RET
UBCD:
MOVA,34H
CJNEA,#00H,CHOOSE;第5位数值是否为0,为0则按4位有效值处理,不为0按5位有效值处理
MOVR1,#35H;当有4位有效效值时,取后4位显示,小数点加在第1位
MOVR0,#36H
MOVA,#00H
XCHDA,@R0
MOV30H,A
MOVA,@R0
SWAPA
MOV31H,A
MOVA,#00H
XCHDA,@R1
MOV32H,A
MOVA,@R1
SWAPA
ADDA,#0AH;加小数点显示
MOV33H,A
RET
CHOOSE:
MOVR1,#34H;有5位有效值时取前4位显示,小数点加在第2位
MOVR0,#35H
MOVA,#00H
XCHDA,@R0
MOV31H,A
MOVA,@R0
SWAPA
ADDA,#0AH;加小数点显示
MOV32H,A
MOVA,#00H
XCHDA,@R1
MOV33H,A
MOVA,@R1
SWAPA
ANL36H,#0F0H
MOVA,36H
SWAPA
MOV30H,A
RET
DISP:
MOVDPTR,#TAB;显示第一位
MOVA,33H
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0F7H;位选信号一
MOVP2,A
ACALLPOST
MOVDPTR,#TAB;显示第二位
MOVA,32H
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0FBH;位选信号二
MOVP2,A
ACALLPOST
MOVDPTR,#TAB;显示第三位
MOVA,31H
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0FDH;位选信号三
MOVP2,A
ACALLPOST
MOVDPTR,#TAB;显示第四位
MOVA,30H
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0FEH;位选信号四
MOVP2,A
ACALLPOST
RET
POST:
MOVR7,#15H;延时程序
POST1:
MOVR6,#50H
DJNZR6,$
DJNZR7,POST1
RET
TAB:
DB6FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END
三.系统调试及结果分析
3.1硬件调试
硬件电路板中器件连接好后,先用万用表测试电路中有无虚焊短接之处,测试无误后,将板子通电,进行静态调试。
取好两跟短的导线,一根导线的其中一端接地,另一端接P2.3~P2.0口中的一个口,若数码管亮,再用另一根导线,其中异端接地,另一端与P0.0~P0.7依次接触,看数码管各段的亮灭情况,从而判断每个数码管各段的好坏及电路的是否正确。
3.2软件调试
在LCA51编译器下进行汇编程序的编写,以子程序为单位调试,一段一段的编译与访真,最后结合电路板,进行整机联调。
3.3结果分析
因为从设计程序分析,LED显示器动态到秒的频率约为几百赫兹,实际使用观察时完全没有闪烁,由于计时中断程序中加了中断延时误差处理,所以,实际设计时精度非常的高。
四.注意事项
1.焊接之前,应事先画好硬件原理图,细化到每一根接线,以及芯片内部的各个引脚,合理布局好元器件。
这样才能使硬件电路板布线美观。
焊接时要注意防止虚焊的产生,在两个较近的焊点之间要注意不要短接。
2.焊接时要注意焊接工艺,由于是通用板,质量不是太高,如果不注意,上面的小铜片很容易损坏,容易导致虚焊。
焊完后,要用万用表检测,以免出现虚焊漏焊,短接等现象。
检查无误后再通电检测。
焊接完一部分后,最好先观察一下该部分的波形是否正确,若有错误,可以方便修改。
3.板子及仿真机接电源时,要注意正负极,以免损坏板子或仿真机。
4.仿真机一旦与计算机进行连接之后,就不要经常再拔下,以确保正常通信。
5.编写程序时,要注意各指令的合理应用。
若程序过长,可以先编写子程序,再将其进行组合。
以免出现不必要的错误和困扰。
6.在插拔器件以及接线过程中,为避免仪器损坏应该在断电的前提下操作。
五.心得体会
通过几天的课程设计,我对单片机原理与应用技术等知识都有了一定的了解。
这次课程设计中,我们采用层次化的设计方法来实现了这个电路。
在程序编写结束后,我们还对该程序进行了调试,能按预期的效果进行脉宽测试功能,并设计了动态显示被测信号脉宽的硬件电路。
课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。
通过课程设计,能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这次的课程设计中,收获知识的同时,我们还收获了阅历,收获了成熟,在此过程中。
我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,而且大大加强了团队合作以及设计能力。
更重要的是,我们学会了一些学习的方法,而这是日后最实用的,真的是受益匪浅。
这次课程设计虽然结束了,相信以后我们会以更加积极的态度对待我们的学习、对待我们的生活。
我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解充分认识到自己的不足,我们才会更加珍惜拥有的,更加努力的去完善它。
今后在剩余不到一年的大学生活里,我会尽力充实自己,为日后走上工作岗位打下坚实的基础。
要面对千千万万的挑战,只有不断的学习、实践,再学习、再实践。
六.参考文献:
1.《单片机应用程序开发指南》尹勇等.科学出版社.2005
2.《单片机实验与实践教程》夏继强.北京航空航天大学出版社.2001
3.《单片微型机原理、应用与实验》张友德等.复旦大学出版社.2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 89 C51 单片机 脉冲宽度 测量 设计