定时器中断实验报告

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

实验三运用定时中断方法控制P1口亮灯实验报告一、实验目的
1学习内部定时/计数器的使用
2学习定时中断处理程序的编程方法
二、实验预备知识
1.P1口是准双向口,可以定义为输入,也可以定义为输出
2.本实验中延时子程序采用指令循环来实现。

3.延时时间的计算:
延时时间=机器周期×指令所需机器周期数×循环次数
其中循环次数可以采用多重循环来实现
三、实验内容
程序如下:
一、外部中断选择边沿触发方式控制灯的状态
ORG 00H
LJMP MAIN
ORG 03H
LJMP INTERRUPT
ORG 30H
MAIN: SETB EX0
SETB IT0
SETB EA
MOV A,#00H
MOV P1,A
SJMP $
INTERRUPT: INC A
MOV P1,A
RETI
二、用定时器定时方式控制灯的状态 ORG 0000H
LJMP MAIN
ORG 000BH
LJMP DISPLAY
ORG 0030H
MAIN:
MOV IE,#82H
MOV TMOD,#01H
MOV P1,#01H
MOV TH0,#9EH
MOV TL0,#58H
MOV R7,#10
SETB TR0
SJMP$
DISPLAY:MOV TH0,#9EH
MOV TL0,#58H
DJNZ R7,LOOP
MOV A,P1
RL A
MOV P1,A
MOV R7,#10
LOOP:RETI
三、实验心得及体会
对于中断的设置用到P3口的第二功能,第一个实验中,我所设置的触发方式为边沿触发,中断输入的管脚应该为P3.2即外部中断0输入,因此给外加脉冲时应该给到P3.2。

第一次因未分清触发所给管脚导致脉冲加入时无反应。

编写中断及初始化程序时,中断地址的开辟要提前在主程序之前给出,以实现执行中断时指针的转移。

做有关定时程序之前要首先弄清楚晶振的大小,以确定一个机器周期的时间,在这次试验中,试验箱所用晶振为6MHZ,一个机器周期的时间为2us,总计数时间可以达到131ms,但是无法满足0.5s的时间要求,所以用R7预置循环次数,显得尤为重要。

只有当时间到达时才会顺序执行,否则就循环执行中断,以弥补单次循环时间达不到的弊端。

若达到中段时间时,执行操作的最后还要在重新预置循环次数,以便再次执行定时操作。

实验者:马治勋 1140001 指导老师:邹慧兰。

相关文档
最新文档