脉冲宽度得测量.docx

上传人:b****5 文档编号:6642911 上传时间:2023-01-08 格式:DOCX 页数:10 大小:36.06KB
下载 相关 举报
脉冲宽度得测量.docx_第1页
第1页 / 共10页
脉冲宽度得测量.docx_第2页
第2页 / 共10页
脉冲宽度得测量.docx_第3页
第3页 / 共10页
脉冲宽度得测量.docx_第4页
第4页 / 共10页
脉冲宽度得测量.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

脉冲宽度得测量.docx

《脉冲宽度得测量.docx》由会员分享,可在线阅读,更多相关《脉冲宽度得测量.docx(10页珍藏版)》请在冰豆网上搜索。

脉冲宽度得测量.docx

脉冲宽度得测量

第一章引言

第二章选题

2、1选题范围

2、2选题要求

2、3方案选择

第三章硬件电路设计及描述

3、1、系统各模块

3、2、硬件装备图

3、3.器件参数

3、4管脚说明

3、5、硬件焊接

第四章软件设计流程及描述

4、1、软件设计流程图

4、2、系统总程序

4、3、系统总程序各模块

第五章调试与分析

5、1、硬件调试

5、2、软件调试

5、3、结果分析

第六章问题与解决方案

6、1、硬件部分

6、2、软件部分

第七章总结与体会

第一章引言

课程设计得目得与意义

本课程设计实在学完单片机原理及课程之后综合利用所学单片机只就是完成一个单片机应用系统设计并在实验室实现。

该课程设计得主要任务就是通过解决一、两个实际问题,巩固与加深“单片机原理与应用”课程中所学得理论知识与实验能力,基本掌握单片机应用电路得一般设计方法,提高电子电路得设计与实验能力,加深对单片机软硬知识得理解,获得初步得应用经验,为以后从事生产与科研工作打下一定得基础。

第二章选题

2、1选题范围

汇编语言程序编写、AEDK51HB单片机仿真机系统得使用,数码管显示、按键应用、定时器/计数器得应用、I/O口得应用、串行口应用及中断应用。

2、2选题要求

在现有得单片机仿真机系统上掌握相关软硬设计与调试知识,根据所选择参考选题钟要求设计,焊接好硬件电路,正确得进行元器件得测试与调试,并在计算机上编写汇编程序,调试运行、配合硬件电路进行系统调试,并实现参考选题中要求设计得要求;写出课程设计报告,掌握设计方案中所涉及得软硬件得相关原理。

2、3方案选择

脉冲宽度得测量

(1)硬件技术指标

输入脉冲幅度:

0-5V

脉宽测量范围:

0、1-50ms

测量精度:

1%

显示方式:

四位数字显示

(2)方案选择及工作原理

将脉冲信号从P3、2脚引入。

将T0设为定时器方式工作。

并工作在门控方式。

初值TH0、TL0设为零。

在待测脉冲高电平期间,T0对内部周期脉冲进行计数。

在待测脉冲高电平结束时,其下降沿向P3、2发中断,在外中断0得中断服务程序中,读取TH0、TL0得计数值,该值就就是待测脉冲得脉宽。

随后清零TH0与TL0,以便下一脉宽得测量。

(3)系统实现功能

在电源正确接入得前提下,由RC震荡器产生信号从P3、2口输入,利用内部脉冲对外部信号进行计数。

计数值经过二—十转换后,判断高位就是否为零,如果为零即显示低四位,如果不为零即显示高四位。

通过数码管显示计数脉冲得个数,其个数即为脉冲宽度。

第三章硬件电路设计及描述

1、系统各模块

信号产生电路、被测信号、单片机、显示

2、硬件装备图

3.器件参数

数码管4个,排阻,74LS07芯片,74LS00芯片,电阻510欧,电容uf,4、7uf,20pf,晶振,导线诺干。

4管脚说明

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:

来自反向振荡器得输出。

5、硬件焊接

先根据装备图进行各元件排版,然后根据元件得排放进行布线,尽量导线不要叠加。

然后把元器件焊在板子上,用导线全部焊接一起。

焊接完后,再仔细检查。

第四章软件设计流程及描述

1、软件设计流程图

2、系统总程序

ORG0000H

AJMPMAIN

ORG0003H

AJMPINTR_0;外部中断低电平触发处理

ORG0033H

MAIN:

MOVSP,#60H

MOVTMOD,#09H;计数器T0工作在方式1

MOVTH0,#00H;计数器TO清零

MOVTL0,#00H

MOV41H,#00

MOV40H,#00

MOVIE,#81H;开总中断外部中断0

SETBTR0;T0允许计数且当外部中断输入为高时计数外部中断0为边沿触发

SETBIT0

LOOP:

MOVR2,#30

LCALLBCD;二进制转十进制

LCALLUSBCD;压缩BCD码,转非压缩BCD码

SS1:

lCALLDISP

LCALLYANCHI

LCALLDISP

DJNZR2,SS1

AJMPLOOP;循环处理显示

INTR_0:

MOV41H,TH0

MOV40H,TL0;将计数器T0中得数转移到40H,41H中

MOVTH0,#00H

MOVTL0,#00H;重新将定时器T0清零

SS:

RETI

BCD:

MOV38H,41H

MOV37H,40H

CLRA;将41H42H中得数值转换成BCD码分别按高低存储在34H35H36H中

MOV34H,A

MOV35H,A

MOV36H,A

MOVR7,#16

LOOP1:

CLRC

MOVA,37H

RLCA

