ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:118.93KB ,
资源ID:9491869      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9491869.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机脉冲周期的测量.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机脉冲周期的测量.docx

1、单片机脉冲周期的测量 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 单片机原理与应用课程设计脉冲周期的测量 学院名称: 电气信息工程学院 专 业: 单片机原理与应用 班 级: 07测控 姓 名: 学 号: 指导教师: 2010年9月第一章 引言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。而本文适应这一发展趋势,把51系列单片机应用于对脉冲周期

2、的测量。并通过LED显示器自动显示出来,这对于周期的测量带来了极大的方便。本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。 第二章 方案选择及工作原理2.1 硬件技术指标输入脉冲幅度:0-5V周期测量范围:0.1-50ms测量精度:1%显示方式:四位数字显示2.2 方案选择及工作原理将T0设为定时器方式工作,并工作在门控方式,初值TH0、TL0设为零。在该方式时,TH0、

3、TL0对内部脉冲计数(内部脉冲周期1us)。将脉冲信号从P3.2脚引入,外中断0开放并设为边沿触发方式。每来一个待测脉冲,外部中断一次。在外部中断0的中断服务程序中,读取TH0、TL0的值并存放在内存的周期单元中,该值即为周期(单位us)。随后将TH0、TL0清零,一边下一周期的测量。2.3 系统实现功能利用施密特触发器将由RC震荡器产生的信号变换成同周期的矩形脉冲,并从单片机的P3.2口输入,利用内部脉冲对外部信号进行计数。计数值经过二十转换后,判断高位是否为零,如果为零即显示低四位,如果不为零即显示高四位。计数器测量该周期内单片机内部机器周期的个数,经过处理并通过LED直接显示出所加信号的

4、周期。第三章 控制系统的硬件设计3.1 系统模块构成信号源7407列驱动4位数码管显示89C51单片机控制器复位电路3.2 系统工作原理图3.3 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在编程时,P0 口作为原码输入口,当进行校验时,P0输出原码,此时P0外部必须被拉高。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且

5、作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在编程和校验时接收高八位地址信号和控制信号。P3口也可作为89C51的一些特殊功能口,在本次课程设计中用到的P3口P3.2 /INT0(外部中断0)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器

6、的输出。第四章 软件设计及程序4.1 软件设计流程 图4.1 主程序流图 图4.2 外中断0服务程序流程图 4.2 各子程序功能描述:4.2.1 定时器T0中断服务程序:通过对方式寄存器TMOD和控制寄存器TCON的编程来选择T1的工作方式。TMOD设为01H,表示计数器T0工作在方式1,16位定时器。TCON的低四位为外部中断的触发方式控制位和外部中断请求标志,设为13H,门控位为1时,仅当TR0等于1且P3.2输入为下降沿时计数,TR0为0或P3.2输入低电平时都禁止计数,以此来判断输入脉冲周期的开始和结束。4.2.2显示子程序: 时间显示子程序每次显示4个连续单元的十进制数。首先判断高位

7、是否为0,为0调用低四位显示,不为0则显示高四位。显示时,先取出内存地址中的数据,然后从P2.4、P2.5、P2.6、P2.7口依次由低位到高位显示,在显示过程中通过延时程序控制四个数码管的显示时间长度,以达到可以清晰读出四位数。4.3共阴7段LED显示器显示原理: 引脚数显示数字P0.7bP0.6gP0.5fP0.4aP0.3eP0.2dP0.1cP0.0h数码显 示0001111113FH10000011006H2010110115BH3001011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH901101

8、1116FH4.4 系统总程序U1 EQU 30H ;第一个数码管显示的数值U2 EQU 31H ;第二个数码管显示的数值U3 EQU 32H ;第三个数码管显示的数值U4 EQU 33H ;第四个数码管显示的数值 ORG 0000H AJMP MAIN ORG 0003H AJMP CHULI ;外部中断下降沿触发处理MAIN: MOV SP,#60H MOV TMOD,#01H ;计数器T0工作在方式1 MOV TH0,#00H MOV TL0,#00H ;计数器TO清零 MOV IE,#81H ;开放定时器中断 开总中断 外部中断0 SETB TR0 SETB IT0 ;T0允许计数且当

9、外部中断输入为下降沿时计数 外部中断0为下降沿触发方式 LOOP: MOV R5,#20 ACALL BCD ;十六位二进制转十进制 ACALL UBCD ;压缩BCD码,转非压缩BCD码LOOP2: ACALL DISP ;显示程序 ACALL DELAY DJNZ R5,LOOP2 AJMP LOOP ;循环处理显示计数器T0采集得数CHULI:MOV 41H,TH0 MOV 40H,TL0 ;将计数器T0中的数转移到40H,41H中 MOV TH0,#00H MOV TL0,#00H ;重新将定时器T0清零TT: RETIBCD:CLR A ;将41H 40H中的数值转换成压缩BCD码十

