




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 单片机课程设计报告 学院名称: 专 业: 班 级: 姓 名: 学 号: 指导教师: 2009年 11 月脉冲宽度测量目录第一章 引言第二章 方案选择及总体设计2.1 硬件技术指标2.2 方案选择及工作原理2.3 系统实现功能第三章 控制系统的硬件设计3.1 系统模块构成3.2 系统工作原理图3.3 管脚说明第四章 软件设计及程序4.1 软件设计流程4.2 各子程序功能描述 4.2.1 定时器T0中断服务程序 4.2.2 显示子程序4.3 系统总程序第五章 系统制作与调试5.1 硬件调试 5.1.1 调试方法 5.1.2 出现问题及解决方法5.2 软件调试5.3 结果分析第六章 总结与体会 第一章 引言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。第二章 方案选择及工作原理2.1 硬件技术指标输入脉冲幅度:0-5V脉宽测量范围:0.1-50ms测量精度:1%显示方式:四位数字显示2.2 方案选择及工作原理将脉冲信号从P3.2脚引入。将T0设为定时器方式工作。并工作在门控方式。初值TH0、TL0设为零。在待测脉冲高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽。随后清零TH0和TL0,以便下一脉宽的测量。2.3 系统实现功能在电源正确接入的前提下,由RC震荡器产生信号从P3.2口输入,利用内部脉冲对外部信号进行计数。计数值经过二十转换后,判断高位是否为零,如果为零即显示低四位,如果不为零即显示高四位。通过数码管显示计数脉冲的个数,其个数即为脉冲宽度。第三章 控制系统的硬件设计3.1 系统模块构成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”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在编程和校验时接收高八位地址信号和控制信号。P3口也可作为89C51的一些特殊功能口,在本次课程设计中用到的P3口如下所示:P3.2 /INT0(外部中断0)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第四章 软件设计及程序4.1 软件设计流程 4.2 各子程序功能描述:4.2.1 定时器T0中断服务程序:通过对方式寄存器TMOD和控制寄存器TCON的编程来选择T0的工作方式。TMOD设为09H,表示门控方式为1,16位定时器。TCON的低四位为外部中断的触发方式控制位和外部中断请求标志,设为13H,门控位为1时,仅当TR0等于1且P3.2输入为高电平时T0才计数,TR0为0或P3.2输入低电平时都禁止计数,以此来判断输入脉冲高电平的开始和结束。4.2.2显示子程序: 时间显示子程序每次显示4个连续单元的十进制数。首先判断高位是否为0,为0调用低四位显示,不为0则显示高四位。显示时,先取出内存地址中的数据,然后从P2.4、P2.5、P2.6、P2.7口依次由低位到高位显示,在显示过程中通过延时程序控制四个数码管的显示时间长度,以达到可以清晰读出四位数。4.3 系统总程序ORG 0000H AJMP MAIN ORG 0003H AJMP JISHI MAIN: MOV SP,#60H ;设堆栈 MOV TMOD,#09H ;设置控制字方式 方式0 门控 MOV TH0,#00H ;定时器清零 MOV TL0,#00H SETB EA ;开总中断 SETB EX0 ;开T0中断 SETB TR0 SETB IT0 MAIN1:ACALL EX ;调用二进制转换为十进制子程序 ACALL NEX ;调用拆为非压缩BCD码数子程序 MOV 50H,#0FAH ;延时程序 MOV A,23H ;将R4中低位给累加器 CJNE A,#0H,MAIN3 ;比较累加器中数值和0,不等于0跳转 MAIN2:ACALL DISP ;调用显示子程序1 AJMP MAIN4 MAIN3:ACALL DISP2 ;调用显示子程序2 MAIN4:DJNZ 50H,MAIN2 ;循环250次 AJMP MAIN1 EX: MOV R2,30H ;将从信号源中读出的数据存入R2R3中 MOV R3,31H CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H LOOP: CLR C MOV A,R3 RLC A ;R3带进位左移一位 MOV R3,A MOV A,R2 RLC A MOV R2,A ;2*(R4R5R6)+C赋值给R4R5R6 MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOOP ;(R7)-1赋值给R7是否为零 RET NEX: MOV A,R6 ANL A,#0FH MOV 19H,A MOV A,R6 ;拆分为非压缩BCD码 SWAP A ;将R6中高低四位相互转换 ANL A,#0FH ;将高四位清零,保持低四位不变 MOV 20H,A MOV A,R5 ANL A,#0FH MOV 21H,A MOV A,R5 SWAP A ANL A,#0FH MOV 22H,A MOV A,R4 ANL A,#0FH MOV 23H,A RET DISP: MOV DPTR,#TAB ;查表程序 MOV A,19H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.4 ACALL YANCHI MOV A,20H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.5 ACALL YANCHI MOV A,21H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.6 ACALL YANCHI MOV A,22H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.7 ACALL YANCHI RET DISP2: MOV DPTR,#TAB MOV A,20H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.4 ACALL YANCHI MOV A,21H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.5 ACALL YANCHI MOV A,22H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A SETB P0.7 CLR P2.6 ACALL YANCHI MOV A,23H MOVC A,A+DPTR ORL P2,#0F0H MOV P0,A CLR P2.7 ACALL YANCHI RET YANCHI: MOV 51H,#50H TL: MOV 52H,#10H DJNZ 52H,$ DJNZ 51H,TL RET TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH JISHI:MOV 30H,TH0 MOV 31H,TL0 MOV TH0,#00H MOV TL0,#00H RETI END第五章 系统制作与调试5.1 硬件调试5.1.1 调试方法硬件调试是利用基本测试仪器(万用表、示波器等),检查系统硬件中存在的故障。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给系统加电,检测所有器件的电源端是否符合要求。(1)取稳压电源打开电源,检查电源的输出电压是否为5V,可通过观察电源的量程及指针的读数来判断或用万用表测量。(2)在确定输出电压正确的情况下,接好电路,用一根导线从地引出,接到P3.2口;再用另一根线从地引出分别接到P2.4、P2.5、P2.6、P2.7口,观察数码管的亮灭情况。5.1.2 出现问题及解决方法在观察信号发生器产生波形时发现所产生的波形并不是标准的方波。经过老师的讲解知道问题时处在波形整形步骤中,将信号源连接两个非门后再观察波形发现波形的垂直程度得到很好的改善。在观察过程中还发现本次课程设计中用来产生信号源的方案所实现的方波并不等宽。在测试数码显示器时,其中一个数码显示管特别暗,经检查得知该数码显示管的小数点位没有接上拉电阻,这样导致分流出现问题。接上电阻后该问题得到解决。5.2 软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。在LCA51编译器下进行程序编译,检查程序是否有语法错误。接好仿真机判断接口。以子程序为单位逐个进行仿真,最后结合硬件实时调试。将上述各编译好的子程序结合为总程序编译后加载到单片机芯片中进行仿真,结果并不是出现稳定的四位数字,闪的频率比较快,调整延时时间后问题解决。5.3 结果分析 通过数字示波器观测,输入信号的高电平的宽度为6.72ms,波形的峰峰值为4.08V。数码管显示脉宽为6.48 ms。输入脉冲幅度及脉宽测量范围都满足要求。测量精度=(6.72-6.48)/6.72=4.5%数码管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病房通风系统优化与空气净化方案
- 2025资产转让合同版
- 施工安全隐患排查治理方案
- 2025年安全生产季度工作总结标准范文(二篇)
- 2025年安全生产工作总结例文(六篇)
- 毕业设计致谢6篇
- 2025海口市合同范本版
- 高中历史人教版必修一第一单元第4课《明清君主专制的加强》公开课教学设计
- 毕业论文致谢范文6篇
- 2025年急性中毒诊断与处理应急预案设计模拟考卷答案及解析
- 福建省2025-2026学年福州市高三年级第一次质量检测物理
- 2025至2030中国竹纤维行业市场行业市场深度研究及发展前景投资可行性分析报告
- 豆芽成长记录课件
- 公路施工应急预案
- 2025汽车金融考试题及答案
- 2025年工业机器人操作员技能考核题库及参考答案解析
- 2024-2025学年北京市海淀区七年级下英语期末考试题(含答案和音频)
- 2025年本科院校基建处招聘笔试预测试题及答案
- 商业租赁纠纷常见法律问题实务分析
- 2025-2026学年青岛版(2017)小学科学五年级上册教学计划及进度表
- 市场监管局计量监管课件
评论
0/150
提交评论