Professional Documents
Culture Documents
;
;
; FILE NAME : lightIntensity.asm
; TARGET MCU : C8051F040
; DESCRIPTION : Light intensity detector.
;
; NOTES:
;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------
call lightLedBar
jmp start ; Start over again
;-----------------------------------------------------------------------------
; FUNCTION CODE
;-----------------------------------------------------------------------------
init:
initWatchDogTimer: clr EA ; Disable global interrupts
mov WDTCN, #0DEh ; Disable Watch Dog Timer
mov WDTCN, #0ADh
mov SFRPAGE, #CONFIG_PAGE ; Use SFRs on the
;configuration
Page
initCrossbar: mov XBR2, #0x40 ; Enable Crossbar
ret
setb LED1
dec A
jz One
inc A
setb LED2
subb A,#0x02
jz Two
add A,#0x02
setb LED3
subb A,#0x03
jz Three
add A,#0x03
setb LED4
subb A,#0x04
jz Four
add A,#0x04
setb LED5
subb A,#0x05
jz Five
add A,#0x05
setb LED6
subb A,#0x06
jz Six
add A,#0x06
setb LED7
subb A,#0x07
jz Seven
add A,#0x07
setb LED8
subb A,#0x08
jz Seven
add A,#0x08
setb LED9
subb A,#0x09
jz Nine
add A,#0x09
setb LED10
call lightError
endLight: ret
;-----------------------------------------------------------------------------
; End of file.
END