MOV37H,A

MOVA,38H

RLCA

MOV38H,A

MOVA,36H

ADDCA,36H

DAA

MOV36H,A

MOVA,35H

ADDCA,35H

DAA

MOV35H,A

MOVA,34H

ADDCA,34H

DAA

MOV34H,A

DJNZR7,LOOP1

RET

USBCD:

MOVA,34H

CJNEA,#00H,PD;判断第五位数值就是否为0为零则按四位有效值处理不为零按5位有效值处理

MOVR1,#35H;当有4位有效效值时取后四位显示小数点加在第一位

MOVR0,#36H;显示得就是以ms为为单位得

MOVA,#00H

XCHDA,R0;将36H中得低4位转换为非压缩BCD码存到30H

MOV30H,A

MOVA,R0

SWAPA

MOV31H,A

MOVA,#00H

XCHDA,R1

MOV32H,A

MOVA,R1

SWAPA

ADDA,#10;加小数点显示(如果显示us为单位可以不加小数点)

MOV33H,A

RET

PD:

MOVR1,#34H;当有5位有效值时取前四位显示小数点加在第二位

MOVR0,#35H

MOVA,#00H

XCHDA,R0

MOV31H,A

MOVA,R0

SWAPA

ADDA,#10;加小数点显示

MOV32H,A

MOVA,#00H

XCHDA,R1

MOV33H,A

MOVA,R1

SWAPA

ANL36H,#0F0H

MOVA,36H

SWAPA

MOV30H,A

RET

DISP:

MOVDPTR,#TAB;第一个数码管显示千位

MOVA,30H

MOVCA,A+DPTR

MOVP0,A

MOVA,#0EFH

MOVP2,A

LCALLYANCHI

MOVDPTR,#TAB;第二个数码管显示百位

MOVA,31H

MOVCA,A+DPTR

MOVP0,A

MOVA,#0DFH

MOVP2,A

LCALLYANCHI

MOVDPTR,#TAB;第三个数码管显示十位

MOVA,32H

MOVCA,A+DPTR

MOVP0,A

MOVA,#0BFH

MOVP2,A

LCALLYANCHI

MOVDPTR,#TAB;第四个数码管显示个位

MOVA,33H

MOVCA,A+DPTR

MOVP0,A

MOVA,#07FH

MOVP2,A

LCALLYANCHI

RET

YANCHI:

MOVR7,#08H;延时程序

TL:

MOVR6,#80H

DJNZR6,$

DJNZR7,TL

RET

TAB:

DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

DB0Bfh,86h,0DBh,0Cfh,0E6h,0Edh,0Fdh,87h,0FFh,0Efh

NOP

END

3、系统总程序各模块

总程序、计数器清零、开关中断、外部中断程序、二进制转十进制、五位判断小数点位置以及显示子程序。

第五章调试与分析

1、硬件调试

硬件做好后,1、、先目测,瞧就是否有地方虚焊,漏焊得。

然后用万用表测就是否有短路断路得地方。

2、排除以上错误后,接上电源,将数码管共阴极分别于电源负极相连,瞧数码管亮不亮。

3、将数码管每个引脚分别测试,瞧就是否有哪个引脚漏焊虚焊得地方,或者短路断路。

4、将接74LS04芯片得3、2引脚接上示波器,瞧波形就是否就是个完整得方波,并且记录方波上升沿得宽度。

2、软件调试

1、启动电脑程序,测试端口与仿真机就是否正确连接。

2、打开电源,将板子与仿真机相连接,并且清零。

3、将程序编译,没有错误时将程序写到仿真中测试。

3、结果分析

用示波器测量脉冲宽度,在示波器上显示波形,取方波得上升沿,读取数据,方波得高低平宽度为3、6ms,数码管显示得就是3、563ms

测量精度为(3、6-3、563)/3、6=1、03%,满足要求。

数码管显示时数字在不断得跳动,可能原因就是输入信号不稳。

第六章问题与解决方案

1、硬件部分

(1)在排版方面,由于线比较多,而且某些节点上要连2到3根导线,造成了导线交叉。

后来引出了一根长线,把这麻烦解决了。

(2)在数码管显示部分,d,e,f一起亮一起暗,经检查,就是这三根线短路了,将导线重新焊接后问题解决了。

(3)硬件与示波器连接后,出来得方波不就是很完整,将74LS00中得与非门全部用上滤波,最后出来得波形很完整。

2、软件部分

(1)开始写得程序很乱,老师建议我们用调用子程序得方法,一步一步分开来写。

发现这方法很有用。

(2)在编写软件时经常会漏掉一些简单得口令,在编译时出现错误,才更正过来。

(3)软件编写完后,数码管显示得数字一闪一闪很不稳定,经过分析,就是延时程序没有编写正确,后来修改了延时时间,数码管正确得显示了。

第七章总结与体会

我做得就是基于51单片机得脉冲宽度测量。

在接到这个题目之后,我上网以及其图书馆查阅了资料,对于单片机技术与脉冲宽度测量有了全方面得了解。

然后在过程中遇到了问题,将实际情况与课本上得知识紧密联系起来,认真思考,热烈讨论,细心沟通,最终将问题解决。

通过这次单片机课程设计,我对于单片机这门技术有了更好得掌握,锻炼了我得学习知识,运用学到得知识解决实际问题得能力。

只有通过实践,才能巩固自己得基础,提高自己得能力,精通自己得技术。

总之,我在这次课程设计中受益匪浅,感谢老师给我得帮助。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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