实验2、定时器计数器编程

时间:2025-07-12

定时器计数器编程

实验二、定时器/计数器编程

一、实验目的

1、掌握定时器的基本编程方法。

2、掌握计数器的基本编程方法。

二、实验内容

设计单片机程序,用T0作定时器产生周期为1秒的方波在P3.7输出,分别用示波器和发光二极管显示该信号,用T1作计数器对该脉冲进行计数并在数码管上显示。

三、实验原理

电路原理图如下,所需元件为:AT89C52、7SEG-BCD、

LED-YELLOW

当晶振为12M时机器周期为1微秒,要实现500毫秒的定时,需要500000个机器周期,对于51单片机内部定时器来说,最大只能定时65536个机器周期,

定时器计数器编程

能定时65.535毫秒,不能满足要求,为此必须借助软件循环进行扩展,当中断定时为50毫秒时,扩展10倍可得到500毫秒的定时。当到达500毫秒时,由P3.7取反输出一个脉冲信号。

选择定时器T0的工作方式为模式1,定时50ms(每50ms中断一次),设初值为X,根据下面公式,可求得X的值。

(216 X) 12

12 106 50 10 3

让T1工作于计数器模式。将P3.7与P3.5相连,就可以将P3.7输出的脉冲通过P3.5输入送T1计数,T1的计数值读出读出后送到P1在数码管上显示。 有关定时计数器的特殊功能寄存器,请参考课本。

四、实验预习

1、学习有关定时器和计数器的知识。

2、提前编写程序,写出预习报告。

五、实验报告

1、总结出实验的详细步骤。

2、写出调试正确的程序及框图。

六、参考程序:

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP IINT0

ORG 0030H

MAIN: MOV R6,#10

SETB P3.7

SETB P3.0

定时器计数器编程

MOV TMOD,#61H

MOV TL0,#LOW(-5000) MOV TH0,#HIGH(-50000) MOV IE,#82H

SETB TR0

MOV TL1,#0

MOV TH1,#0

SETB TR1

LOOP0:MOV A,TL1

MOV P1,A

SJMP LOOP0

IINT0: PUSH ACC

PUSH PSW

MOV TL0,#LOW(-5000) MOV TH0,#HIGH(-50000) DJNZ R6,LOOP3 CPL P3.7

CPL P3.0

MOV R6,#10

LOOP3: POP PSW

POP ACC

RETI

END

实验2、定时器计数器编程.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219