单片机课程设计脉冲宽度测量_第1页
单片机课程设计脉冲宽度测量_第2页
单片机课程设计脉冲宽度测量_第3页
单片机课程设计脉冲宽度测量_第4页
单片机课程设计脉冲宽度测量_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、不得用于商业用途不得用于商业用途JIANGSUTEACHERSUNIVERSITYOTFECHNOLOGY单片机课程设计报告学院名称:专业:班级:姓名:学号:指导教师:2009年11月仅供个人参考脉冲宽度测量目录第一章引言第二章方案选择及总体设计硬件技术指标方案选择及工作原理系统实现功能第三章控制系统的硬件设计系统模块构成系统工作原理图管脚说明第四章软件设计及程序软件设计流程各子程序功能描述4.2.1定时器TO中断服务程序显示子程序系统总程序第五章系统制作与调试硬件调试5.1.1调试方法出现问题及解决方法软件调试结果分析第六章总结与体会第一章引言近年来随着科技的飞速发展,单片机的应用正在不断地

2、走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。第二章方案选择及工作原理硬件技术指标输入脉冲幅度:0-5V脉宽测量范围:0.1-50ms测量精度:1%显示方式:

3、四位数字显示方案选择及工作原理将脉冲信号从P3.2脚引入。将T0设为定时器方式工作。并工作在门控方式。初值TH0、TL0设为零。在待测脉冲高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外中断0的中断服务程序中,读取THO、TL0的计数值,该值就是待测脉冲的脉宽。随后清零THO和TLO,以便下一脉宽的测量。2.3系统实现功能在电源正确接入的前提下,由RC震荡器产生信号从P3.2口输入,利用内部脉冲对外部信号进行计数。计数值经过二十转换后,判断高位是否为零,如果为零即显示低四位,如果不为零即显示高四位。通过数码管显示计数脉冲的个数,其个数即为脉冲宽度。

4、第三章控制系统的硬件设计3.1系统模块构成仅供个人参考仅供个人参考3.2系统工作原理图管脚说明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口的管脚被外部拉低,将输出电流

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

6、L2:来自反向振荡器的输出。第四章软件设计及程序4.1软件设计流程4.2各子程序功能描述:4.2.1定时器T0中断服务程序:通过对方式寄存器TMOD和控制寄存器TCON的编程来选择T0的工作方式。TMOD设为09H,表示门控方式为1,16位定时器。TCON的低四位为外部中断的触发方式控制位和外部中断请求标志,设为13H,门控位为1时,仅当TRO等于1且P3.2输入为高电平时TO才计数,TR0为0或P3.2输入低电平时都禁止计数,以此来判断输入脉冲高电平的开始和结束。时间显示子程序每次显示4个连续单元的十进制数。首先判断高位是否为0,为0调用低四位显示,不为0则显示高四位。显示时,先取出内存地址

7、中的数据,然后从P2.4、P2.5、P2.6、P2.7口依次由低位到高位显示,在显示过程中通过延时程序控制四个数码管的显示时间长度,以达到可以清晰读出四位数。;调用二进制转换为十进制子程序;调用拆为非压缩BCD码数子程序;延时程序;将R4中低位给累加器;比较累加器中数值和0,不等于0跳转;调用显示子程序1;调用显示子程序24.3系统总程序ORG0000HAJMPMAINORG0003HAJMPJISHIMAIN:MOVSP,#60HMOVTMOD,#09HMOVTH0,#00HMOVTL0,#00HSETBEASETBEX0SETBTR0SETBIT0MAIN1:ACALLEXACALLNEX

8、MOV50H,#0FAHMOVA,23HCJNEA,#0H,MAIN3MAIN2:ACALLDISPAJMPMAIN4MAIN3:ACALLDISP2;设堆栈;设置控制字方式方式0门控;定时器清零;开总中断;开T0中断MAIN4:DJNZ50H,MAIN2AJMPMAIN1EX:MOVR2,30HMOVR3,31HCLRAMOVR4,AMOVR5,AMOVR6,AMOVR7,#10HLOOP:CLRCMOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R6ADDCA,R6DAAMOVR6,AMOVA,R5ADDCA,R5DAAMOVR5,AMOVA,R4ADDCA

