| 执行结果: 利用计时方式,使8只LED灯每隔1s左移一次,当外部中断P3.2出现时8个LED灯闪烁5次,闪烁完后返回主程序运行。
本实验原程序如下: ;计时中断与外部中断同时存在实验 ;***************************************************** ;* Date : 2004.4.20 --------------------------------------------------* ;* Support Mb:020-34007281 E-mail:c51cn@163.com -------* ;* Create by :dengdewu http://www.c51.cn 更多例程请登陆网站* ;* 网站单片机学习资料同步更新,敬请新老朋友随时关注 --* ;***************************************************** ORG 0000H JMP DDW ORG 0003H JMP EXT ORG 000BH JMP TIM DDW: MOV SP,#70H MOV TMOD,#00000001B MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB TR0 MOV IE,#10000011B MOV IP,#00000001B MOV R5,#100 MOV R1,#0FEH JMP $ TIM: PUSH ACC PUSH PSW MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) DJNZ R3,LOOP MOV R3,#100 MOV A,R1 MOV P1,A RL A MOV R1,A LOOP: POP PSW POP ACC RETI EXT: PUSH ACC PUSH PSW MOV A,#00 MOV R2,#10 LOOP3:MOV P1,A CALL DELAY CPL A DJNZ R2,LOOP3 POP PSW POP ACC RETI DELAY:MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END |