基于单片机脉冲宽度的测量的设计.docx
基于单片机脉冲宽度的测量的设计 目录 序言 (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) 基于单片机脉冲宽度的测量设计 序言: 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入同时带动传统控制检测日新月益更新。单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理等。 本次课程设计目的主要是培养学生综合运用所学的知识,完成一个单片机应用系统设计。主要任务是通过解决一些实际问题,巩固和加深课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力。加深对单片机软件硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。 本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。 一设计内容与技术指标 1.1设计内容 利用单片机及6位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,以便下一个脉宽的测量。 图1 系统原理框图 2.2系统设计方案 2.2.1电路原理图 图2电路原理图2.2.2硬件焊接图 图3 硬件焊接图 采用动态扫描法实现LED数码管显示。 共阴7段LED显示器显示原理: 该电路采用AT89C51单片机最小化应用,采用共阴7段LED 数码管显示器,P3.2口引入脉冲信号,P2.0至p2.3口作为列扫描输出,P0口输出段码数据,采用12Mhz晶振,可提高计数的精确度。 10f电容作用:上电复位; 7407作用:同相缓冲器,驱动数码管; 12M晶振和两个电容组成晶体振荡器。 2.2.3软件设计流程图 主程序流程图如图4所示,外部中断0服务程序流程图如5所示。 图4主程序流图 图5 外中断0服务程序流程图 2.2.4程序清单 ADC EQU 35H CLOCK BIT P2.4 ;定义ADC0808时钟位ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 PWM BIT P3.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#02H ; MOV TH0,#20 MOV TL0,#00H MOV IE,#82H SETB TR0 W AIT: CLR ST SETB S T CLR ST ;启动AD转换 JNB EOC,$ ;等待转换结束 SETB O E MOV ADC,P1 ;读取AD转换结果 CLR OE SETB PWM ;PWM输出 MOV A,ADC LCALL DELAY CLR PWM MOV A,#255 SUBB A,ADC LCALL DELAY SJMP W AIT INT_T0: CPL CLOCK ;提供ADC0808时钟信号RETI DELAY: MOV R6,#1 D1: DJNZ R6,D1 DJNZ ACC,D1 RET END 3.2 软件调试 在LCA51编译器下进行汇编程序的编写,以子程序为单位调试,一段一段的编译与访真,最后结合电路板,进行整机联调。 3.3结果分析 因为从设计程序分析,LED显示器动态到秒的频率约为几百赫兹,实际使用观察时完全没有闪烁,由于计时中断程序中加了中断延时误差处理,所以,实际设计时精度非常的高。 四.注意事项 1.焊接之前,应事先画好硬件原理图,细化到每一根接线,以及芯片内部的各个引脚,合理布局好元器件。这样才能使硬件电路板布线美观。焊接时要注意防止虚焊的产生,在两个较近的焊点之间要注意不要短接。 2.焊接时要注意焊接工艺,由于是通用板,质量不是太高,如果不注意,上面的小铜片很容易损坏,容易导致虚焊。焊完后,要用万用表检测,以免出现虚焊漏焊,短接等现象。检查无误后再通电检 测。焊接完一部分后,最好先观察一下该部分的波形是否正确,若有错误,可以方便修改。 3.板子及仿真机接电源时,要注意正负极,以免损坏板子或仿真机。 4.仿真机一旦与计算机进行连接之后,就不要经常再拔下,以确保正常通信。 5.编写程序时,要注意各指令的合理应用。若程序过长,可以先编写子程序,再将其进行组合。以免出现不必要的错误和困扰。 6.在插拔器件以及接线过程中,为避免仪器损坏应该在断电的前提下操作。 五.心得体会 通过几天的课程设计,我对单片机原理与应用技术等知识都有了一定的了解。这次课程设计中,我们采用层次化的设计方法来实现了这个电路。在程序编写结束后,我们还对该程序进行了调试,能按预期的效果进行脉宽测试功能,并设计了动态显示被测信号脉宽的硬件电路。 课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计,能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这次的课程设计中,收获知识的同时,我们还收获了阅历,收获了成熟,在此过程中。我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独