您当前的位置:五五电子网电子知识单片机-工控设备51单片机51单片机 中断实验 正文
51单片机 中断实验

51单片机 中断实验

点击数:7484 次   录入时间:03-04 11:43:57   整理:http://www.55dianzi.com   51单片机

;用中断实现灯的闪烁
 ORG 0000H
 AJMP START
 ORG 000BH ;定时器0的中断向量地址
 AJMP    TIME0   ;跳转到真正的定时器程序处
 ORG 30H
  START:MOV P1,#0FFH ;关所 灯
    MOV TMOD,#00000001B ;定时/计数器0工作于方式1
    MOV TH0,#15H
    MOV TL0,#0A0H ;即数5536
    SETB EA  ;开总中断允许
     SETB ET0 ;开定时/计数器0允许
 SETB TR0 ;定时/计数器0开始运行
   LOOP:AJMP LOOP    ;真正工作时,这里可写任意程序
;定时器0的中断处理程序
  TIME0:PUSH ACC
 PUSH PSW ;将PSW和ACC推入堆栈保护
     CPL P1.0
    MOV TH0,#15H
    MOV TL0,#0A0H   ;重置定时常数
    POP PSW
    POP ACC
   RETI
 END
;定时时间一到,TF0由0变1,就会引发中断,CPU将自动转至000B处寻找程序并执行
;由于留给定时器中断的空间只有8个字节,显然不足以写下所有有中断处理程序,所以在000B处安排一条跳转指令
;转到实际处理中断的程序处,这样,中断程序可以写在任意地方,也可以写任意长度了
;进入定时中断后,首先要保存当前的一些状态;定时器中预置的数是5536,所以每计60000个脉冲就是定时时间到,我们的晶振是12M,所以就是60000微秒,即60毫秒




本文关键字:单片机  51单片机单片机-工控设备 - 51单片机