MCS-51仿真调试 定时器计数器

关于实时在线仿真的几个概念

仿真:用一个队用户来说具有“透明性”和“可控性”的CPU(仿真器提供的CPU)代替用户目标系统的CPU。它对用户系统的控制过程与实际CPU完全一致,只是用户可通过开发系统控制仿真cpu的运行,并可控制程序运行的结果。

在线:当仿真CPU运行和控制的硬件环境就是用户样机的硬件环境时,称为在线仿真。

实时:仿真CPU运行的每一瞬时状态都可被开发系统保护记录下来,称为实时。

仿真方式:

本次实验采用系统机+试验仪器

用户设计产品,应该采用系统机+仿真器+用户板的方式。

lab2000实验仪是带有监控电路(属于简易的仿真器)的单片机扩展系统,可以方便的完成各种基本8031实验,实验仪上扩展的实验电路包括:

LED 6位数码管显示

4 * 4键盘电路

发光二极管电平显示电路

逻辑电平输出电路

单脉冲电路、连续脉冲发生电路

继电器输出电路

A/D转换电路、D/A转换电路

存储器电路和逻辑门电路等多个单元

仿真调试的基本步骤:

(1)进入wave调试环境

(2)设置仿真器

(3)建立新项目、编辑新文件

(4)编译

(5)执行并观察结果

定时器计数器

(1)定时/计数器的基本概念

两个16位定时/计数器

存放初值的SFR

T0: TH0、TL0

T1: TH1、TL1

其他相关的SFR:

TMOD(工作方式控制寄存器)

TCON(控制寄存器)

定时功能时,每个机器周期定时器加1

计数功能时,在外部相应输入脚(T0和T1)产生下降沿,计数器加1.

(2)定时/计数器的编程方法

(3)定时/计数器的编程举例

定时计数器的结构框图

中间是内部总线,通过内部总线连接了6个SFR。TH1和TL1构成了T1,存放的是T1定时计数器的初值。TH0和TL0构成了T0,存放的是T0定时计数器的初值。T1外连到了P3.5管脚上,对P3.5来的脉冲进行计数,T0是对P3.4来的脉冲进行计数。如果T1和T0是工作在定时器的工作状态下,就不理会T0和T1管脚的状态,而直接对内部总线的机器周期进行计数。

TCON和TMOD是定时计数器的控制寄存器,来控制T1和T0的运行。可以反映T1和T0的工作状态。

CPU:给T1和T0写初值。给TCON和TMOD下命令字,告诉它们如何工作。然后CPU开始查询它的标志位,是不是溢出,如果有溢出信号证明定时计数器工作到达了一定的时间。

定时器的控制字

工作方式控制寄存器TMOD(89H)

GATE C/T M1 M0 | GATE C/T M1 M0

注意:TMOD不能位寻址,只能是以一个字节八位整体写进去,不能某一位操作。

低4位是控制T0的工作,高4位是控制T1的工作。

控制寄存器TCON(88H)

--TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

可进行位寻址操作。其中低4位是跟中段有关的,在定时计数器中没有使用。定慧寺计数器中只使用了高4位,TF1和TR1管理定时计数器T1, TF0和TR0管理定时计数器T0.所以对于定时计时器的管理一共有12个控制位,管理每一个定时计数器只需要6个控制位。

复位后两个寄存器的状态均为00H。

TMOD:工作方式控制寄存器

GATE:门控位(D7控制T1,D3控制T0)

GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或INT1引脚出现的正脉冲的宽度。(INT0和INT1分别是51单片机外部的两个引脚p3.2和p3.3)门控位的主要作用就是测量脉冲宽度。

GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。

C/T位:计数器模式和定时器模式的选择位

C/T = 0,为定时器模式。内部计数器对晶振频率12分频后的脉冲计数(该脉冲的周期等于机器周期),每个周期计数值加

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值