单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc

上传人:laozhun 文档编号:3027725 上传时间:2023-03-09 格式:DOC 页数:17 大小:146KB
返回 下载 相关 举报
单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc_第1页
第1页 / 共17页
单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc_第2页
第2页 / 共17页
单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc_第3页
第3页 / 共17页
单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc_第4页
第4页 / 共17页
单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计报告基于89C51单片机脉冲宽度的测量设计.doc(17页珍藏版)》请在三一办公上搜索。

1、 单片机原理与应用 课程设计报告院 系: 电气信息工程学院 班 级: 08测控2班 学 号: 姓 名: 合 作 者: 指导教师: 2011年09月25日目录序言 2一 设计内容与技术指标 31.1设计内容 31.2技术指标 3二工作原理及设计方案2.1工作原理 42.2系统设计方案 42.2.1电路原理图 52.2.2硬件焊接图 52.2.3软件流程图 72.2.4程序清单 8三系统调试及结果分析 143.1硬件调试 143.2软件调试 143.3结果分析 14四. 注意事项 14五. 心得体会 15六参考文献16基于89C51单片机脉冲宽度的测量设计序言:近年来随着科技的飞速发展,单片机的应

2、用正在不断地走向深入同时带动传统控制检测日新月益更新。单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理等。本次课程设计目的主要是培养学生综合运用所学的知识,完成一个单片机应用系统设计。主要任务是通过解决一些实际问题,巩固和加深课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力。加深对单片机软件硬件知识的理解,获得初步的应用经验,为以后从事生产和科研

3、工作打下一定的基础。本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。一设计内容与技术指标1.1设计内容利用单片机及4位LED数码管做成四位脉宽显示 ,在一个脉宽期间对内部周期进行计数,得到的一个高电平脉冲内的计数值显示在四位数码管上,并达到相应的技术指标要求。 1.2技术指标(1) 输入脉冲幅度:0-5V(2) 脉宽测量范围:0.1-50ms (3) 测量精度:1%(4)

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 硬件焊接图采用动态扫描法实

5、现LED数码管显示。共阴7段LED显示器显示原理:引脚数字显示.P0.7gP0.6fP0.5aP0.4bP0.3eP0.2dP0.1cP0.0h数码显示0011111107EH10001001012H2101111000BCH3101101100B6H4110100100D2H5111001100E6H6111011100EEH70011001032H8111111100FEH9111101100F6H该电路采用AT89C51单片机最小化应用,采用共阴7段LED数码管显示器,P3.2口引入脉冲信号,P2.0至p2.3口作为列扫描输出,P0口输出段码数据,采用12Mhz晶振,可提高计数的精确度。

6、10f电容作用:上电复位;7407作用:同相缓冲器,驱动数码管;12M晶振和两个电容组成晶体振荡器。2.2.3软件设计流程图主程序流程图如图4所示,外部中断0服务程序流程图如5所示。初始化将测量值转换为十进制数拆为非压缩BCD数调用显示子程序 图4主程序流图 读取TH0、TL0中的计数值并存放在周期单元中 清零TH0、TL0计数器 返回图5 外中断0服务程序流程图2.2.4程序清单 ORG 0000H AJMP MAIN ORG 0003H AJMP SOLVE ;外部中断低电平触发处理 ORG 0033HMAIN:MOV SP,#60H MOV TMOD,#09H ;计数器T0工作在方式1,

7、门控信号为1 MOV TL0,#00H ;计数器TO清零 MOV IE,#81H ;开放定时器中断和总中断和外部中断0 MOV TCON,#11H MOV R5,#05H ;T0当外部中断输入为高时计数,外部中断0为边沿触发方式,下降沿有效LOOP:ACALL BCD ;十六位二进制转十进制 ACALL UBCD ;压缩BCD码,转非压缩BCD码LOOP1: ACALL DISP ;显示程序 ACALL POST DJNZ R5,LOOP1 MOV R5,08H AJMP LOOP ;循环处理显示计数器T0采集得数 SOLVE: MOV 41H,TH0 MOV 40H,TL0 ;将计数器T0中

8、的数转移到40H,41H中 MOV TH0,#00H MOV TL0,#00H;重新将定时器T0清零 RETIBCD: CLR A; 将41H,42H中的数值转换成BCD码分别按高低存储在34H35H36H中 MOV 38H,41H MOV 37H,40H MOV 34H,A MOV 35H,A MOV 36H,A MOV R7,#10HLOOP2: 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

9、 35H,A MOV A,34H ADDC A,34H DA A MOV 34H,A DJNZ R7,LOOP2 RET UBCD: MOV A,34H CJNE A,#00H,CHOOSE ;第5位数值是否为0,为0则按4位有效值处理,不为0按5位有效值处理 MOV R1,#35H ;当有4位有效效值时,取后4位显示,小数点加在第1位 MOV R0,#36H MOV A,#00H XCHD A,R0 MOV 30H,A MOV A,R0 SWAP A MOV 31H,A MOV A,#00H XCHD A,R1 MOV 32H,A MOV A,R1 SWAP A ADD A,#0AH ;加小