9、,R4DAAMOVR4,ADJNZR7,LOOP;循环250次;将从信号源中读出的数据存入R2R3中;R3带进位左移一位;2*(R4R5R6)+C赋值给R4R5R6;(R7)-1赋值给R7是否为零RETNEX:MOVA,R6ANLA,#0FHMOV19H,A;拆分为非压缩BCD码;将R6中高低四位相互转换;将高四位清零,保持低四位不变MOVA,R6SWAPAANLA,#0FHMOV20H,AMOVA,R5ANLA,#0FHMOV21H,AMOVA,R5SWAPAANLA,#0FHMOV22H,AMOVA,R4ANLA,#0FHMOV23H,A;查表程序RETDISP:MOVDPTR,#TABM

10、OVA,19HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.4ACALLYANCHIMOVA,20HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.5ACALLYANCHIMOVA,21HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.6ACALLYANCHIMOVA,22HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.7ACALLYANCHIRETDISP2:MOVDPTR,#TABMOVA,20HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.4ACALLYANCHI

11、MOVA,21HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.5ACALLYANCHIMOVA,22HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ASETBP0.7CLRP2.6ACALLYANCHIMOVA,23HMOVCA,A+DPTRORLP2,#0F0HMOVP0,ACLRP2.7ACALLYANCHIRETYANCHI:MOV51H,#50HTL:MOV52H,#10HDJNZ52H,$DJNZ51H,TLRET仅供个人参考仅供个人参考TAB:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHJISHI:MOV

12、30H,TH0MOV31H,TL0MOVTH0,#00HMOVTL0,#00HRETIEND第五章系统制作与调试5.1硬件调试5.1.1调试方法硬件调试是利用基本测试仪器(万用表、示波器等),检查系统硬件中存在的故障。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给系统加电,检测所有器件的电源端是否符合要求。(1)取稳压电源打开电源,检查电源的输出电压是否为5V,可通过观察电源的量程及指针的读数来判断或用万用表测量。(2)在确定输出电压正确的情况下,接好电路,用一根导线

13、从地引出,接到P3.2口;再用另一根线从地引出分别接到P2.4、P2.5、P2.6、P2.7口,观察数码管的亮灭情况。5.1.2出现问题及解决方法在观察信号发生器产生波形时发现所产生的波形并不是标准的方波。经过老师的讲解知道问题时处在波形整形步骤中,将信号源连接两个非门后再观察波形发现波形的垂直程度得到很好的改善。在观察过程中还发现本次课程设计中用来产生信号源的方案所实现的方波并不等宽。在测试数码显示器时,其中一个数码显示管特别暗,经检查得知该数码显示管的小数不得用于商业用途仅供个人参考仅供个人参考不得用于商业用途不得用于商业用途点位没有接上拉电阻,这样导致分流出现问题。接上电阻后该问题得到解

14、决。5.2软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。在LCA51编译器下进行程序编译,检查程序是否有语法错误。接好仿真机判断接口。以子程序为单位逐个进行仿真,最后结合硬件实时调试。将上述各编译好的子程序结合为总程序编译后加载到单片机芯片中进行仿真,结果并不是出现稳定的四位数字,闪的频率比较快,调整延时时间后问题解决。5.3结果分析通过数字示波器观测,输入信号的高电平的宽度为6.72ms,波形的峰一峰值为4.08V。数码管显示脉宽为6.48ms。输入脉冲幅度及脉宽测量范围都满足要求。测量精度=(6.72-6.48)/6.72=4.5

15、%数码管显示时数字在不断的跳动,可能原因是输入信号不稳。第六章总结与体会本系统是以单片机89C51芯片为核心部件,通过89C51芯片内部软件计数来测量脉冲宽度的功能。此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于脉冲宽度测量这方面的知识。通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统结合过程,以及在常用编程设计思路技巧(特别是汇编语言C51语言)的掌握方面都能向前迈了一大步。仅供个人用于学习、研究;不得用于商业用途。Forpersonaluseonlyinstudyandresearch;notforcommercialuse.NurfurdenpersdnlichenfurS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论