定时器及中断(1秒基时

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十二定时器及中断(1秒基时)

一、实验目的

1.通过实验了解定时器的工作原理、编程方法。

2.通过实验了解定时器工作方式、定时与计数、单启动与双重启动的选择。

3.掌握通过一个定时器加入软件计数产生1S基时的方法。

4.通过实验了解多个中断源申请中断的处理方法。

二、实验内容及实验电路及步骤

1.产生1S延时的设计:(11.0592MHZ)

方案1:定时器0定时加软件计数。

1)采用定时器0,方式1,定时50MS中断。当1S 时间到后,使P1.0 闪亮。

一个机器周期为=(1/11.0592Mhz)*12us。

定时器0的定时初值=(65536-50000/(1/11.0592Mhz*12us))=(65536-46080)=19456=4C00H

软件计数:计数器采用R2,计数20 次。

实验电路如图4-4所示:用导线将A2区的P10与D1区的LED1相连。

图4-4 定时器0实验接线图

参考程序:

ORG 8000H

AJMP MAIN

ORG 800BH

AJMP T0S

MAIN: MOV SP,#60H

MOV TMOD,#01H

MOV TH0,#4CH

MOV TL0,#00H

MOV R2,#00H

MOV IE,#10000010B

SETB TR0

CLR P1.4

SJMP $

T0S: MOV TH0,#4CH

MOV TL0,#00H

INC R2

CJNE R2,#20,NEXT

CPL P1.4

MOV R2,#00H

NEXT:RETI

END

注:机器LED1 LED2 LED3 LED4损坏,因此用排线讲A2区的J61接口与D1区的J52接口相连,程序中P1.0改为P1.4(使LED5亮)

记录结果如下:(红色表示改变的数值)

实验结果:LED灯间隔1秒钟灯闪亮一次

结果参照视频01

2)采用定时器0,方式1,定时50MS,查询方式,当1S 时间到后,使P1.5闪亮。

用导线将A2区的P10与D1区的LED1相连。

参考程序:

ORG 8000H

AJMP MAIN

MAIN: MOV TMOD,#01H ;T/C0定时,方式1。

MOV TH0,#4CH ;T0 定时50MS。

MOV TL0,#00H

MOV R2,#00H ;软件计数器初值

SETB TR0

LOOP:JBC TF0,T0S

SJMP LOOP

T0S: MOV TH0,#4CH

MOV TL0,#00H

INC R2

CJNE R2,#20,NEXT ;1S使P1.5取反一次。

CPL P1.5

MOV R2,#00H

NEXT:SJMP LOOP

END

注:机器LED1 LED2 LED3 LED4损坏,因此用排线讲A2区的J61接口与D1区的J52接口相

连,程序中P1.0改为P1.5(使LED6亮)

记录结果如下:(红色表示改变的数值)

实验结果:LED灯间隔1秒钟灯闪亮一次

结果参照视频02

3)采用GATE=1时,利用信号/INT0与TR0双重启动T/C0,产生1S延时。

用导线将A2区的P10与D1区的LED1相连,用导线将A2区的INT0 与D1区的SW1相连,运行相面程序前先将SW1置在0位,程序运行后将SW1置在1位,观察LED1的闪亮情况,然后将SW1再置在0位,LED1将停止闪亮,再SW1置在1位,重复前述步骤,观察GATA与/INT0引脚信号的作用。

注意:调试前,SW1 一定处于0的位置。

参考程序:

ORG 8000H

AJMP MAIN

ORG 800BH

AJMP T0S

MAIN: MOV SP,#60H

MOV TMOD,#09H ;T/C0定时,方式1,GATE=1。

MOV TH0,#4CH ;T0 定时50MS,中断一次。

MOV TL0,#00H

MOV R2,#00H ;软件计数器初值

MOV IE,#10000010B

SETB TR0

CLR P1.0

SJMP $

T0S: MOV TH0,#4CH

MOV TL0,#00H

INC R2

CJNE R2,#20,NEXT ;1S使P1.0取反一次。

CPL P1.0

MOV R2,#00H

NEXT:RETI

END

实验结果:

1.当SW1置0时,现象如下:八个灯(实际上仅后四个灯)常亮,但是不闪烁

2.当SW1置1时,现象如下:八个灯(实际上仅后四个灯)闪烁

3.改变SW1的位置则继续按照上述规律变化

方案2:采用T/C0与T/C1级联加软件计数的方法。

1)电路图如图4-5所示。

2)接线方法:

⑴断开DP-51PROC实验仪的电源,按图3-5接线,

使用排线将A2区的J61接口与D1区的J52接口相连,

⑵使用导线把A2区的P3.0与A2区T1(P3.5)相连。

3)参考程序:

ORG 8000H

LJMP MAIN

相关文档
最新文档