02-15-2008 04:00 AM
02-15-2008 04:47 AM
02-15-2008 05:25 AM
I have recently been doing this type of assembly code to program the chip to manipulate time and phase on ssr ac in and out waveform
is there a way to convert this to labview
;***********************************************************
;DIRECTIVES
;***********************************************************
.include "m8535def.inc"
.def temp=r16
.def delay1=r20
.def delay2=r18
.def time=r17
.def phase=r19
;***********************************************************
;INTERRUPT SPACE
;***********************************************************
rjmp reset ;reset vector space
rjmp reset ;external interrupt 0
rjmp reset ;external interrupt 1
rjmp reset ;timer/counter2 compare match
rjmp reset ;timer/counter2 overflow
rjmp reset ;timer/counter1 capture event
rjmp reset ;timer/counter1 compare match A
rjmp reset ;timer/counter1 compare match B
rjmp reset ;timer/counter1 overflow
rjmp timer_overflow ;timer/counter0 overflow
rjmp reset ;serial transfer complete
rjmp reset ;USART Rx complete space
rjmp reset ;USART data register empty
rjmp reset ;USART Tx complete
rjmp reset ;ADC conversion complete
rjmp reset ;EEPROM ready
rjmp reset ;analog comparator
rjmp reset ;two-wire serial interface
rjmp reset ;external interrupt request 2
rjmp reset ;timer/counter0 compare match
rjmp reset ;store program memory ready
;***********************************************************
;CODE INITIALIZATION
;***********************************************************
;stack initialization
reset:
ldi temp, low(ramend) ;set up the stack
out spl, temp ;""""""""""""""""
ldi temp, high(ramend) ;""""""""""""""""
out sph, temp ;""""""""""""""""
;timer zero initialization
ldi temp, 0b00000001
out tccr0, temp ;enabling timer 0 for clock
ldi temp, 0b00000001
out timsk, temp ;turning on timer 0 OVF interrupt
sei ;enabling global interrupt
;i/o set-up area(JUST AN EXAMPLE!!!!!!!)
ser temp
out portc, temp ;initialize lites off
out porta, temp ;turn on all pull ups on pin a
out ddrc, temp ;make port c an output port
clr temp
;***********************************************************
;CODE AREA
;***********************************************************
Main:
sbic pina,7 ;is switch 6 up?
rjmp main
in phase,pina ;put pina to phase
com phase ;change 0's to 1's
cbr phase,0b10000000 ;clear bit 7 in register called phase =r19
cpi phase,0 ;compare 0 to phase
brne loop
inc phase ;add 1 more if 0
Loop:
clr time
out tcnt0,time
;**************************************************************************
; COMPARISON MODE
;***************************************************************************
Compare:
cp time,phase ;does phase = time?
brlo compare
;************************************************************************
; PULSE
;***********************************************************************
sbi portc,7
rcall debounce
cbi portc,7
rjmp main
;***********************************************************
;DEBOUNCE CALL ROUTINE (20 milli second delay at 4 MEGA Hz)
;***********************************************************
debounce:
ldi delay1, 30
delay:
dec delay1
brne delay
ret
;***********************************************************
;TIMER ZERO OVER FLOW HANDLER INTERRUPT ROUTINE
;***********************************************************
timer_overflow:
inc time
reti
02-15-2008 05:30 AM
02-15-2008 05:35 AM
I see....sorry, I never do that
Best regards
Kabanga