10、进制整数, 分别按高低存储在34H35H 36H中 MOV 38H,41H MOV 37H,40H MOV 34H,A MOV 35H,A MOV 36H,A MOV R7,#16LOOP1: 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,LOOP1 RET* UBCD: MOV A,34H CJ

11、NE A,#00H,QUSHU ;判断第五位数值是否为0 为零则按四位有效值处理 不为零按5位有效值处理 MOV R1,#35H ;当有4位有效效值时 取后四位显示 小数点加在第一位 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,#10 ;加小数点显示 MOV 33H,A RETQUSHU:MOV R1,#34H ;当有5位有效值时取前四位显示 小数点加在第二位 MOV R0,#35H MOV A,

12、#00H XCHD A,R0 MOV 31H,A MOV A,R0 SWAP A ADD A,#10 ;加小数点显示 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 RET DISP: MOV DPTR,#TAB ;显示千位 MOV A,U4 MOVC A,A+DPTR MOV P0,A MOV A,#0F7H ;位选信号 第一个数码管 MOV P2,A ACALL DELAY MOV DPTR,#TAB ;显示百位 MOV A,U3 MOVC A

13、,A+DPTR MOV P0,A MOV A,#0FBH ;位选信号 第二个数码管 MOV P2,A ACALL DELAY MOV DPTR,#TAB ;显示十位 MOV A,U2 MOVC A,A+DPTR MOV P0,A MOV A,#0FDH ;位选信号 第三个数码管 MOV P2,A ACALL DELAY MOV DPTR,#TAB ;显示个位 MOV A,U1 MOVC A,A+DPTR MOV P0,A MOV A,#0FEH ;位选信号 第四个数码管 MOV P2,A ACALL DELAY RET DELAY: MOV R7,#25 ;延时程序DELAY1: MOV R6

14、,#40 DJNZ R6,$ DJNZ R7,DELAY1 RET TAB: DB 3fh, 06h, 5bh ,4fh , 66h ,6dh ,7dh, 07h, 07fh ,6fh DB 0Bfh,86h,0DBh ,0Cfh, 0E6h,0Edh ,0Fdh ,87h ,0FFh ,0Efh NOP END第五章 系统制作与调试5.1 硬件调试5.1.1 调试方法硬件调试是利用基本测试仪器(万用表、示波器等),检查系统硬件中存在的故障。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

15、第三步:加电检测。给系统加电,检测所有器件的电源端是否符合要求。(1)取稳压电源打开电源,检查电源的输出电压是否为5V,可通过观察电源的量程及指针的读数来判断或用万用表测量。(2)在确定输出电压正确的情况下,接好电路,用一根导线从地引出,接到P3.2口;再用另一根线从地引出分别接到P2.4、P2.5、P2.6、P2.7口,观察数码管的亮灭情况。5.1.2 出现问题及解决方法在观察信号发生器产生波形时发现所产生的波形并不是标准的方波。经过老师的讲解知道问题时处在波形整形步骤中,将信号源连接两个非门后再观察波形发现波形的垂直程度得到很好的改善。在测试数码显示器时,其中一个数码显示管特别暗,经检查得

16、知该数码显示管的小数点位没有接上拉电阻,这样导致分流出现问题。接上电阻后该问题得到解决。5.2 软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。在LCA51编译器下进行程序编译,检查程序是否有语法错误。接好仿真机判断接口。以子程序为单位逐个进行仿真,最后结合硬件实时调试。将上述各编译好的子程序结合为总程序编译后加载到单片机芯片中进行仿真,结果并不是出现稳定的四位数字,闪的频率比较快,调整延时时间后问题解决。第六章 总结与体会本系统是以单片机89C51芯片为核心部件,通过89C51芯片内部软件计数来测量脉冲周期的功能。此次在软件上是花费时间最多的,我们上网查找相关资料,到图书馆翻阅各种参考资料,尽可能的了解有关于脉冲周期测量这方面的知识。通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。虽然在整个实验的过程中遇到了不少的麻烦、难题,但是在老师的指导,同学的帮助,以及我跟搭档孙德超的不懈努力、协力合作下,最终我们顺利的完成了这个课题的设计。通过这次的课程设计的锻炼,使我在单片机的基本原理、单片机应用系统结合过程,以及在常用编程设计思路技巧(特别是汇编语言C51语言)的掌握方面都能向前迈了一大步。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1