10、数点显示 MOV 33H,A RET CHOOSE:MOV R1,#34H ;有5位有效值时取前4位显示,小数点加在第2位 MOV R0,#35H MOV A,#00H XCHD A,R0 MOV 31H,A MOV A,R0 SWAP A ADD A,#0AH ;加小数点显示 MOV 32H,A MOV A,#00H XCHD A,R1 MOV 33H,A MOV A,R1 SWAP A ANL 36H,#0F0H MOV A,36H SWAP A MOV 30H,A RETDISP: MOV DPTR,#TAB ;显示第一位 MOV A,33H MOVC A,A+DPTR MOV P0,A

11、 MOV A,#0F7H ;位选信号一 MOV P2,A ACALL POST MOV DPTR,#TAB ;显示第二位 MOV A,32H MOVC A,A+DPTR MOV P0,A MOV A,#0FBH ;位选信号二 MOV P2,A ACALL POST MOV DPTR,#TAB ;显示第三位 MOV A,31H MOVC A,A+DPTR MOV P0,A MOV A,#0FDH ;位选信号三 MOV P2,A ACALL POST MOV DPTR,#TAB ;显示第四位 MOV A,30H MOVC A,A+DPTR MOV P0,A MOV A,#0FEH ;位选信号四 M

12、OV P2,A ACALL POST RET POST: MOV R7,#15H ;延时程序POST1: MOV R6,#50H DJNZ R6,$ DJNZ R7,POST1 RET TAB: DB 6FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH,07H, 7FH, 6FH DB 0BFH, 86H,0DBH,0CFH, 0E6H,0EDH,0FDH,87H,0FFH,0EFH END 三.系统调试及结果分析31 硬件调试硬件电路板中器件连接好后,先用万用表测试电路中有无虚焊短接之处,测试无误后,将板子通电,进行静态调试。取好两跟短的导线,一根导线的其中一端接地,另一端接

13、P2.3P2.0口中的一个口,若数码管亮,再用另一根导线,其中异端接地,另一端与P0.0P0.7依次接触,看数码管各段的亮灭情况,从而判断每个数码管各段的好坏及电路的是否正确。3.2 软件调试在LCA51编译器下进行汇编程序的编写,以子程序为单位调试,一段一段的编译与访真,最后结合电路板,进行整机联调。3.3结果分析因为从设计程序分析,LED显示器动态到秒的频率约为几百赫兹,实际使用观察时完全没有闪烁,由于计时中断程序中加了中断延时误差处理,所以,实际设计时精度非常的高。四. 注意事项 1.焊接之前,应事先画好硬件原理图,细化到每一根接线,以及芯片内部的各个引脚,合理布局好元器件。这样才能使硬

14、件电路板布线美观。焊接时要注意防止虚焊的产生,在两个较近的焊点之间要注意不要短接。 2.焊接时要注意焊接工艺,由于是通用板,质量不是太高,如果不注意,上面的小铜片很容易损坏,容易导致虚焊。焊完后,要用万用表检测,以免出现虚焊漏焊,短接等现象。检查无误后再通电检测。焊接完一部分后,最好先观察一下该部分的波形是否正确,若有错误,可以方便修改。 3.板子及仿真机接电源时,要注意正负极,以免损坏板子或仿真机。 4.仿真机一旦与计算机进行连接之后,就不要经常再拔下,以确保正常通信。 5.编写程序时,要注意各指令的合理应用。若程序过长,可以先编写子程序,再将其进行组合。以免出现不必要的错误和困扰。 6.在

15、插拔器件以及接线过程中,为避免仪器损坏应该在断电的前提下操作。五.心得体会通过几天的课程设计,我对单片机原理与应用技术等知识都有了一定的了解。这次课程设计中,我们采用层次化的设计方法来实现了这个电路。在程序编写结束后,我们还对该程序进行了调试,能按预期的效果进行脉宽测试功能,并设计了动态显示被测信号脉宽的硬件电路。课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计,能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这次的课程设计中,收获知识的同时,我们还收获了阅历,收获了成熟,在此过程中。我们通过查找资料,请教老师,以及不懈的努力,不

16、仅培养了独立思考、动手操作的能力,而且大大加强了团队合作以及设计能力。更重要的是,我们学会了一些学习的方法,而这是日后最实用的,真的是受益匪浅。这次课程设计虽然结束了,相信以后我们会以更加积极的态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解充分认识到自己的不足,我们才会更加珍惜拥有的,更加努力的去完善它。今后在剩余不到一年的大学生活里,我会尽力充实自己,为日后走上工作岗位打下坚实的基础。要面对千千万万的挑战,只有不断的学习、实践,再学习、再实践。六参考文献:1.单片机应用程序开发指南尹勇等科学出版社20052.单片机实验与实践教程夏继强北京航空航天大学出版社20013.单片微型机原理、应用与实验张友德等复旦大学出版社2006

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号