基于51单片机的脉冲计数.docx
- 文档编号:23338228
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:11
- 大小:688.73KB
基于51单片机的脉冲计数.docx
《基于51单片机的脉冲计数.docx》由会员分享,可在线阅读,更多相关《基于51单片机的脉冲计数.docx(11页珍藏版)》请在冰豆网上搜索。
基于51单片机的脉冲计数
3.3功能图8
3.4硬件电路布线图9
一、课程设计任务
熟悉8031定时/计数器的计数功能,掌握初始化编程方法,掌握中断程序的调试方法,利用定时/计数器0对外部输入的脉冲进行计数,并送显示器显示。
二、课程设计分工安排
组长朱威主持共同分析系统结构和功能,并负责写出总体设计方案;
易瑞刚负责论述8031定时/计数器的主要功能,以及在设计系统中的具体编程语句和含义,同时负责购买电阻,分频器,并焊接电路板;
李孝捷负责论述8031定时/计数器的工作方式,以及在设计系统中的具体编程语句和含义;
张友清负责论述如何利用8031定时/计数功能实现脉冲计数,以及在设计系统中的具体编程语句和含义;
三、课程设计原理和方法
3.1定时器工作原理
3.1.1定时/计数器构成
AT89C51单片机有二个16位定时/计数器T0、T1,分别由4个8位计数器组成,均属SFR寄存器。
T0由TH0、TL0构成,字节地址为8CH、8AH;T1由TH1、TL1构成,字节地址为8DH、8BH。
MCS-51单片机定时/计数器的功能,归根结底是计数器。
定时功能对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加1。
计数功能对片外从T0(P3.4)、T1(P3.5)引脚输入的外部脉冲信号进行计数,下降沿计数加1。
3.1.2定时/计数器的控制寄存器
与定时/计数器有关的控制寄存器有3个:
定时器控制寄存器TCON(88H)
SFR寄存器TCON既参与定时控制又参与中断控制,有关定时控制的有4位,表示如图3-1-1:
图3-1-1
TF1/TF0:
当T1/T0的计数器计数溢出时,该位置“1”。
TR1/TR0:
T1/T0运行控制位。
软件将其置“1”时,启动T1/T0工作。
设定定时器工作方式寄存器TMOD(89H)
SFR寄存器TMOD用于2个定时器/计数器T1/T0的工作方式设定,各位的含义表示如图3-1-2:
图3-1-2
GATE:
门控位,定义T1/T0的启动方式
C/
:
定时/计数功能选择位。
为“0”,作定时器用;为“1”,作计数器用。
M1M0:
工作方式选择位。
00方式013位计数器
01方式116位计数器
10方式2初值自动重装8位计数器
11方式32个8位计数器,仅适用于T0
中断允许控制寄存器IE(A8H)
IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。
3.1.3定时器/计数器工作方式
工作方式0
M1M0=00——13位计数器由TH0的全部8位和TL0的低5位构成,如下图3-1-3。
当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,TF0置“1”。
作定时器:
TMOD=00000000=00H
作计数器:
TMOD=00000100=04H
图3-1-3
工作方式1
M1M0=01——16位计数器,方式1时的电路逻辑结构如图3-1-4所示作定时器,TMOD=01H;作计数器,TMOD=05H;
图3-1-4
工作方式2
M1M0=10——自动复位的8位计数器
以TL0作计数器,而TH0作为预置寄存器。
当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。
逻辑结构,如图3-1-5所示:
图
图图3-1-5
工作方3
M1M0=11——2个8位计数器(仅限于T0)
在T0方式3下,T0、T1的设置和使用是不同的。
(
)T0方式3:
TL0:
使用T0原有控制资源,功能与方式0、1相同。
TH0:
借用T1的TR1、TF1,只能对片内机器周期脉冲计数,作8位定时器。
T0方式3时的T0、T1电路逻辑结构,如图3-1-6所示:
图3-1-6
T0方式3时的T0初值计算完全同方式2
(
)T0方式3下的T1
T0方式3时,T1仍然可工作于方式0~方式2,如上页图所示。
C/
控制位仍可使T1工作在定时器或计数器方式,只是由于其TR1、TF1被T0的TH0占用,
因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。
T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。
注:
计数初值的计算按下面公式来计算:
其定时时间t为:
T=(2N-X)×12/fosc
其计数初值X为:
X=2N-T×fosc/12
其中N为计数器的位数,N=8,13,16;
fosc为振蒎器频率,fosc=12MHz
图3-1-7
3.2软件设计
3.2.1程序流程图
图3-1-8
3.2.2程序清单如下
ORG0000H
LJMPMAIN
ORG0003H
LJMPSEVER1
ORG0013H
LJMPSEVER2
ORG0030H
MAIN:
MOVTMOD,#05H
SETBEX0
SETBEX1
SETBIT0
SETBIT1
SETBEA
SETBTR0
MOVP0,#00H
MOVP1,#00H
SS:
JNBP3.5,STOP
AJMPSS
STOP:
CLPTR0
AJMPSS
ORG0100H
SEVER1:
NOP
NOP;延时
LCALLZHUAN
CJNEA,#99H,REL
MOVA,TL0
CJNEA,#99H,REL
MOVTL0,#0FFH
MOVTHO,#0FFH
REL:
RETI;中断返回
ORG0150H
SEVER2:
MOVTL0,#00H
MOVTH0,#00H
LCALLZHUAN
RETI;中断返回
ORG0200H
ZHUAN:
CLRC;清进位
MOVA,TL0
ADDA,#00H
DAA
MOVTL0,A
MOVP0,A
MOVA,TH0
ADDCA,#00H
DAA
MOVTH0,A
MOVP1,A
RET;返回
END;结束
3.3其实现的功能如图
图3-1-9
3.4其硬件电路布线图如下:
图3-1-10
四、小结
经过诸多的努力,我们克服了重重困难,实物最终做出来了,并且实现了所要求的
功能本系统是一个小系统,虽然比紧凑系统和大系统简单,却运用了许多单片机的最基础的知识,这些也是设计紧凑系统或大系统基础。
通过本次的课程设计,我们对单片机的系统结构、工作原理、编程方法及实际应用有了更深刻的理解和掌握,对系统的设计的方法与步骤有更清楚的认识。
在整个设计的过程中,我们也碰到了不少的困难,如硬件安装、新的软件的使用等等。
有些细节问题也会令我们搞的晕头转向,但最终都得以解决。
从挫折中我们体会到,良好的分工协作可以大大的提高工作效率;严谨的科学态度和良好的耐性是多么的重要!
五、参考文献
[1]张有德,赵志英,涂时亮,《单片微型机原理与实现》(第五版),上海:
复旦大学出版社,2006;
[2]郑初华等,《汇编语言、微机原理及接口技术》(第2版)北京:
电子工业出版社,2006;
[3]谭浩强,《c语言程序设计教程》(第二版),北京:
高等教育出版社,2006;
[4]邱关源,《电路》(第四版),北京:
高等教育出版社,1999
六、致谢
本次课程设计已经取得了圆满的成功。
首先我们要感谢的是精心指导我们的吴国辉吴老师。
吴老师精心策划了这个课设的题目,并提供了单片机开发不可缺少的开发板以及PC机,教给我们设计的方法、步骤,更耐心的帮助我们解决难题。
是在吴老师的指导下,我们的课程设计才能够顺利地完成。
同时也要感谢同班同学的大力帮助。
因为在整个设计的过程中,我们一直是融入班集体中,有很多的困难和问题是在同学们的认真指导和帮助下才得以克服的。
最后要感谢的是学校给我们提供了这么好的条件。
图书馆里丰富的资源就像是知识的海洋,使我们能够方便的查找资料,解决难题。
学校还开放了实验室,提供了优良的学习下环境。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 脉冲 计数