单片机脉冲周期的测量Word格式.docx
- 文档编号:22627904
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:15
- 大小:118.93KB
单片机脉冲周期的测量Word格式.docx
《单片机脉冲周期的测量Word格式.docx》由会员分享,可在线阅读,更多相关《单片机脉冲周期的测量Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
±
1%
显示方式:
四位数字显示
2.2方案选择及工作原理
将T0设为定时器方式工作,并工作在门控方式,初值TH0、TL0设为零。
在该方式时,TH0、TL0对内部脉冲计数(内部脉冲周期1us)。
将脉冲信号从P3.2脚引入,外中断0开放并设为边沿触发方式。
每来一个待测脉冲,外部中断一次。
在外部中断0的中断服务程序中,读取TH0、TL0的值并存放在内存的周期单元中,该值即为周期(单位us)。
随后将TH0、TL0清零,一边下一周期的测量。
2.3系统实现功能
利用施密特触发器将由RC震荡器产生的信号变换成同周期的矩形脉冲,并从单片机的P3.2口输入,利用内部脉冲对外部信号进行计数。
计数值经过二—十转换后,判断高位是否为零,如果为零即显示低四位,如果不为零即显示高四位。
计数器测量该周期内单片机内部机器周期的个数,经过处理并通过LED直接显示出所加信号的周期。
第三章控制系统的硬件设计
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”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在编程和校验时接收高八位地址信号和控制信号。
P3口也可作为89C51的一些特殊功能口,在本次课程设计中用到的P3口P3.2/INT0(外部中断0)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
第四章软件设计及程序
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个连续单元的十进制数。
首先判断高位是否为0,为0调用低四位显示,不为0则显示高四位。
显示时,先取出内存地址中的数据,然后从P2.4、P2.5、P2.6、P2.7口依次由低位到高位显示,在显示过程中通过延时程序控制四个数码管的显示时间长度,以达到可以清晰读出四位数。
4.3共阴7段LED显示器显示原理:
引脚数
显示数字
P0.7
b
P0.6
g
P0.5
f
P0.4
a
P0.3
e
P0.2
d
P0.1
c
P0.0
h
数码显示
1
3FH
06H
2
5BH
3
4FH
4
66H
5
6DH
6
7DH
7
07H
8
7FH
9
6FH
4.4系统总程序
U1EQU30H;
第一个数码管显示的数值
U2EQU31H;
第二个数码管显示的数值
U3EQU32H;
第三个数码管显示的数值
U4EQU33H;
第四个数码管显示的数值
ORG0000H
AJMPMAIN
ORG0003H
AJMPCHULI;
外部中断下降沿触发处理
MAIN:
MOVSP,#60H
MOVTMOD,#01H;
计数器T0工作在方式1
MOVTH0,#00H
MOVTL0,#00H;
计数器TO清零
MOVIE,#81H;
开放定时器中断开总中断外部中断0
SETBTR0
SETBIT0;
T0允许计数且当外部中断输入为下降沿时计数外部中断0为下降沿触发方式
LOOP:
MOVR5,#20
ACALLBCD;
十六位二进制转十进制
ACALLUBCD;
压缩BCD码,转非压缩BCD码
LOOP2:
ACALLDISP;
显示程序
ACALLDELAY
DJNZR5,LOOP2
AJMPLOOP;
循环处理显示计数器T0采集得数
CHULI:
MOV41H,TH0
MOV40H,TL0;
将计数器T0中的数转移到40H,41H中
MOVTH0,#00H
重新将定时器T0清零
TT:
RETI
BCD:
CLRA;
将41H40H中的数值转换成压缩BCD码十进制整数,分别按
高低存储在34H35H36H中
MOV38H,41H
MOV37H,40H
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
MOV35H,A
MOVA,34H
ADDCA,34H
DJNZR7,LOOP1
RET
**************************************************************UBCD:
MOVA,34H
CJNEA,#00H,QUSHU;
判断第五位数值是否为0为零则按四位有效值处理不为零按5位有效值处理
MOVR1,#35H;
当有4位有效效值时取后四位显示小数点加在第一位
MOVR0,#36H
MOVA,#00H
XCHDA,@R0
MOV30H,A
MOVA,@R0
SWAPA
MOV31H,A
XCHDA,@R1
MOV32H,A
MOVA,@R1
ADDA,#10;
加小数点显示
MOV33H,A
RET
QUSHU:
MOVR1,#34H;
当有5位有效值时取前四位显示小数点加在第二位
MOVR0,#35H
XCHDA,@R0
ANL36H,#0F0H
MOVA,36H
DISP:
MOVDPTR,#TAB;
显示千位
MOVA,U4
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0F7H;
位选信号第一个数码管
MOVP2,A
ACALLDELAY
显示百位
MOVA,U3
MOVP0,A
MOVA,#0FBH;
位选信号第二个数码管
显示十位
MOVA,U2
MOVCA,@A+DPTR
MOVA,#0FDH;
位选信号第三个数码管
显示个位
MOVA,U1
MOVA,#0FEH;
位选信号第四个数码管
RET
DELAY:
MOVR7,#25;
延时程序
DELAY1:
MOVR6,#40
DJNZR6,$
DJNZR7,DELAY1
TAB:
DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,07fh,6fh
DB0Bfh,86h,0DBh,0Cfh,0E6h,0Edh,0Fdh,87h,0FFh,0Efh
NOP
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编译器下进行程序编译,检查程序是否有语法错误。
接好仿真机判断接口。
以子程序为单位逐个进行仿真,最后结合硬件实时调试。
将上述各编译好的子程序结合为总程序编译后加载到单片机芯片中进行仿真,结果并不是出现稳定的四位数字,闪的频率比较快,调整延时时间后问题解决。
第六章总结与体会
本系统是以单片机89C51芯片为核心部件,通过89C51芯片内部软件计数来测量脉冲周期的功能。
此次在软件上是花费时间最多的,我们上网查找相关资料,到图书馆翻阅各种参考资料,尽可能的了解有关于脉冲周期测量这方面的知识。
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
虽然在整个实验的过程中遇到了不少的麻烦、难题,但是在老师的指导,同学的帮助,以及我跟搭档孙德超的不懈努力、协力合作下,最终我们顺利的完成了这个课题的设计。
通过这次的课程设计的锻炼,使我在单片机的基本原理、单片机应用系统结合过程,以及在常用编程设计思路技巧(特别是汇编语言C51语言)的掌握方面都能向前迈了一大步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 脉冲 周期 测量