??? 12/12/10 07:04 Read: times |
#180086 - Cristmas gift Responding to: ???'s previous message |
Without any warranty :-) :
;============= LED1 equ P3.5 LED2 equ P3.7 LED3 equ P3.6 TimeForOneLed equ 10 ; in 'Delay' counts ;============ mybits_seg segment bit mydata_seg segment data mycode_seg segment code ;============ rseg mybits_seg myinterrupt_flag ds 1 ; one bit variable defined - will be fired by interrupt routine LED1state ds 1 ; to track which one led to be fired rseg mydata_seg delay1byte ds 1 ;some byte variables defined delay2byte ds 1 ;============= rseg mycode_seg ;vectors area org 0 ;startup vector ljmp start org 03h ;interrupt vector ljmp myInterruptRoutine ;code area org 0200h interupt: setb myinterrupt_flag RETI start: clr myinterrupt_flag mov delay1byte,#0 mov IE, #81h ;// enbales interupts and enable external 0 interupt// ;============================= mainloop: jnb myinterrupt_flag,Led3_No_Restart Led3Restart: mov delay1byte, #TimeForOneLed mov delay2byte ,#0 clr myinterrupt_flag Led3_No_Restart: mov a,delay1byte jz LEDs1_2blinking ;here LED3 is still in firing or fired for first time setb LED1 ;turn off LED 1 setb LED2 ;turn off LED 2 clr LED1state clr LED3 ;turn on LED 3 dec a ;acc was loaded with delay1byte few lines above mov delay1byte,a call DelayTick jmp mainloop ;== LEDs1_2blinking: setb LED3 ;turn off mov a,delay2byte jz LEDs1_2change dec a mov delay2byte call DelayTick jmp mainloop LEDs1_2change mov delay2byte,#TimeForOneLed jnb LED1state,LED1fire LED2fire: clr LED2 ;fire ,on setb LED1 ;off clr LED1state sjmp LEDs1_2blkend LED1fire: setb LED1state clr LED1 ;on setb LED2 ;off LEDs1_2blkend: jmp mainloop ;============================ DelayTick: mov r7,#0fh ;// 2nd register of delay // d1: mov r6, #0ffh ;// 1st register of dealy // d2: jb myinterrupt_flag,DelayTickExit ;emergency exit - interupt happened djnz r6 , d2 djnz r7 , d1 DelayTickExit: ret |
Topic | Author | Date |
t89c51ac2 interrupt | 01/01/70 00:00 | |
Classmate? | 01/01/70 00:00 | |
doesn't this seem peculiar? | 01/01/70 00:00 | |
Cristmas gift | 01/01/70 00:00 | |
Just for startup to 8051 mcu | 01/01/70 00:00 | |
Robo51; Robo-51 | 01/01/70 00:00 |