碧波液压网 欢迎你,游客。 登录 注册

定时器/计数器教学设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  在测量控制中,常常需要有实时时钟和计数,以实现定时(或延时)控制以及对外界事件进行计数。80C51内部的两个定时器/计数器都具有这两种功能,在设计和实现时用到了多个专用寄存器,需要对这些寄存器进行设置,在教学中学生不太容易理解,本文使用Proteus和Keil设计实现一个秒表解释定时器/计数器工作原理、工作方式,效果较好。

  1 Proteus和Keil简介

  Proteus是英国Labcenter electronics公司研发的EDA工具软件,是多种型号单片机系统的设计与仿真平台,能实现单片机与外设的电路系统、软件系统的设计与仿真,在仿真过程中,用户可以用鼠标单击开关、键盘、电位计、可调电阻等动态外设模型,使单片机系统根据输入信号做出相应的响应,并将响应处理结果实时地显示在LED、LCD等动态显示器件上,实现了实时交互式仿真。

  Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,是目前最流行开发MCS-51系列单片机的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil与Proteus连接成功后,可以在keil调试程序,单步、全速、设置断点、观察变量的值等,也可以在Proteus做硬件方面的模拟,如按按键、改变可调电阻的阻值等,这个时候keil都会有反应的。

  2 定时器 / 计数器工作原理

  80C51内部设有两个16位的可编程定时器/计数器,即定时器0(T0)和定时器1(T1),它们分别由两个8位专用寄存器组成,即T0由TH0和TL0构成,T1由TH1构成,每个寄存器可以单独访问,用于存放定时或计数器初值。定时器方式寄存器TMOD用于选定定时器的工作方式,TCON用于控制定时器的启动与停止,保存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。

3 计时秒表的设计实现

3.1 计数方式

3.1.1 计数方式1(没有使用中断)

(1)Protues电路设计如图1所示。

(2)源程序设计。

汇编语言

ORG 0

SJMP STAR

STAR:MOV TMOD,#05H

;设置T0为计数工作方式MOV TH0,#0

;设TH0和TL0的初值均为0

MOV TL0,#0

MOV P2,#0

MOV P1,#0

SETB TR0;启动T0

ST1:MOV P1,TL0

MOV P2,TH0

SJMP ST1

RETI

END

实验中,定时器/计数器0(T0)作计数用,被计数的外部输入脉冲信号(1kz)从单

片机的P3.4(T0)接入。单片机将对脉冲计数,并将寄存器TH0和TH1的值分别送四位数码管实时显示。教学中,可以通过改变计数的外部输入脉冲的频率改变计数快慢。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论