标题: 单片机汇编语言定时器程序设计 [打印本页]

作者: hts2008222    时间: 2014-9-22 23:29
标题: 单片机汇编语言定时器程序设计
;中断方式


ORG 00H;
AJMP START;
ORG 000BH; 定时器0的中断向量地址
AJMP TIME0;跳转到真正的定时器程序处
ORG 30H;
START:
       MOV P1,#0FFH; 关所有灯
       MOV TMOD,#00000001B;定时器/计数器0工作于方式1
       MOV TH0,#15H;(65536)
       MOV TL0,#0A0H;即数5536
       SETB EA;开总中断允许
       SETB ET0;开定时/计数器0允许
       SETB TR0;定时/计数器0开始运行
LOOP:
     JBC TF0,TIME0;如果TF0等于1,则清零并转TIME0处执行
     AJMP LOOP;真正工作时,这里可写任意程序
TIME0:         ;定时器0的中断处理程序
       PUSH ACC;
       PUSH PSW;将PSW和ACC推入堆栈保护
       CPL  P1.0;取反后,输出到P1.0
       MOV TH0,#15H;
       MOV TL0,#0A0H;重置定时常数
       POP PSW;
       POP ACC;
       RETI ;
       END;


作者: 明白    时间: 2014-9-23 09:01
既然用查询方式检测定时器0的溢出,就不用中断。
不能双管齐下
作者: hts2008222    时间: 2014-9-23 22:43
双管齐下根本不能体现单片机程序设计的魅力,还可多管齐下呢,有N多少定时器和中断控制的那些。
作者: 雪中梅花    时间: 2014-9-26 14:54
谢谢楼主的奉献




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1